田源
2023-11-22 45ea7fe48715cda24e6dd5857a33ff941cfb2fa7
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="handleBtnClick(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"
@@ -52,6 +52,14 @@
                    <span>{{ scope.row.lcstatus_text }}</span>
                  </template>
                </el-table-column>
                <!--               参照数据-->
                <el-table-column v-for="(item,index) in referArray" key="index" v-if="  Object.keys(item.referConfig).length > 0 && !item.hidden" :label="item.title" prop="jiliangdw"
                                 :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width"
                                 align="center">
                  <template slot-scope="scope">
                    <span>{{ scope.row.jiliangdwname }}</span>
                  </template>
                </el-table-column>
                <!--              编号-->
                <el-table-column  v-for="(item, index) in CodeArray" key="index" v-if="CodeArray.length !== 0 && !item.hidden" :label="item.label" :prop="item.prop"
                                  :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width"
@@ -62,7 +70,7 @@
                    </el-link>
                  </template>
                </el-table-column>
                <el-table-column v-for="item in this.tableHeadFindData" v-if="!item.hidden && item.prop !== 'id' && item.prop !== 'lcstatus'"
                <el-table-column v-for="item in this.tableHeadFindData" v-if="!item.hidden && item.prop !== 'id' && item.prop !== 'lcstatus' && Object.keys(item.referConfig).length <= 0"
                                 :key="item.id"
                                 :formatter="item.formatter"
                                 :label="item.label" :prop="item.prop"
@@ -75,6 +83,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 +107,8 @@
                              :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'修改编码信息'"
                              :visible.sync="editvisible"
                              type="edit" @submit="EditSumbit"></FormTemplateDialog>
          <!--          批量编辑-->
<!--          <MasterEditBulk :visible.sync="bulkeditvisible" ></MasterEditBulk>-->
          <!--          数据详情-->
          <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
                               :rowOid="this.LinkObject.oid" :templateOid="templateOid"
@@ -119,6 +141,10 @@
                          :tableData="tableData"
                          :tableHeadData="tableHeadFindData" :templateOid="templateOid"
                          :visible.sync="dialogPush"></MasterTransfer>
          <!--        导入-->
          <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :resetTable="CrudRend"
                       :visible.sync="batchImportData.visible" :tableHeadData="tableHeadFindData" :selectRow="selectRow">
          </BatchImport>
          <!--          相似项-->
          <ResembleQueryDialog :codeClassifyOid="codeClassifyOid" :codeRuleOid="this.codeRuleOid" :rowOid="rowOid"
                               :templateOid="templateOid" :visible.sync="similarVisible"></ResembleQueryDialog>
@@ -130,11 +156,6 @@
            </el-pagination>
          </div>
        </div>
      </div>
      <div>
        <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :resetTable="CrudRend"
                     :visible.sync="batchImportData.visible">
        </BatchImport>
      </div>
      <div class="bottom">
        <el-collapse v-model="visibleNames" @change="handleCollapse">
@@ -164,6 +185,7 @@
import SetPersonnel from "@/components/template/SetPersonnel";
import ResembleQueryDialog from "@/components/FormTemplate/ResembleQueryDialog.vue";
import BatchImport from '@/components/BatchImport'
import MasterEditBulk from '@/components/Master/MasterEditBulk'
import {validatenull} from "@/util/validate";
import fileInHtml from "@/components/file/inHtml.vue";
import {getUserInfo} from "@/api/system/user";
@@ -175,7 +197,8 @@
    SetPersonnel,
    ResembleQueryDialog,
    BatchImport,
    fileInHtml
    fileInHtml,
    MasterEditBulk
  },
  name: "Crud.vue",
  props: {
@@ -224,17 +247,26 @@
    Treedata: {
      type: Array
    },
    nodeClickList:{
      type:Array,
      default:[]
    }
  },
  data() {
    return {
      //批量编辑对话框
      bulkeditvisible:false,
      LinkVisible: false,
      LinkObject: {}, // 编码数据
      LinkList: [],
      isCodeArrayPushed: false, // 编码数组添加标识变量
      CodeArray: [],
      //生命周期数组
      lcstatusArray:[],
      //参照数据数组
      referArray:[],
      islcstatusPushed:false,
      isReferPushed:false,
      // 状态搜索
      statusSelect: "all",
      // 关键字查询
@@ -273,6 +305,8 @@
        label: "name",
      },
      tableHeadFindDatas: [],
      applyvisible:false,
      amendvisible:false,
      addvisible: false,
      editvisible: false,
      findvisible: false,
@@ -407,7 +441,16 @@
          // console.log('lcstatusArray', this.lcstatusArray);
          this.islcstatusPushed = true;
        }
        // console.log('new',newval)
        if(!this.isReferPushed){
          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.isReferPushed=true;
        console.log('new',this.referArray)
        console.log('ss',newval.find(item => Object.keys(item.referConfig).length > 0))
        this.WupinFindValue = ''
      },
    },
@@ -424,9 +467,7 @@
    },
    tableHeadBtnData: {
      handler(newval) {
        if (newval.length !== 0) {
          this.masterVrBtnList = newval
        }
      },
      deep: true
    },
@@ -499,10 +540,59 @@
        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("bulkEdit")
      });
    },
    addSaveHandler(){
    //标准申请
    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(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('选择的数据中有编码状态不是“编辑中”,不可编辑!');
      }
    },
    addSaveHandler(){
      this.$nextTick(() => {
        this.addvisible = true;
      });
@@ -515,6 +605,7 @@
        // 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) {
@@ -693,25 +784,24 @@
      });
      const endTime = performance.now();
      this.elapsedTime = Math.floor(endTime - startTime) * 1;
      console.log(this.elapsedTime)
      this.page.total = res.data.total;
      this.data = res.data.data;
      this.tableData = res.data.data;
    },
    async handleSizeChange(val) {
      this.isLoading = true;
      await this.CrudRend();
      this.page.pageSize = val;
      this.$emit("pageSize", val);
      this.isLoading = true;
      await this.CrudRend();
      this.isLoading = false;
    },
    async handleCurrentChange(val) {
      this.isLoading = true;
      await this.CrudRend();
      this.page.currentPage = val;
      this.$emit("currentPage", val);
      this.isLoading = true;
      await this.CrudRend();
      this.isLoading = false;
    },
    // 监听单元格点击事件并存储正在编辑的行
@@ -817,15 +907,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;
      }
    },
    //高级查询按钮
@@ -868,7 +956,7 @@
    },
    //增加保存
    AddSumbit(val) {
      //console.log(val)
      // console.log('val',val)
      if(func.notEmpty(val.ts)) {
        val.ts = func.formattedDateTime(val.ts);
        //console.log(val.ts);