chenhaozhe
2025-12-05 bb40eba5dd2ec75a6fa2cd2c8eb41d769c092fca
src/views/gyMaterial/GyMaterial.vue
@@ -1,5 +1,5 @@
<template>
  <div style="padding: 10px; position: relative;">
  <div style="padding: 10px">
    <el-card style="margin-bottom: 10px;">
      <el-form :inline="true" :model="queryParams" ref="queryForm" class="mb8">
        <el-form-item label="物料代码" prop="HNumber">
@@ -78,7 +78,7 @@
                        placeholder="请选择"
                        style="width: 100%"
                      >
                        <el-option value="0" label=""></el-option>
                        <!-- <el-option value="" label=""></el-option> -->
                        <el-option
                          v-for="(item, index) in visibleColumns"
                          :key="index"
@@ -93,7 +93,7 @@
                        placeholder="请选择"
                        style="width: 100%"
                      >
                        <el-option value="0" label=""></el-option>
                        <!-- <el-option value="0" label=""></el-option> -->
                        <el-option
                          v-for="(item, index) in comparatorList"
                          :key="index"
@@ -120,7 +120,7 @@
                        placeholder="请选择"
                        style="width: 100%"
                      >
                        <el-option value="0" label=""></el-option>
                        <!-- <el-option value="0" label=""></el-option> -->
                        <el-option
                          v-for="(item, index) in visibleColumns"
                          :key="index"
@@ -135,7 +135,7 @@
                        placeholder="请选择"
                        style="width: 100%"
                      >
                        <el-option value="0" label=""></el-option>
                        <!-- <el-option value="0" label=""></el-option> -->
                        <el-option
                          v-for="(item, index) in comparatorList"
                          :key="index"
@@ -162,7 +162,7 @@
                        placeholder="请选择"
                        style="width: 100%"
                      >
                        <el-option value="0" label=""></el-option>
                        <!-- <el-option value="0" label=""></el-option> -->
                        <el-option
                          v-for="(item, index) in visibleColumns"
                          :key="index"
@@ -177,7 +177,7 @@
                        placeholder="请选择"
                        style="width: 100%"
                      >
                        <el-option value="0" label=""></el-option>
                        <!-- <el-option value="0" label=""></el-option> -->
                        <el-option
                          v-for="(item, index) in comparatorList"
                          :key="index"
@@ -201,9 +201,9 @@
          </el-collapse-item>
        </el-collapse>
      </el-form>
      <!-- <div style="text-align:center;font-size:15px;font-weight:bold;color:#fc9393;margin: 20px 0;">
      <div style="text-align:center;font-size:15px;font-weight:bold;color:#fc9393;margin: 20px 0;">
        {{ currentFilterScheme }}
      </div> -->
      </div>
    </el-card>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
@@ -642,12 +642,12 @@
        HModel: null,
        HOrgID: null,
        HProject: null,
        ColName: "0",
        ColName1: "0",
        ColName2: "0",
        Comparator: "0",
        Comparator1: "0",
        Comparator2: "0",
        ColName: "",
        ColName1: "",
        ColName2: "",
        Comparator: "",
        Comparator1: "",
        Comparator2: "",
        ColContent: "",
        ColContent1: "",
        ColContent2: "",
@@ -713,7 +713,9 @@
        .then((response) => {
          let data = response.data.data[0];
          this.user = data.Czymc;
          this.getOrganizations();
          this.queryParams.HOrgID = data.HUSEORGID;
          this.getTreeData();
          this.getProjectOptions();
          this.getList();
@@ -730,9 +732,9 @@
        .then((response) => {
          if (response.data.count == 1) {
            this.organizationOptions = response.data.data;
            if (this.organizationOptions.length > 0) {
              this.queryParams.HOrgID = this.organizationOptions[0].ID;
            }
            // if (this.organizationOptions.length > 0) {
            //   this.queryParams.HOrgID = this.organizationOptions[0].ID;
            // }
          }
        })
        .catch((error) => {
@@ -1128,6 +1130,14 @@
    },
    
    handleRefresh() {
      // 刷新时清除表格选择并重置相关状态,保证复制/编辑/删除/审核等按钮被禁用
      if (this.$refs.tableData && this.$refs.tableData.clearSelection) {
        this.$refs.tableData.clearSelection();
      }
      this.selectedRow = null;
      this.ids = [];
      this.single = true;
      this.multiple = true;
      this.getList();
    },
    
@@ -1144,7 +1154,7 @@
    },
    
    // 物料代码点击
     handleMaterialCodeClick(row) {
    handleMaterialCodeClick(row) {
    this.selectedRow = row;
    this.OperationType = 3;
    this.currentEditId = row.HItemID;
@@ -1155,12 +1165,16 @@
    
    handleRowClick(row, column, event) {
        if(this.openPage){
        this.$emit('deptEmit', row, 3)
      }
      if (this.checkIsIframe()) {
        // 将当前选中的数据暴露到window中
        window.selectedRow = row;
      }
      this.$refs.tableData.toggleRowSelection(row);
      this.selectedRow = row;
      this.getFileList(row.物料代码);
       if (this.openPage) {
        this.$emit('deptEmit', row, 3)
      }
    },
    
@@ -1219,28 +1233,35 @@
    
    // 行样式
    rowStyle({ row, rowIndex }) {
      if (this.ids.includes(row.HItemID)) {
        return { background: "#ecf5ff" };
      if (this.ids.includes(row.hmainid)) {
        return {  };
        // background: "#ecf5ff"
      }
    },
    
    // 双击行
    handleDblclick(row, column, cell, event) {
       if (this.openPage) {
      if(this.openPage){
        this.$emit('deptEmitDb', row, 3)
      } else {
      this.handleMaterialCodeClick(row);
      }
      if (this.checkIsIframe()) {
        // IFrame 双击 返回当前双击的数据
        window.parent.iFrameMaterialCallback(row);
        return;
      }
      this.handleMaterialCodeClick(row);
    },
    handleSelectionChange(selection) {
      console.log(selection)
      this.ids = selection.map((item) => item.HItemID);
      this.ids = selection.map((item) => item.hmainid);
      this.single = selection.length != 1;
      this.multiple = !selection.length;
      if (!this.single) {
        this.selectedRow = selection[0];
      }
      //   if(this.openPage){
      //   this.$emit('deptEmit', this.selectedRow, 3)
      // }
    },
      // 编辑关闭回调
  handleEditClose() {
@@ -1346,7 +1367,13 @@
    
    getDefaultFilterScheme() {
      this.currentFilterScheme = "当前过滤方案:默认方案";
    }
    },
    checkIsIframe() {
      if (window.self == window.top) {
        return false;
      }
      return true;
    },
  },
};
</script>