Sfoglia il codice sorgente

Merge branch 'master' of http://39.108.216.210:3000/web/saber into master

yangyj 1 anno fa
parent
commit
99896a42f2

+ 18 - 0
src/router/views/index.js

@@ -330,6 +330,24 @@ export default [{
       component: () =>
         import ( /* webpackChunkName: "views" */ '@/views/tentative/testcollect')
     },
+    {
+        path: '/tentative/testclassifyset',
+        name: '试验汇总分类配置',
+        meta: {
+          i18n: 'testclassifyset'
+        },
+        component: () =>
+          import ( /* webpackChunkName: "views" */ '@/views/tentative/testclassifyset')
+    },
+    {
+        path: '/tentative/dataMap',
+        name: '数据映射配置',
+        meta: {
+          i18n: 'dataMap'
+        },
+        component: () =>
+          import ( /* webpackChunkName: "views" */ '@/views/tentative/components/dataMap')
+      },
     {
         path: '/tentative/parameter',
         name: '试验参数配置',

+ 4 - 1
src/views/certificate/lists/addList.vue

@@ -292,7 +292,7 @@ export default {
         certificateId: '',//所持证书者身份证ID
         enterpriseUnifiedCode: '',//企业统一社会信用代码
         certificateNumber: '',
-        certificatePassword: '',
+        certificatePassword: '123456',
         certificateUserId: '',
         pfxType: '',
         certificateFileUrl: [],//证书文件
@@ -359,6 +359,9 @@ export default {
       this.userData.forEach(vo => {
         if(_this.form.certificateUserId == vo.id){
           _this.form.certificateId = vo.idNumber;
+          console.log(vo,'vo');
+           _this.form.certificateUserName=vo.realName
+
         }
       });
     },

+ 7 - 0
src/views/exctab/ElementIdentification/template/promptSettings.vue

@@ -93,6 +93,13 @@ export default {
         });
         return;
       }
+      else if(this.htmlData1.name === '警告' ){
+        this.$message({
+            type: "warning",
+            message: "警告框不能配置提示信息"
+          });
+          return;
+      }
 
       if(this.textarea === '' || this.textarea=== ''){
         this.$message({

+ 7 - 0
src/views/manager/projectinfo/treeTemplate/template/editDefault.vue

@@ -88,6 +88,13 @@ export default {
           message: "请先选择元素"
         });
         return;
+      
+      }else if(this.htmlData1.name === '警告' ){
+        this.$message({
+            type: "warning",
+            message: "警告框不能编辑默认信息"
+          });
+          return;
       }
 
       if(this.textarea === '' || this.textarea=== ''){

+ 6 - 0
src/views/manager/projectinfo/treeTemplate/template/electronicSignature.vue

@@ -304,6 +304,12 @@ export default {
           message: "请选坐标位置"
         });
         return;
+      }else if(this.htmlData1.name === '警告' ){
+        this.$message({
+            type: "warning",
+            message: "警告框不能配置电签"
+          });
+          return;
       }
       // 证书类型
       if(this.signType===''){

+ 7 - 0
src/views/manager/projectinfo/treeTemplate/template/promptSettings.vue

@@ -93,6 +93,13 @@ export default {
         });
         return;
       }
+      else if(this.htmlData1.name === '警告' ){
+        this.$message({
+            type: "warning",
+            message: "警告框不能配置提示信息"
+          });
+          return;
+      }
 
       if(this.textarea === '' || this.textarea=== ''){
         this.$message({

+ 1 - 0
src/views/manager/wbsinfo/edit.vue

@@ -538,6 +538,7 @@
           prop="nodeType"
         >
           <el-select
+          filterable
             v-model="nodeDetail.nodeType"
             placeholder="请选择"
             class="w-100p"

+ 207 - 0
src/views/tentative/components/configDivision.vue

@@ -0,0 +1,207 @@
+   <!--  -->
+   <template>
+        <el-dialog
+      title="关联试验划分树"
+      class="excelBox"
+      :visible.sync="testGLExcel"
+      width="500px"
+      modal-append-to-body
+      append-to-body
+      @close="testGLExcelMD"
+    >
+   <div class="mg-b-10">
+    <el-alert
+        :closable="false"
+        title="选择需要关联的清表 注意:每次只能单选操作"
+        type="warning">
+      </el-alert>
+   </div>
+      <div>
+        <el-select
+          style="width: 100%"
+          v-model="testGLExcelFrom.name"
+          placeholder="请选择"
+          @change="changetherr()"
+        >
+          <el-option
+            v-for="(item, key) in testGLExcelData"
+            :key="key"
+            :label="item.name"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+        <el-scrollbar style="margin-top: 20px; height: 50vh">
+          <el-input
+          style="width: 100%"
+            v-model.trim="testGLExcelFrom.search"
+            placeholder="请输入需要选择的内容"
+          ></el-input>
+          <el-tree
+            :filter-node-method="filterNode222"
+            ref="tree"
+            class="filter-tree"
+            style="margin-top: 10px"
+            :props="testGLExcelProps"
+            :data="testexceldata"
+            node-key="id"
+            accordion
+            show-checkbox
+            @check="checkchange"
+            v-loading="testGLExcelLoading"
+          >
+          </el-tree>
+        </el-scrollbar>
+      </div>
+      <span
+        slot="footer"
+        class="dialog-footer"
+        style="display: flex; justify-content: center; align-items: center"
+      >
+        <el-button @click="testGLExcelMD()">取 消</el-button>
+        <el-button
+          style="margin-left: 30px"
+          type="primary"
+          v-throttle="2000"
+          @click="saveLinkTab()"
+          >确 定</el-button
+        >
+      </span>
+    </el-dialog>
+   </template>
+   
+   <script>
+     import {
+  getList as getListQing,
+  tabLazytreeAll,
+  saveLinkTab,
+  getExcelHtml,
+} from "@/api/exctab/excelmodel";
+    export default{
+        props: {
+            testGLExcel: {
+                type: Boolean,
+                default:false
+            },
+        
+        },
+        data(){
+            return{
+                testGLExcelLoading:false,
+                testGLExcelFrom:{
+                id: "",
+                name: "",
+                search: "", //搜素框舒服的值
+                ids: "",
+                excelId: "",
+                initTableName: "",
+                initTableId:""
+                },
+                testGLExcelData:[],
+                testexceldata:[],
+                testGLExcelProps: {
+                label: "name",
+                children: "children",
+                disabled: "hasChildren",
+                isLeaf: function (data) {
+                let tag = false;
+                if (!data.hasChildren) {
+                    tag = true;
+                }
+                if (data.isExistForm == 1) {
+                    tag = true;
+                }
+                return tag;
+                },
+            },
+
+            }
+        },
+        methods:{
+            testGLExcelMD(){
+                //弹框关闭事件
+                this.testGLExcelFrom.name = "";
+                this.testGLExcelFrom.search = "";
+                this.testGLExcelFrom.id = "";
+                this.testexceldata = [];
+
+                this.testGLExcel = false;
+            },
+            async tabLazytreeAll() {
+                //清表树信息
+                this.GLExcelLoading = true;
+                const { data: res } = await tabLazytreeAll({
+                    modeId: this.testGLExcelFrom.name,
+                    name: this.testGLExcelFrom.search,
+                });
+                this.testGLExcelLoading = false;
+                console.log(res);
+                if (res.code === 200 && res.msg === "操作成功") {
+                    this.testexceldata = res.data;
+                }
+             },
+            async getList(da) {
+            //获取清表模板信息
+                const { data: res } = await getListQing(da);
+                        console.log(res);
+                        if (res.code === 200 && res.msg === "操作成功") {
+                        this.testGLExcelData = res.data.records;
+                        }
+             },
+            changetherr() {
+                //清表类型选择框change事件
+                if (this.testGLExcelFrom.name != "") {
+                    this.testGLExcelFrom.search = "";
+                    this.tabLazytreeAll();
+                }
+            },
+            filterNode222(value,data,node) {
+                if(!value){
+                    return true;
+                    }
+                    let level = node.level;
+                    let _array = [];//这里使用数组存储 只是为了存储值。
+                    this.getReturnNode2(node,_array,value);
+                    let result = false;
+                    _array.forEach((item)=>{
+                    result = result || item;
+                    });
+                    return result;
+             },
+            getReturnNode2(node,_array,value){
+                let isPass = node.data &&  node.data.name && node.data.name.indexOf(value) !== -1;
+                isPass?_array.push(isPass):'';
+                if(!isPass && node.level!=1 && node.parent){
+                    this.getReturnNode2(node.parent,_array,value);
+                }
+            },
+            checkchange(data) {
+                //节点选中回调
+                if (this.$refs.tree.getCheckedNodes().length === 0) {
+                this.$refs.tree.setCheckedKeys([]);
+                } else if (this.$refs.tree.getCheckedNodes().length >= 1) {
+                this.$refs.tree.setCheckedKeys([data.id]);
+                }
+            },
+        },
+        watch:{
+            testGLExcel(val){
+                if(val){
+                    this.getList({
+                        current: 1,
+                        size: 100000,
+                        parentId: 0,
+                    });
+                }
+            },
+            "testGLExcelFrom.search"(val) {
+                console.log(val);
+                if (this.testexceldata) {
+                    this.$refs.tree.filter(val);
+                }
+            },
+        }
+    }
+   </script>
+   <style lang='scss' scoped>
+   </style>

+ 279 - 0
src/views/tentative/components/dataMap.vue

@@ -0,0 +1,279 @@
+<!--  -->
+<template>
+
+  <basic-container>
+    <el-row
+        :gutter="20"
+        :style="{height:heights-150+'px',}"
+      >
+        <el-col :span="16">
+          <div
+            class='parent hc-excel-table-form'
+            id='parent'
+            @click="parentClick($event)"
+           
+          >
+          </div>
+
+        </el-col>
+        <el-col
+        style="position: fixed;right: 13px;"
+        :span="7"
+       
+        >
+        <div style="margin-bottom: 20px;text-align: right;">
+          <el-button @click="goBack">返回上一级</el-button>
+          <el-button type="primary" >保存</el-button>
+   
+        </div>
+        <div class="right_box">
+          <div>
+            <span>选择表单</span>
+            <el-select v-model="formVal" placeholder="请选择" style="width: 65%;margin-left: 10px;">
+              <el-option
+                v-for="item in formoptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+          </div>
+          <div>
+            <span>选择元素</span>
+            <el-select v-model="formVal" placeholder="请选择" style="width: 65%;margin-left: 10px;margin-top: 15px;">
+              <el-option
+                v-for="item in formoptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+          </div>
+
+            <div class="martop20 replace_box">
+              <div style="width: 100%;height: 100%;overflow-y: auto;">
+                  <el-row class="mb-4 ">
+                    <div class="form_text">
+                      <div>表单名称:xxxxxxxx</div>
+                      <div>元素字段:</div>
+                    </div>
+                </el-row>
+              </div>
+            </div>
+        </div>
+      
+     
+        </el-col>
+      </el-row>
+  </basic-container>
+
+
+
+</template>
+
+<script >
+import {
+
+  getExcelHtmlCol,
+
+} from "@/api/exctab/excelmodel";
+import Vue from "vue";
+export default{
+  data(){
+    return{
+      formoptions: [{
+          value: '选项1',
+          label: '黄金糕'
+        }, {
+          value: '选项2',
+          label: '双皮奶'
+        }, {
+          value: '选项3',
+          label: '蚵仔煎'
+        }, {
+          value: '选项4',
+          label: '龙须面'
+        }, {
+          value: '选项5',
+          label: '北京烤鸭'
+        }],
+          heights: '',
+        formVal:'',
+    }
+  },
+  methods:{
+    async getExcelHtmlCol(id) {
+      //获取excel模板
+      const { data: res } = await getExcelHtmlCol({ id });
+      console.log(res);
+      if (res.code == 200) {
+        // let _that = this
+        var MyComponent = await Vue.extend({
+          data() {
+            return {
+              formData: {},
+            };
+          },
+          template: res.data,
+          methods: {
+            contextmenuClick() {},
+            getInformation () {},
+            formUploadSuccess(){},
+            formUploadExceed(){},
+            formUploadLoading(){},
+            delTableFormFile(){},
+            formUploadError(){},
+            uploadprogress(){},
+            formRemoteMethod(){},
+            getRegularExpression(){},
+            checkboxGroupChange(){},
+            formRemoteChange(){},
+            dateKeydown(){},
+            keyupShiftUp() {},
+            keyupShiftDown() {},
+            keyupShiftLeft() {},
+            keyupShiftRight() {},
+            inputLeftClick() {},
+          }
+        });
+        var component = new MyComponent().$mount();
+        let na = document.getElementById("parent");
+        na.innerHTML = `<div
+        class='parent'
+        id='parent'"
+      ></div>`;
+        document.getElementById("parent").appendChild(component.$el);
+      }
+    },
+        //excel父节点点击检测
+    parentClick(e) {
+      let target = e.target;
+
+      let bgs = document.querySelectorAll("#parent .oldlace-bg");
+      //console.log(bgs)
+
+      let tdEle = this.getParentTD(target);
+      let target1
+        if(tdEle){
+          let mydiv=tdEle.getElementsByTagName('div')
+          target1=mydiv[0]
+        }else{
+          tdEle=target
+          let mydiv=tdEle.getElementsByTagName('div')
+          target=mydiv[0]
+
+        }
+      for (let i = 0; i < bgs.length; i++) {
+        bgs[i].classList.remove("oldlace-bg");
+      }
+      if (
+        target.getAttribute("trindex") !== null &&
+        target.getAttribute("tdindex")
+      ) {
+        target=target
+      }else{
+        target=target1
+      }
+      //console.log(target.getAttribute('trindex'))
+      if (
+        target.getAttribute("trindex") !== null &&
+        target.getAttribute("tdindex")
+      ) 
+      {
+        let tdEle = this.getParentTD(target);
+        if (tdEle) {
+          target.classList.add("oldlace-bg");
+
+          let trtd =
+            target.getAttribute("trindex") +
+            "_" +
+            target.getAttribute("tdindex");
+    
+
+
+          this.$nextTick(() => {
+            let row = document.querySelectorAll(".warning-row");
+            if (row.length) {
+              this.$refs.tablescroll.$el.scrollTop = row[0].offsetTop;
+            }
+   
+          });
+        }
+      }
+    },
+    getParentTD(ele) {
+      let targetParent = ele.parentNode;
+      while (targetParent.nodeName !== "TD") {
+        if (targetParent.id == "parent") {
+          return null;
+        }
+        targetParent = targetParent.parentNode;
+      }
+      return targetParent;
+    },
+    goBack(){
+      this.$router.go(-1)
+    }
+  },
+  created(){
+    this.getExcelHtmlCol('1595726141791379457'); //获取excel模板
+  },
+  mounted(){
+    this.heights = this.$refs.heights.clientHeight
+  }
+}
+</script>
+<style lang="scss" scoped>
+
+
+.parent{
+  /deep/ .select-td{
+    border-width: 4px;
+    border-color: #E6A23C;
+    border-style: solid;
+  }
+
+  /deep/ .oldlace-bg{
+    background-color: oldlace;
+  }
+}
+
+.right_box{
+
+  height: calc(100vh - 235px);
+
+  padding-left: 20px;
+  padding-top: 20px;
+  text-align: left;
+}
+
+.replace_box{
+  margin-top: 80px;
+  border-top: 1px gray dashed;
+  width: 95%;
+
+  position: relative;
+  padding-top: 20px;
+  padding-left: 15px;
+
+ 
+ 
+}
+.replace_box::after {
+				content: '映射数据来源';
+				position: absolute;
+				right: 34%;
+				top: -15px;
+        background-color: white;
+				text-align: center;
+				font-size: 18px;
+				color: orange;
+        font-weight: 900;
+		}
+    .form_text{
+      width: 100%;
+      text-align: left;
+      line-height: 30px;
+    }
+
+</style>

+ 429 - 0
src/views/tentative/testclassifyset.vue

@@ -0,0 +1,429 @@
+<template>
+    <basic-container>
+      <avue-crud :option="option"
+                 :table-loading="loading"
+                 :data="data"
+                 :page.sync="page"
+                 :permission="permissionList"
+                 :before-open="beforeOpen"
+                 v-model="form"
+                 ref="crud"
+                 @row-update="rowUpdate"
+                 @row-save="rowSave"
+                 @row-del="rowDel"
+                 @selection-change="selectionChange"
+                 @current-change="currentChange"
+                 @size-change="sizeChange"
+                 @refresh-change="refreshChange"
+                 @on-load="onLoad">
+        <template slot-scope="{type,size,row}" slot="menu">
+          <el-button icon="el-icon-setting" :size="size" :type="type" @click="configurationClick(row)">配置划分</el-button>
+          <el-button icon="el-icon-setting" :size="size" :type="type" @click="Associationlist(row)">关联清表</el-button>
+          <el-button icon="el-icon-setting" :size="size" :type="type" @click="associatedClick(row)">数据映射配置</el-button>
+        </template>
+      </avue-crud>
+
+         <!-- 关联清表 -->
+    <el-dialog
+      title="关联下载模板表"
+      class="excelBox"
+      :visible.sync="GLExcel"
+      width="500px"
+      modal-append-to-body
+      append-to-body
+      @close="GLExcelMD"
+    >
+   <div class="mg-b-10">
+    <el-alert
+        :closable="false"
+        title="选择需要关联的清表 注意:每次只能单选操作"
+        type="warning">
+      </el-alert>
+   </div>
+      <div>
+        <el-select
+          style="width: 100%"
+          v-model="GLExcelFrom.name"
+          placeholder="请选择"
+          @change="changetherr()"
+        >
+          <el-option
+            v-for="(item, key) in GLExcelData"
+            :key="key"
+            :label="item.name"
+            :value="item.id"
+          >
+          </el-option>
+        </el-select>
+        <el-scrollbar style="margin-top: 20px; height: 50vh">
+          <el-input
+          style="width: 100%"
+            v-model.trim="GLExcelFrom.search"
+            placeholder="请输入需要选择的内容"
+          ></el-input>
+          <el-tree
+            :filter-node-method="filterNode222"
+            ref="tree"
+            class="filter-tree"
+            style="margin-top: 10px"
+            :props="GLExcelProps"
+            :data="exceldata"
+            node-key="id"
+            accordion
+            show-checkbox
+            @check="checkchange"
+            v-loading="GLExcelLoading"
+          >
+          </el-tree>
+        </el-scrollbar>
+      </div>
+      <span
+        slot="footer"
+        class="dialog-footer"
+        style="display: flex; justify-content: center; align-items: center"
+      >
+        <el-button @click="GLExcelMD()">取 消</el-button>
+        <el-button
+          style="margin-left: 30px"
+          type="primary"
+          v-throttle="2000"
+          @click="saveLinkTab()"
+          >确 定</el-button
+        >
+      </span>
+    </el-dialog>
+    <!-- 配置划分数据 -->
+    <configDivision :testGLExcel="testGLExcel"></configDivision>
+    </basic-container>
+  </template>
+  
+  <script>
+  import {getList, getDetail, add, update, remove} from "@/api/tentative/testcollect";
+  import {mapGetters} from "vuex";
+  import {
+  getList as getListQing,
+  tabLazytreeAll,
+  saveLinkTab,
+  getExcelHtml,
+} from "@/api/exctab/excelmodel";
+import configDivision from "./components/configDivision.vue";
+  
+  export default {
+    components:{
+      configDivision
+    },
+    data() {
+      return {
+        form: {},
+        query: {},
+        loading: true,
+        page: {
+          pageSize: 20,
+          currentPage: 1,
+          total: 0
+        },
+        search:{},
+        selectionList: [],
+        option: {
+          menuWidth:440, 
+          height:'auto',
+          calcHeight: 30,
+          tip: false,
+          searchShow: false,
+          searchMenuSpan: 0,
+          border: true,
+          index: true,
+          viewBtn: true,
+          selection: false,
+          dialogClickModal: false,
+          labelWidth:150,
+          column: [
+            {
+              label: "分类名称",
+              prop: "className",
+              rules: [{
+                required: true,
+                message: "请输入分类名称",
+                trigger: "blur"
+              }]
+            }
+          ]
+        },
+        data: [],
+        GLExcel:false,
+        GLExcelFrom:{
+          id: "",
+          name: "",
+          search: "", //搜素框舒服的值
+          ids: "",
+          excelId: "",
+          initTableName: "",
+          initTableId:""
+        },
+        GLExcelData:[],
+        exceldata:[],
+        GLExcelProps: {
+        label: "name",
+        children: "children",
+        disabled: "hasChildren",
+        isLeaf: function (data) {
+          let tag = false;
+          if (!data.hasChildren) {
+            tag = true;
+          }
+          if (data.isExistForm == 1) {
+            tag = true;
+          }
+          return tag;
+        },
+      },
+      testGLExcel:false,
+      };
+    },
+    computed: {
+      ...mapGetters(["permission"]),
+      permissionList() {
+        return {
+          viewBtn: false,
+          //addBtn: this.vaildData(this.permission.imageclassificationconfig_add, false),
+          //viewBtn: this.vaildData(this.permission.imageclassificationconfig_view, false),
+          //delBtn: this.vaildData(this.permission.imageclassificationconfig_delete, false),
+         // editBtn: this.vaildData(this.permission.imageclassificationconfig_edit, false)
+        };
+      },
+      ids() {
+        let ids = [];
+        this.selectionList.forEach(ele => {
+          ids.push(ele.id);
+        });
+        return ids.join(",");
+      }
+    },
+    watch: {
+      "GLExcelFrom.search"(val) {
+        console.log(val);
+        if (this.exceldata) {
+          this.$refs.tree.filter(val);
+        }
+      },
+    },
+    methods: {
+      rowSave(row, done, loading) {
+        add(row).then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          done();
+        }, error => {
+          loading();
+          window.console.log(error);
+        });
+      },
+      rowUpdate(row, index, done, loading) {
+        update(row).then(() => {
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          done();
+        }, error => {
+          loading();
+          console.log(error);
+        });
+      },
+      rowDel(row) {
+        this.$confirm("确定将选择数据删除?", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        })
+          .then(() => {
+            return remove(row.id);
+          })
+          .then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+          });
+      },
+      beforeOpen(done, type) {
+        if (["edit", "view"].includes(type)) {
+          getDetail(this.form.id).then(res => {
+            this.form = res.data.data;
+          });
+        }
+        done();
+      },
+      searchReset() {
+        this.query = {};
+        this.onLoad(this.page);
+      },
+      searchChange(params, done) {
+        this.query = params;
+        this.page.currentPage = 1;
+        this.onLoad(this.page, params);
+        done();
+      },
+      selectionChange(list) {
+        this.selectionList = list;
+      },
+      selectionClear() {
+        this.selectionList = [];
+        this.$refs.crud.toggleSelection();
+      },
+      currentChange(currentPage){
+        this.page.currentPage = currentPage;
+      },
+      sizeChange(pageSize){
+        this.page.pageSize = pageSize;
+      },
+      refreshChange() {
+        this.onLoad(this.page, this.query);
+      },
+      onLoad(page, params = {}) {
+        this.loading = true;
+        getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+          const data = res.data.data;
+          this.page.total = data.total;
+          this.data = data.records;
+          this.loading = false;
+          this.selectionClear();
+        });
+      },
+
+   
+        //关联清表
+    Associationlist(row) {
+      //关联清表点击事件
+      console.log(row,'row');
+      this.GLExcelFrom.id = row.pkeyId;
+      this.GLExcel =true ;
+      this.getList({
+        current: 1,
+        size: 100000,
+        parentId: 0,
+      });
+     
+    },
+    GLExcelMD() {
+      //弹框关闭事件
+      this.GLExcelFrom.name = "";
+      this.GLExcelFrom.search = "";
+      this.GLExcelFrom.id = "";
+      this.exceldata = [];
+
+      this.GLExcel = false;
+    },
+    changetherr() {
+      //清表类型选择框change事件
+      if (this.GLExcelFrom.name != "") {
+        this.GLExcelFrom.search = "";
+        this.tabLazytreeAll();
+      }
+    },
+    async tabLazytreeAll() {
+      //清表树信息
+      this.GLExcelLoading = true;
+      const { data: res } = await tabLazytreeAll({
+        modeId: this.GLExcelFrom.name,
+        name: this.GLExcelFrom.search,
+      });
+      this.GLExcelLoading = false;
+      console.log(res);
+      if (res.code === 200 && res.msg === "操作成功") {
+        this.exceldata = res.data;
+      }
+    },
+    filterNode222(value,data,node) {
+      if(!value){
+          return true;
+        }
+        let level = node.level;
+        let _array = [];//这里使用数组存储 只是为了存储值。
+        this.getReturnNode2(node,_array,value);
+        let result = false;
+        _array.forEach((item)=>{
+          result = result || item;
+        });
+        return result;
+      },
+    getReturnNode2(node,_array,value){
+          let isPass = node.data &&  node.data.name && node.data.name.indexOf(value) !== -1;
+          isPass?_array.push(isPass):'';
+          if(!isPass && node.level!=1 && node.parent){
+            this.getReturnNode2(node.parent,_array,value);
+          }
+      },
+    async getList(da) {
+      //获取清表模板信息
+        const { data: res } = await getListQing(da);
+        console.log(res);
+        if (res.code === 200 && res.msg === "操作成功") {
+          this.GLExcelData = res.data.records;
+        }
+    },
+    checkchange(data) {
+        //节点选中回调
+        if (this.$refs.tree.getCheckedNodes().length === 0) {
+          this.$refs.tree.setCheckedKeys([]);
+        } else if (this.$refs.tree.getCheckedNodes().length >= 1) {
+          this.$refs.tree.setCheckedKeys([data.id]);
+        }
+    },
+    async saveLinkTab() {
+        //保存按钮
+        let checkNodes = this.$refs.tree.getCheckedNodes();
+        if (checkNodes.length > 0) {
+          let node = checkNodes[checkNodes.length - 1];
+          if (node.fileType != 3) {
+            this.$message({
+              type: "warning",
+              message: "请先上传Excel表",
+            });
+            return;
+          }
+          const { data: res } = await saveLinkTab({
+            exceTabId: node.id,
+            tabId: this.GLExcelFrom.id,
+          });
+          console.log(res);
+          if (res.code === 200) {
+            this.$message({
+              type: "success",
+              message: "关联清表成功",
+            });
+            this.GLExcel =false ;
+          }
+        } else {
+          this.$message({
+            type: "warning",
+            message: "请先设置清表",
+          });
+        }
+    },
+    //配置划分
+    configurationClick(row){
+      this.testGLExcel=true
+    },
+    //数据映射配置
+    associatedClick() {
+      this.$router.push({
+        path: '/tentative/dataMap',
+        // query: { pid: this.projectid,wbsid:this.$route.query.wbsid }
+
+
+      });
+     },
+    },
+  
+  };
+  </script>
+  
+  <style>
+  </style>
+