{"remainingRequest":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\system\\SysDict\\LowerDictModal.vue?vue&type=script&lang=js&","dependencies":[{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\src\\views\\system\\SysDict\\LowerDictModal.vue","mtime":1675071993210},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\xq-web-bpm\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nimport portal from '@/api/portal'\r\nexport default {\r\n name: 'LowerDictModal',\r\n components: {},\r\n props: {\r\n lowerDictParams: {\r\n type: Object,\r\n },\r\n },\r\n data() {\r\n return {\r\n upperDictId: '', //设置级联的字典id\r\n dictItemId: '', // 设置级联的字典项id\r\n load: false,\r\n visible: false,\r\n type: '', // \"setting\" ,\"search\"\r\n defaultQuerys: [\r\n {\r\n property: 'id_',\r\n value: '',\r\n operation: 'NOT_EQUAL',\r\n },\r\n {\r\n property: 'flag_',\r\n value: 1,\r\n operation: 'EQUAL',\r\n },\r\n ],\r\n querySearch: [\r\n {\r\n label: '名称',\r\n prop: 'name_',\r\n },\r\n {\r\n label: '编码',\r\n prop: 'code_',\r\n },\r\n ],\r\n dictData: [],\r\n selectItemData: [],\r\n pageResult: {\r\n page: 1,\r\n pageSize: 20,\r\n total: 0,\r\n },\r\n selectItemTableHeight: 320,\r\n currentDictId: '', // 左侧当前选中字典的id值\r\n quickSearchPlaceholder: '请输入字典名称进行查询',\r\n sectionObj: {\r\n // key 是字典id 值是选中的字典项的id的数组\r\n },\r\n }\r\n },\r\n methods: {\r\n loadData(param, cb) {\r\n this.load = true\r\n if (this.type == 'search') {\r\n let param = this.qs.stringify({\r\n detailId: this.dictItemId,\r\n })\r\n portal\r\n .loadSetLowerDict(param)\r\n .then((resp) => {\r\n let response = resp\r\n this.dictData = response\r\n this.$nextTick(() => {\r\n this.selectItemTableHeight = this.$refs.htTable.$refs.htTable.maxHeight\r\n })\r\n this.load = false\r\n })\r\n .finally(() => cb())\r\n } else {\r\n portal\r\n .loadDictList(param)\r\n .then((resp) => {\r\n let response = resp\r\n this.dictData = response.rows\r\n this.$nextTick(() => {\r\n this.selectItemTableHeight = this.$refs.htTable.$refs.htTable.maxHeight\r\n })\r\n this.load = false\r\n this.pageResult = {\r\n page: response.page,\r\n pageSize: response.pageSize,\r\n total: response.total,\r\n }\r\n })\r\n .finally(() => cb())\r\n }\r\n },\r\n rowClick(row, column, event) {\r\n this.currentDictId = row.id\r\n console.log(row, column)\r\n this.$refs.htTable.$refs.htTable.toggleRowSelection(row)\r\n this.qs.stringify({id: row.id})\r\n\r\n if (this.type == 'search') {\r\n this.loadSetLowerDictItem()\r\n } else {\r\n let data = {\r\n dictionaryId: row.id,\r\n flag: 1,\r\n }\r\n portal.queryDictDetail(data).then((res) => {\r\n console.log(res, 'res')\r\n this.selectItemData = res\r\n this.toggeRowSelection()\r\n })\r\n }\r\n },\r\n toggeRowSelection() {\r\n let selected = this.sectionObj[this.currentDictId]\r\n if (selected) {\r\n this.$nextTick(() => {\r\n selected.forEach((row) => {\r\n this.$refs.selectTable.toggleRowSelection(\r\n this.selectItemData.find((item) => {\r\n return row.id == item.id // 注意这里寻找的字段要唯一\r\n }),\r\n true\r\n )\r\n })\r\n })\r\n }\r\n },\r\n selectionChange(selection) {\r\n this.sectionObj[this.currentDictId] = selection\r\n console.log(selection, 'selection')\r\n console.log(this.sectionObj)\r\n },\r\n setCurrent(row) {\r\n this.$refs.singleTable.setCurrentRow(row)\r\n },\r\n quickSearch() {},\r\n open(row, type, upperDictId) {\r\n this.type = type\r\n this.defaultQuerys[0].value = upperDictId\r\n this.upperDictId = upperDictId\r\n this.dictItemId = row.id\r\n this.visible = true\r\n this.$nextTick(() => {\r\n this.$refs.htTable.load()\r\n })\r\n },\r\n close() {\r\n this.beforeClose()\r\n this.visible = false\r\n },\r\n handleClickRow(record) {\r\n return {\r\n on: {\r\n click: async () => {\r\n let keys = []\r\n keys.push(record.id)\r\n this.selectedRowKeys = keys\r\n if (this.fromUpperDict.type == 'add') {\r\n this.itemDataSource = await this.loadDictItem(\r\n this.selectedRowKeys\r\n )\r\n } else {\r\n this.itemDataSource = await this.loadAddedDictItem(\r\n this.selectedRowKeys[0]\r\n )\r\n }\r\n },\r\n },\r\n }\r\n },\r\n rowClassName() {\r\n return 'row-class-name'\r\n },\r\n beforeClose() {\r\n this.upperDictId = ''\r\n this.defaultQuerys[0].value = ''\r\n this.currentDictId = ''\r\n this.type = ''\r\n this.dictData = []\r\n this.selectItemData = []\r\n this.sectionObj = {}\r\n },\r\n // 保存下级字典\r\n saveLowerDict() {\r\n if (this.type == 'setting') {\r\n let ids = []\r\n Object.values(this.sectionObj).forEach((selections) => {\r\n selections.forEach((item) => {\r\n ids.push(item.id)\r\n })\r\n })\r\n if(!ids.length){\r\n this.$message.warning(\"请选择级联字典及对应字典项\");\r\n return\r\n }\r\n let params = this.qs.stringify({\r\n detailId: this.dictItemId,\r\n lowerDetailIds: ids.join(','),\r\n lowerDictId: this.currentDictId,\r\n })\r\n portal\r\n .saveDictLowerDetails(params)\r\n .then(() => {\r\n this.$message.success('字典级联设置成功')\r\n this.beforeClose()\r\n this.visible = false\r\n })\r\n .catch((err) => {\r\n this.$message.success('字典级联设置失败')\r\n })\r\n } else {\r\n this.close();\r\n }\r\n },\r\n // 查看\r\n loadSetLowerDictItem() {\r\n let data = this.qs.stringify({\r\n detailId: this.dictItemId,\r\n dictLowerId: this.currentDictId,\r\n })\r\n // 查看已设置下级字典项\r\n portal.loadSetLowerDictItem(data).then((res) => {\r\n console.log(res, 'res')\r\n this.selectItemData = res\r\n })\r\n },\r\n // 删除已设置的级联字典\r\n deleteDictItem(id) {\r\n let data = this.qs.stringify({\r\n detailId: this.dictItemId,\r\n lowerDetailIds: id,\r\n })\r\n // 查看已设置下级字典\r\n portal.delLowerDetails(data).then((res) => {\r\n this.loadSetLowerDictItem()\r\n this.$message.success('删除成功')\r\n })\r\n },\r\n },\r\n}\r\n",null]}