diff --git a/src/api/ma/typeConfigKeeper.js b/src/api/ma/typeConfigKeeper.js index 77470f0e..96e58079 100644 --- a/src/api/ma/typeConfigKeeper.js +++ b/src/api/ma/typeConfigKeeper.js @@ -34,4 +34,13 @@ export function noBindKeeper(data) { method: 'delete', data: data, }) +} + +//获取库管员树的角色数组 +export function getKeeperIds(itemName) { + return request({ + url: '/material/bm_config/list/', + method: 'get', + params:{"itemName":itemName}, + }) } \ No newline at end of file diff --git a/src/api/ma/typeConfigRepair.js b/src/api/ma/typeConfigRepair.js index 0cca1ec4..09bd2795 100644 --- a/src/api/ma/typeConfigRepair.js +++ b/src/api/ma/typeConfigRepair.js @@ -34,4 +34,13 @@ export function noBindKeeper(data) { method: 'delete', data: data, }) +} + +//获取维修员树的角色数组 +export function getRepairIds(itemName) { + return request({ + url: '/material/bm_config/list/', + method: 'get', + params:{"itemName":itemName}, + }) } \ No newline at end of file diff --git a/src/views/material/basic/siteConfig/index.vue b/src/views/material/basic/siteConfig/index.vue new file mode 100644 index 00000000..d046ba5b --- /dev/null +++ b/src/views/material/basic/siteConfig/index.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/src/views/material/ma/partType/index.vue b/src/views/material/ma/partType/index.vue index add2415a..090ea487 100644 --- a/src/views/material/ma/partType/index.vue +++ b/src/views/material/ma/partType/index.vue @@ -114,6 +114,16 @@ + + 新增 + @@ -149,9 +155,21 @@ + + 修改 @@ -198,7 +215,6 @@ icon="el-icon-delete-solid" @click="handleDelete(scope.row)" v-hasPermi="['machinery:type:edit']" - v-if="(!scope.row.children)" > 删除 @@ -216,49 +232,7 @@ - + + + + + + + + + + + + + + + + + + 确 定 + 取 消 + + + + + @@ -378,9 +401,7 @@ showSearch: true, showHouse: false, - //列表数据 typeList: undefined, - treeList:[], flagTemp:1, // 总条数 @@ -403,6 +424,16 @@ pageSize: 10, keyWord:undefined }, + companyId: undefined, + parentId:undefined, + isMousemoveId: null, + addTitleVisible: false, + addTitle: '', // 新增弹框标题 + addFormParams: { + label: '', + typeName: '', + companyId: 101, + }, treeOptions:undefined, defaultProps: { children: 'children', @@ -564,31 +595,195 @@ console.log('eeeee',e) this.form.id = e.id; this.form.level = e.level - } + }, + + /* 树节点增加 */ + appendTreeNode(data) { + this.levelTemp = data.level; + this.idTemp = data.id; + console.log('dataAdd',data) + console.log('idTemp',data) + if (data.level === 3) { + this.reset() + Object.assign(this.form, data) + this.treeTemp=this.treeOptions[0].children, + this.treeTemp.forEach(item=>{ + item.children.forEach(itemTemp=>{ + if(itemTemp.level==2 && itemTemp.id==data.parentId){ + this.level2Temp=itemTemp.id + this.level2TempName=itemTemp.label + this.level1Temp=itemTemp.parentId + } + }) + }) + // console.log('treeTemp',this.treeTemp) + this.treeTemp.forEach(item=>{ + if(item.level==1 && item.id==this.level1Temp){ + this.level1TempName=item.label + } + }) + this.treeTemp.forEach(item=>{ + if(item.level==0 && item.id==data.houseId){ + this.level0TempName=item.label + } + }) + this.isLevel1Disabled=true + this.isLevel2Disabled=true + this.isLevel3Disabled=true + this.isLevel4Disabled=true + this.form.parentId = data.id + this.form.houseName = this.level0TempName + this.form.itemType = this.level1TempName + this.form.materialType = this.level2TempName + this.form.materialName = data.label + this.open = true + this.title = '新增' + } else { + Object.assign(this.addFormParams, data) + this.addFormParams.typeName = '' + this.addTitle = '新增' + this.addTitleVisible = true + } + }, + /* 树节点删除 */ + removeTreeNode(data) { + // this.$message.success('删除--') + console.log(data, '删除时的数据源--') + const typeId = data.id + this.$modal + .confirm('是否确认删除数据项?') + .then(function () { + return delMaType(typeId) + }) + .then(() => { + this.$modal.msgSuccess('删除成功') + this.getTreeData() + }) + .catch(() => {}) + }, + /* 树节点修改 */ + editTreeNode(data) { + this.levelTemp = data.level; + this.idTemp = data.id; + this.parentId = data.parentId; + console.log('data',data) + Object.assign(this.addFormParams, data) + this.addTitle = '修改' + this.addFormParams.typeName = data.label + this.addTitleVisible = true + }, + /* 确定 */ + onSubmit() { + const { id, typeName } = this.addFormParams + const addParams = { + parentId: this.levelTemp==0 ? 0:this.idTemp, + typeName, + level:this.levelTemp, + houseId:this.levelTemp==0 ? id:null, + } + + const editParams = { + houseId: id, + typeName, + level:this.levelTemp, + parentId: this.parentId, + typeId: id, + } + + + this.$refs['addFormParamsRef'].validate(async (valid) => { + if (valid) { + if (this.addTitle === '新增') { + const res = await addMaType(addParams) + if (res.code === 200) { + this.$message.success('新增成功!') + this.addTitleVisible = false + this.getList() + this.getTreeData() + } + } else { + const res = await updateMaType(editParams) + if (res.code === 200) { + this.$message.success('修改成功!') + this.addTitleVisible = false + this.getList() + this.getTreeData() + } + } + } + }) + }, + /* 取消 */ + onCancel() { + this.addTitleVisible = false + }, + getParentName(list, id) { + try { + list.forEach((e) => { + if (e.id == id) { + this.form.label = e.label + throw new Error() + } else { + if (e.children && e.children.length > 0) { + this.getParentName(e.children, id) + } + } + }) + } catch (error) {} + }, + + onMousemove(data) { + this.isMousemoveId = data.id + }, + onMouseleave() { + this.isMousemoveId = null + }, } }; - - \ No newline at end of file + + \ No newline at end of file diff --git a/src/views/material/ma/typeConfigKeeper/index.vue b/src/views/material/ma/typeConfigKeeper/index.vue index 4eb4b301..2110d2ed 100644 --- a/src/views/material/ma/typeConfigKeeper/index.vue +++ b/src/views/material/ma/typeConfigKeeper/index.vue @@ -246,10 +246,9 @@ import { getListByMaType, } from "@/api/ma/base"; import { - getMatConfigList, - getListByMatConfig, bindKeeper, - noBindKeeper + noBindKeeper, + getKeeperIds } from "@/api/ma/typeConfigKeeper"; import { getUserList } from "@/api/basic/basic"; import { getInfo } from "@/api/login"; @@ -319,6 +318,7 @@ export default { children: "children", label: "label", }, + roleIdsTemp:[], userList:[], userNoList:[], userIdTemp: -1, @@ -369,8 +369,6 @@ export default { // this.getList(); // },200) - // this.getUserList() - // this.getPropData() }, methods: { // getInfo() { @@ -446,12 +444,13 @@ export default { this.form.keeperDataPro = this.keeperProRange.value; }, /** 查询新增页面-上级类型下拉树结构 */ - async getTreeData() { - // getMatConfigList().then((response) => { - // this.treeOptions = response.data; - // }); - const roleIds = [7,14]; - getUserList({ roleIds: roleIds}).then(response => { + async getTreeData() {; + const itemName = 'ku_guan_role_ids' + await getKeeperIds(itemName).then((response) =>{ + const roleIds = response.rows[0].itemValue.split(',').map(item => Number(item)) + this.roleIdsTemp = roleIds + }) + await getUserList({ roleIds: this.roleIdsTemp}).then(response => { this.treeOptions = response.data }); }, diff --git a/src/views/material/ma/typeConfigRepair/index.vue b/src/views/material/ma/typeConfigRepair/index.vue index 898ecb54..5726791d 100644 --- a/src/views/material/ma/typeConfigRepair/index.vue +++ b/src/views/material/ma/typeConfigRepair/index.vue @@ -246,10 +246,9 @@ import { getListByMaType, } from "@/api/ma/base"; import { - getMatConfigList, - getListByMatConfig, bindKeeper, - noBindKeeper + noBindKeeper, + getRepairIds } from "@/api/ma/typeConfigRepair"; import { getUserList } from "@/api/basic/basic"; import { getInfo } from "@/api/login"; @@ -280,6 +279,7 @@ export default { keeperProRange: [], keeperMatRange: [], keeperNameRange: [], + roleIdsTemp:[], //维修员用户数据 repairUserList: null, //资产类型数据 @@ -399,11 +399,12 @@ export default { /** 查询新增页面-上级类型下拉树结构 */ async getTreeData() { - // getMatConfigList().then((response) => { - // this.treeOptions = response.data; - // }); - const roleIds = [8,9,15,16]; - getUserList({ roleIds: roleIds}).then(response => { + const itemName = 'wei_xiu_role_ids' + await getRepairIds(itemName).then((response) =>{ + const roleIds = response.rows[0].itemValue.split(',').map(item => Number(item)) + this.roleIdsTemp = roleIds + }) + await getUserList({ roleIds: this.roleIdsTemp}).then(response => { this.treeOptions = response.data }); }, @@ -425,7 +426,6 @@ export default { async getList() { this.loading = true this.queryParams.displayBindRelationship="true"; - console.log('queryParams1',this.queryParams) await getListByMaType(this.queryParams).then((response) => { this.typeList = response.data.rows this.total = response.data.total