xiejun
2023-12-07 05d45bd440ffc92e14e6c8728ac8956a0488c0ab
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -36,16 +36,18 @@
              </el-select></span>
            </div>
            <div class="custom-table">
              <el-table ref="dataTable" v-loading="isLoading" :data="tableData" :height="tableHeight"
                        border class="cus-table"
                        @select="handleSelection" @cell-click="handleCellClick" @row-click="handleRowClick"
                        @select-all="handleSelectionAll" @selection-change="handleSelectionChange"
                        @sort-change="sortChange"  :header-cell-style="{background:'#FAFAFA',color:'#505050'}">
              <el-table ref="dataTable" v-loading="isLoading" :data="tableData"
                        :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
                        :height="tableHeight" border
                        class="cus-table" @select="handleSelection" @cell-click="handleCellClick"
                        @row-click="handleRowClick" @select-all="handleSelectionAll"
                        @selection-change="handleSelectionChange" @sort-change="sortChange">
                <el-table-column v-if="tableData.length != 0" fixed type="selection" width="55"></el-table-column>
                <el-table-column v-if="tableData.length != 0" fixed label="序号" type="index" width="55">
                </el-table-column>
                <!--              生命周期-->
                <el-table-column v-for="(item,index) in lcstatusArray" v-if=" lcstatusArray.length !== 0 && !item.hidden"
                <el-table-column v-for="(item,index) in lcstatusArray"
                                 v-if=" lcstatusArray.length >= 0 && !item.hidden"
                                 key="index" :show-overflow-tooltip="true" :sortable="item.sortable"
                                 :width="item.width" align="center" label="生命周期值"
                                 prop="lcstatus">
@@ -75,7 +77,8 @@
                                 align="center">
                </el-table-column>
                <!--               参照数据-->
                <el-table-column v-for="(item,index) in referArray" v-if="item.referConfig && Object.keys(item.referConfig).length > 0 && !item.hidden"
                <el-table-column v-for="(item,index) in referArray"
                                 v-if="item.referConfig && Object.keys(item.referConfig).length > 0 && !item.hidden"
                                 :key="index"
                                 :label="item.title" :show-overflow-tooltip="true"
                                 :sortable="item.sortable" :width="item.width" align="center"
@@ -96,9 +99,9 @@
          </FormTemplateDialog>
          <!--          修订-->
          <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'修改编码信息'"
                              :visible.sync="amendvisible" status="amend"
                              type="edit" @submit="amendSumbit"></FormTemplateDialog>
                              :disabledProp="disabledProp" :selectRow="selectRow" :templateOid="templateOid"
                              :title="'数据修订'" :visible.sync="amendvisible" status="amend"
                              type="add" @submit="amendSumbit"></FormTemplateDialog>
          <!--          新增-->
          <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid"
                              :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid"
@@ -108,7 +111,8 @@
          </FormTemplateDialog>
          <!--          修改-->
          <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
                              :disabledProp="disabledProp" rowOid="rowOid" :templateOid="templateOid" :title="'修改编码信息'"
                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid"
                              :title="'修改编码信息'"
                              :visible.sync="editvisible"
                              type="edit" @submit="EditSumbit"></FormTemplateDialog>
          <!--          批量编辑-->
@@ -183,7 +187,8 @@
  upSaveCode,
  applyGroupCode,
  receiveEditApply,
  applySaveCode
  applySaveCode,
  exportGroupCodeExcel
} from "@/api/GetItem";
import {processTS, changeStatus} from "@/api/template/setPersonnel"
import {listCodeAttributeByClassId} from "@/api/integration/integration.js";
@@ -388,6 +393,11 @@
    this.doLayout()
  },
  watch: {
    isLoading: {
      handler(newval) {
        // console.log(newval)
      }
    },
    tableHeadDataFateher: {
      handler(newval, oldval) {
        this.options = newval.tableDefineVO.seniorQueryColumns
@@ -403,7 +413,7 @@
      handler(newval, oldval) {
        this.tableData = newval;
        this.searchResults = newval
        this.doLayout()
        this.doLayout();
      },
    },
    tableHeadFindData: {
@@ -428,33 +438,31 @@
          }
        })
        this.tableHeadFindDatas = newval;
        // console.log('new',newval)
        if (!this.isCodeArrayPushed) {
        if (newval) {
          this.CodeArray = [];
          if (newval.find(item => item.prop === 'id')) {
            this.CodeArray.push(newval.find(item => item.prop === 'id'));
          } else {
            this.CodeArray.push([]);
            this.CodeArray = [];
          }
          // console.log('CodeArray', this.CodeArray);
          this.isCodeArrayPushed = true;
        }
        if (!this.islcstatusPushed) {
        if (newval) {
          this.lcstatusArray = [];
          if (newval.find(item => item.prop === 'lcstatus')) {
            this.lcstatusArray.push(newval.find(item => item.prop === 'lcstatus'));
          } else {
            this.lcstatusArray.push([]);
            this.lcstatusArray = [];
          }
          // console.log('lcstatusArray', this.lcstatusArray);
          this.islcstatusPushed = true;
        }
        if (!this.isReferPushed) {
        if (newval) {
          this.referArray = [];
          if (newval.find(item => Object.keys(item.referConfig).length > 0)) {
            this.referArray.push(newval.find(item => Object.keys(item.referConfig).length > 0));
          } else {
            this.referArray.push([])
            this.referArray = [];
          }
        }
        this.isReferPushed = true;
        this.WupinFindValue = ''
      },
    },
@@ -481,8 +489,7 @@
      this.LinkObject = row;
      this.LinkVisible = true;
      this.LinkList = Object.keys(row).map(property => property)
      // console.log(result);
      // console.log(this.LinkObject)
    },
    //状态搜索
    cellSelectHandler(row) {
@@ -493,6 +500,7 @@
      }
    },
    cellStatusFind(lcstatus) {
      this.isLoading = true;
      TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
@@ -500,7 +508,10 @@
        limit: this.page.pageSize,
        'conditionMap[lcstatus]': lcstatus
      }).then(res => {
        this.tableData = res.data.data
        // console.log(res)
        this.tableData = res.data.data;
        this.page.total = res.data.total;
        this.isLoading = false;
      })
    },
    //展开附件
@@ -550,6 +561,44 @@
        if (uniqueFlag === 'CODEAMEND') return this.codeAMENDHandler()
        //批量编辑
        if (uniqueFlag === 'bulkEdit') return this.bulkEditHandler("bulkEdit")
        //集团码导出
        if (uniqueFlag === 'excelGroupCode') return this.excelGroupCode()
        //集团码导入
        if (uniqueFlag === 'importGroupCode') return this.importGroupCode("groupCode")
      });
    },
    importGroupCode(type) {
      this.batchImportData.visible = true
      this.batchImportData.type = type
      this.batchImportData.codeClassifyOid = this.codeClassifyOid
    },
    //集团码导出
    excelGroupCode() {
      this.isLoading = true;
      exportGroupCodeExcel({
        codeClassifyOid: this.codeClassifyOid,
      }).then(res => {
        // let reader = new FileReader();
        // reader.readAsText(res.data);
        // reader.onload = () => {
        //   try {
        //     let resData = JSON.parse(reader.result);  // 解析对象成功
        //     if (!resData.success) {
        //       this.$message.error(resData.msg);
        //       this.isLoading = false;
        //     }
        //   } catch (err) {
        //     // 解析成对象失败,说明是正常的文件流
        //     func.downloadFileByBlobHandler(res);
        //     this.$message.success('下载成功,请查看!');
        //     this.isLoading = false;
        //   }
        // };
        func.downloadFileByBlobHandler(res);
        this.$message.success('下载成功,请查看!');
        this.isLoading = false;
      }).catch(error=>{
        this.$message.error(error);
      });
    },
    //标准申请
@@ -585,45 +634,49 @@
    //标准修订
    codeAMENDHandler() {
      let foundItem = false;
      this.tableHeadFindData.forEach(item => {
        if (item.field === "oldcode" && Object.keys(item.referConfig).length >= 1) {
          foundItem = true;
        }
      });
      if (foundItem) {
        this.amendvisible = true;
        this.rowOid = this.selectRow[0].oid ;
      } else {
        if (this.selectRow.length !== 1) {
          this.$message.warning("请选择一条数据");
        }else {
        if (this.selectRow.length >= 1) {
          this.$confirm('已有参照是否取消勾选继续执行?', '提示', {
            confirmButtonText: '确定',
            cancelButtonText: '取消',
            type: 'warning'
          }).then(() => {
            this.selectRow = [];
            //取消勾选状态
            this.$refs.dataTable.clearSelection();
            this.amendvisible = true;
          }).catch(() => {
            this.$message({
              type: 'info',
              message: '已取消当前操作'
            });
          });
        } else {
          this.amendvisible = true;
          this.rowOid = this.selectRow[0].oid ;
        }
      } else {
        if (this.selectRow.length <= 0) {
          this.$message.warning("请至少选择一条数据");
        } else {
          this.amendvisible = true;
        }
      }
    },
    //批量编辑
    bulkEditHandler(type) {
      // console.log(this.nodeClickList)
      if (this.nodeClickList.children.length >= 1) {
        this.$message.warning('当前选择的分类不是叶子节点,不允许批量编辑!')
        return;
      }
      if (this.selectRow.length <= 0) {
        this.$message.warning('请选择至少一条数据!')
        return;
      }
      const Editing = this.selectRow.every(item => item.lcstatus === 'Editing');
      if (Editing) {
        this.batchImportData.visible = true
        this.batchImportData.type = type
        this.batchImportData.codeClassifyOid = this.codeClassifyOid
      } else {
        this.$message.warning('选择的数据中有编码状态不是“编辑中”,不可编辑!');
      }
      this.batchImportData.visible = true
      this.batchImportData.type = type
      this.batchImportData.codeClassifyOid = this.codeClassifyOid
    },
    addSaveHandler() {
      this.$nextTick(() => {
@@ -635,10 +688,6 @@
      if (this.selectRow.length <= 0) {
        this.$message.warning('请选择一条数据模板!')
      } else {
        // const requestData = this.selectRow.forEach(item => {
        //   return { oids: item.oid, btmName: item.btmname };
        // });
        const oids = this.selectRow.map(item => item.oid).join(',');
        applyGroupCode({oids, btmName: this.selectRow[0].btmname}).then(res => {
          if (res.data.code == 200) {
@@ -653,9 +702,6 @@
      if (this.selectRow.length <= 0) {
        this.$message.warning('请选择一条数据模板!')
      } else {
        // const requestData = this.selectRow.forEach(item => {
        //   return { oids: item.oid, btmName: item.btmname };
        // });
        const oids = this.selectRow.map(item => item.oid).join(',');
        receiveEditApply({oids, btmName: this.selectRow[0].btmname}).then(res => {
          if (res.data.code == 200) {
@@ -1031,10 +1077,7 @@
    },
    //输入回车搜索
    tableFindInp() {
      /*if (this.WupinFindValue.trim() === '') {
        this.$message.warning('输入值不能为空')
        return;
      }*/
      this.isLoading = true;
      TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
@@ -1043,7 +1086,8 @@
        ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*'
      }).then(res => {
        this.tableData = res.data.data;
        // this.page.total = res.data.data.total;
        this.page.total = res.data.total;
        this.isLoading = false;
      })
    }