|
@@ -60,12 +60,24 @@
|
|
<div class="normal-black ">
|
|
<div class="normal-black ">
|
|
<div >
|
|
<div >
|
|
<el-link :underline="false">
|
|
<el-link :underline="false">
|
|
- <i
|
|
|
|
- class="el-icon-menu "
|
|
|
|
- @click.stop="showMenu($event,data, node)"
|
|
|
|
- v-if="node.level != 1"
|
|
|
|
-
|
|
|
|
- ></i>
|
|
|
|
|
|
+ <el-tooltip placement="right" effect="light" >
|
|
|
|
+ <div slot="content">
|
|
|
|
+ <ul
|
|
|
|
+ class="contextmenu"
|
|
|
|
+ >
|
|
|
|
+ <li v-for="item in menusData" :key="item" @click="menuClick($event,item,data,node)">
|
|
|
|
+ <i :class="item.icon"></i>
|
|
|
|
+ <span>{{item.label}}</span>
|
|
|
|
+ </li>
|
|
|
|
+ </ul>
|
|
|
|
+ </div>
|
|
|
|
+ <i
|
|
|
|
+ class="el-icon-menu "
|
|
|
|
+
|
|
|
|
+ v-if="node.level != 1"
|
|
|
|
+
|
|
|
|
+ ></i>
|
|
|
|
+ </el-tooltip>
|
|
<i
|
|
<i
|
|
class="el-icon-refresh"
|
|
class="el-icon-refresh"
|
|
@click="synctree(data, node)"
|
|
@click="synctree(data, node)"
|
|
@@ -75,21 +87,7 @@
|
|
</el-link>
|
|
</el-link>
|
|
|
|
|
|
|
|
|
|
- <!-- 因右键自定义菜单事件需要获取当前点击的位置,所以此处绑定动态样式来控制菜单实时跟踪鼠标右键点击位置 -->
|
|
|
|
- <ul
|
|
|
|
- v-show="menuvisible"
|
|
|
|
- :style="{ left: menuleft + 'px', top: menutop + 'px' }"
|
|
|
|
- class="contextmenu"
|
|
|
|
- >
|
|
|
|
-
|
|
|
|
- <li v-for="item in menusData" :key="item" @click="menuClick($event,item,data,node)">
|
|
|
|
- <i :class="item.icon"></i>
|
|
|
|
- <span>{{item.label}}</span>
|
|
|
|
- </li>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
- </ul>
|
|
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
@@ -127,7 +125,7 @@
|
|
</el-tooltip>
|
|
</el-tooltip>
|
|
|
|
|
|
|
|
|
|
- <span
|
|
|
|
|
|
+ <span
|
|
class="marleft10"
|
|
class="marleft10"
|
|
v-show="data.moreShow"
|
|
v-show="data.moreShow"
|
|
|
|
|
|
@@ -135,12 +133,24 @@
|
|
<div class="normal-black ">
|
|
<div class="normal-black ">
|
|
<div >
|
|
<div >
|
|
<el-link :underline="false">
|
|
<el-link :underline="false">
|
|
- <i
|
|
|
|
- class="el-icon-menu "
|
|
|
|
- @click.stop="showMenu($event,data, node)"
|
|
|
|
- v-if="node.level != 1"
|
|
|
|
-
|
|
|
|
- ></i>
|
|
|
|
|
|
+ <el-tooltip placement="right" effect="light" >
|
|
|
|
+ <div slot="content">
|
|
|
|
+ <ul
|
|
|
|
+ class="contextmenu"
|
|
|
|
+ >
|
|
|
|
+ <li v-for="item in menusData" :key="item" @click="menuClick($event,item,data,node)">
|
|
|
|
+ <i :class="item.icon"></i>
|
|
|
|
+ <span>{{item.label}}</span>
|
|
|
|
+ </li>
|
|
|
|
+ </ul>
|
|
|
|
+ </div>
|
|
|
|
+ <i
|
|
|
|
+ class="el-icon-menu "
|
|
|
|
+
|
|
|
|
+ v-if="node.level != 1"
|
|
|
|
+
|
|
|
|
+ ></i>
|
|
|
|
+ </el-tooltip>
|
|
<i
|
|
<i
|
|
class="el-icon-refresh"
|
|
class="el-icon-refresh"
|
|
@click="synctree(data, node)"
|
|
@click="synctree(data, node)"
|
|
@@ -148,19 +158,11 @@
|
|
|
|
|
|
></i>
|
|
></i>
|
|
</el-link>
|
|
</el-link>
|
|
- <!-- 因右键自定义菜单事件需要获取当前点击的位置,所以此处绑定动态样式来控制菜单实时跟踪鼠标右键点击位置 -->
|
|
|
|
- <ul
|
|
|
|
- v-show="menuvisible"
|
|
|
|
- :style="{ left: menuleft + 'px', top: menutop + 'px' }"
|
|
|
|
- class="contextmenu"
|
|
|
|
- >
|
|
|
|
- <li v-for="item in menusData" :key="item" @click="menuClick($event,item,data,node)">
|
|
|
|
- <i :class="item.icon"></i>
|
|
|
|
- <span>{{item.label}}</span>
|
|
|
|
- </li>
|
|
|
|
-
|
|
|
|
- </ul>
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
</div>
|
|
</div>
|
|
</span>
|
|
</span>
|
|
</span>
|
|
</span>
|
|
@@ -341,7 +343,23 @@
|
|
></el-option>
|
|
></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+ <el-form-item
|
|
|
|
+ label="并卷规则"
|
|
|
|
+ prop="archiveAutoType"
|
|
|
|
+ >
|
|
|
|
+ <el-select
|
|
|
|
|
|
|
|
+ v-model="form.archiveAutoType"
|
|
|
|
+ style="width:400px;"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in ruleTypeList"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
|
|
+ ></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
<el-form-item
|
|
<el-form-item
|
|
label="储存类型"
|
|
label="储存类型"
|
|
prop="storageType"
|
|
prop="storageType"
|
|
@@ -379,7 +397,25 @@
|
|
></el-option>
|
|
></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
|
+
|
|
<template v-if="form.isStorageNode==1">
|
|
<template v-if="form.isStorageNode==1">
|
|
|
|
+ <el-form-item
|
|
|
|
+ label="保管期限"
|
|
|
|
+ prop="storageTime"
|
|
|
|
+ >
|
|
|
|
+ <el-select
|
|
|
|
+
|
|
|
|
+ v-model="form.storageTime"
|
|
|
|
+ style="width:400px;"
|
|
|
|
+ >
|
|
|
|
+ <el-option
|
|
|
|
+ v-for="item in timeList"
|
|
|
|
+ :key="item.value"
|
|
|
|
+ :label="item.label"
|
|
|
|
+ :value="item.value"
|
|
|
|
+ ></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
<el-form-item
|
|
<el-form-item
|
|
label="储存类型"
|
|
label="储存类型"
|
|
prop="storageType"
|
|
prop="storageType"
|
|
@@ -731,7 +767,9 @@ export default {
|
|
projectType:'',//工程类型
|
|
projectType:'',//工程类型
|
|
storageType:'',//储存类型
|
|
storageType:'',//储存类型
|
|
expDataTypes:[],//文件类型
|
|
expDataTypes:[],//文件类型
|
|
- contractLogTypes: []
|
|
|
|
|
|
+ contractLogTypes: [],
|
|
|
|
+ storageTime:'3',
|
|
|
|
+ archiveAutoType:1,//并卷规则
|
|
},
|
|
},
|
|
rules: {
|
|
rules: {
|
|
nodeName: [{ required: true, message: '请输入节点名称', trigger: 'blur' }],
|
|
nodeName: [{ required: true, message: '请输入节点名称', trigger: 'blur' }],
|
|
@@ -800,7 +838,26 @@ export default {
|
|
label: '变更令',
|
|
label: '变更令',
|
|
value: 9
|
|
value: 9
|
|
},
|
|
},
|
|
- ],//储存类型枚举
|
|
|
|
|
|
+ ],
|
|
|
|
+ ruleTypeList: [
|
|
|
|
+ {
|
|
|
|
+ label: '单独组卷',
|
|
|
|
+ value: 1
|
|
|
|
+ }, {
|
|
|
|
+ label: '分类并卷',
|
|
|
|
+ value: 2
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ label: '最高组卷',
|
|
|
|
+ value: 3
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ timeList: [
|
|
|
|
+ { label: '永久', value: '3' },
|
|
|
|
+ { label: '30年', value: '2' },
|
|
|
|
+ { label: '10年', value: '1' },
|
|
|
|
+ ],
|
|
|
|
+ //储存类型枚举
|
|
storageNodeList: [{
|
|
storageNodeList: [{
|
|
label: '是',
|
|
label: '是',
|
|
value: 1
|
|
value: 1
|
|
@@ -854,7 +911,7 @@ export default {
|
|
value: 6
|
|
value: 6
|
|
},
|
|
},
|
|
],//
|
|
],//
|
|
-
|
|
|
|
|
|
+
|
|
fileTypeList:[
|
|
fileTypeList:[
|
|
{
|
|
{
|
|
label: '配合比',
|
|
label: '配合比',
|
|
@@ -1188,7 +1245,7 @@ export default {
|
|
mouseLeave (data) {
|
|
mouseLeave (data) {
|
|
if (data.moreShow) {
|
|
if (data.moreShow) {
|
|
this.$set(data, 'moreShow', false)
|
|
this.$set(data, 'moreShow', false)
|
|
- this.menuvisible=false
|
|
|
|
|
|
+ // this.menuvisible=false
|
|
}
|
|
}
|
|
},
|
|
},
|
|
mouseOver (data) {
|
|
mouseOver (data) {
|
|
@@ -1254,6 +1311,7 @@ export default {
|
|
}
|
|
}
|
|
this.form.contractLogTypes = []
|
|
this.form.contractLogTypes = []
|
|
this.form.expDataTypes = []
|
|
this.form.expDataTypes = []
|
|
|
|
+ this.form.archiveAutoType=1
|
|
this.treeTap = true
|
|
this.treeTap = true
|
|
},
|
|
},
|
|
async edittree (data,node) {//编辑树
|
|
async edittree (data,node) {//编辑树
|
|
@@ -1816,8 +1874,8 @@ export default {
|
|
},
|
|
},
|
|
//展示菜单
|
|
//展示菜单
|
|
showMenu(e,data,node){
|
|
showMenu(e,data,node){
|
|
- e.preventDefault();
|
|
|
|
- console.log(e,'e');
|
|
|
|
|
|
+ // e.preventDefault();
|
|
|
|
+ // console.log(e,'e');
|
|
var x = e.pageX; //这个应该是相对于整个浏览器页面的x坐标,左上角为坐标原点(0,0)
|
|
var x = e.pageX; //这个应该是相对于整个浏览器页面的x坐标,左上角为坐标原点(0,0)
|
|
var y = e.pageY; //这个应该是相对于整个浏览器页面的y坐标,左上角为坐标原点(0,0)
|
|
var y = e.pageY; //这个应该是相对于整个浏览器页面的y坐标,左上角为坐标原点(0,0)
|
|
this.menutop = y-70;
|
|
this.menutop = y-70;
|
|
@@ -1978,27 +2036,60 @@ export default {
|
|
font-size: s;
|
|
font-size: s;
|
|
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+.el-tooltip__popper .contextmenu {
|
|
|
|
+ margin: -12px; /* 抵消 Tooltip 的默认内边距 */
|
|
|
|
+}
|
|
.contextmenu {
|
|
.contextmenu {
|
|
|
|
+ padding: 4px 0; /* 添加适当的内边距 */
|
|
|
|
+ // min-width: 120px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+.contextmenu ul {
|
|
|
|
+ list-style: none; /* 移除小圆点 */
|
|
|
|
+ padding: 0;
|
|
margin: 0;
|
|
margin: 0;
|
|
|
|
+ // min-width: 80px;
|
|
background: #fff;
|
|
background: #fff;
|
|
- z-index: 1000;
|
|
|
|
- position: fixed; //关键样式设置固定定位
|
|
|
|
- list-style-type: none;
|
|
|
|
- padding: 5px 0;
|
|
|
|
|
|
+ border: 1px solid #e4e7ed;
|
|
border-radius: 4px;
|
|
border-radius: 4px;
|
|
- font-size: 12px;
|
|
|
|
- font-weight: 400;
|
|
|
|
- color: #333;
|
|
|
|
- box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, 0.3);
|
|
|
|
|
|
+ box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
.contextmenu li {
|
|
.contextmenu li {
|
|
- margin: 0;
|
|
|
|
- padding: 7px 16px;
|
|
|
|
|
|
+ padding: 8px 16px;
|
|
|
|
+ line-height: 22px;
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
|
+ transition: all 0.3s;
|
|
}
|
|
}
|
|
-.contextmenu li:hover {
|
|
|
|
- background: #eee;
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+.contextmenu li i {
|
|
|
|
+ margin-right: 8px;
|
|
|
|
+ font-size: 16px;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+.contextmenu li span {
|
|
|
|
+ font-size: 14px;
|
|
|
|
+ color: #606266;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+.contextmenu li:hover,
|
|
|
|
+.contextmenu li.active {
|
|
|
|
+ background-color: #f5f7fa;
|
|
|
|
+ color: #409eff;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+.contextmenu li.divider {
|
|
|
|
+ height: 1px;
|
|
|
|
+ background-color: #e4e7ed;
|
|
|
|
+ margin: 4px 0;
|
|
|
|
+ padding: 0;
|
|
}
|
|
}
|
|
.config_type{
|
|
.config_type{
|
|
display: inline-block;
|
|
display: inline-block;
|