From 7b56d2e753adda2502edfd65502909d84dfa92d8 Mon Sep 17 00:00:00 2001
From: lideqin <694785430@qq.com>
Date: Tue, 12 Sep 2023 15:04:43 +0800
Subject: [PATCH] =?UTF-8?q?[update]=20=E8=81=94=E8=B0=83=E4=BC=81=E6=A0=87?=
=?UTF-8?q?=E5=B7=A6=E4=BE=A7=E4=BD=93=E7=B3=BB=E6=A0=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/enterpriseStandardLibraryApi.js | 7 +-
.../lang/enterpriseStandardLibrary/en.js | 3 +-
.../lang/enterpriseStandardLibrary/zh.js | 5 +-
.../standard/EnterpriseStandardList.vue | 142 ++++++++++++++----
.../standard/modules/TreeNodeModal.vue | 119 +++++++++++++++
5 files changed, 245 insertions(+), 31 deletions(-)
create mode 100644 src/views/enterpriseStandardLibrary/standard/modules/TreeNodeModal.vue
diff --git a/src/api/enterpriseStandardLibraryApi.js b/src/api/enterpriseStandardLibraryApi.js
index 37545ab3..fd060040 100644
--- a/src/api/enterpriseStandardLibraryApi.js
+++ b/src/api/enterpriseStandardLibraryApi.js
@@ -1,4 +1,4 @@
-import { getAction } from './manage'
+import { getAction, postAction } from './manage'
// 获取表格头部数据
const getEnterpriseStandardTableHeader = (params) => getAction('/laws/standard/enterprise/getCommonHeader', params)
@@ -13,7 +13,9 @@ const allocationStandard = (params) => getAction('', params)
// 移出标准
const shiftStandard = (params) => getAction('', params)
// 获取左侧树列表
-const getTreeList = (params) => getAction('', params)
+const getTreeList = (params) => getAction('/laws/standard/lawsTreeNode/enterprise', params)
+// 左侧树删除
+const deleteTreeNode = (params) => postAction('/laws/standard/lawsTreeNode/enterprise/delete', params)
// 发起变更
const initChange = (params) => getAction('', params)
// 临时权限设置
@@ -46,6 +48,7 @@ export {
allocationStandard,
shiftStandard,
getTreeList,
+ deleteTreeNode,
initChange,
temporaryPermissionSet,
collectStandard,
diff --git a/src/common/lang/enterpriseStandardLibrary/en.js b/src/common/lang/enterpriseStandardLibrary/en.js
index cf51c7d9..4853809b 100644
--- a/src/common/lang/enterpriseStandardLibrary/en.js
+++ b/src/common/lang/enterpriseStandardLibrary/en.js
@@ -17,7 +17,8 @@ module.exports = {
evaluate: '企标评价',
updateRecord: '更新记录',
submitQuestion: '提交问题',
- standardResolutionSheet: '标准分解单'
+ standardResolutionSheet: '标准分解单',
+ nodeName: '节点名称'
},
// 评审会记录
reviewMeeting: {
diff --git a/src/common/lang/enterpriseStandardLibrary/zh.js b/src/common/lang/enterpriseStandardLibrary/zh.js
index e8d7cf64..fdf1da4b 100644
--- a/src/common/lang/enterpriseStandardLibrary/zh.js
+++ b/src/common/lang/enterpriseStandardLibrary/zh.js
@@ -17,7 +17,8 @@ module.exports = {
evaluate: '企标评价',
updateRecord: '更新记录',
submitQuestion: '提交问题',
- standardResolutionSheet: '标准分解单'
+ standardResolutionSheet: '标准分解单',
+ nodeName: '节点名称'
},
// 评审会记录
reviewMeeting: {
@@ -108,6 +109,6 @@ module.exports = {
oldEnterpriseStandardNum: '原企标编号',
newEnterpriseStandardNum: '新企标编号',
oldEnterpriseStandardName: '原企标名称',
- newEnterpriseStandardName: '新企标名称',
+ newEnterpriseStandardName: '新企标名称'
}
}
diff --git a/src/views/enterpriseStandardLibrary/standard/EnterpriseStandardList.vue b/src/views/enterpriseStandardLibrary/standard/EnterpriseStandardList.vue
index a78d59ad..939a96af 100644
--- a/src/views/enterpriseStandardLibrary/standard/EnterpriseStandardList.vue
+++ b/src/views/enterpriseStandardLibrary/standard/EnterpriseStandardList.vue
@@ -9,29 +9,76 @@
:show-icon="true"
:tree-data="treeData"
:selectedKeys="currentTreeNode"
- :replaceFields="{children: 'subset', title: 'name', key: 'id'}"
:expanded-keys="expandedKeys"
:auto-expand-parent="autoExpandParent"
@expand="treeExpand"
@select="treeSelect">
-
-
+
+
- {{ name }}
+ {{ title }}
- {{ name }}
+
+ {{ title.substr(0, title.indexOf(treeInput)) }}
+ {{ treeInput }}
+ {{ title.substr(title.indexOf(treeInput) + treeInput.length) }}
+
+ {{ title }}
-
-
+
+
+
+
+
+
+
+
+ {{ title }}
+
+
+ {{ title.substr(0, title.indexOf(treeInput)) }}
+ {{ treeInput }}
+ {{ title.substr(title.indexOf(treeInput) + treeInput.length) }}
+
+ {{ title }}
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+ {{ title }}
+
+
+ {{ title.substr(0, title.indexOf(treeInput)) }}
+ {{ treeInput }}
+ {{ title.substr(title.indexOf(treeInput) + treeInput.length) }}
+
+ {{ title }}
+
+
+
+
+
+
+
-
-
+
+
+
@@ -112,8 +159,12 @@
+
+
+
+
@@ -131,7 +182,8 @@ import {
shiftStandard,
initChange,
collectStandard,
- shareStandard
+ shareStandard,
+ deleteTreeNode
} from '@api/enterpriseStandardLibraryApi'
// 添加、编辑弹框
import EnterpriseStandardModal from './modules/EnterpriseStandardModal'
@@ -139,10 +191,11 @@ import EnterpriseStandardModal from './modules/EnterpriseStandardModal'
import StandardSelectionModal from '@/components/selection/StandardSelectionModal'
// 临时权限设置
import TemporaryPermissionSet from './modules/TemporaryPermissionSet'
+import TreeNodeModal from './modules/TreeNodeModal'
export default {
name: 'EnterpriseStandardList',
- components: { TemporaryPermissionSet, StandardSelectionModal, EnterpriseStandardModal, JTable, Search },
+ components: { TreeNodeModal, TemporaryPermissionSet, StandardSelectionModal, EnterpriseStandardModal, JTable, Search },
mixins: [ConfigurableTableMixin],
data () {
return {
@@ -193,6 +246,9 @@ export default {
showAction: true // 是否显示操作列
}
},
+ mounted () {
+ this.initTreeData()
+ },
methods: {
// 获取左侧树数据
initTreeData (params) {
@@ -201,6 +257,7 @@ export default {
this.treeData = this.dealTreeData(res.result)
// this.treeData = res.result
this.treeData[0].scopedSlots = { title: 'customNoDelete' }
+ this.treeData[1].scopedSlots = { title: 'customNoOperation' }
this.generateList(this.treeData)
} else {
this.treeData = []
@@ -211,8 +268,8 @@ export default {
dealTreeData (treeData) {
return treeData.map(item => {
item.scopedSlots = { title: 'custom' }
- if (item.subset && item.subset.length > 0) {
- item.subset = this.dealTreeData(item.subset)
+ if (item.children && item.children.length > 0) {
+ item.children = this.dealTreeData(item.children)
}
return item
})
@@ -221,20 +278,24 @@ export default {
generateList (data) {
for (let i = 0; i < data.length; i++) {
const node = data[i]
- const id = node.id
- this.treeDataList.push({ id, name: node.name, pid: node.pid })
- if (node.subset) {
- this.generateList(node.subset)
+ const key = node.key
+ this.treeDataList.push({ key, title: node.title, parentId: node.parentId, nodeCode: node.nodeCode })
+ if (node.children) {
+ this.generateList(node.children)
}
}
},
+ // 根据key获取左侧树节点对象
+ getNodeByKey (key) {
+ return this.treeDataList.find(item => item.key === key)
+ },
// 左侧树搜索框改变
handleTreeChange (e) {
const value = e.target.value
const expandedKeys = this.treeDataList
.map(item => {
- if (item.name.indexOf(value) > -1) {
- return item.pid
+ if (item.title.indexOf(value) > -1) {
+ return item.parentId
}
return null
})
@@ -253,6 +314,40 @@ export default {
this.queryParam.workingGroupId = selectedKeys[0]
this.loadData()
},
+ // 左侧树点击新增
+ handleTreeAdd () {
+ this.$refs.treeNodeModal.title = this.$t('newlyAdded')
+ const nodeObj = this.getNodeByKey(this.mouseInNodeKey)
+ this.$refs.treeNodeModal.add(nodeObj)
+ },
+ // 左侧树点击编辑
+ handleTreeEdit (name) {
+ this.$refs.treeNodeModal.title = this.$t('edit')
+ this.$refs.treeNodeModal.edit(this.mouseInNodeKey, name)
+ },
+ // 左侧树点击删除
+ handleTreeDelete () {
+ const param = {}
+ param.id = this.mouseInNodeKey
+ this.$confirm({
+ title: this.$t('confirmDeletion'),
+ content: this.$t('confirmDeleteNodes'),
+ onOk: () => {
+ deleteTreeNode(param).then(res => {
+ if (res.success) {
+ this.$message.success(res.message)
+ this.initTreeData()
+ } else {
+ this.$message.warning(res.message)
+ }
+ })
+ }
+ })
+ },
+ // 左侧树节点新增或编辑完成
+ treeNodeModalOk () {
+ this.initTreeData()
+ },
// 左侧树鼠标移入某一目录
handleTreeMouseover (key) {
this.mouseInNodeKey = key
@@ -395,11 +490,6 @@ export default {