|
@@ -16,10 +16,11 @@
|
|
|
:props="defaultProps" :expand-on-click-node="false"
|
|
|
highlight-current node-key="id"
|
|
|
ref="tree">
|
|
|
- <span class="custom-tree-node" slot-scope="{ node, data }">
|
|
|
+ <span class="custom-tree-node" :class="data.moreShow?'show':''" slot-scope="{ node, data }">
|
|
|
+ <!--@mouseover="mouseover(data)" @mouseleave="mouseout(data)"-->
|
|
|
<span>
|
|
|
{{ node.label }}
|
|
|
- <el-dropdown @click="command=>{setLeftType(command,data)}">
|
|
|
+ <el-dropdown @click="command=>{setLeftType(command,data)}" @visible-change="visiblechange($event,data)">
|
|
|
<el-button
|
|
|
type="text" icon="el-icon-more" class="normal-black">
|
|
|
</el-button>
|
|
@@ -29,6 +30,7 @@
|
|
|
<el-dropdown-item @click.native="setLeftType(3,data,node)" icon="el-icon-document-copy">复制节点</el-dropdown-item>
|
|
|
<el-dropdown-item @click.native="setLeftType(4,data,node)" icon="iconfont hcicon-danganziliao-biaogetianxie" class="font-s-12">元素公式</el-dropdown-item>
|
|
|
<el-dropdown-item @click.native="setLeftType(5,data,node)" icon="el-icon-coin">元素设置</el-dropdown-item>
|
|
|
+ <el-dropdown-item @click.native="nodeInfo(data,node)" icon="el-icon-help">节点参数</el-dropdown-item>
|
|
|
<el-dropdown-item @click.native="importTemplate(data,node)" v-if="node.level == 2" icon="el-icon-upload">导入划分</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
@@ -42,10 +44,10 @@
|
|
|
highlight-current node-key="id"
|
|
|
:filter-node-method="filterNode"
|
|
|
ref="treeall">
|
|
|
- <span class="custom-tree-node" slot-scope="{ node, data }">
|
|
|
+ <span class="custom-tree-node" slot-scope="{ node, data }" :class="data.moreShow?'show':''">
|
|
|
<span>
|
|
|
{{ node.label }}
|
|
|
- <el-dropdown @click="command=>{setLeftType(command,data)}">
|
|
|
+ <el-dropdown @click="command=>{setLeftType(command,data)}" @visible-change="visiblechange($event,data)">
|
|
|
<el-button
|
|
|
type="text" icon="el-icon-more" class="normal-black">
|
|
|
</el-button>
|
|
@@ -55,6 +57,7 @@
|
|
|
<el-dropdown-item @click.native="setLeftType(3,data,node)" icon="el-icon-document-copy">复制节点</el-dropdown-item>
|
|
|
<el-dropdown-item @click.native="setLeftType(4,data,node)" icon="iconfont hcicon-danganziliao-biaogetianxie" class="font-s-12">元素公式</el-dropdown-item>
|
|
|
<el-dropdown-item @click.native="setLeftType(5,data,node)" icon="el-icon-coin">元素设置</el-dropdown-item>
|
|
|
+ <el-dropdown-item @click.native="nodeInfo(data,node)" icon="el-icon-help">节点参数</el-dropdown-item>
|
|
|
<el-dropdown-item @click.native="importTemplate(data,node)" v-if="node.level == 2" icon="el-icon-upload">导入划分</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
@@ -66,7 +69,7 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="14">
|
|
|
- <template v-if="leftType==2 || leftType==1">
|
|
|
+ <template v-if="leftType==5">
|
|
|
<p>节点信息</p>
|
|
|
<el-table :data="tableData" border style="width: 100%">
|
|
|
<el-table-column align="center" prop="deptName" label="当前节点" ></el-table-column>
|
|
@@ -189,7 +192,7 @@
|
|
|
<div></div>
|
|
|
<div>
|
|
|
<el-link type="primary" @click="importVisible = true">快捷导入</el-link>
|
|
|
- <el-link type="primary" class="mg-l-20">下载导入模版</el-link>
|
|
|
+ <el-link type="primary" class="mg-l-20" @click="downloadTmp">下载导入模版</el-link>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="border-grey">
|
|
@@ -210,7 +213,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" prop="eLength" label="长度" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input v-model="scope.row.eLength" size="small" placeholder="请输入内容"></el-input>
|
|
|
+ <el-input v-model="scope.row.eLength" size="small" placeholder="请输入内容" :disabled="scope.row.eType == 4" ></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" prop="eAllowDeviation" label="允许偏差值">
|
|
@@ -248,22 +251,23 @@
|
|
|
</el-dialog>
|
|
|
|
|
|
<el-dialog title="模版导入" :visible.sync="importVisible" width="50%" append-to-body :close-on-click-modal="false">
|
|
|
- <p>提示:必须按照系统要求的模版格式上传,否则系统识别无效 <el-link type="primary">下载导入模版</el-link></p>
|
|
|
+ <p>提示:必须按照系统要求的模版格式上传,否则系统识别无效 <el-link type="primary" @click="downloadTmp">下载导入模版</el-link></p>
|
|
|
<div>
|
|
|
- <el-button size="small" type="primary">本地上传</el-button>
|
|
|
+ <el-button size="small" type="primary" @click="fileClick2">本地上传</el-button>
|
|
|
+ <input @change="tmpImport" type="file" hidden ref="file2" accept=".xls, .xlsx">
|
|
|
</div>
|
|
|
<el-table :data="tempList" border style="width: 100%" >
|
|
|
- <el-table-column align="center" prop="eName" label="元素名称" >
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center" prop="eType" label="数据类型" width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center" prop="eLength" label="长度" width="120">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center" prop="eAllowDeviation" label="允许偏差值">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column align="center" prop="eInspectionMethod" label="检查方法和频率">
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ <el-table-column align="center" prop="eName" label="元素名称" >
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="eType" label="数据类型" width="120">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="eLength" label="长度" width="120">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="eAllowDeviation" label="允许偏差值">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="eInspectionMethod" label="检查方法和频率">
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="importVisible = false">取 消</el-button>
|
|
|
<el-button type="primary" @click="importHandle">确 定</el-button>
|
|
@@ -288,7 +292,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" prop="eLength" label="长度" width="120">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input v-model="scope.row.eLength" size="small" placeholder="请输入内容"></el-input>
|
|
|
+ <el-input v-model="scope.row.eLength" size="small" placeholder="请输入内容" :disabled="scope.row.eType == 4"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column align="center" prop="eAllowDeviation" label="允许偏差值">
|
|
@@ -360,6 +364,119 @@
|
|
|
<el-button type="primary" @click="importTemplateHandle" :loading="importLoading">导 入</el-button>
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+ <el-dialog title="节点参数" :visible.sync="nodeInfoVisible" width="800px" append-to-body :close-on-click-modal="false" :show-close="false">
|
|
|
+ <div>
|
|
|
+ <el-button
|
|
|
+ type="text" icon="el-icon-s-operation" class="right-btn"
|
|
|
+ @click="infoNameVisible = true"></el-button>
|
|
|
+ <el-table :data="nodeInfoTable" border style="width: 100%" height="400">
|
|
|
+ <el-table-column align="center" prop="name" label="参数名称">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <template v-if="scope.row.isEdit">
|
|
|
+ <el-select v-model="scope.row.name" placeholder="请选择" class="w-100p">
|
|
|
+ <el-option v-for="item in namelist" :key="item.id" :label="item.dictValue" :value="item.dictKey"></el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ {{scope.row.name}}
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="value" label="参数值设置">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <template v-if="scope.row.isEdit">
|
|
|
+ <el-input v-model="scope.row.value"></el-input>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ {{scope.row.value}}
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="describe" label="描述">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <template v-if="scope.row.isEdit">
|
|
|
+ <el-input v-model="scope.row.describe"></el-input>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ {{scope.row.describe}}
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" width="120" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ type="text" size="small" v-show="scope.row.isEdit"
|
|
|
+ @click="saveNodeInfoHandle(scope.$index, scope.row)">保存</el-button>
|
|
|
+ <el-button
|
|
|
+ type="text" size="small" v-show="!scope.row.isEdit"
|
|
|
+ @click="editNodeInfo(scope.$index, scope.row)">编辑</el-button>
|
|
|
+ <el-button
|
|
|
+ type="text" size="small" class="text-icon-danger"
|
|
|
+ @click="delNodeInfo(scope.$index, scope.row)">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="nodeInfoVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="nodeInfoSave">保 存</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <el-dialog title="设置参数名称" :visible.sync="infoNameVisible" width="800px" append-to-body :close-on-click-modal="false">
|
|
|
+ <div>
|
|
|
+ <el-table :data="namelist" border style="width: 100%" height="400">
|
|
|
+ <el-table-column align="center" prop="name" label="参数名称">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <template v-if="scope.row.isEdit">
|
|
|
+ <el-input v-model="scope.row.name"></el-input>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ {{scope.row.name}}
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="key" label="参数值KEY">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <template v-if="scope.row.isEdit">
|
|
|
+ <el-input v-model="scope.row.key"></el-input>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ {{scope.row.key}}
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column align="center" prop="describe" label="描述">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <template v-if="scope.row.isEdit">
|
|
|
+ <el-input v-model="scope.row.describe"></el-input>
|
|
|
+ </template>
|
|
|
+ <template v-else>
|
|
|
+ {{scope.row.describe}}
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" width="120" align="center">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ type="text" size="small" v-show="scope.row.isEdit"
|
|
|
+ @click="saveNodeInfoHandle(scope.$index, scope.row)">保存</el-button>
|
|
|
+ <el-button
|
|
|
+ type="text" size="small" v-show="!scope.row.isEdit"
|
|
|
+ @click="editNodeInfo(scope.$index, scope.row)">编辑</el-button>
|
|
|
+ <el-button
|
|
|
+ type="text" size="small" class="text-icon-danger"
|
|
|
+ @click="delNodeInfo(scope.$index, scope.row)">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="infoNameVisible = false">关 闭</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
</basic-container>
|
|
|
</template>
|
|
|
|
|
@@ -367,7 +484,8 @@
|
|
|
import {getLazytree,getDetail,update,selectByNodeTable,getAlltree,
|
|
|
saveFormAndElement,selectFormElements,removeTableById,
|
|
|
importWbsTree} from "@/api/manager/wbstree";
|
|
|
- import {saveElement,remove as removeElement,updateBatchElements} from "@/api/manager/wbsformelement";
|
|
|
+ import {saveElement,remove as removeElement,updateBatchElements,getTemplate,
|
|
|
+ importWbsElement} from "@/api/manager/wbsformelement";
|
|
|
import {getList as getAttchFromOriginalName} from "@/api/resource/attach";
|
|
|
import {getDictionary} from "@/api/system/dict";
|
|
|
import {mapGetters} from "vuex";
|
|
@@ -378,6 +496,7 @@
|
|
|
filterText:'',
|
|
|
treeData:[],
|
|
|
treeLoad:false,
|
|
|
+ menuShow:false,
|
|
|
defaultProps: {
|
|
|
children: 'children',
|
|
|
label: 'title',
|
|
@@ -385,11 +504,12 @@
|
|
|
return !data.hasChildren;
|
|
|
}
|
|
|
},
|
|
|
- leftType:2,
|
|
|
+ leftType:5,
|
|
|
curTreeData:{},
|
|
|
tableData:[],
|
|
|
nodeDetail:{},
|
|
|
formData:[],
|
|
|
+ editType:1,
|
|
|
|
|
|
dialogVisible:false,
|
|
|
deptCategorylist:[],
|
|
@@ -428,6 +548,7 @@
|
|
|
curEleTable:{},
|
|
|
editEleVisible:false,
|
|
|
editEleList:[],
|
|
|
+ eleReg:/(≥|≤|±|【】)?([^≥≤±【】]*)/,
|
|
|
|
|
|
editEleFormulaVisible:false,
|
|
|
formulaInput:'',
|
|
@@ -436,6 +557,12 @@
|
|
|
fileUrl:'',
|
|
|
upFile:null,
|
|
|
importLoading:false,
|
|
|
+
|
|
|
+ nodeInfoVisible:false,
|
|
|
+ nodeInfoTable:[],
|
|
|
+ namelist:[],
|
|
|
+
|
|
|
+ infoNameVisible:false,
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
@@ -496,9 +623,9 @@
|
|
|
saveNode(){
|
|
|
this.$refs['nodeDetail'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
- if(this.leftType == 1){
|
|
|
+ if(this.editType == 1){
|
|
|
this.addNode();
|
|
|
- }else if(this.leftType == 2){
|
|
|
+ }else if(this.editType == 2){
|
|
|
this.updateNode();
|
|
|
}
|
|
|
} else {
|
|
@@ -532,13 +659,16 @@
|
|
|
},
|
|
|
|
|
|
setLeftType(type,data,node){
|
|
|
- this.leftType = type;
|
|
|
+ if(type == 4 || type == 5){
|
|
|
+ this.leftType = type;
|
|
|
+ }
|
|
|
this.curTreeData = data;
|
|
|
this.$refs.tree.setCurrentKey(data.id);
|
|
|
|
|
|
- if(this.leftType == 1 || this.leftType == 2){
|
|
|
+ if(type == 1 || type == 2){
|
|
|
this.getMajorDataTypeList();
|
|
|
this.dialogVisible = true;
|
|
|
+ this.editType = type;
|
|
|
}
|
|
|
|
|
|
getDetail(data.id).then((res)=>{
|
|
@@ -548,7 +678,7 @@
|
|
|
}
|
|
|
res.data.data.parentName = parentName;
|
|
|
this.tableData = [res.data.data];
|
|
|
- if(this.leftType == 1){
|
|
|
+ if(type == 1){
|
|
|
this.nodeDetail = {
|
|
|
parentId:res.data.data.id,
|
|
|
parentName:parentName
|
|
@@ -599,6 +729,9 @@
|
|
|
this.eleForm.parentId = this.nodeDetail.id;
|
|
|
this.eleForm.elementList.forEach((element)=>{
|
|
|
element.eAllowDeviation = (element.allow?element.allow:'') + (element.deviation?element.deviation:'');
|
|
|
+ if(element.eType == 4){
|
|
|
+ element.eLength = 0;
|
|
|
+ }
|
|
|
})
|
|
|
saveFormAndElement(this.eleForm).then(()=>{
|
|
|
//console.log(res)
|
|
@@ -640,9 +773,8 @@
|
|
|
handleEdit(index,row){
|
|
|
this.curEleTable = row;
|
|
|
selectFormElements(this.curEleTable.id).then((res)=>{
|
|
|
- let reg = /(≥|≤|±|【】)?([^≥≤±【】]*)/;
|
|
|
res.data.data.forEach((element)=>{
|
|
|
- reg.exec(element.eAllowDeviation);
|
|
|
+ this.eleReg.exec(element.eAllowDeviation);
|
|
|
// console.log(RegExp.$1)
|
|
|
// console.log(RegExp.$2)
|
|
|
element.allow = RegExp.$1?RegExp.$1:'';
|
|
@@ -681,9 +813,14 @@
|
|
|
saveNewEle(row){
|
|
|
row.eAllowDeviation = (row.allow?row.allow:'') + (row.deviation?row.deviation:'');
|
|
|
row.fId = this.curEleTable.id;
|
|
|
+ row.initTableName = this.curEleTable.initTableName;
|
|
|
+ if(row.eType == 4){
|
|
|
+ row.eLength = 0;
|
|
|
+ }
|
|
|
saveElement(row).then((res)=>{
|
|
|
if(res.data.data){
|
|
|
- this.$set(row,'id',res.data.data);
|
|
|
+ this.$set(row,'id',res.data.data.id);
|
|
|
+ this.$set(row,'ekey',res.data.data.ekey);
|
|
|
this.$message({
|
|
|
type: "success",
|
|
|
message: "保存成功!"
|
|
@@ -700,7 +837,7 @@
|
|
|
confirmButtonText: '删除',
|
|
|
cancelButtonText: '取消'
|
|
|
}).then(() => {
|
|
|
- removeElement(row.id).then(()=>{
|
|
|
+ removeElement(row.id,this.curEleTable.initTableName,row.ekey).then(()=>{
|
|
|
list.splice(index,1);
|
|
|
})
|
|
|
})
|
|
@@ -719,7 +856,13 @@
|
|
|
}
|
|
|
}
|
|
|
if(this.editEleList.length > 0){
|
|
|
- updateBatchElements(this.editEleList).then(()=>{
|
|
|
+ this.editEleList.forEach((element)=>{
|
|
|
+ element.eAllowDeviation = (element.allow?element.allow:'') + (element.deviation?element.deviation:'');
|
|
|
+ if(element.eType == 4){
|
|
|
+ element.eLength = 0;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ updateBatchElements(this.editEleList,this.curEleTable.initTableName).then(()=>{
|
|
|
this.editEleVisible = false;
|
|
|
this.updateNodeTable();
|
|
|
this.$message({
|
|
@@ -796,6 +939,7 @@
|
|
|
let node = this.$refs.tree.getNode(this.curTreeData.id);
|
|
|
node.isLeaf = false;
|
|
|
this.importTemplateVisible = false;
|
|
|
+ this.upFile = null;
|
|
|
}).finally(()=>{
|
|
|
this.importLoading = false;
|
|
|
})
|
|
@@ -826,6 +970,77 @@
|
|
|
this.upFile = file;
|
|
|
},
|
|
|
|
|
|
+ nodeInfo(){
|
|
|
+ this.nodeInfoVisible = true;
|
|
|
+ },
|
|
|
+ nodeInfoSave(){
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ delNodeInfo(){
|
|
|
+
|
|
|
+ },
|
|
|
+ editNodeInfo(index,row){
|
|
|
+ this.$set(row,'isEdit',true);
|
|
|
+ },
|
|
|
+ saveNodeInfoHandle(index,row){
|
|
|
+ row.isEdit = false;
|
|
|
+ },
|
|
|
+
|
|
|
+ downloadTmp(){
|
|
|
+ getTemplate().then((res)=>{
|
|
|
+ //console.log(res)
|
|
|
+ let blob = new Blob([res.data], {
|
|
|
+ type: 'application/vnd.ms-excel'
|
|
|
+ });
|
|
|
+ //console.log(blob)
|
|
|
+ let filename = Date.parse(new Date()) + '.xls';
|
|
|
+ if (window.navigator.msSaveOrOpenBlob) {
|
|
|
+ // 兼容IE10
|
|
|
+ window.navigator.msSaveBlob(blob, filename);
|
|
|
+ } else {
|
|
|
+ // 兼容chrome/firefox
|
|
|
+ let aTag = document.createElement('a');
|
|
|
+ aTag.download = Date.parse(new Date()) + '.xls';
|
|
|
+ aTag.href = window.URL.createObjectURL(blob);
|
|
|
+ aTag.click();
|
|
|
+ URL.revokeObjectURL(aTag.href);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ fileClick2(){
|
|
|
+ this.$refs.file2.click();
|
|
|
+ },
|
|
|
+ tmpImport(e){
|
|
|
+ const file = e.target.files[0];
|
|
|
+ const formData = new FormData();
|
|
|
+ formData.append('file', file);
|
|
|
+ //console.log(file.name)
|
|
|
+ importWbsElement(formData).then((res)=>{
|
|
|
+ res.data.data.forEach((element)=>{
|
|
|
+ element.eName = element.elementName;
|
|
|
+ element.eLength = element.elementLength;
|
|
|
+ element.eType = Number(element.elementType);
|
|
|
+ element.eAllowDeviation = element.elementAllowDeviation;
|
|
|
+ element.eInspectionMethod = element.elementInspectionMethod;
|
|
|
+ this.eleReg.exec(element.eAllowDeviation);
|
|
|
+ // console.log(RegExp.$1)
|
|
|
+ // console.log(RegExp.$2)
|
|
|
+ element.allow = RegExp.$1?RegExp.$1:'';
|
|
|
+ element.deviation = RegExp.$2?RegExp.$2:'';
|
|
|
+ })
|
|
|
+ this.eleForm.elementList = res.data.data;
|
|
|
+ this.importVisible = false;
|
|
|
+ }).finally(()=>{
|
|
|
+ e.target.value='';
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ visiblechange(value,data){
|
|
|
+ this.$set(data, 'moreShow', value)
|
|
|
+ },
|
|
|
+
|
|
|
getDeptCategorylist(){
|
|
|
if(this.deptCategorylist.length >1){
|
|
|
return;
|
|
@@ -946,4 +1161,25 @@
|
|
|
.el-popper[x-placement^=bottom]{
|
|
|
margin-top: -6px;
|
|
|
}
|
|
|
+ .right-btn{
|
|
|
+ position: absolute;
|
|
|
+ right: 20px;
|
|
|
+ top: 10px;
|
|
|
+ font-size: 20px;
|
|
|
+ }
|
|
|
+ .custom-tree-node {
|
|
|
+ .normal-black {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+ &:hover {
|
|
|
+ .normal-black {
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ &.show .normal-black{
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
</style>
|