部门,未回显上级部门
This commit is contained in:
parent
42be12257d
commit
019366ab58
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
VUE_APP_API_BASE_URL=http://36.133.9.26:46000
|
||||
VUE_APP_USER_MODEL=AdminUser
|
||||
VUE_APP_USER_MODEL2=BaseAdmin
|
||||
VUE_APP_BEID=1
|
||||
VUE_APP_API_BASE_URL=http://zxx4.f3322.net:46000
|
||||
VUE_APP_USER_MODEL2=AdminUser
|
||||
VUE_APP_USER_MODEL=BaseAdmin
|
||||
VUE_APP_BEID=3
|
||||
|
|
@ -10,7 +10,9 @@
|
|||
|
||||
<vxe-grid :keyboard-config="{ isArrow: true }" auto-resize height="400" ref="xgrid"
|
||||
:row-config="{ isCurrent: true, isHover: true }" :loading="loading" :pager-config="tablePage" :data="tableData"
|
||||
:columns="tableColumn" @cell-click="selectEvent" @page-change="pageChangeEvent">
|
||||
:columns="tableColumn"
|
||||
:treeConfig="treeConfig"
|
||||
@cell-click="selectEvent" @page-change="pageChangeEvent">
|
||||
</vxe-grid>
|
||||
|
||||
</template>
|
||||
|
|
@ -69,6 +71,7 @@ export default {
|
|||
{ field: 'name', title: '名称' }, // 字段名称,字段标题
|
||||
{ field: 'code', title: '编码' } // 字段名称,字段标题
|
||||
],
|
||||
treeConfig:null,
|
||||
modalWidth: 800, // 弹出框宽度
|
||||
modalHeight: 600, // 弹出框高度
|
||||
searchFieldNames: ['name'], // 搜索字段
|
||||
|
|
@ -138,6 +141,9 @@ export default {
|
|||
if (params.columns) { // 如果列存在
|
||||
this.tableColumn = params.columns; // 表格列
|
||||
}
|
||||
if(params.treeConfig){
|
||||
this.treeConfig = params.treeConfig;
|
||||
}
|
||||
if (params.popup) { // 如果弹出框存在
|
||||
this.enalbedPopup = true; // 是否启用弹出框
|
||||
this.popupPage = params.popup.page; // 弹出框页面
|
||||
|
|
|
|||
|
|
@ -0,0 +1,236 @@
|
|||
<template>
|
||||
<basic-page-edit :desc="desc" :dataId="getDataId()" :options="pageOptions"></basic-page-edit>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BASE_URL from '@/services/mes/api.js';
|
||||
|
||||
|
||||
export default {
|
||||
|
||||
i18n: require('./i18n'),
|
||||
components: {},
|
||||
props: {
|
||||
pageMode: {
|
||||
type: String,
|
||||
default: "edit"
|
||||
},
|
||||
dataId: {
|
||||
}
|
||||
},
|
||||
|
||||
data() {
|
||||
|
||||
return {
|
||||
pageOptions: {}
|
||||
};
|
||||
},
|
||||
|
||||
computed: {
|
||||
desc() {
|
||||
return this.$t('editPageDesc')
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
created() {
|
||||
|
||||
this.optionsInit();
|
||||
this.dataInit();
|
||||
|
||||
},
|
||||
// 函数
|
||||
methods: {
|
||||
|
||||
|
||||
|
||||
optionsInit() {
|
||||
// 页面数据变量
|
||||
var pageData = {
|
||||
// 当前项目名称
|
||||
currentConfigName: "",
|
||||
// 当前项目ID
|
||||
currentBeid: 0,
|
||||
|
||||
addPageUrl: "/BaseDepartment/BaseDepartmentAdd",
|
||||
editPageUrl: "/BaseDepartment/BaseDepartmentUpdate/",
|
||||
listPageUrl: "/BaseDepartment/BaseDepartmentList",
|
||||
|
||||
|
||||
uploadDefaultImg: null,
|
||||
|
||||
detailDataFieldName: "base_department",
|
||||
|
||||
actions: {
|
||||
|
||||
BaseDepartmentDetail: `${BASE_URL.BASE_URL}/BaseDepartment/v1/base/department/detail`, // 部门详情
|
||||
BaseDepartmentCreate: `${BASE_URL.BASE_URL}/BaseDepartment/v1/base/department/create`, // 创建部门
|
||||
BaseDepartmentUpdate: `${BASE_URL.BASE_URL}/BaseDepartment/v1/base/department/update`, // 更新部门
|
||||
BaseDepartmentDelete: `${BASE_URL.BASE_URL}/BaseDepartment/v1/base/department/detele`, // 删除部门
|
||||
|
||||
|
||||
},
|
||||
|
||||
keyName: 'id',
|
||||
// 是否编辑模式
|
||||
isEdit: false,
|
||||
// 表单数据
|
||||
formOptions: {
|
||||
data: {
|
||||
// =============================== 表单数据 自动生成 Start ===============================
|
||||
|
||||
id: 0,
|
||||
code: "",
|
||||
title: "",
|
||||
name: "",
|
||||
create_uid: 0,
|
||||
update_uid: 0,
|
||||
create_time: new Date(2100, 1, 1).getTime() / 10000,
|
||||
update_time: new Date(2100, 1, 1).getTime() / 10000,
|
||||
|
||||
// =============================== 表单数据 自动生成 End ===============================
|
||||
},
|
||||
// 标题宽度
|
||||
titleWidth: 150,
|
||||
// 标题对齐方式
|
||||
titleAlign: 'right',
|
||||
|
||||
// 表单校验规则
|
||||
rules: {
|
||||
// =============================== 表单校验 自动生成 Start ===============================
|
||||
|
||||
code: [
|
||||
{ required: true, message: '请输入编码' }
|
||||
],
|
||||
title: [
|
||||
{ required: true, message: '请输入部门名称' }
|
||||
],
|
||||
name: [
|
||||
{ required: true, message: '请输入部门英文名称' }
|
||||
],
|
||||
|
||||
// =============================== 表单校验 自动生成 End ===============================
|
||||
},
|
||||
// 表单项
|
||||
items: [
|
||||
// =============================== 表单项 自动生成 Start ===============================
|
||||
|
||||
{ field: 'code', title: '编码', span: 24, itemRender: { name: '$input' } },
|
||||
//{ field: 'title', title: '部门名称', span: 24, itemRender: { name: '$input' } },
|
||||
{ field: 'name', title: '部门名称', span: 24, itemRender: { name: '$input' } },
|
||||
|
||||
{
|
||||
title: '部门', span: 24,
|
||||
field: 'parent_department',
|
||||
dataRule: {
|
||||
fromField: "id",
|
||||
saveField: "parent_id" // 如果表单项存储的是对象,将从fromField中取得值保存到saveField
|
||||
},
|
||||
itemRender: {
|
||||
name: 'MkFormDataSelector', props: {
|
||||
params: {
|
||||
dataType: "object",
|
||||
valueField: "id",
|
||||
textField: "name",
|
||||
listdataFieldName: 'BaseDepartment',
|
||||
treeConfig: {
|
||||
transform: true,
|
||||
expandAll: true,
|
||||
rowField: 'id',
|
||||
parentField: 'parent_id'
|
||||
},
|
||||
columns: [
|
||||
{ field: 'name', sortable: true, title: '部门名', showHeaderOverflow: true, treeNode: true },
|
||||
{ field: 'code', sortable: true, title: '编号', showHeaderOverflow: true }
|
||||
],
|
||||
dataUrl: `${BASE_URL.BASE_URL}/BaseDepartment/v1/base/department/list`
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
// =============================== 表单项 自动生成 End ===============================
|
||||
]
|
||||
},
|
||||
// 新增模式表单项
|
||||
addModeItems: [
|
||||
|
||||
],
|
||||
|
||||
|
||||
};
|
||||
|
||||
pageData.actions.get = pageData.actions.BaseDepartmentDetail;
|
||||
pageData.actions.create = pageData.actions.BaseDepartmentCreate;
|
||||
pageData.actions.update = pageData.actions.BaseDepartmentUpdate;
|
||||
// 合并表单数据及配置
|
||||
pageData.formOptions = Object.assign({}, this.$mk.config.defaults.formOptions, pageData.formOptions);
|
||||
|
||||
this.pageOptions = pageData;
|
||||
},
|
||||
|
||||
dataInit() {
|
||||
// 获取路由的id参数
|
||||
let dataId = this.getDataId();
|
||||
// 如果有id参数,说明是编辑模式
|
||||
if (dataId) {
|
||||
const json = `{"id":${dataId}}`;
|
||||
this.$mk.post({
|
||||
url: this.pageOptions.actions.get,
|
||||
loading: "加载中...",
|
||||
data: json,
|
||||
config: {
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
}
|
||||
}).then(a => {
|
||||
|
||||
let detailDataFieldName = this.pageOptions.detailDataFieldName;
|
||||
|
||||
if (a.data[detailDataFieldName].create_time) {
|
||||
a.data[detailDataFieldName].create_time = new Date(a.data[detailDataFieldName].create_time * 1000);
|
||||
}
|
||||
if (a.data[detailDataFieldName].update_time) {
|
||||
a.data[detailDataFieldName].update_time = new Date(a.data[detailDataFieldName].update_time * 1000);
|
||||
}
|
||||
|
||||
this.pageOptions.formOptions.data = a.data[detailDataFieldName];
|
||||
|
||||
this.$forceUpdate()
|
||||
}).catch((a) => {
|
||||
this.$mk.error(a.data.msg);
|
||||
});
|
||||
|
||||
this.pageOptions.isEdit = true;
|
||||
|
||||
this.$forceUpdate()
|
||||
} else {
|
||||
// 如果没有id参数,说明是新增模式
|
||||
this.addModeItems.forEach(item => {
|
||||
this.pageOptions.formOptions.items.push(item);
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
// 获取路由的id参数
|
||||
getDataId() {
|
||||
let dataId = this.dataId;
|
||||
if (this.$route.params.id) {
|
||||
dataId = this.$route.params.id;
|
||||
}
|
||||
if (!dataId) {
|
||||
dataId = 0;
|
||||
}
|
||||
return dataId;
|
||||
}
|
||||
},
|
||||
// 监听属性
|
||||
watch: {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
<template>
|
||||
<basic-page-list :desc="desc" :options="pageOptions"></basic-page-list>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import BASE_URL from '@/services/mes/api.js';
|
||||
|
||||
|
||||
export default {
|
||||
i18n: require("./i18n"),
|
||||
props: {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
pageOptions: {}
|
||||
};
|
||||
},
|
||||
// 计算属性
|
||||
computed: {
|
||||
// 页面描述
|
||||
desc() {
|
||||
return this.$t("pageDesc");
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
// 创建完成
|
||||
created() {
|
||||
this.optionsInit();
|
||||
},
|
||||
// 动作
|
||||
methods: {
|
||||
|
||||
optionsInit() {
|
||||
// 页面数据
|
||||
var pageData = { // 页面数据变量
|
||||
|
||||
keyName: 'id', // 主键字段名
|
||||
listFieldName: 'BaseDepartment',
|
||||
|
||||
addPageUrl: "/BaseDepartment/BaseDepartmentAdd",
|
||||
editPageUrl: "/BaseDepartment/BaseDepartmentUpdate/",
|
||||
|
||||
// 接口动作
|
||||
actions: { // Api 接口地址
|
||||
BaseDepartmentList: `${BASE_URL.BASE_URL}/BaseDepartment/v1/base/department/list`, // 部门列表
|
||||
BaseDepartmentBatchDelete: `${BASE_URL.BASE_URL}/BaseDepartment/v1/base/department/batchDelete`,
|
||||
},
|
||||
|
||||
start_time: 0, // 开始时间
|
||||
end_time: 0, // 结束时间
|
||||
|
||||
|
||||
//搜索区
|
||||
searchFormData: {
|
||||
title: '',
|
||||
desc: '',
|
||||
},
|
||||
// 搜索区配置
|
||||
searchRules: [
|
||||
{ key: "title", mode: "like" },
|
||||
{ key: "desc", mode: "like" }
|
||||
],
|
||||
//搜索区
|
||||
searchFormItems: [ // 子项
|
||||
{ field: 'title', title: '标题', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入标题' } } },
|
||||
{ field: 'desc', title: '描述', span: 5, itemRender: { name: '$input', props: { placeholder: '请输入描述' } } },
|
||||
{ span: 8, slots: { default: 'date' } }, // 自定义列
|
||||
{
|
||||
align: 'right', span: 4, itemRender: { // 按钮列
|
||||
name: '$buttons', children: [{ props: { type: 'submit', content: '搜索', status: 'primary' } }, // 搜索按钮
|
||||
{ props: { type: 'reset', content: '重置' } }]
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
|
||||
//数据区
|
||||
gridOptions: { // 表格配置
|
||||
height: '100%', // 表格高度 100% 会自动撑满父容器
|
||||
stripe: true, // 启用斑马纹
|
||||
id: 'datagrid_1', // 表格唯一标识
|
||||
|
||||
columns: [
|
||||
{ type: 'checkbox', width: 50 }, // 多选框
|
||||
{ title: '操作', slots: { default: 'op' }, width: 120 },
|
||||
|
||||
{ field: 'code', sortable: true, title: '编码', width: 250 }, // 编码
|
||||
// { field: 'title', sortable: true, title: '部门名称', width: 250 }, // 部门名称
|
||||
{ field: 'name', sortable: true, title: '部门名称', width: 250 }, // 部门英文名称
|
||||
{ field: 'create_time', formatter: 'formatDate', width: 160, sortable: true, title: '创建时间', showHeaderOverflow: true }, // 创建时间
|
||||
{ field: 'update_time', formatter: 'formatDate', width: 160, sortable: true, title: '更新时间', showHeaderOverflow: true }, // 更新时间
|
||||
|
||||
]
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
pageData.actions.getList = pageData.actions.BaseDepartmentList;
|
||||
pageData.actions.delete = pageData.actions.BaseDepartmentBatchDelete;
|
||||
pageData.gridOptions = Object.assign({}, this.$mk.config.defaults.gridOptions, pageData.gridOptions); // 合并表格数据
|
||||
|
||||
|
||||
this.pageOptions = pageData;
|
||||
},
|
||||
|
||||
|
||||
},
|
||||
watch: {
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
</script>
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
module.exports = {
|
||||
messages: {
|
||||
CN: {
|
||||
pageDesc:'单位管理'
|
||||
},
|
||||
HK: {
|
||||
pageDesc:'单位管理'
|
||||
},
|
||||
US: {
|
||||
pageDesc:'单位管理'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
|
||||
|
||||
|
||||
const FunName = 'BaseDepartment';
|
||||
const FunTitle = '部门';
|
||||
const InvisibleRouters = 'Detail,Delete,BatchDelete,BatchUpdate,BatchCreate,ExportExcel,LogDetail,LogList,Settings,SettingsUpdate,ImportExcel'.split(',')
|
||||
const InvisibleRouters2 = ''.split(',')
|
||||
// 视图组件
|
||||
const view = {
|
||||
tabs: () => import('@/layouts/tabs'),
|
||||
blank: () => import('@/layouts/BlankView'),
|
||||
page: () => import('@/layouts/PageView')
|
||||
}
|
||||
|
||||
// 路由组件注册
|
||||
const routerMap = {
|
||||
};
|
||||
routerMap[FunName]= {
|
||||
name: FunTitle,
|
||||
icon: 'idcard',
|
||||
component: view.blank,
|
||||
meta: {
|
||||
},
|
||||
authority: {
|
||||
permission: [],
|
||||
}
|
||||
};
|
||||
|
||||
routerMap[FunName + 'List']= {
|
||||
name: FunTitle,
|
||||
icon: 'idcard',
|
||||
path: `/${FunName}/${FunName}List`,
|
||||
meta:{
|
||||
page:{ cacheAble:false}
|
||||
},
|
||||
component: () => import(`@/pages/Middle/Mes/BaseDepartment/BaseDepartment/List`),
|
||||
authority: {
|
||||
permission: [],
|
||||
}
|
||||
};
|
||||
|
||||
routerMap[FunName + 'Create']= {
|
||||
name: FunTitle,
|
||||
icon: 'idcard',
|
||||
path: `/${FunName}/${FunName}Add`,
|
||||
component: () => import(`@/pages/Middle/Mes/BaseDepartment/BaseDepartment/Edit`),
|
||||
meta: {
|
||||
invisible: true,
|
||||
},
|
||||
authority: {
|
||||
permission: [],
|
||||
}
|
||||
};
|
||||
routerMap[FunName + 'Update']= {
|
||||
name: FunTitle,
|
||||
icon: 'idcard',
|
||||
path: `/${FunName}/${FunName}Update/:id`,
|
||||
component: () => import(`@/pages/Middle/Mes/BaseDepartment/BaseDepartment/Edit`),
|
||||
meta: {
|
||||
invisible: true,
|
||||
},
|
||||
authority: {
|
||||
permission: [],
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
InvisibleRouters.forEach(item => {
|
||||
let name = FunName + item;
|
||||
if (!(name in routerMap)) {
|
||||
routerMap[name] = {
|
||||
meta: {
|
||||
invisible: true
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
InvisibleRouters2.forEach(item => {
|
||||
let name = item;
|
||||
if (!(name in routerMap)) {
|
||||
routerMap[name] = {
|
||||
meta: {
|
||||
invisible: true
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
export default routerMap
|
||||
|
|
@ -18,6 +18,7 @@ import MesEnum from '@/router/Middle/Mes/MesEnum/router.map.js'
|
|||
import MesBom from '@/router/Middle/Mes/MesBom/router.map.js'
|
||||
import MesUnitRouterMap from '@/router/Middle/Mes/MesUnit/router.map.js'
|
||||
|
||||
import BaseDepartment from '@/router/Middle/Mes/BaseDepartment/router.map.js'
|
||||
import basic from '@/router/Middle/Mes/basic/router.map.js'
|
||||
|
||||
const routerMap = Object.assign({},
|
||||
|
|
@ -35,7 +36,9 @@ const routerMap = Object.assign({},
|
|||
MesWarehouse,
|
||||
MesEnum,
|
||||
MesBom,
|
||||
basic
|
||||
basic,
|
||||
|
||||
BaseDepartment
|
||||
|
||||
)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue