部门,未回显上级部门

This commit is contained in:
xielue 2023-05-23 10:57:21 +08:00
parent 42be12257d
commit 019366ab58
7 changed files with 469 additions and 6 deletions

View File

@ -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

View File

@ -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; //

View File

@ -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" // fromFieldsaveField
},
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>

View File

@ -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>

View File

@ -0,0 +1,14 @@
module.exports = {
messages: {
CN: {
pageDesc:'单位管理'
},
HK: {
pageDesc:'单位管理'
},
US: {
pageDesc:'单位管理'
}
}
}

View File

@ -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

View File

@ -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
)