田源
2023-11-20 dc9f1a633caa2031873d9a1ed7d924c8a675d098
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -6,15 +6,15 @@
          <div>
          </div>
          <el-row style="width: 100%;margin-bottom: 10px">
            <div style="margin-bottom: 10px">
              <el-button v-for="(item, index) in masterVrBtnList"
                         v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)"
                         :key="index" plain size="small"
                         type="primary"
                         @click="handelBtnClick(item)">{{
                  item.name
                }}
              </el-button>
            <div style="margin-bottom: 10px" >
                <el-button v-for="(item, index) in masterVrBtnList"
                           v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)"
                           :key="index" plain size="small"
                           type="primary"
                           @click="handleBtnClick(item)">{{
                    item.name
                  }}
                </el-button>
              <span v-if="tableHeadFindData.length > 0">
              <el-select slot="prepend" v-model="keyWordFind" placeholder="请选择" size="small">
                <el-option v-for="item in tableHeadFindData" :key="item.id" :label="item.label"
@@ -75,6 +75,18 @@
              </el-table>
            </div>
          </el-row>
          <!--          申请-->
          <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid"
                              :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid"
                              :visible.sync="applyvisible"
                              type="add"
                              @submit="applySumbit">
          </FormTemplateDialog>
          <!--          修订-->
          <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'修改编码信息'"
                              :visible.sync="amendvisible"
                              type="edit" @submit="amendSumbit"></FormTemplateDialog>
          <!--          新增-->
          <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid"
                              :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid"
@@ -87,6 +99,8 @@
                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'修改编码信息'"
                              :visible.sync="editvisible"
                              type="edit" @submit="EditSumbit"></FormTemplateDialog>
          <!--          批量编辑-->
          <FormBulkEdit :visible.sync="bulkeditvisible"></FormBulkEdit>
          <!--          数据详情-->
          <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
                               :rowOid="this.LinkObject.oid" :templateOid="templateOid"
@@ -132,6 +146,7 @@
        </div>
      </div>
      <div>
<!--        导入-->
        <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :resetTable="CrudRend"
                     :visible.sync="batchImportData.visible">
        </BatchImport>
@@ -167,6 +182,7 @@
import {validatenull} from "@/util/validate";
import fileInHtml from "@/components/file/inHtml.vue";
import {getUserInfo} from "@/api/system/user";
import func from "@/util/func";
export default {
  components: {
@@ -174,7 +190,7 @@
    SetPersonnel,
    ResembleQueryDialog,
    BatchImport,
    fileInHtml
    fileInHtml,
  },
  name: "Crud.vue",
  props: {
@@ -227,6 +243,8 @@
  },
  data() {
    return {
      //批量编辑对话框
      bulkeditvisible:false,
      LinkVisible: false,
      LinkObject: {}, // 编码数据
      LinkList: [],
@@ -272,6 +290,8 @@
        label: "name",
      },
      tableHeadFindDatas: [],
      applyvisible:false,
      amendvisible:false,
      addvisible: false,
      editvisible: false,
      findvisible: false,
@@ -318,7 +338,8 @@
        hasUpload: true,
        height: 110
      },
      result: ''
      result: '',
      elapsedTime:'',
    };
  },
  computed: {
@@ -328,7 +349,7 @@
        oids.push(ele.oid);
      });
      return oids;
    }
    },
  },
  created() {
    // const index = this.$route.query.id.indexOf('@name=') + '@name='.length;
@@ -422,9 +443,7 @@
    },
    tableHeadBtnData: {
      handler(newval) {
        if (newval.length !== 0) {
          this.masterVrBtnList = newval
        }
      },
      deep: true
    },
@@ -469,10 +488,10 @@
    openVis(visible) {
      this[visible] = true
    },
    handelBtnClick(event) {
    handleBtnClick(event) {
      const {uniqueFlag} = event
      this.$nextTick(() => {
        if (uniqueFlag === 'CODEADD') return this.addvisible = true
        if (uniqueFlag === 'CODEADD') return this.addSaveHandler()
        if (uniqueFlag === 'CODEEDIT') return this.editHandler()
        if (uniqueFlag === 'CODEBATCHADD') return this.openBatchImport('batchImportApply')
        if (uniqueFlag === 'CODEIMPORTHISTORY') return this.openBatchImport('historyImport')
@@ -497,6 +516,54 @@
        if (uniqueFlag === 'receiveEditApply') return this.receiveEditApply()
        //  相似项查询
        //  if(uniqueFlag === 'CODEEDIT') return this.similarHandler()
        //  标准申请
        if (uniqueFlag === 'CODEAPPLY') return this.codeApplyHandler()
        //  标准修订
        if (uniqueFlag === 'CODEAMEND') return this.codeAMENDHandler()
        //批量编辑
        if (uniqueFlag === 'bulkEdit') return this.bulkEditHandler()
      });
    },
    //标准申请
    codeApplyHandler(){
      this.$nextTick(() => {
        this.applyvisible = true;
      });
    },
    applySumbit(){
    },
    amendSumbit(){
    },
    //标准修订
    codeAMENDHandler(){
      if (this.selectRow.length !== 1) {
        this.$message.warning("请选择一条数据");
      } else if (this.selectRow[0].lcstatus !== "Editing") {
        this.$message.warning("编码状态不是“编辑中”,不可编辑");
      } else {
        this.amendvisible = true;
        this.rowOid = this.selectRow[0].oid;
      }
    },
    //批量编辑
    bulkEditHandler(){
      if(this.selectRow.length <= 0){
        this.$message.warning('请选择至少一条数据!')
        return;
      }
      const Editing = this.selectRow.every(item => item.lcstatus === 'Editing');
      if (Editing) {
        this.bulkeditvisible = true;
      } else {
        this.$message.warning('选择的数据中有编码状态不是“编辑中”,不可编辑!');
      }
    },
    addSaveHandler(){
      this.$nextTick(() => {
        this.addvisible = true;
      });
    },
    //申请集团码数据
@@ -674,21 +741,36 @@
        });
      }
    },
    handleSizeChange(val) {
      this.isLoading = true;
      setTimeout(() => {
        this.page.pageSize = val;
        this.$emit("pageSize", val);
        this.CrudRend();
      }, 3000);
    async CrudRend() {
      this.elapsedTime = 0;
      const startTime = performance.now();
      const res = await TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
        page: this.page.currentPage,
        limit: this.page.pageSize,
      });
      const endTime = performance.now();
      this.elapsedTime = Math.floor(endTime - startTime) * 1;
      this.page.total = res.data.total;
      this.data = res.data.data;
      this.tableData = res.data.data;
    },
    handleCurrentChange(val) {
    async handleSizeChange(val) {
      this.page.pageSize = val;
      this.$emit("pageSize", val);
      this.isLoading = true;
      setTimeout(() => {
        this.page.currentPage = val;
        this.$emit("currentPage", val);
        this.CrudRend();
      }, 3000);
      await this.CrudRend();
      this.isLoading = false;
    },
    async handleCurrentChange(val) {
      this.page.currentPage = val;
      this.$emit("currentPage", val);
      this.isLoading = true;
      await this.CrudRend();
      this.isLoading = false;
    },
    // 监听单元格点击事件并存储正在编辑的行
    handleCellClick(row, column) {
@@ -739,43 +821,6 @@
          this.$refs.dataTable.doLayout();
        }
      })
    },
    //表格头渲染
    CrudHeaderRend() {
      if (this.codeClassifyOid != "") {
        MasterTable({
          codeClassifyOid: this.codeClassifyOid
        }).then((res) => {
          this.options = res.data.tableDefineVO.seniorQueryColumns;
          this.List = res.data.tableDefineVO.cols[0];
          this.List.forEach((item) => {
            let columnItem = {
              label: item.title,
              prop: item.queryField,
              type: this.columnType[item.type],
              sortable: item.sort,
              width: item.minWidth,
            };
            this.option.column.push(columnItem);
            this.option.column = this.tableHeadData;
            this.templateOid = res.data.tableDefineVO.oid;
            this.$emit("templateOid", this.templateOid);
          });
        });
      }
    },
    //表格数据
    CrudRend() {
      TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
        page: this.page.currentPage,
        limit: this.page.pageSize,
      }).then((res) => {
        this.page.total = res.data.total;
        this.data = res.data.data;
        this.tableData = res.data.data;
      });
    },
    // 排序
    sortChange(val) {
@@ -830,15 +875,13 @@
    },
    //编辑
    editHandler() {
      if (this.selectRow.length <= 0) {
      if (this.selectRow.length !== 1) {
        this.$message.warning("请选择一条数据");
      } else if (this.selectRow.length > 1) {
        this.$message.warning("只能选择一条数据");
      } else if (this.selectRow[0].lcstatus != "Editing") {
        this.$message.warning("编码状态不是“编辑中”,不可编辑");
      } else if (this.selectRow[0].lcstatus !== "Editing") {
        this.$message.warning("编码状态不是“编辑中”,不可编辑");
      } else {
        this.editvisible = true;
        this.rowOid = this.selectRow[0]['oid']
        this.rowOid = this.selectRow[0].oid;
      }
    },
    //高级查询按钮
@@ -881,6 +924,11 @@
    },
    //增加保存
    AddSumbit(val) {
      // console.log('val',val)
      if(func.notEmpty(val.ts)) {
        val.ts = func.formattedDateTime(val.ts);
        //console.log(val.ts);
      }
      addSaveCode(val).then(res => {
        this.$nextTick(() => {
          this.addvisible = false;
@@ -929,7 +977,8 @@
        limit: this.page.pageSize,
        ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*'
      }).then(res => {
        this.tableData = res.data.data
        this.tableData = res.data.data;
        // this.page.total = res.data.data.total;
      })
    }
@@ -940,7 +989,7 @@
<style lang="scss" scoped>
//固定列高度
/deep/ .el-table__fixed {
  height: 550px!important;
  height: calc(100vh - 370px)!important;
}
// 滚动条样式修改
// 滚动条的宽度