田源
2023-12-21 2bd948dd66d69a48f0c34f8d9852e05bc574602c
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -15,14 +15,24 @@
                  item.name
                }}
              </el-button>
              <span v-if="tableHeadFindData.length > 0">
              <el-select slot="prepend" v-model="keyWordFind" placeholder="请选择" size="small">
              <span v-if="tableHeadFindData.length > 0 ">
              <el-select slot="prepend" v-model="keyWordFind" placeholder="请选择" size="small" @change="searchChange">
                <el-option v-for="item in tableHeadFindData" :key="item.id" :label="item.label"
                           :value="item.prop"></el-option>
              </el-select>
              <el-input v-model="WupinFindValue" placeholder="请输入关键字按回车查询"
                        size="small" style="width: 180px; margin-left: 5px; margin-top: 10px"
              <el-input v-if="!isTimeStatus" v-model="WupinFindValue"
                        placeholder="请输入关键字按回车查询" size="small" style="width: 180px; margin-left: 5px; margin-top: 10px"
                        @keyup.enter.native="tableFindInp"></el-input>
              </span>
              <span v-if="tableHeadFindData.length > 0  && isTimeStatus" class="block">
                <el-date-picker
                  v-model="dateValue"
                  placeholder="选择日期"
                  size="small"
                  style="margin-left: 5px"
                  type="date"
                  @change="dateChange">
                </el-date-picker>
              </span>
              <span v-if="tableHeadFindData.length > 0" style="margin-left: 10px">
               <p style="font-size: 13px;display: inline-block;"> 状态:</p>
@@ -46,15 +56,15 @@
                <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"-->
<!--                                 key="index" :show-overflow-tooltip="true" :sortable="item.sortable"-->
<!--                                 :width="item.width" align="center" label="生命周期值"-->
<!--                                 prop="lcstatus">-->
<!--                  <template slot-scope="scope">-->
<!--                    <span>{{ scope.row.lcstatus_text }}</span>-->
<!--                  </template>-->
<!--                </el-table-column>-->
                <!--                <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">-->
                <!--                  <template slot-scope="scope">-->
                <!--                    <span>{{ scope.row.lcstatus_text }}</span>-->
                <!--                  </template>-->
                <!--                </el-table-column>-->
                <!--              编号-->
                <el-table-column v-for="(item, index) in CodeArray" v-if="CodeArray.length !== 0 && !item.hidden"
                                 key="index" :label="item.label" :prop="item.prop"
@@ -191,6 +201,7 @@
import fileInHtml from "@/components/file/inHtml.vue";
import {getUserInfo} from "@/api/system/user";
import func from "@/util/func";
import moment from "moment/moment";
export default {
  components: {
@@ -255,6 +266,9 @@
  },
  data() {
    return {
      isTimeStatus: false,
      isTimeName: '',
      dateValue: "",
      //批量编辑对话框
      bulkeditvisible: false,
      LinkVisible: false,
@@ -283,7 +297,6 @@
        btmtype: '',
        code: "",
        type: '',
        // this.visibleDeactivate ?'ENABLE':this.visibleEnable ? 'DISABLE' :this.visibleRecovery ? 'ROLLBACK' :'PUBLIC'
        processName: "",
        vars: {
          codeClassifyOid: "",
@@ -345,9 +358,10 @@
      },
      // 主数据按钮
      masterVrBtnList: [],
      fileOptions:{},
      fileOptions: {},
      result: '',
      elapsedTime: '',
      conditionMap: [],
    };
  },
  computed: {
@@ -393,11 +407,10 @@
    },
    tableDataArray: {
      handler(newval, oldval) {
        // console.log('tableData',newval)
        this.tableData = newval;
        this.searchResults = newval
        this.doLayout();
        this.fileOptions= {
        this.fileOptions = {
          ownbizOid: "0",
          ownbizBtm: "0",
          fileDocClassify: '!=processAuditSuggest',
@@ -410,7 +423,6 @@
    },
    tableHeadFindData: {
      handler(newval, oldval) {
        // console.log(newval)
        newval.forEach((record, _index) => {
          if (record.queryField == 'id' && validatenull(record.templet)) {
            //企业编码的默认添加超链接,暂未实现
@@ -427,8 +439,14 @@
          }
          if (_index == 0) {
            this.keyWordFind = record.queryField
            this.keyWordFind = record.queryField;
          }
          ;
          // if(record.fieldType === "datetime"){
          //       this.isTimeStatus = true;
          //       console.log(this.isTimeStatus)
          //       console.log(record)
          // }
        })
        this.tableHeadFindDatas = newval;
        if (newval) {
@@ -479,11 +497,15 @@
    },
  },
  methods: {
    // 置空查询条件
    resetConditionMap() {
      this.conditionMap = {};
    },
    CodeLinkHandler(row) {
      this.LinkObject = row;
      this.LinkVisible = true;
      this.LinkList = Object.keys(row).map(property => property)
    },
    //状态搜索
    cellSelectHandler(row) {
@@ -495,6 +517,7 @@
    },
    cellStatusFind(lcstatus) {
      this.isLoading = true;
      this.conditionMap["conditionMap[lcstatus]"] = lcstatus;
      TableData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
@@ -591,7 +614,7 @@
        func.downloadFileByBlobHandler(res);
        this.$message.success('下载成功,请查看!');
        this.isLoading = false;
      }).catch(error=>{
      }).catch(error => {
        this.$message.error(error);
      });
    },
@@ -854,6 +877,7 @@
        codeClassifyOid: this.codeClassifyOid,
        page: this.page.currentPage,
        limit: this.page.pageSize,
        ...this.conditionMap, /**带上分页查询条件 */
      });
      const endTime = performance.now();
      this.elapsedTime = Math.floor(endTime - startTime) * 1;
@@ -915,7 +939,7 @@
        });
      });
    },
    // 将正在编辑的行的状态变为 null ,即退出编辑状态
    //将正在编辑的行的状态变为 null ,即退出编辑状态
    saveRow() {
      this.editingRow = null;
    },
@@ -939,6 +963,7 @@
          sort: val.prop,
          page: this.page.currentPage,
          limit: this.page.pageSize,
          ...this.conditionMap
        });
        this.data = data.data;
      } finally {
@@ -948,13 +973,11 @@
    //分页刷新
    async onLoad(val) {
      this.isLoading = true;
      try {
        let conditionMap = {};
        if (this.statusSelect !== 'all') {
          conditionMap.lcstatus = this.statusSelect;
        }
        const res = await TableData({
          templateOid: this.templateOid,
          codeClassifyOid: this.codeClassifyOid,
@@ -962,11 +985,10 @@
          limit: this.page.pageSize,
          conditionMap
        });
        this.tableData = res.data.data;
        this.doLayout();
      } catch (error) {
        // 处理错误
        this.$message.error(error)
      } finally {
        this.isLoading = false;
      }
@@ -1002,42 +1024,53 @@
      this.findvisible = true;
    },
    // 高级查询
    echoContion(val) {
      FindData({
        templateOid: this.templateOid,
        codeClassifyOid: this.codeClassifyOid,
        ...val,
      }).then((res) => {
    async echoContion(val) {
      this.conditionMap = val;
      try {
        const res = await FindData({
          templateOid: this.templateOid,
          codeClassifyOid: this.codeClassifyOid,
          ...val,
          page: this.page.currentPage = 1, /** 每次点击高级查询都应该从第一页开始*/
          limit: this.page.pageSize
        });
        this.tableData = res.data.data;
        this.page.total = res.data.total
      });
      } catch (error) {
      }
    },
    //相似项查询
    similarHandler() {
      if (this.selectRow.length <= 0) {
        this.$message.warning("请选择一条数据");
      } else if (this.selectRow.length > 1) {
        this.$message.warning("只能选择一条数据");
      } else {
        this.similarVisible = true;
        return;
      }
      if (this.selectRow.length > 1) {
        this.$message.warning("只能选择一条数据");
        return;
      }
      this.similarVisible = true;
    },
    //数据更改
    DataChange() {
      if (this.selectRow.length <= 0) {
        this.$message.warning("请选择一条数据");
      } else if (this.selectRow.length > 1) {
        this.$message.warning("只能选择一条数据");
      } else if (this.selectRow[0].lcstatus != "Released") {
        this.$message.warning("只有状态为已发布的数据才能进行数据更改");
      } else {
        this.DataVisible = true;
        this.rowOid = this.selectRow[0]['oid']
        return
      }
      if (this.selectRow.length > 1) {
        this.$message.warning("只能选择一条数据");
        return;
      }
      if (this.selectRow[0].lcstatus != "Released") {
        this.$message.warning("只有状态为已发布的数据才能进行数据更改");
        return;
      }
      this.DataVisible = true;
      this.rowOid = this.selectRow[0]['oid']
    },
    //增加保存
    AddSumbit(val) {
      // console.log('val',val)
      if (func.notEmpty(val.ts)) {
        val.ts = func.formattedDateTime(val.ts);
        //console.log(val.ts);
@@ -1077,10 +1110,43 @@
      this.batchImportData.type = type
      this.batchImportData.codeClassifyOid = this.codeClassifyOid
    },
    searchChange(val) {
      this.isTimeName = val;
      this.isTimeStatus = this.tableHeadFindData.some(item => {
        if (item.fieldType === "datetime" && item.prop === val) {
          return true;
        }
        return false;
      });
      // console.log(this.isTimeStatus)
    },
    dateChange(val) {
      if (val) {
        const momentDate = moment(this.dateValue);
        const dateString = momentDate.format("yyyy-MM-DD");
        this.isLoading = true;
        try {
          TableData({
            templateOid: this.templateOid,
            codeClassifyOid: this.codeClassifyOid,
            page: this.page.currentPage,
            limit: this.page.pageSize,
            ['conditionMap[' + this.keyWordFind + ']']: dateString
          }).then(res => {
            this.tableData = res.data.data;
            this.page.total = res.data.total;
          })
        } finally {
          this.isLoading = false;
        }
      }
    },
    //输入回车搜索
    tableFindInp() {
      this.isLoading = true;
      try {
        // 存储查询条件,主要是为了点击页码时带上这个条件
        this.conditionMap["conditionMap[" + this.keyWordFind + "]"] = '*' + this.WupinFindValue + '*';
        TableData({
          templateOid: this.templateOid,
          codeClassifyOid: this.codeClassifyOid,
@@ -1091,7 +1157,7 @@
          this.tableData = res.data.data;
          this.page.total = res.data.total;
        })
      }  finally {
      } finally {
        this.isLoading = false;
      }
    }