田源
2023-09-06 27cf04fbbc844b3c0fb758d165d030c4929e466d
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -5,7 +5,7 @@
        <div class="testbox" style="">
          <div>
          </div>
          <el-row style="width: 100%;margin-bottom: 20px">
          <el-row style="width: 100%;margin-bottom: 10px">
            <div>
              <el-button v-for="(item, index) in masterVrBtnList"
                         v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)"
@@ -47,6 +47,7 @@
                               :prop="item.prop" :show-overflow-tooltip="true"
                               :sortable="item.sortable"
                               :width="item.width"
                               v-if="item.tableDisplayFlag == 'true'"
                               align="center">
              </el-table-column>
            </el-table>
@@ -116,7 +117,7 @@
  </basic-container>
</template>
<script>
import {MasterTable, TableData, FindData, addSaveCode, editSaveCode, deleteCode, upSaveCode} from "@/api/GetItem";
import {MasterTable, TableData, FindData, addSaveCode, editSaveCode, deleteCode, upSaveCode,applyGroupCode,receiveEditApply} from "@/api/GetItem";
import {processTS, changeStatus} from "@/api/template/setPersonnel"
import {listCodeAttributeByClassId} from "@/api/integration/integration.js";
import integrationTransfer from "@/views/integration/integrationTransfer";
@@ -242,7 +243,7 @@
        datetime: "datetime",
      },
      tableData: [],
      tableHeight: 'calc(100vh - 330px)',
      tableHeight: 'calc(100vh - 350px)',
      DataVisible: false,
      tableHeadData: [],
      items: {},
@@ -263,7 +264,7 @@
        fileDocClassifyName: '',
        hasDownload: true,
        hasUpload: true,
        height: 100
        height: 110
      },
      result: ''
    };
@@ -373,7 +374,6 @@
        limit: this.page.pageSize,
        'conditionMap[lcstatus]': lcstatus
      }).then(res => {
        console.log(res)
        this.tableData = res.data.data
      })
    },
@@ -383,7 +383,7 @@
        this.tableHeight = 'calc(100vh - 630px)';
        this.$refs.dataTable.doLayout()
      } else {
        this.tableHeight = 'calc(100vh - 330px)';
        this.tableHeight = 'calc(100vh - 350px)';
        this.$refs.dataTable.doLayout()
      }
    },
@@ -412,9 +412,47 @@
        if (uniqueFlag === 'CODERECYCLE') return this.Recovery()
        //删除
        if (uniqueFlag === 'CODEDELETE') return this.enumDeleteRow()
        //申请集团码数据
        if (uniqueFlag === 'applyGroupCode') return this.applyGroupCode()
        //更新集团码数据
        if (uniqueFlag === 'receiveEditApply') return this.receiveEditApply()
        //  相似项查询
        //  if(uniqueFlag === 'CODEEDIT') return this.similarHandler()
      });
    },
    //申请集团码数据
    applyGroupCode(){
      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){
            this.$message.success('申请成功')
          }
          this.onLoad()
        })
      }
    },
    //更新集团码数据
    receiveEditApply(){
      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){
            this.$message.success('更新成功')
            this.onLoad()
          }
        });
      }
    },
    openD() {
      this.getListCodeByClassId();
@@ -430,75 +468,72 @@
        this.transferData = data;
      }
    },
    handelTransferSave(val) {
      console.log('发布', val)
    },
    rend() {
      this.tableData = this.tableHeadData;
    },
    // 发布
    setHandler() {
      var options = {
        processUse:'PUBLIC',
        processUseText:'申请',
        allowStatus:'Editing',
        allowStatusText:'已编辑',
        startStatus:'Auditing',
        resetStatus:'Editing',
        batchTitle:'批量提交编码数据到流程审批',
        title:'提交编码数据到流程审批'
        processUse: 'PUBLIC',
        processUseText: '申请',
        allowStatus: 'Editing',
        allowStatusText: '已编辑',
        startStatus: 'Auditing',
        resetStatus: 'Editing',
        batchTitle: '批量提交编码数据到流程审批',
        title: '提交编码数据到流程审批'
      }
      this.checkStatusAndSubmitProcess(options,'Released');
      this.checkStatusAndSubmitProcess(options, 'Released');
    },
    //停用
    Deactivate() {
      var options = {
        processUse:'DISABLE',
        processUseText:'停用',
        allowStatus:'Released',
        allowStatusText:'已发布',
        resetStatus:'Released',
        batchTitle:'批量停用(冻结)的编码数据',
        title:'停用(冻结)编码数据',
        confirmMsg:'是否要停用这些数据'
        processUse: 'DISABLE',
        processUseText: '停用',
        allowStatus: 'Released',
        allowStatusText: '已发布',
        resetStatus: 'Released',
        batchTitle: '批量停用(冻结)的编码数据',
        title: '停用(冻结)编码数据',
        confirmMsg: '是否要停用这些数据'
      }
      this.checkStatusAndSubmitProcess(options,'Disabled');
      this.checkStatusAndSubmitProcess(options, 'Disabled');
    },
    //启用
    Enable() {
      var options = {
        processUse:'ENABLE',
        processUseText:'启用',
        allowStatus:'Disabled',
        allowStatusText:'已停用',
        resetStatus:'Disabled',
        batchTitle:'批量启用(解冻)的编码数据',
        title:'启用(解冻)编码数据',
        confirmMsg:'是否要启用(解冻)这些数据'
        processUse: 'ENABLE',
        processUseText: '启用',
        allowStatus: 'Disabled',
        allowStatusText: '已停用',
        resetStatus: 'Disabled',
        batchTitle: '批量启用(解冻)的编码数据',
        title: '启用(解冻)编码数据',
        confirmMsg: '是否要启用(解冻)这些数据'
      }
      this.checkStatusAndSubmitProcess(options,'Released');
      this.checkStatusAndSubmitProcess(options, 'Released');
    },
    //回收
    Recovery() {
      var options = {
        processUse:'ROLLBACK',
        processUseText:'回收',
        allowStatus:'Released,Disabled',
        allowStatusText:'已发布,已停用',
        batchTitle:'批量回收的编码数据',
        title:'回收编码数据',
        confirmMsg:'是否要回收这些数据',
        processUse: 'ROLLBACK',
        processUseText: '回收',
        allowStatus: 'Released,Disabled',
        allowStatusText: '已发布,已停用',
        batchTitle: '批量回收的编码数据',
        title: '回收编码数据',
        confirmMsg: '是否要回收这些数据',
      }
      this.checkStatusAndSubmitProcess(options,'TakeBack');
      this.checkStatusAndSubmitProcess(options, 'TakeBack');
    },
    checkStatusAndSubmitProcess(options,targetLcstatus){
    checkStatusAndSubmitProcess(options, targetLcstatus) {
      // 编辑中-只能发布,不能回收
      // 审核中-什么都不能做
      // 已发布-停用、回收
      // 停用-只能启用、回收
      if (this.selectRow.length <= 0) {
        this.$message.warning("请选择数据");
      } else if (this.selectRow.length >1000) {
      } else if (this.selectRow.length > 1000) {
        this.$message.warning("每次提交到流程的数量请不要超过1000条");
      } else {
        //审批的数据的状态必须相同
@@ -512,27 +547,27 @@
          this.$message.warning("选择的数据中状态无需再执行当前操作");
          return false;
        }
        if(options.processUseText=='申请' && !validatenull(this.selectRow[0].copyfromversion)){
          options.processUseText='修改'
          options.processUse='EDIT'
        if (options.processUseText == '申请' && !validatenull(this.selectRow[0].copyfromversion)) {
          options.processUseText = '修改'
          options.processUse = 'EDIT'
        }
        let checkStatus = this.selectRow.every(item =>  options.allowStatus.indexOf(item.lcstatus)!=-1);
        if(!checkStatus){
          this.$message.warning('只有状态是【'+options.allowStatusText+'】的数据才可以发起流程');
          return  false;
        let checkStatus = this.selectRow.every(item => options.allowStatus.indexOf(item.lcstatus) != -1);
        if (!checkStatus) {
          this.$message.warning('只有状态是【' + options.allowStatusText + '】的数据才可以发起流程');
          return false;
        }
        processTS({templateId: this.templateOid, buttonTypeKey: options.processUse}).then(res => {
          if (res.data.data.records && res.data.data.records.length != 0) {
            this.parameter.ids=this.oids;
            this.parameter.processName = this.result + '-'+options.processUseText+'[' + this.Treedata[0].name + '-' + this.selectRow[0].name + ']';
            this.parameter.ids = this.oids;
            this.parameter.processName = this.result + '-' + options.processUseText + '[' + this.Treedata[0].name + '-' + this.selectRow[0].name + ']';
            this.parameter.type = options.processUse;
            this.parameter.code = this.templateOid
            this.parameter.btmtype=this.selectRow[0].btmname || this.selectRow[0].btmtype;
            this.parameter.vars= {
            this.parameter.btmtype = this.selectRow[0].btmname || this.selectRow[0].btmtype;
            this.parameter.vars = {
              codeClassifyOid: this.codeClassifyOid,
              templateOid: this.templateOid
            };
            this.title = this.selectRow.length>1?options.batchTitle:options.title;
            this.title = this.selectRow.length > 1 ? options.batchTitle : options.title;
            this.visibleDeactivate = true;
          } else {
            this.$confirm('当前分类没有添加流程模板,是否不用流程审批直接执行?', '提示', {
@@ -540,7 +575,11 @@
              cancelButtonText: '取消',
              type: 'warning'
            }).then(() => {
              changeStatus({oid: this.oids.join(','), btmname: this.selectRow[0].btmname, lcStatus: targetLcstatus}).then(res => {
              changeStatus({
                oid: this.oids.join(','),
                btmname: this.selectRow[0].btmname,
                lcStatus: targetLcstatus
              }).then(res => {
                if (res.data.code == 200) {
                  this.$message.success(options.processUseText + '成功')
                  this.onLoad()
@@ -595,7 +634,6 @@
          list.push(item.oid)
        })
        deleteCode({codeClassifyOid: this.codeClassifyOid, oidList: list}).then(res => {
          console.log(res)
          if (res.data.code === 200) {
            this.$message({
              type: 'success',
@@ -763,31 +801,32 @@
    },
    //增加保存
    AddSumbit(val) {
      this.addvisible = false;
      addSaveCode(val).then(res => {
        this.$nextTick(() => {
          this.addvisible = false;
          this.$message.success("保存成功");
          this.onLoad()
        })
      })
    },
    //修改回调
    EditSumbit(val) {
      this.editvisible = false;
      editSaveCode(val).then(res => {
        this.$nextTick(() => {
          this.editvisible = false;
          this.$message.success("保存成功");
          this.onLoad()
        })
      })
    },
    //数据更改回调
    updataSumbit(val) {
      this.DataVisible = false;
      val.copyFromVersion = this.rowOid;
      val.oid = '';
      console.log(val)
      upSaveCode(val).then(res => {
        console.log(res)
        this.$nextTick(() => {
          this.DataVisible = false;
          this.$message.success("保存成功");
          this.onLoad()
        })
      })
@@ -829,8 +868,12 @@
  }
}
/deep/ .el-button {
.el-button {
  margin: 0 10px 10px 0;
}
/deep/ .dialog-footer .el-button {
  margin: 0 10px 0 0;
}
.main {
@@ -846,11 +889,7 @@
}
.bottom {
  margin-top: 20px;
  overflow-y: scroll;
  margin-top: 10px;
}
.el-collapse-item__content {
  padding-bottom: 0;
}
</style>