From b41cd111c84d90ca39c26e828eea78747759697b Mon Sep 17 00:00:00 2001
From: super_liu <396572590@qq.com>
Date: Thu, 22 Jul 2021 10:39:52 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E4=BC=81=E4=B8=9A=E6=A0=87=E5=87=86?=
=?UTF-8?q?=E5=BA=93=E6=A8=A1=E5=9D=97?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/navMenu/index.vue | 10 +-
.../components/EnterpriseStandardDatabase.vue | 351 ++++++++++++++++--
2 files changed, 333 insertions(+), 28 deletions(-)
diff --git a/src/components/navMenu/index.vue b/src/components/navMenu/index.vue
index bbdbd002c..d5b998e22 100644
--- a/src/components/navMenu/index.vue
+++ b/src/components/navMenu/index.vue
@@ -125,11 +125,11 @@ export default {
// // // title: '本地产品/项目库',
// // // path: '/localProductsOrProjectLibrary'
// // // },
- // {
- // title: '企业标准库',
- // path: '/enterpriseStandardDatabase',
- // menuId: '3YVZP8R4TC'
- // },
+ {
+ title: '企业标准库',
+ path: '/enterpriseStandardDatabase',
+ menuId: '01ed8f752748227777b3572d56ee9ab5'
+ },
// {
// title: '企标制修订计划',
// path: '/enterBSysRevPlanManaLib',
diff --git a/src/pages/regulatoryRepository/enterpriseStandardDatabase/components/EnterpriseStandardDatabase.vue b/src/pages/regulatoryRepository/enterpriseStandardDatabase/components/EnterpriseStandardDatabase.vue
index f29cbcf88..be7ea2547 100644
--- a/src/pages/regulatoryRepository/enterpriseStandardDatabase/components/EnterpriseStandardDatabase.vue
+++ b/src/pages/regulatoryRepository/enterpriseStandardDatabase/components/EnterpriseStandardDatabase.vue
@@ -4,27 +4,43 @@
- clickDropMenu('newMenu', treeNode)"
- @treeEdit="(treeId, treeNode) => clickDropMenu('editMenu', treeNode)"
- @treeClick="(treeId, treeNode) => treeClick(treeNode)"
- @treeRightClick="(treeId, treeNode) => treeRightClick(treeNode)"
- @treeRemove="(treeId, treeNode) => clickDropMenu('deleteMenu', treeNode)"
- @drag="drag"
- >
+
+
+ {{ node.label}}
+
+ append(data)">
+ 新增
+
+ update(data)">
+ 编辑
+
+ remove(node, data)">
+ 删除
+
+
+
+
@@ -860,6 +876,64 @@
}"
@confirm="isTreeOk"
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -893,6 +967,60 @@ export default {
},
data () {
return {
+ props: {
+ label: 'menuName',
+ children: 'children'
+ },
+ productModal: false, // 模态框是否打开
+ modalType: '',
+ productTitle: '', // 模态框标题
+ // 规范
+ productRules: {
+ menuName: [
+ {required: true, message: '一级菜单不能为空', trigger: 'blur'},
+ {type: 'string', max: 100, message: '最多输入100位', trigger: 'blur'}
+ ],
+ displaySeq: [
+ {type: 'number', required: true, message: '排序号不能为空且为正整数', trigger: 'blur'},
+ {type: 'string', validator: this.verify.validStandNumInCompile2, trigger: 'blur'}
+ ],
+ remarks: [
+ {type: 'string', max: 500, message: '最多输入500位', trigger: 'blur'}
+ ],
+ dicTypeName: [
+ {required: true, message: '选项不能为空', trigger: 'blur'},
+ {type: 'string', max: 100, message: '最多输入100位', trigger: 'blur'}
+ ],
+ showIndex: [
+ {type: 'number', required: true, message: '排序号不能为空且为正整数', trigger: 'blur'},
+ {type: 'string', validator: this.verify.validStandNumInCompile2, trigger: 'blur'}
+ ],
+ describes: [
+ {type: 'string', max: 500, message: '最多输入500位', trigger: 'blur'}
+ ]
+ },
+ productModelAdd: {
+ id : "",
+ sorDivide : "INLAND_STAND",
+ menuName : "",
+ parentId : null,
+ parentIds : null,
+ parentIdsName : "",
+ displaySeq : "",
+ validFlag : "",
+ creationTime : "",
+ modifyTime : "",
+ remarks : "",
+ children : [],
+ // 模态框信息
+ dicTypeName: '',
+ showIndex: '',
+ // 描述
+ describes: '',
+ // 唯一辨识
+ dicId: ""
+ },
+ treeList: [],
standId: '',
visibleOrgTable: false,
visibleShare: false,
@@ -1423,6 +1551,183 @@ export default {
}
},
methods: {
+ closeModal () {
+ this.productModal = false
+ this.closeDrawer()
+ },
+ // 提交新增/修改
+ saveProduct (name) {
+ this.$refs[name].validate((valid) => {
+ if (valid) {
+ if (this.modalType === 1) {
+ this.$http.postData('sarResource/ts-resource/add', this.productModelAdd, {
+ _this: this
+ }, res => {
+ if (res.ok) {
+ this.selectMenuList()
+ this.productModal = false
+ this.productModelAdd = {
+ // 模态框信息
+ dicTypeName: '',
+ showIndex: '',
+ // 描述
+ describes: '',
+ // 唯一辨识
+ dicId: this.$route.params.id
+ }
+ } else {
+ this.productModal = true
+ }
+ }, e => {})
+ } else if (this.modalType === 2) {
+ this.$http.putData('sarResource/ts-resource', this.productModelAdd, {
+ _this: this
+ }, res => {
+ this.selectMenuList()
+ this.productModal = false
+ this.productModelAdd = {
+ // 模态框信息
+ dicTypeName: '',
+ showIndex: '',
+ // 描述
+ describes: '',
+ // 唯一辨识
+ dicId: this.$route.params.id
+ }
+ }, e => {
+ })
+ }
+ } else {
+ }
+ })
+ },
+ closeDrawer () {
+ this.$nextTick(() => {
+ this.$refs['productModelAdd'].resetFields()
+ this.productModelAdd = {
+ // 模态框信息
+ dicTypeName: '',
+ showIndex: '',
+ // 描述
+ describes: '',
+ // 唯一辨识
+ dicId: this.$route.params.id
+ }
+ })
+ this.productModal = false
+ },
+ // 查询二级菜单
+ selectMenuList () {
+ this.$http.get('sarResource/ts-resource', {
+ sorDivide: 'BUSINESS_STAND'
+ }, {}, res => {
+ if (res.ok) {
+ this.treeList = res.data
+ }
+ })
+ },
+ // 查询二级菜单
+ selectChildMenu (row) {
+ this.$http.get('sarResource/ts-resource/getMenuById', {
+ menuId: row.id
+ }, {}, res => {
+ if (res.ok) {
+ if(this.modalType === 1){
+ let idsName = ""
+ if(row.parentIds !== null){
+ if(row.parentIds.indexOf(res.data.id) != -1){
+ this.productModelAdd.parentIds = row.parentIds
+ }else {
+ this.productModelAdd.parentIds = row.parentIds + ',' + res.data.id
+ idsName = row.parentIdsName + ',' + res.data.menuName
+ }
+ }else {
+ this.productModelAdd.parentIds = res.data.id
+ idsName = res.data.menuName;
+ }
+ this.productModelAdd.parentId = res.data.id
+ this.productModelAdd.parentIdsName = idsName
+ this.$forceUpdate()
+ }else {
+ this.productModelAdd = res.data
+ }
+ }
+ })
+ },
+ update(data) {
+ this.modalType = 2
+ this.selectChildMenu(data)
+ this.productModal = true
+ this.productTitle = '编辑信息'
+ // const newChild = { id: this.id++, label: 'testtest', children: [] };
+ // if (!data.children) {
+ // this.$set(data, 'children', []);
+ // }
+ // data.children.push(newChild);
+ },
+
+ append(data) {
+ this.modalType = 1
+ this.selectChildMenu(data)
+ this.productModal = true
+ this.productTitle = '新增下级菜单信息'
+ this.productModelAdd.dicTypeCode = ''
+ // const newChild = { id: this.id++, label: 'testtest', children: [] };
+ // if (!data.children) {
+ // this.$set(data, 'children', []);
+ // }
+ // data.children.push(newChild);
+ },
+
+ remove(node, data) {
+ this.$confirm('是否删除菜单?', '提示', {
+ confirmButtonText: '确定',
+ confirmButtonClass: 'common-button-primary',
+ cancelButtonText: '取消',
+ roundButton: true,
+ type: 'warning'
+ }).then(() => {
+ this.$http.delete("sarResource/ts-resource", {
+ resourceId: data.id
+ }, res => {
+ }, e => {
+ if(e.ok){
+ this.$message({
+ type: 'success',
+ message: "删除成功"
+ })
+ this.selectMenuList()
+ }else {
+ this.$message({
+ type: 'warning',
+ message: e.message
+ })
+ }
+ })
+ }).catch(() => {
+ this.$refs.selections.clearSelection()
+ this.$message({
+ type: 'info',
+ message: '已取消删除'
+ })
+ })
+ // const parent = node.parent;
+ // const children = parent.data.children || parent.data;
+ // const index = children.findIndex(d => d.id === data.id);
+ // children.splice(index, 1);
+ },
+ // 树节点鼠标移入移出
+ mouseenter(data){
+ console.log(data)
+ this.$set(data, 'show', true)
+ if(data.parentId !== null){
+ this.$set(data, 'showDel', true)
+ }
+ },
+ mouseleave(data){
+ this.$set(data, 'show', false)
+ this.$set(data, 'showDel', false)
+ },
/**
* @description: 起草人名称展示
* @author: chenxiaoxi
@@ -3147,7 +3452,7 @@ export default {
mounted () {
this.treeReload = true
// 进入页面后查询树形结构目录
- this.selectMenu()
+ this.selectMenuList()
// 查询各下拉框数据
this.$http.get('sys/dictype/getDicTypeListCode', '', {
_this: this
@@ -3194,7 +3499,7 @@ export default {
height: 100%;
//background: #fff;
.tree-content {
- width: 16%;
+ width: 20%;
position: relative;
/*height: 100%;*/
background: #fff;