wangyi
2026-01-15 a09b902158cbeea0c17b1d1f16a0697a176d56bf
src/views/sell/XsSeOutStockBill.vue
@@ -9,15 +9,27 @@
      class="searchBox"
    >
      <el-row>
        <el-form-item label="日期" style="margin-left: 100px">
        <el-form-item label="开始日期" style="margin-left: 100px">
          <el-date-picker
            v-model="dateRange"
            v-model="sTime"
            type="date"
            placeholder="开始日期"
            style="width: 150px"
            :disabled="queryParams.HInitTimeCycle != -1"
            value-format="yyyy-MM-dd"
            type="daterange"
            range-separator="-"
            start-placeholder="开始日期"
            end-placeholder="结束日期"
          ></el-date-picker>
          >
          </el-date-picker>
        </el-form-item>
        <el-form-item label="结束日期">
          <el-date-picker
            v-model="eTime"
            type="date"
            placeholder="结束日期"
            style="width: 150px"
            :disabled="queryParams.HInitTimeCycle != -1"
            value-format="yyyy-MM-dd"
          >
          </el-date-picker>
        </el-form-item>
        <el-form-item label="日期间隔">
          <el-select
@@ -58,7 +70,7 @@
              v-for="(item, index) in organizationList"
              :key="index"
              :label="item.Name"
              :value="item.ID"
              :value="item.ID.toString()"
            >
            </el-option>
          </el-select>
@@ -278,7 +290,7 @@
          >编辑</el-button
        >
      </el-col>
      <el-col :span="1.5">
      <!-- <el-col :span="1.5">
        <el-button
          type="primary"
          icon="el-icon-edit"
@@ -288,6 +300,7 @@
          >复制</el-button
        >
      </el-col>
      -->
      <el-col :span="1.5">
        <el-button
          type="primary"
@@ -298,6 +311,7 @@
          >删除
        </el-button>
      </el-col>
      <!--
      <el-col :span="1.5">
        <el-button
          type="primary"
@@ -317,7 +331,7 @@
          @click="set_CheckBill(2, (form = rowForm))"
          >反审核</el-button
        >
      </el-col>
      </el-col> -->
      <!-- <el-col :span="1.5">
        <el-button
          type="success"
@@ -340,7 +354,7 @@
          >反禁用</el-button
        >
      </el-col> -->
      <el-col :span="1.5">
      <!-- <el-col :span="1.5">
        <el-button
          type="primary"
          icon="el-icon-edit"
@@ -399,7 +413,7 @@
          @click="set_DropBill(2, (form = rowForm))"
          >反作废</el-button
        >
      </el-col>
      </el-col> -->
      <el-col :span="1.5">
        <el-button
@@ -419,7 +433,7 @@
          >隐藏列设置</el-button
        >
      </el-col>
      <el-col :span="1.5">
      <!-- <el-col :span="1.5">
        <el-button type="primary" icon="el-icon-help" size="mini" @click="handleSearch"
          >搜 索</el-button
        >
@@ -428,7 +442,7 @@
        <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery"
          >重 置</el-button
        >
      </el-col>
      </el-col> -->
      <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
    </el-row>
    <div class="tableBox" v-loading="loading">
@@ -473,7 +487,7 @@
                }}</span>
                <el-button
                  type="text"
                  @click="handleEdit(row, (OperationType = 3), (copyType = 1))"
                  @click.stop="handleEdit(row, (OperationType = 3), (copyType = 1))"
                  v-else-if="column.property == '单据号'"
                  >{{ row.单据号 }}</el-button
                >
@@ -522,7 +536,7 @@
          @editCloseGy="editGyClose"
          v-if="editShow"
        /> -->
        <div style="height: 80vh">
        <div style="height: 70vh" v-if="openEdit">
          <iframe :src="iframeUrl" frameborder="0" width="100%" height="100%"></iframe>
        </div>
      </el-dialog>
@@ -623,7 +637,7 @@
import dayjs from "dayjs";
export default {
  name: "GySource",
  name: "XsSeOutStockBill",
  components: { RowSettings },
  props: {
    openPage: { type: String },
@@ -632,7 +646,7 @@
    return {
      iframeUrl: "",
      activeSeach: "",
      HModName: "Cg_POOrderBillList",
      HModName: "XsSeOutStockBill",
      editShow: false,
      openEdit: false,
      totalNameList: [],
@@ -641,7 +655,7 @@
      openPrintList: false,
      printListShow: false,
      HClassTag: "ForFilteringSchemes", //过滤条件的class类
      HBillType: "1202",
      HBillType: "1402",
      openBtnHide: false,
      btnHideShow: false,
      rowHideShow: false,
@@ -673,6 +687,7 @@
        { label: "近30天", value: 29 },
        { label: "近半年", value: 180 },
        { label: "近一年", value: 365 },
        { label: "任意间隔", value: -1 },
      ],
      hPriceTypeList: ["成本价", "结算价"],
      addBtnShow: false,
@@ -691,7 +706,6 @@
      OperationType: null, //保存类型(新增1修改3)
      HInterID: null,
      baseURL: process.env.VUE_APP_BASE_API || "http://47.96.97.237/API/",
      user: "admin",
      currentRow: [],
      lastSelectedRowIndex: null, // 用于记录上次点击的行索引
      lastSelectedRow: null, // 上一次选中的行
@@ -710,7 +724,7 @@
      dateRange: [],
      // 查询参数
      queryParams: {
        HOrgID: null,
        HOrgID: sessionStorage["OrganizationID"],
        HName: null,
        HNumber: null,
        Comparator1: "",
@@ -784,11 +798,18 @@
      uploadTotal: 0,
    };
  },
  mounted() {},
  mounted() {
    window.editGyClose = () => {
      this.editGyClose(); // 组件内的方法绑定到windows
    };
  },
  created() {
    this.queryParams.HOrgID = sessionStorage["OrganizationID"];
    this.riqiChange();
    this.getList();
  },
  beforeDestroy() {
    // 组件销毁时清理全局方法,避免内存泄漏
    delete window.editGyClose;
  },
  methods: {
    BillSync() {
@@ -871,6 +892,9 @@
      this.getList();
    },
    riqiChange() {
      if (this.queryParams.HInitTimeCycle == -1) {
        return;
      }
      const end = new Date();
      const start = new Date();
      start.setTime(start.getTime() - 3600 * 1000 * 24 * this.queryParams.HInitTimeCycle);
@@ -933,20 +957,18 @@
      // this.sWhere += ` and CONVERT(varchar(100),日期, 23) >= '2020-01-01' and CONVERT(varchar(100),日期, 23) <= '2030-01-01'`;
      // 收料通知单列表
      if (this.dateRange.length > 0) {
        this.sWhere +=
          " and CONVERT(varchar(100),日期, 23) >= '" + this.dateRange[0] + "'";
        this.sWhere +=
          " and CONVERT(varchar(100),日期, 23) <= '" + this.dateRange[1] + "'";
      if (this.sTime && this.eTime) {
        this.sWhere += " and CONVERT(varchar(100),日期, 23) >= '" + this.sTime + "'";
        this.sWhere += " and CONVERT(varchar(100),日期, 23) <= '" + this.eTime + "'";
      }
      let Organization = this.organizationList.find(
        (e) => (e.ID = this.queryParams.HOrgID)
        (e) => e.ID == this.queryParams.HOrgID
      )?.Name;
      try {
        let res = await axios.get(this.baseURL + "/Xs_SeOutStockBill/list_byPage", {
          params: {
            sWhere: this.sWhere,
            user: this.user,
            user: sessionStorage["HUserName"],
            Organization: Organization,
            page: this.page,
            size: this.pageSize,
@@ -1035,7 +1057,12 @@
            }
          }
          option.data = result;
          this.DisPlay_HideColumn(this.HModName, this.user, option, this.dataList);
          this.DisPlay_HideColumn(
            this.HModName,
            sessionStorage["HUserName"],
            option,
            this.dataList
          );
        }
      } catch (err) {
        this.$modal.msgError(`获取收料通知单错误: ${err}`);
@@ -1291,6 +1318,7 @@
        }
        this.sWhere += " and " + this.queryParams.ColName2 + " " + com2;
      }
      if (this.queryParams.HBillNo) {
        this.sWhere += " and 单据号 like '%" + this.queryParams.HNumber + "%'";
      }
@@ -1339,7 +1367,7 @@
        .get(this.baseURL + "/Xt_User/getOrgIDListByUser", {
          params: {
            HModName: this.HModName,
            user: this.user,
            user: sessionStorage["HUserName"],
            HOrgID: this.zuzhiId,
          },
        })
@@ -1428,7 +1456,7 @@
                  HQty: this.rowForm.HQty,
                  HSourceInterID: this.rowForm.HSourceInterID,
                  HSourceEntryID: this.rowForm.HSourceEntryID,
                  user: this.user,
                  user: sessionStorage["HUserName"],
                },
              })
              .then((res) => {
@@ -1454,7 +1482,11 @@
      //逻辑审核方法
      axios
        .get(this.baseURL + "/Xs_SeOutStockBill/CheckXs_SeOutStockBill", {
          params: { HInterID: InterID, TypeError: num, CurUserName: this.user },
          params: {
            HInterID: InterID,
            TypeError: num,
            CurUserName: sessionStorage["HUserName"],
          },
        })
        .then((res) => {
          let result = res.data;
@@ -1479,7 +1511,7 @@
            params: {
              HInterID: HInterID,
              Type: num,
              user: this.user,
              user: sessionStorage["HUserName"],
            },
          }
        );
@@ -1507,7 +1539,7 @@
              HInterID: HInterID,
              HEntryID: HEntryID,
              ISAudit: num,
              CurUserName: this.user,
              CurUserName: sessionStorage["HUserName"],
            },
          }
        );
@@ -1533,7 +1565,7 @@
            params: {
              HInterID: HInterID,
              Type: num,
              user: this.user,
              user: sessionStorage["HUserName"],
            },
          }
        );
@@ -1555,7 +1587,11 @@
      //逻辑审核方法
      axios
        .get(this.baseURL + "/Gy_Employee/StopGy_Employee", {
          params: { HInterID: InterID, IsStop: num, CurUserName: this.user },
          params: {
            HInterID: InterID,
            IsStop: num,
            CurUserName: sessionStorage["HUserName"],
          },
        })
        .then((res) => {
          let result = res.data;
@@ -1621,7 +1657,7 @@
        }
      }
      var sSubStr = JSON.stringify(num);
      var sMainSub = sSubStr + "&和" + this.user;
      var sMainSub = sSubStr + "&和" + sessionStorage["HUserName"];
      axios({
        method: "post",
        url: this.baseURL + "/Gy_Source/Gy_Source_btnSave",