dytyqx
2026-04-07 fcc14195066cf73d74301ae2fcce8218a1bfe579
src/views/basic/gytransport/cgContractTransportBillList/Cg_ContractTransportBillEdit.vue
@@ -17,7 +17,7 @@
        <el-tab-pane label="基本信息" name="first">
          <el-row>
            <el-col :span="6">
              <el-form-item label="单据号" prop="HBillNo">
              <el-form-item label="单据号" prop="HBillNo" required>
                <el-input v-model="form.HBillNo" placeholder="请输入单据号" />
              </el-form-item>
            </el-col>
@@ -33,7 +33,7 @@
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="合同编号" prop="HContractNumber">
              <el-form-item label="合同编号" prop="HContractNumber" required>
                <el-input v-model="form.HContractNumber" placeholder=""  />
              </el-form-item>
            </el-col>
@@ -49,8 +49,8 @@
            </el-col>
            
            <el-col :span="6">
              <el-form-item label="供应商" prop="HSupName">
                <el-input v-model="form.HSupName" placeholder="请选择供应商" disabled>
              <el-form-item label="承运商" prop="HSupName" required>
                <el-input v-model="form.HSupName" placeholder="请选择承运商" disabled>
                  <el-button
                    slot="append"
                    icon="el-icon-search"
@@ -62,7 +62,7 @@
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="业务员" prop="HEmpName">
              <el-form-item label="业务员" prop="HEmpName" required>
                <el-input v-model="form.HEmpName" placeholder="请选择" disabled>
                  <el-button
                    slot="append"
@@ -75,7 +75,7 @@
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="币别" prop="HCurName">
              <el-form-item label="币别" prop="HCurName" required>
                <el-input v-model="form.HCurName" placeholder="请选择调入币别" disabled>
                  <el-button
                    slot="append"
@@ -86,7 +86,7 @@
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="结算方式" prop="HSSName">
              <el-form-item label="结算方式" prop="HSSName" >
                <el-input v-model="form.HSSName" placeholder="请选择结算方式" disabled>
                  <el-button
                    slot="append"
@@ -98,11 +98,11 @@
            </el-col>
            <el-col :span="6">
              <el-form-item label="汇率" prop="HExRate">
                <el-input v-model="form.HExRate" placeholder=""  />
                <el-input v-model="form.HExRate" placeholder=""  disabled/>
              </el-form-item>
            </el-col>
            <el-col :span="6">
              <el-form-item label="部门" prop="HDeptName">
              <el-form-item label="部门" prop="HDeptName" required>
                <el-input v-model="form.HDeptName" placeholder="请选择部门" disabled>
                  <el-button
                    slot="append"
@@ -120,7 +120,7 @@
          </el-row>
          <el-row>
            <el-col :span="6">
              <el-form-item label="组织" prop="HSTOCKINORGID" >
              <el-form-item label="组织" prop="HSTOCKINORGID" required>
                <el-select v-model="form.HSTOCKINORGID" placeholder="请选择组织" :disabled="OperationType == 3" @change="StockInOrgChangeHandler">
                  <el-option
                    v-for="(item, index) in organizationList"
@@ -175,8 +175,9 @@
              <el-form-item label="制单日期" prop="HMakeDate">
                <el-date-picker
                  v-model="form.HMakeDate"
                  type="date"
                  type="datetime"
                  placeholder="选择制单日期"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  disabled
                >
                </el-date-picker>
@@ -186,8 +187,9 @@
              <el-form-item label="修改日期" prop="HUpDateDate">
                <el-date-picker
                  v-model="form.HUpDateDate"
                  type="date"
                  type="datetime"
                  placeholder="选择审核日期"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  disabled
                >
                </el-date-picker>
@@ -197,8 +199,9 @@
              <el-form-item label="审核日期" prop="HCheckDate">
                <el-date-picker
                  v-model="form.HCheckDate"
                  type="date"
                  type="datetime"
                  placeholder="选择审核日期"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  disabled
                >
                </el-date-picker>
@@ -208,8 +211,9 @@
              <el-form-item label="关闭日期" prop="HCloseDate">
                <el-date-picker
                  v-model="form.HCloseDate"
                  type="date"
                  type="datetime"
                  placeholder="选择关闭日期"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  disabled
                >
                </el-date-picker>
@@ -318,7 +322,7 @@
            </el-table-column>
            <el-table-column align="center" label="运输方式" width="120">
            <el-table-column align="center" label="车型" width="120">
              <template slot-scope="scope">
                <el-input
                  v-model="scope.row.运输方式名称"
@@ -335,13 +339,26 @@
              </template>
            </el-table-column>
            <el-table-column align="center" label="距离(公里)" width="120">
            <template slot-scope="scope">
              <el-input-number
                v-model="scope.row.HDistance"
                placeholder="请输入"
                :controls="false"
                :min="0"
                style="width: 100%"
              />
            </template>
          </el-table-column>
           <el-table-column align="center" label="运输时效(时)" width="120">
              <template slot-scope="scope">
                <el-input v-model="scope.row.HDistance" placeholder="请输入" />
              </template>
            </el-table-column>
            <el-table-column align="center" label="运输时效" width="120">
              <template slot-scope="scope">
                <el-input v-model="scope.row.HTransportTimes" placeholder="请输入" />
                <el-input-number
                  v-model="scope.row.HTransportTimes"
                  placeholder="请输入"
                  :controls="false"
                  :min="0"
                  style="width: 100%"
                />
              </template>
            </el-table-column>
             <el-table-column align="center" label="运输类型" width="120">
@@ -357,6 +374,10 @@
                        label: '往返',
                        value: '往返',
                      },
                      {
                        label: '零担',
                        value: '零担',
                      },
                    ]"
                    :key="index"
                    :label="item.label"
@@ -367,12 +388,24 @@
            </el-table-column>
            <el-table-column align="center" label="运输费用" width="120">
              <template slot-scope="scope">
                <el-input v-model="scope.row.HMoney" placeholder="请输入" />
                <el-input-number
                  v-model="scope.row.HMoney"
                  placeholder="请输入"
                  :controls="false"
                  :min="0"
                  style="width: 100%"
                />
              </template>
            </el-table-column>
            <el-table-column align="center" label="历史运输费用" width="120">
              <template slot-scope="scope">
                <el-input v-model="scope.row.HMoney_His" placeholder="请输入" />
                <el-input-number
                  v-model="scope.row.HMoney_His"
                  placeholder="请输入"
                  :controls="false"
                  :min="0"
                  style="width: 100%"
                />
              </template>
            </el-table-column>
@@ -583,15 +616,17 @@
      form: {},
      // 表单校验
      rules: {
        HDate: [{ required: true, message: "日期不能为空", trigger: "blur" }],
        HSupName: [{ required: true, message: "往来单位不能为空", trigger: "blur" }],
        HEmpName: [{ required: true, message: "业务员不能为空", trigger: "blur" }],
        HMangerName: [{ required: true, message: "主管不能为空", trigger: "blur" }],
        HSecManagerName: [{ required: true, message: "验收员不能为空", trigger: "blur" }],
        HKeeperName: [{ required: true, message: "保管员不能为空", trigger: "blur" }],
        HCurName: [{ required: true, message: "调入仓库不能为空", trigger: "blur" }],
        HSSName: [{ required: true, message: "调出仓库不能为空", trigger: "blur" }],
        HDeptName: [{ required: true, message: "部门不能为空", trigger: "blur" }],
         HDate: [{ required: true, message: "日期不能为空", trigger: "blur" }],
          HBillNo: [{ required: true, message: "单据号不能为空", trigger: "blur" }],
          HContractNumber: [{ required: true, message: "合同编号不能为空", trigger: "blur" }],
          HContractName: [{ required: true, message: "合同名称不能为空", trigger: "blur" }],
          HSupID: [{ required: true, message: "供应商不能为空", trigger: "blur" }],
          HEmpID: [{ required: true, message: "业务员不能为空", trigger: "blur" }],
          HDeptID: [{ required: true, message: "部门不能为空", trigger: "blur" }],
          HCurID: [{ required: true, message: "币别不能为空", trigger: "blur" }],
          HExRate: [{ required: true, message: "汇率不能为空", trigger: "blur" }],
          HSTOCKINORGID: [{ required: true, message: "组织不能为空", trigger: "change" }],
          // HSSName: [{ required: true, message: "结算方式不能为空", trigger: "blur" }],
      },
    };
  },
@@ -607,7 +642,7 @@
    },
    fetchData() {
      axios
        .get(this.baseURL + "/Web/GetOrganizations", {})
        .get(this.$baseUrl + "/Web/GetOrganizations", {})
        .then((response) => {
          if (response.data.count == 1) {
            this.organizationList = response.data.data; //组织列表
@@ -667,8 +702,9 @@
        } else if (num == 2) {
            this.form.HCurName = deptRow.货币名称;
            this.form.HCurID = deptRow.HItemID;
          this.CurrencyDialogShow = false;
          this.openData = false;
            this.form.HExRate = deptRow.汇率;
            this.CurrencyDialogShow = false;
            this.openData = false;
        } else if (num == 3) {
          console.log(deptRow);
          if(this.areaType==1)
@@ -708,10 +744,10 @@
        } else if (num == 5) {
          this.form.HSSName = deptRow.结算方式名称;
          this.form.HSSID = deptRow.HItemID;
          this.form.HExRate = deptRow.汇率;
          //this.form.HExRate = deptRow.汇率;
          this.SettleStyleDialogShow = false;
          this.openData = false;
        }else if (num == 7) {
        }else if (num == 13) {
          this.editData[this.zbIndex].HTransportCar = deptRow.HItemID;
          this.editData[this.zbIndex].运输方式名称 = deptRow.车型名称;
          this.CarTypeShow = false;
@@ -732,6 +768,9 @@
    deptClose() {
      this.deptform = {};
      this.openData = false;
      this.$nextTick(() => {
    this.showReset();
  });
    },
    //表单初始化
@@ -750,8 +789,8 @@
        HExRate: 1,
        HSSName: "",
        HSSID: 0,
        HEmpName: "",
        HEmpID: "",
        HEmpName: sessionStorage["HEmpName"] || "",
        HEmpID: sessionStorage["HEmpID"] || 0,
        HMangerName: "",
        HMangerID: "",
        HSecManagerName: "",
@@ -816,7 +855,7 @@
      console.log(this.form.HDeptID && this.form.HDeptID != 0);
      if (this.form.HDeptID && this.form.HDeptID != 0) {
        axios
          .get(this.baseURL + "/Gy_Department/list", {
          .get(this.$baseUrl + "/Gy_Department/list", {
            params: {
              sWhere: "and HItemID = '" + this.form.HDeptID + "'",
              user: sessionStorage["HUserName"],
@@ -854,7 +893,7 @@
    },
    getHBillNo() {
      axios
        .get(this.baseURL + "/Web/GetMAXNum", {
        .get(this.$baseUrl + "/Web/GetMAXNum", {
          params: {
            HBillType: "1117",
          },
@@ -872,11 +911,11 @@
    /** 修改按钮操作 */
    handleUpdate() {
      this.reset();
      let rowHmainid = this.linterid;
      let rowHmainid = this.linterid || this.hmainid;
      console.log(this.linterid);
      //主表
      //主表  %EF%BB%BFEditList
      axios
        .get(this.baseURL + "/Cg_ContractTransportBillListController/%EF%BB%BFEditList", {
        .get(this.$baseUrl + "/Cg_ContractTransportBillListController/%EF%BB%BFEditList", {
          params: { HInterID: rowHmainid,user: sessionStorage["HUserName"]},
        })
        .then((response) => {
@@ -920,6 +959,7 @@
                HDeleteDate: data[0].作废日期,
                // HSTOCKOUTORGID: data[0].HSTOCKOUTORGID.toString(),
                 //HSTOCKINORGID: data[0].HSTOCKINORGID.toString(),
                 HSTOCKINORGID:sessionStorage["OrganizationID"],
              },
            };
            //子表
@@ -1067,22 +1107,45 @@
    },
    // 编辑提交保存
    submitForm() {
      this.form.HSupID = this.form.HSupID || 0;
      this.form.HEmpID = this.form.HEmpID || 0;
      this.form.HDeptID = this.form.HDeptID || 0;
      this.form.HCurID = this.form.HCurID || 0;
      this.form.HExRate = this.form.HExRate || 1;
      this.form.HSSID = this.form.HSSID || 0;
      this.$refs["form"].validate((valid) => {
        if (valid) {
          let fhck = false;
          if (this.editData.length == 0) {
            fhck = true;
            this.$modal.msgError("没有物料明细记录!");
          }
          this.editData.map((item, index) => {
            if (!item.HMaterID) {
          const requiredFields = [
          { field: 'HBillNo', name: '单据号' },
          { field: 'HContractNumber', name: '合同编号' },
          { field: 'HContractName', name: '合同名称' },
          { field: 'HSupID', name: '供应商' },
          { field: 'HEmpID', name: '业务员' },
          { field: 'HDeptID', name: '部门' },
          { field: 'HCurID', name: '币别' },
          { field: 'HExRate', name: '汇率' },
          { field: 'HSTOCKINORGID', name: '组织' }
          // { field: 'HSSName', name: '结算方式' }
        ];
          for (let i = 0; i < requiredFields.length; i++) {
            const field = requiredFields[i].field;
            const name = requiredFields[i].name;
            if (!this.form[field] || this.form[field] === 0 || this.form[field] === '') {
              fhck = true;
              this.$modal.msgError("第" + (index + 1) + "行:器具未选择!");
            } else if (!item.HQty || item.HQty == 0) {
              fhck = true;
              this.$modal.msgError("第" + (index + 1) + "行:数量不能为0!");
              this.$modal.msgError(name + "不能为空!");
            }
          });
          }
          // this.editData.map((item, index) => {
          //   if (!item.HMaterID) {
          //     fhck = true;
          //     this.$modal.msgError("第" + (index + 1) + "行:器具未选择!");
          //   } else if (!item.HQty || item.HQty == 0) {
          //     fhck = true;
          //     this.$modal.msgError("第" + (index + 1) + "行:数量不能为0!");
          //   }
          // });
          this.$nextTick(() => {
            if (!fhck) {
              var Operation = null;
@@ -1110,7 +1173,7 @@
              axios({
                method: "post",
                url:
                  this.baseURL + "/Kf_MoveStockRequestBill/Kf_MoveStockRequestBillEdit",
                  this.$baseUrl + "/Cg_ContractTransportBillListController/Save%EF%BB%BFCg_ContractTransportBillList",
                data: {
                  sMainSub: sMainSub,
                },
@@ -1139,6 +1202,9 @@
      this.gyEmployeeShow = false;
      this.gySupplierShow = false;
      this.AreaDialogShow = false;
      this.CurrencyDialogShow = false;
      this.SettleStyleDialogShow = false;
      this.CarTypeShow = false;
    },
    //  打开数据列表弹窗
    openDataDialog(num, row) {
@@ -1146,6 +1212,7 @@
      if (row) {
        this.zbIndex = row.index - 1;
      }
      this.showReset();
      if (num == 1) {
        this.dialogTitle = "部门列表";