|
@@ -3,8 +3,8 @@
|
|
ref="container"
|
|
ref="container"
|
|
style="height:100%;"
|
|
style="height:100%;"
|
|
>
|
|
>
|
|
- <el-row class="h-100p">
|
|
|
|
- <el-col :span="12" class=" h-100p">
|
|
|
|
|
|
+ <el-row >
|
|
|
|
+ <el-col :span="24" >
|
|
|
|
|
|
<div class="h-100p flex flex-d-c ov-hidden">
|
|
<div class="h-100p flex flex-d-c ov-hidden">
|
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
|
<el-tabs v-model="activeName" @tab-click="handleClick">
|
|
@@ -13,14 +13,17 @@
|
|
<el-tab-pane label="文书档案目录" name="second">
|
|
<el-tab-pane label="文书档案目录" name="second">
|
|
</el-tab-pane>
|
|
</el-tab-pane>
|
|
</el-tabs>
|
|
</el-tabs>
|
|
- <div class="scrollClass " style="height:100%">
|
|
|
|
|
|
+ <div style="height:100%">
|
|
<!-- <h2>归档目录树</h2> -->
|
|
<!-- <h2>归档目录树</h2> -->
|
|
- <el-input
|
|
|
|
- placeholder="输入关键字进行过滤"
|
|
|
|
- clearable
|
|
|
|
- v-model="filterText"
|
|
|
|
- >
|
|
|
|
- </el-input>
|
|
|
|
|
|
+ <div class="flex ">
|
|
|
|
+ <el-input
|
|
|
|
+ placeholder="输入关键字进行过滤"
|
|
|
|
+ clearable
|
|
|
|
+ v-model="filterText"
|
|
|
|
+ >
|
|
|
|
+ </el-input>
|
|
|
|
+ <el-button type="primary" @click="searchClick" :loading="searchLoading">搜索</el-button>
|
|
|
|
+ </div>
|
|
<div style="height:100%;overflow-y: auto;" class="scrollClass ">
|
|
<div style="height:100%;overflow-y: auto;" class="scrollClass ">
|
|
<el-scrollbar style="height:75%">
|
|
<el-scrollbar style="height:75%">
|
|
<el-tree
|
|
<el-tree
|
|
@@ -44,12 +47,7 @@
|
|
|
|
|
|
>
|
|
>
|
|
|
|
|
|
- <div v-if="data.title&&data.title.length<=25">{{data.title | ellipsis}}</div>
|
|
|
|
-
|
|
|
|
- <el-tooltip v-if="data.title&&data.title.length>25" :content="data.title" raw-content placement="top-start" effect="light">
|
|
|
|
- <span v-if="data.title &&data.title.length <=25">{{ data.title }}</span>
|
|
|
|
- <span v-if="data.title && data.title.length > 25"> {{data.title | ellipsis}}</span>
|
|
|
|
- </el-tooltip>
|
|
|
|
|
|
+ {{ data.title }}
|
|
|
|
|
|
|
|
|
|
<span
|
|
<span
|
|
@@ -96,7 +94,8 @@
|
|
</el-tree>
|
|
</el-tree>
|
|
|
|
|
|
<el-tree
|
|
<el-tree
|
|
- v-show="filterText"
|
|
|
|
|
|
+ v-loading="searchLoading"
|
|
|
|
+ v-show="isShowSearch"
|
|
:props="props"
|
|
:props="props"
|
|
:data="data"
|
|
:data="data"
|
|
node-key="id"
|
|
node-key="id"
|
|
@@ -117,13 +116,7 @@
|
|
@mouseleave="mouseLeave(data)"
|
|
@mouseleave="mouseLeave(data)"
|
|
|
|
|
|
>
|
|
>
|
|
- <div v-if="data.title&&data.title.length<=25">{{data.title | ellipsis}}</div>
|
|
|
|
-
|
|
|
|
- <el-tooltip v-if="data.title&&data.title.length>25" :content="data.title" raw-content placement="top-start" effect="light">
|
|
|
|
- <span v-if="data.title &&data.title.length <=25">{{ data.title }}</span>
|
|
|
|
- <span v-if="data.title && data.title.length > 25"> {{data.title | ellipsis}}</span>
|
|
|
|
- </el-tooltip>
|
|
|
|
-
|
|
|
|
|
|
+ {{ data.title }}
|
|
|
|
|
|
<span
|
|
<span
|
|
class="marleft10"
|
|
class="marleft10"
|
|
@@ -174,96 +167,7 @@
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :span="12" class=" h-100p">
|
|
|
|
- <basic-container class=" h-100p ">
|
|
|
|
- <div class="peizhi h-100p ov-hidden" v-loading="rightTreeLoading">
|
|
|
|
- <el-tabs v-model="activetabName" @tab-click="handletabClick">
|
|
|
|
- <el-tab-pane label="立卷规则" name="second">
|
|
|
|
- <el-row style="margin-bottom:15px">
|
|
|
|
- <el-button type="primary" plain @click="setHigh">设置为最高并卷层级</el-button>
|
|
|
|
- <el-button type="primary" plain @click="setType">设置为分类卷并卷</el-button>
|
|
|
|
- <el-button type="primary" plain @click="setAlone">设置为独立组卷</el-button>
|
|
|
|
- </el-row>
|
|
|
|
- </el-tab-pane>
|
|
|
|
- <el-tab-pane label="工程文件入口配置" name="first"></el-tab-pane>
|
|
|
|
- </el-tabs>
|
|
|
|
-
|
|
|
|
- <div class="scrollClass" v-if="activetabName==='second'" style="height:100%;">
|
|
|
|
- <el-scrollbar style="height:80%">
|
|
|
|
- <el-tree
|
|
|
|
- :props="Rightprops"
|
|
|
|
- :data="rightData"
|
|
|
|
- node-key="id"
|
|
|
|
- ref="settree"
|
|
|
|
- class="filter-tree"
|
|
|
|
- show-checkbox :check-strictly="true"
|
|
|
|
- @check="handleCheckChange"
|
|
|
|
- :default-expanded-keys="defaultExpandedKeys1"
|
|
|
|
- :current-node-key="curreenttid1"
|
|
|
|
- >
|
|
|
|
- <div class="custom-tree-node" slot-scope="{ node, data }" @mouseover="mouseOver(data)" style="flex: 1;width: 100%;justify-content: flex-start;"
|
|
|
|
- @mouseleave="mouseLeave(data)">
|
|
|
|
- <!-- <span>{{ node.label }}</span> -->
|
|
|
|
- <span v-if="node.label&&node.label.length<=25">{{node.label | ellipsis1}}</span>
|
|
|
|
-
|
|
|
|
- <el-tooltip v-if="node.label&&node.label.length>25" :content="node.label" raw-content placement="top-start" effect="light">
|
|
|
|
- <span v-if="node.label &&node.label.length <=25">{{node.label}}</span>
|
|
|
|
- <span v-if="node.label && node.label.length > 25"> {{node.label | ellipsis1}}</span>
|
|
|
|
- </el-tooltip>
|
|
|
|
- <span class="marleft10"
|
|
|
|
- v-show="data.moreShow">
|
|
|
|
- <div class="config_type" v-if="data.archiveAutoType == 1&&data.archiveAutoGroupSelect == 1">最</div>
|
|
|
|
- <div class="config_type" v-if="data.archiveAutoType == 2&&data.archiveAutoGroupSelect == 1">分</div>
|
|
|
|
- <div class="config_type" v-if="data.archiveAutoType == 3&&data.archiveAutoGroupSelect == 1">独</div>
|
|
|
|
- <el-button
|
|
|
|
- type="text"
|
|
|
|
- size="mini"
|
|
|
|
- @click.stop="() => viewConfig(data,node)">
|
|
|
|
- 查看配置
|
|
|
|
- </el-button>
|
|
|
|
- <el-link @click.stop="removeArchive(data)" type="danger" :underline="false" class="marleft10"><i class="el-icon-delete"></i></el-link>
|
|
|
|
- </span>
|
|
|
|
-
|
|
|
|
- </div>
|
|
|
|
- </el-tree>
|
|
|
|
- </el-scrollbar>
|
|
|
|
- </div>
|
|
|
|
- <div class="flexEnd" v-if="isentryTree&&activetabName==='first'">
|
|
|
|
- <i
|
|
|
|
- @click="rightPushTree"
|
|
|
|
- class="el-icon-plus"
|
|
|
|
- style="backgroundColor:#2A97DF;color:#fff;fontSize:20px;cursor: pointer;"
|
|
|
|
- ></i>
|
|
|
|
- </div>
|
|
|
|
- <div class="scrollClass" v-if="isentryTree&&activetabName==='first'" style="height:100%">
|
|
|
|
- <el-scrollbar style="height:80%">
|
|
|
|
- <el-tree
|
|
|
|
- :props="Rightprops"
|
|
|
|
- :data="rightData"
|
|
|
|
- node-key="id"
|
|
|
|
- ref="tree"
|
|
|
|
- class="filter-tree"
|
|
|
|
-
|
|
|
|
- >
|
|
|
|
- <div class="custom-tree-node" slot-scope="{ node, data }" @mouseover="mouseOver(data)" style="flex: 1;width: 100%;justify-content: flex-start;"
|
|
|
|
- @mouseleave="mouseLeave(data)">
|
|
|
|
- <!-- <span>{{ node.label }}</span> -->
|
|
|
|
- <span v-if="node.label&&node.label.length<=25">{{node.label | ellipsis1}}</span>
|
|
|
|
-
|
|
|
|
- <el-tooltip v-if="node.label&&node.label.length>25" :content="node.label" raw-content placement="top-start" effect="light">
|
|
|
|
- <span v-if="node.label &&node.label.length <=25">{{node.label}}</span>
|
|
|
|
- <span v-if="node.label && node.label.length > 25"> {{node.label | ellipsis1}}</span>
|
|
|
|
- </el-tooltip>
|
|
|
|
-
|
|
|
|
- </div>
|
|
|
|
- </el-tree>
|
|
|
|
-
|
|
|
|
- </el-scrollbar>
|
|
|
|
- </div>
|
|
|
|
-
|
|
|
|
- </div>
|
|
|
|
- </basic-container>
|
|
|
|
- </el-col>
|
|
|
|
|
|
+
|
|
</el-row>
|
|
</el-row>
|
|
<!-- 新增编辑 -->
|
|
<!-- 新增编辑 -->
|
|
<el-dialog
|
|
<el-dialog
|
|
@@ -433,22 +337,7 @@
|
|
></el-option>
|
|
></el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <!-- <el-form-item
|
|
|
|
- label="是否竣工图"
|
|
|
|
- prop="isBuiltDrawing"
|
|
|
|
- >
|
|
|
|
- <el-select
|
|
|
|
- v-model="form.isBuiltDrawing"
|
|
|
|
- style="width:400px;"
|
|
|
|
- >
|
|
|
|
- <el-option
|
|
|
|
- v-for="item in builtDrawingList"
|
|
|
|
- :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="isInterfaceNode"
|
|
prop="isInterfaceNode"
|
|
@@ -563,36 +452,7 @@
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 右侧树 -->
|
|
<!-- 右侧树 -->
|
|
- <el-dialog
|
|
|
|
- title="上传文件入口显示配置"
|
|
|
|
- :visible.sync="pushfileTap"
|
|
|
|
- :modal-append-to-body='false'
|
|
|
|
- width="800px"
|
|
|
|
- @close="pushFileClose"
|
|
|
|
- >
|
|
|
|
- <div style="width: 100%;overflow-x: auto;">
|
|
|
|
- <el-tree
|
|
|
|
- :props="dialogProps"
|
|
|
|
- show-checkbox
|
|
|
|
- :data="dialogData"
|
|
|
|
- node-key="id"
|
|
|
|
- accordion
|
|
|
|
- ref="trees"
|
|
|
|
- class="filter-tree"
|
|
|
|
- >
|
|
|
|
- </el-tree>
|
|
|
|
- </div>
|
|
|
|
- <span
|
|
|
|
- slot="footer"
|
|
|
|
- class="dialog-footer"
|
|
|
|
- >
|
|
|
|
- <el-button @click="pushfileTap = false">取 消</el-button>
|
|
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- @click="saveFile"
|
|
|
|
- >确 定</el-button>
|
|
|
|
- </span>
|
|
|
|
- </el-dialog>
|
|
|
|
|
|
+
|
|
|
|
|
|
<!-- wbs树排序弹框 -->
|
|
<!-- wbs树排序弹框 -->
|
|
<el-dialog
|
|
<el-dialog
|
|
@@ -617,94 +477,9 @@
|
|
>确 定</el-button>
|
|
>确 定</el-button>
|
|
</span>
|
|
</span>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
- <!-- 设置最高层级 -->
|
|
|
|
- <el-dialog
|
|
|
|
- :title="setName"
|
|
|
|
- :visible.sync="highVisible"
|
|
|
|
- width="50%"
|
|
|
|
- append-to-body
|
|
|
|
- >
|
|
|
|
- <el-checkbox-group v-model="checkList" class="wraplabel">
|
|
|
|
- <div v-for="node in nodesList" :key="node.id">
|
|
|
|
- <el-checkbox :label="node.id" style="margin-bottom:10px;">{{node.pathName}}</el-checkbox>
|
|
|
|
- </div>
|
|
|
|
- </el-checkbox-group>
|
|
|
|
- <span
|
|
|
|
- slot="footer"
|
|
|
|
- class="dialog-footer"
|
|
|
|
- >
|
|
|
|
- <el-button @click="highVisible=false,highVisible=false">取 消</el-button>
|
|
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- @click="setRecordsHandle()"
|
|
|
|
- >确 定</el-button>
|
|
|
|
- </span>
|
|
|
|
- </el-dialog>
|
|
|
|
- <!-- 查看配置 -->
|
|
|
|
- <!-- <el-dialog
|
|
|
|
- title="设置最高并卷层级"
|
|
|
|
- :visible.sync="configVisible"
|
|
|
|
- width="50%"
|
|
|
|
- append-to-body
|
|
|
|
- >
|
|
|
|
- <el-tabs v-model="configactiveName" @tab-click="confighandleClick">
|
|
|
|
- <el-tab-pane label="最高层级配置" name="first"></el-tab-pane>
|
|
|
|
- <el-tab-pane label="分类并卷配置" name="second"></el-tab-pane>
|
|
|
|
- <el-tab-pane label="独立组卷配置" name="third"></el-tab-pane>
|
|
|
|
-
|
|
|
|
- </el-tabs>
|
|
|
|
- <el-checkbox-group v-model="checkList">
|
|
|
|
- <el-checkbox label="复选框 A" style="margin-bottom:10px"></el-checkbox><br/>
|
|
|
|
- <el-checkbox label="复选框 B" style="margin-bottom:10px"></el-checkbox><br/>
|
|
|
|
- <el-checkbox label="复选框 C" style="margin-bottom:10px"></el-checkbox><br/>
|
|
|
|
- </el-checkbox-group>
|
|
|
|
- <span
|
|
|
|
- slot="footer"
|
|
|
|
- class="dialog-footer"
|
|
|
|
- >
|
|
|
|
- <el-button @click="configVisible=false,configVisible=false">取 消</el-button>
|
|
|
|
- <el-button
|
|
|
|
- type="primary"
|
|
|
|
- @click="editSort()"
|
|
|
|
- >确 定</el-button>
|
|
|
|
- </span>
|
|
|
|
- </el-dialog> -->
|
|
|
|
- <el-dialog
|
|
|
|
- :visible.sync="configVisible"
|
|
|
|
- width="50%"
|
|
|
|
- append-to-body
|
|
|
|
- >
|
|
|
|
- <div v-if="configInfo && configInfo.type">
|
|
|
|
- <div class="config-type-name">
|
|
|
|
- <span>配置类别:</span>
|
|
|
|
- <span v-if="configInfo.type == 1">最高并卷层级</span>
|
|
|
|
- <span v-if="configInfo.type == 2">分类并卷</span>
|
|
|
|
- <span v-if="configInfo.type == 3">独立组卷</span>
|
|
|
|
- </div>
|
|
|
|
- <template v-if="configInfo.type !== 2">
|
|
|
|
- <div class="config-allname">
|
|
|
|
- {{configInfo.data.allName}}
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- <template v-else>
|
|
|
|
- <el-tree :data="configInfo.data.tree" :props="{label: 'nodeName'}" show-checkbox :check-strictly="true" :default-checked-keys="checkedKeys" :default-expanded-keys="checkedKeys" node-key="id" ref="configtree" @check="configCheckChange" class="config-allname"></el-tree>
|
|
|
|
- </template>
|
|
|
|
- </div>
|
|
|
|
- <div style="text-align: center;font-size: 22px;" v-else>
|
|
|
|
- 该节点尚未配置
|
|
|
|
- </div>
|
|
|
|
|
|
|
|
- <span
|
|
|
|
- slot="footer"
|
|
|
|
- class="dialog-footer"
|
|
|
|
- >
|
|
|
|
- <el-button @click="configVisible=false">取消查看</el-button>
|
|
|
|
- <el-button v-if="configInfo && configInfo.type == 2"
|
|
|
|
- type="primary"
|
|
|
|
- @click="changeConfig"
|
|
|
|
- >确认修改配置</el-button>
|
|
|
|
- </span>
|
|
|
|
- </el-dialog>
|
|
|
|
|
|
+
|
|
|
|
+
|
|
</basic-container>
|
|
</basic-container>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -735,7 +510,9 @@ export default {
|
|
//#region 左侧树
|
|
//#region 左侧树
|
|
defaultExpanded: [],//默认选中的节点
|
|
defaultExpanded: [],//默认选中的节点
|
|
filterText: '',//筛选条件
|
|
filterText: '',//筛选条件
|
|
- rulefilterText:'',
|
|
|
|
|
|
+ searchLoading: false,
|
|
|
|
+ isShowSearch: false,//是否显示搜索框
|
|
|
|
+
|
|
treeNode: {},
|
|
treeNode: {},
|
|
treeParent:{},
|
|
treeParent:{},
|
|
nodeNames: '',
|
|
nodeNames: '',
|
|
@@ -1057,107 +834,13 @@ export default {
|
|
confighandleClick(tab, event) {
|
|
confighandleClick(tab, event) {
|
|
console.log(tab, event);
|
|
console.log(tab, event);
|
|
},
|
|
},
|
|
- setHigh(){
|
|
|
|
- if(this.showHighVisible()){
|
|
|
|
- this.archiveAutoType =1;
|
|
|
|
- }
|
|
|
|
|
|
|
|
- //console.log('设置最高');
|
|
|
|
- },
|
|
|
|
- setType(){
|
|
|
|
- if(this.showHighVisible()){
|
|
|
|
- this.archiveAutoType =2;
|
|
|
|
- }
|
|
|
|
- //console.log('设置类型');
|
|
|
|
- },
|
|
|
|
- setAlone(){
|
|
|
|
- if(this.showHighVisible()){
|
|
|
|
- this.archiveAutoType =3;
|
|
|
|
- }
|
|
|
|
- //console.log('设置独立');
|
|
|
|
- },
|
|
|
|
|
|
+
|
|
|
|
|
|
- showHighVisible(){
|
|
|
|
- let nodes = this.$refs.settree.getCheckedNodes();
|
|
|
|
- if(nodes.length < 1){
|
|
|
|
- this.$message({
|
|
|
|
- message: '请先勾选节点,再进行设置',
|
|
|
|
- type: 'warning'
|
|
|
|
- });
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
|
|
|
|
- let ids = [];
|
|
|
|
- nodes.forEach((element)=>{
|
|
|
|
- element.pathName = this.getTreeNodePath(element,'settree')
|
|
|
|
- ids.push(element.id);
|
|
|
|
- })
|
|
|
|
- //console.log(nodes)
|
|
|
|
- this.checkList = ids;
|
|
|
|
- this.nodesList = nodes;
|
|
|
|
- this.highVisible=true;
|
|
|
|
- return true;
|
|
|
|
- },
|
|
|
|
-
|
|
|
|
- async viewConfig(data,node){
|
|
|
|
- //获取节点展开路径
|
|
|
|
- this.getExpandedKeys1(node);
|
|
|
|
- setStore({
|
|
|
|
- name: 'curreenttid1',
|
|
|
|
- content: data.id,
|
|
|
|
- type: true, //sessionStorage
|
|
|
|
- });
|
|
|
|
- this.configInfo = null;
|
|
|
|
- const { data: res } = await getArchiveAutoRule({
|
|
|
|
- nodeId:data.id,//归档树节点的id 或者 挂载wbs节点的ID(具体哪个ID待定)
|
|
|
|
- iswbsNode:data.iswbsNode,//是否是wbs节点
|
|
|
|
- projectId:this.projectId,// 系统级为0 项目级为项目id
|
|
|
|
- wbsNode2ArchiveTreeNodeId:data.wbsNode2ArchiveTreeNodeId,// 这个树节点里面有(iswbsNode为true需传)
|
|
|
|
- wbsId:this.treeSelectId // 这个就是一开始上面选择划分树的id(iswbsNode为true需传)
|
|
|
|
- })
|
|
|
|
|
|
|
|
- if (res.code == 200 && res.msg == "操作成功") {
|
|
|
|
- //console.log(res.data)
|
|
|
|
- if(res.data.type){
|
|
|
|
- this.configInfo = res.data;
|
|
|
|
- }else if(res.data.archiveAutoType){
|
|
|
|
- this.configInfo = {
|
|
|
|
- type:2,
|
|
|
|
- data:res.data
|
|
|
|
- }
|
|
|
|
- this.checkedKeys = res.data.selectNodeIds.split(',');
|
|
|
|
- }
|
|
|
|
- this.configVisible=true
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- handleCheckChange(data, checks) {
|
|
|
|
- //console.log(data, checks);
|
|
|
|
- let array = checks.checkedNodes;
|
|
|
|
- for (let index = 1; index < array.length; index++) {
|
|
|
|
- const element = array[index];
|
|
|
|
- if(element.iswbsNode !== array[0].iswbsNode){
|
|
|
|
- //取消勾选
|
|
|
|
- this.$refs.settree.setChecked(data.id,false,false)
|
|
|
|
- this.$message({
|
|
|
|
- message: '非wbs节点不能和wbs节点一起设置规则',
|
|
|
|
- type: 'warning'
|
|
|
|
- });
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- handleentrybtn(){
|
|
|
|
- console.log(this.entrybtn,'entrybtn');
|
|
|
|
- this.isentryTree=false;
|
|
|
|
-
|
|
|
|
- },
|
|
|
|
- handlerulebtn(){
|
|
|
|
- this.isentryTree=true;
|
|
|
|
- console.log(this.rulebtn,'rulebtn');
|
|
|
|
- },
|
|
|
|
- savebtn(){
|
|
|
|
- this.isentryTree=true;
|
|
|
|
- },
|
|
|
|
|
|
+
|
|
|
|
+
|
|
paixuMD (data) {
|
|
paixuMD (data) {
|
|
this.sortTag = true
|
|
this.sortTag = true
|
|
this.sortTag2 = true
|
|
this.sortTag2 = true
|
|
@@ -1341,7 +1024,9 @@ export default {
|
|
.then(() => {
|
|
.then(() => {
|
|
this.remove(node.id).then(()=>{
|
|
this.remove(node.id).then(()=>{
|
|
_that.$refs.trees1.remove(node) //删除界面上的节点
|
|
_that.$refs.trees1.remove(node) //删除界面上的节点
|
|
|
|
+ if(this.filterText){
|
|
this.archiveTreetree4()//全加载左侧树
|
|
this.archiveTreetree4()//全加载左侧树
|
|
|
|
+ }
|
|
}).catch(()=>{
|
|
}).catch(()=>{
|
|
|
|
|
|
})
|
|
})
|
|
@@ -1414,20 +1099,7 @@ export default {
|
|
if (!value) return true;
|
|
if (!value) return true;
|
|
return data.title.indexOf(value) !== -1;
|
|
return data.title.indexOf(value) !== -1;
|
|
},
|
|
},
|
|
- rulefilterNode (value,data,node) {//筛选条件
|
|
|
|
- if (!value) return true;
|
|
|
|
- return data.title.indexOf(value) !== -1;
|
|
|
|
- },
|
|
|
|
- //判断节点是否匹配
|
|
|
|
- getReturnNode(node,_array,value){
|
|
|
|
- let isPass = node.data && node.data.title && node.data.title.indexOf(value) !== -1;
|
|
|
|
- isPass?_array.push(isPass):'';
|
|
|
|
-
|
|
|
|
- //判断节点是否是父节点
|
|
|
|
- if(!isPass && node.level!=1 && node.parent){
|
|
|
|
- this.getReturnNode(node.parent,_array,value);
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
|
|
+
|
|
|
|
|
|
//#endregion
|
|
//#endregion
|
|
|
|
|
|
@@ -1636,106 +1308,13 @@ export default {
|
|
this.treeNode.postType = da.postType
|
|
this.treeNode.postType = da.postType
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- //#endregion
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
- //#region 右侧树节点
|
|
|
|
- async rightPushTree () {//右侧节点树
|
|
|
|
- this.checkXuan = []
|
|
|
|
- await this.archiveTreetree2({
|
|
|
|
- // token: this.token,
|
|
|
|
- nodeType: 2,
|
|
|
|
- })
|
|
|
|
- this.pushfileTap = true
|
|
|
|
- // await this.saixuan(this.dialogData)
|
|
|
|
- await this.saixuan(this.dialogData[0].selectAllNodes)
|
|
|
|
- this.$refs.trees.setCheckedKeys(this.checkXuan);
|
|
|
|
- },
|
|
|
|
- saixuan (da) {//赛选
|
|
|
|
- if (da.length > 0) {
|
|
|
|
- da.forEach(val=>{
|
|
|
|
- this.checkXuan.push(val)
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
|
|
|
|
- },
|
|
|
|
- // 赛选
|
|
|
|
- // saixuan (da) {//赛选
|
|
|
|
- // if (da.length > 0) {
|
|
|
|
- // let tag = true
|
|
|
|
- // da.forEach(val => {
|
|
|
|
- // if (val.isDisplayTree == 1 && val.hasChildren) {
|
|
|
|
- // let ks = this.saixuan(val.children)
|
|
|
|
- // if (ks) {
|
|
|
|
- // this.checkXuan.push(val.id)
|
|
|
|
- // }
|
|
|
|
- // } else if (val.isDisplayTree == 1 && !val.hasChildren) {
|
|
|
|
- // this.checkXuan.push(val.id)
|
|
|
|
- // } else {
|
|
|
|
- // tag = false
|
|
|
|
- // }
|
|
|
|
- // })
|
|
|
|
- // return tag
|
|
|
|
- // }
|
|
|
|
- // },
|
|
|
|
- pushFileClose () {//弹框关闭事件
|
|
|
|
- this.checkXuan = []
|
|
|
|
- },
|
|
|
|
- async archiveTreetree (da) {//右侧树全加载接口
|
|
|
|
- da = Object.assign(da,{projectId:this.projectId})
|
|
|
|
- const { data: res } = await archiveTreetree(da)
|
|
|
|
- console.log(res);
|
|
|
|
- if (res.code == 200 && res.msg == "操作成功") {
|
|
|
|
- this.rightData = res.data
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- //#endregion
|
|
|
|
|
|
|
|
- //#region 右侧树弹框
|
|
|
|
- async submitDisplayConfigTree (ids) {//保存接口
|
|
|
|
- const { data: res } = await submitDisplayConfigTree({ ids })
|
|
|
|
- console.log(res);
|
|
|
|
- if (res.code == 200) {
|
|
|
|
- this.$message({
|
|
|
|
- type: 'success',
|
|
|
|
- message: '设置成功'
|
|
|
|
- })
|
|
|
|
- this.archiveTreetree({
|
|
|
|
- // token: this.token,
|
|
|
|
- disPlayTree: 1,
|
|
|
|
- nodeType: 2,
|
|
|
|
- })
|
|
|
|
- this.pushfileTap = false
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- async archiveTreetree2 (da) {//右侧树全加载接口
|
|
|
|
- da = Object.assign(da,{projectId:this.projectId})
|
|
|
|
- //console.log(da,'ddddddda')
|
|
|
|
- const { data: res } = await archiveTreetree(da)
|
|
|
|
- console.log(res);
|
|
|
|
- if (res.code == 200 && res.msg == "操作成功") {
|
|
|
|
- this.dialogData = res.data
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
- saveFile () {//保存按钮
|
|
|
|
- let zi = this.$refs.trees.getCheckedKeys() //返回选中子节点的key
|
|
|
|
- let fu = this.$refs.trees.getHalfCheckedKeys()//返回选中子节点的父节点的key
|
|
|
|
- let arr = [...zi, ...fu]
|
|
|
|
- if (arr.length > 0) {
|
|
|
|
- let ids = ''
|
|
|
|
- arr.forEach((val, key) => {
|
|
|
|
- ids += val
|
|
|
|
- if (key != arr.length - 1) {
|
|
|
|
- ids += ','
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- this.submitDisplayConfigTree(ids)
|
|
|
|
- } else {
|
|
|
|
- this.$message({
|
|
|
|
- type: 'error',
|
|
|
|
- message: '请先设置配置文件'
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
//#endregion
|
|
//#endregion
|
|
|
|
|
|
async getWbsList(){
|
|
async getWbsList(){
|
|
@@ -1808,44 +1387,8 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
|
|
- //立卷树勾选修改
|
|
|
|
- configCheckChange(data, checks){
|
|
|
|
- let array = checks.checkedNodes;
|
|
|
|
- for (let index = 1; index < array.length; index++) {
|
|
|
|
- const element = array[index];
|
|
|
|
- if(element.iswbsNode !== array[0].iswbsNode){
|
|
|
|
- //取消勾选
|
|
|
|
- this.$refs.configtree.setChecked(data.id,false,false)
|
|
|
|
- this.$message({
|
|
|
|
- message: '非wbs节点不能和wbs节点一起设置规则',
|
|
|
|
- type: 'warning'
|
|
|
|
- });
|
|
|
|
- return;
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
|
|
|
|
- //立卷规则修改
|
|
|
|
- async changeConfig(){
|
|
|
|
- let keys = this.$refs.configtree.getCheckedKeys();
|
|
|
|
- let nodes = this.$refs.configtree.getCheckedNodes();
|
|
|
|
- console.log(nodes)
|
|
|
|
- const { data: res } = await updateArchiveAutoRule({
|
|
|
|
- archiveAutoType:2,//最高1 分类2 独立3
|
|
|
|
- archiveAutoGroupId:this.configInfo.data.archiveAutoGroupId,
|
|
|
|
- selectNodeIds:keys.join(','),//鼠标选择的节点ID(只要鼠标选择的节点,选择节点的下级子节点那种不要),逗号拼接
|
|
|
|
- iswbsNode:nodes[0].iswbsNode,//是否是wbs节点
|
|
|
|
- projectId:this.projectId,// 系统级为0 项目级为项目id
|
|
|
|
- })
|
|
|
|
|
|
|
|
- if (res.code == 200 && res.msg == "操作成功") {
|
|
|
|
- this.$message({
|
|
|
|
- type: 'success',
|
|
|
|
- message: '修改成功'
|
|
|
|
- })
|
|
|
|
- this.configVisible = false;
|
|
|
|
- }
|
|
|
|
- },
|
|
|
|
|
|
|
|
async removeArchive(data){
|
|
async removeArchive(data){
|
|
this.$confirm('此操作将永久删除配置, 是否继续?', '提示', {
|
|
this.$confirm('此操作将永久删除配置, 是否继续?', '提示', {
|
|
@@ -1936,14 +1479,39 @@ export default {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
|
|
+ async searchClick(){
|
|
|
|
+ this.searchLoading = true
|
|
|
|
+ this.isShowSearch=true
|
|
|
|
+ if( this.data.length>0) {
|
|
|
|
+ this.$refs.trees2.filter(this.filterText);
|
|
|
|
+ this.searchLoading = false
|
|
|
|
+ }else{
|
|
|
|
+ this.searchLoading = true
|
|
|
|
+ const { data: res } = await archiveTreetree({
|
|
|
|
+ // token: this.token,
|
|
|
|
+ projectId:this.projectId
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ if (res.code == 200 && res.msg == "操作成功") {
|
|
|
|
+ this.data = res.data
|
|
|
|
+ this.searchLoading = false
|
|
|
|
+ }
|
|
|
|
+ this.$refs.trees2.filter(this.filterText);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
},
|
|
},
|
|
watch: {
|
|
watch: {
|
|
filterText (val) {
|
|
filterText (val) {
|
|
- this.$refs.trees2.filter(val);
|
|
|
|
|
|
+ console.log(val,'val');
|
|
|
|
+
|
|
|
|
+ // this.$refs.trees2.filter(val);
|
|
|
|
+ if(!val){
|
|
|
|
+ this.isShowSearch=false
|
|
|
|
+ }
|
|
},
|
|
},
|
|
- rulefilterText(val) {
|
|
|
|
- this.$refs.ruletree.filter(val);
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
},
|
|
},
|
|
created () {
|
|
created () {
|
|
this.token = 'bearer ' + getToken()
|
|
this.token = 'bearer ' + getToken()
|
|
@@ -1954,12 +1522,8 @@ export default {
|
|
this.curreenttid= getStore({ name:'curreenttid' });
|
|
this.curreenttid= getStore({ name:'curreenttid' });
|
|
this.curreenttid1= getStore({ name:'curreenttid1' });
|
|
this.curreenttid1= getStore({ name:'curreenttid1' });
|
|
|
|
|
|
- this.archiveTreetree({
|
|
|
|
- // token: this.token,
|
|
|
|
- //disPlayTree: 1,
|
|
|
|
- //nodeType: 2,
|
|
|
|
- })
|
|
|
|
- this.archiveTreetree4()//全加载左侧树
|
|
|
|
|
|
+
|
|
|
|
+
|
|
|
|
|
|
this.getWbsList();
|
|
this.getWbsList();
|
|
|
|
|
|
@@ -1969,23 +1533,7 @@ export default {
|
|
mounted () {
|
|
mounted () {
|
|
this.heights = this.$refs.container.$el.offsetHeight;
|
|
this.heights = this.$refs.container.$el.offsetHeight;
|
|
},
|
|
},
|
|
- filters:{
|
|
|
|
- ellipsis(value) {
|
|
|
|
- if (!value) return "";
|
|
|
|
- if (value.length > 25) {
|
|
|
|
- return value.slice(0, 25) + "...";
|
|
|
|
- }
|
|
|
|
- return value;
|
|
|
|
- },
|
|
|
|
- ellipsis1(value) {
|
|
|
|
- if (!value) return "";
|
|
|
|
- if (value.length > 25) {
|
|
|
|
- return value.slice(0, 25) + "...";
|
|
|
|
- }
|
|
|
|
- return value;
|
|
|
|
- },
|
|
|
|
|
|
|
|
- },
|
|
|
|
|
|
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|