haoxuan
2024-04-18 35120acdc91fd8b86c5c85ccdcfeb63051095344
src/views/overview/AddOverviewDialog.vue
@@ -8,9 +8,18 @@
    >
      <!-- 头 -->
      <div slot="title" class="dialog-header">
        <span>{{ editCommonConfig.title === "查看" ? editCommonConfig.title : editCommonConfig.title + addName }}</span>
        <span>{{
          editCommonConfig.title == "查看"
            ? editCommonConfig.title
            : editCommonConfig.title + addName
        }}</span>
        <div class="header_btns">
          <span class="btn" :style="{ cursor: thatCursor, color: thatColor }" @click="btnPrint" :disabled="true">
          <span
            class="btn"
            :style="{ cursor: thatCursor, color: thatColor }"
            @click="btnPrint"
            :disabled="true"
          >
            <i class="el-icon-printer"></i>
            <span>打印</span>
          </span>
@@ -20,7 +29,7 @@
          </span>
          <el-button
            v-if="showEdit"
            :disabled="this.editConfig.infomation.status === 5"
            :disabled="this.editConfig.infomation.status == 5"
            plain
            size="mini"
            style="margin-left: 15px"
@@ -57,30 +66,51 @@
            <el-row>
              <el-col :span="12">
                <el-form-item prop="number">
                  <span slot="label">{{ workType === 1 ? "入库" : workType === 2 ? "出库" : "调拨" }}单号</span>
                  <span slot="label"
                    >{{
                      workType == 1
                        ? "入库"
                        : workType == 2
                        ? "出库"
                        : "调拨"
                    }}单号</span
                  >
                  <el-input
                    style="width: 85%"
                    v-if="
                      editConfig.title == '编辑' ||
                      editConfig.title == '查看' ||
                      (editConfig.title == '新建' && codenumer && (explain != '' || isIdDisabled))
                      (editConfig.title == '新建' &&
                        codenumer &&
                        (explain != '' || isIdDisabled))
                    "
                    :disabled="editConfig.title != '新建'"
                    v-model="editConfig.infomation.number"
                    placeholder="请输入编码"
                  >
                  </el-input>
                  <span v-else-if="editConfig.title == '新建'" style="color: #f56c6c; width: 85%"
                    >请优先配置编码规范 <el-button type="text" @click="numberClick"> 配置规范 </el-button></span
                  <span
                    v-else-if="editConfig.title == '新建'"
                    style="color: #f56c6c; width: 85%"
                    >请优先配置编码规范
                    <el-button type="text" @click="numberClick">
                      配置规范
                    </el-button></span
                  >
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item prop="companyName">
                  <span slot="label">{{ workType === 1 ? "供应商" : workType === 2 ? "客户" : "联系人" }}</span>
                  <span slot="label">{{
                    workType == 1
                      ? "供应商"
                      : workType == 2
                      ? "客户"
                      : "联系人"
                  }}</span>
                  <el-select
                    v-if="workType === 1"
                    v-if="workType == 1"
                    v-model="editConfig.infomation.companyName"
                    placeholder="请选择"
                    size="mini"
@@ -92,12 +122,15 @@
                      v-for="item in supplierOptions"
                      :key="item.SupplierId"
                      :label="item.SupplierName"
                      :value="{ value: item.SupplierId, label: item.SupplierName }"
                      :value="{
                        value: item.SupplierId,
                        label: item.SupplierName,
                      }"
                    >
                    </el-option>
                  </el-select>
                  <el-select
                    v-else-if="workType === 2"
                    v-else-if="workType == 2"
                    v-model="editConfig.infomation.companyName"
                    placeholder="请选择"
                    size="mini"
@@ -123,7 +156,7 @@
                    @change="companyChange"
                  >
                    <el-option
                      v-for="item in companyOptions"
                      v-for="item in personelOptions"
                      :key="item.id"
                      :label="item.name"
                      :value="{ value: item.id, label: item.name }"
@@ -133,7 +166,7 @@
                </el-form-item>
              </el-col>
              <!-- <el-col :span="12">
                <el-form-item v-if="workType === 3" label="联系人" prop="contacterName">
                <el-form-item v-if="workType == 3" label="联系人" prop="contacterName">
                  <el-select
                    v-model="editConfig.infomation.contacterName"
                    placeholder="请选择"
@@ -147,7 +180,7 @@
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item v-if="workType === 2" label="送货地址" prop="client_name">
                <el-form-item v-if="workType == 2" label="送货地址" prop="client_name">
                  <el-select
                    v-model="editConfig.infomation.memberId"
                    placeholder="请选择"
@@ -182,14 +215,23 @@
                    style="width: 90%"
                    :disabled="!showFooter"
                  >
                    <el-option v-for="item in operationTypeOptions" :key="item.id" :label="item.name" :value="item.id">
                    <el-option
                      v-for="item in operationTypeOptions"
                      :key="item.id"
                      :label="item.name"
                      :value="item.id"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col v-else :span="12">
                <el-form-item label="入库类型">
                  <el-input v-model="receiptType" disabled style="width: 90%"></el-input>
                  <el-input
                    v-model="receiptType"
                    disabled
                    style="width: 90%"
                  ></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
@@ -203,7 +245,10 @@
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item :label="workType === 1 ? '仓库位置' : '调出位置'" prop="location">
                <el-form-item
                  :label="workType == 1 ? '仓库位置' : '从'"
                  prop="location"
                >
                  <el-select
                    @change="rootLocationChange"
                    v-model="editConfig.infomation.location"
@@ -242,8 +287,8 @@
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12" v-if="workType === 3">
                <el-form-item label="调入位置" prop="toLocation">
              <el-col :span="12" v-if="workType == 3">
                <el-form-item label="至" prop="toLocation">
                  <el-select
                    @change="toLocationChange"
                    v-model="editConfig.infomation.toLocation"
@@ -257,6 +302,126 @@
                      :key="item.id"
                      :label="item.jointName"
                      :value="{ label: item.jointName, value: item.id }"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="主管" prop="managerObj">
                  <!-- <SimpleSearchInput
                      style="width: 90%"
                      v-model="editConfig.infomation.manager"
                      :echoValue="editConfig.infomation.manager"
                      :echoName="editConfig.infomation.manager"
                      checkedNum="1"
                      :clearable="true"
                      request='2'
                      @select-user="setFormItem($event, 'manager', 'managerName')"
                    >
                    </SimpleSearchInput> -->
                  <el-select
                    v-model="editConfig.infomation.managerObj"
                    placeholder="请选择"
                    size="mini"
                    style="width: 90%"
                    :disabled="!showFooter"
                    filterable
                    @change="
                      (event) =>
                        personChange(
                          event,
                          'manager',
                          'managerId',
                          'managerObj'
                        )
                    "
                  >
                    <el-option
                      v-for="item in personelOptions"
                      :key="item.id"
                      :label="item.name"
                      :value="{ value: item.id, label: item.name }"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="会计" prop="accountantObj">
                  <!-- <SimpleSearchInput
                      style="width: 90%"
                      v-model="editConfig.infomation.accountant"
                      :echoValue="editConfig.infomation.accountant"
                      :echoName="editConfig.infomation.accountant"
                      checkedNum="1"
                      :clearable="true"
                      request='2'
                      @select-user="setFormItem($event, 'manager', 'accountantName')"
                    >
                    </SimpleSearchInput> -->
                  <el-select
                    v-model="editConfig.infomation.accountantObj"
                    placeholder="请选择"
                    size="mini"
                    style="width: 90%"
                    filterable
                    :disabled="!showFooter"
                    @change="
                      (event) =>
                        personChange(
                          event,
                          'accountant',
                          'accountantId',
                          'accountantObj'
                        )
                    "
                  >
                    <el-option
                      v-for="item in personelOptions"
                      :key="item.id"
                      :label="item.name"
                      :value="{ value: item.id, label: item.name }"
                    >
                    </el-option>
                  </el-select>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="保管员" prop="custodianObj">
                  <!-- <SimpleSearchInput
                      style="width: 90%"
                      v-model="editConfig.infomation.custodian"
                      :echoValue="editConfig.infomation.custodian"
                      :echoName="editConfig.infomation.custodian"
                      checkedNum="1"
                      :clearable="true"
                      request='2'
                      @select-user="setFormItem($event, 'custodian', 'custodianName')"
                    >
                    </SimpleSearchInput> -->
                  <el-select
                    v-model="editConfig.infomation.custodianObj"
                    placeholder="请选择"
                    size="mini"
                    style="width: 90%"
                    filterable
                    :disabled="!showFooter"
                    @change="
                      (event) =>
                        personChange(
                          event,
                          'custodian',
                          'custodianId',
                          'custodianObj'
                        )
                    "
                  >
                    <el-option
                      v-for="item in personelOptions"
                      :key="item.id"
                      :label="item.name"
                      :value="{ value: item.id, label: item.name }"
                    >
                    </el-option>
                  </el-select>
@@ -294,10 +459,14 @@
            <el-tabs v-model="activeName" type="card">
              <!-- <el-tab-pane v-if="workType !== 1" label="详情" name="detail"> </el-tab-pane> -->
              <el-tab-pane label="产品" name="first"> </el-tab-pane>
              <el-tab-pane label="物流信息" name="two" v-if="this.workType === 2"></el-tab-pane>
              <el-tab-pane
                label="物流信息"
                name="two"
                v-if="this.workType == 2"
              ></el-tab-pane>
            </el-tabs>
            <!-- 操作 -->
            <div v-if="activeName === 'first'">
            <div v-if="activeName == 'first'">
              <CommonFormTableView
                ref="tableView"
                :islistingrules="true"
@@ -311,19 +480,29 @@
                @clearupProduct="clearupProduct"
              >
                <template v-if="showFooter" slot="tableButton">
                  <el-table-column label="操作" width="60" fixed="right" align="center">
                  <el-table-column
                    label="操作"
                    width="60"
                    fixed="right"
                    align="center"
                  >
                    <template slot-scope="scope">
                      <!-- <div @click="handleDelClick(scope, '操作')">
                        <i class="el-icon-delete"></i>
                      </div> -->
                      <el-button type="text" size="small" @click.stop="handleDelClick(scope, '操作')">删除</el-button>
                      <el-button
                        type="text"
                        size="small"
                        @click.stop="handleDelClick(scope, '操作')"
                        >删除</el-button
                      >
                    </template>
                  </el-table-column>
                </template>
              </CommonFormTableView>
            </div>
            <!-- 物流信息 -->
            <div v-if="activeName === 'two' && this.workType === 2">
            <div v-if="activeName == 'two' && this.workType == 2">
              <el-form
                :rules="rules2"
                ref="shipmentsInfo"
@@ -411,7 +590,7 @@
              </el-form>
            </div>
            <!-- 详情 -->
            <!-- <div v-if="activeName === 'detail'">
            <!-- <div v-if="activeName == 'detail'">
              <CommonFormTableView
                :product-table-list="detailTableList"
                :detail-enter="!showFooter"
@@ -435,15 +614,23 @@
      <!-- 尾 -->
      <div slot="footer" class="dialog-footer">
        <!-- <el-button type="primary" size="small" @click="editConfig.visible = false">保并提交审批</el-button> -->
        <el-button type="primary" size="small" @click="saveClick" :disabled="!showFooter">保存</el-button>
        <el-button size="small" @click="editConfig.visible = false">取消</el-button>
        <el-button
          type="primary"
          size="small"
          @click="saveClick"
          :disabled="!showFooter"
          >保存</el-button
        >
        <el-button size="small" @click="editConfig.visible = false"
          >取消</el-button
        >
      </div>
    </el-dialog>
  </div>
</template>
<script>
import CommonFormTableView from "@/components/makepager/CommonFormTableView"
import CommonFormTableView from "@/components/makepager/CommonFormTableView";
import {
  getLocationList,
  addOperation,
@@ -453,10 +640,16 @@
  deleteOperation,
  getListTransfer,
  getLogisticCompanyList,
  printReceipts
} from "@/api/overview/overview"
import { getSupplierList, getCompanyList, getClientList } from "@/api/common/other"
import codeMixin from "@/views/overview/mixin/codeMixin"
  printReceipts,
} from "@/api/overview/overview";
import {
  getSupplierList,
  getCompanyList,
  getClientList,
} from "@/api/common/other";
// import SimpleSearchInput from "@/components/makepager/SimpleSearchInput"
import { getPersonnelList } from "@/api/product/product";
import codeMixin from "@/views/overview/mixin/codeMixin";
export default {
  name: "AddOverviewDialog",
  mixins: [codeMixin],
@@ -468,55 +661,76 @@
          visible: false,
          title: "新建",
          operationTypeId: 0,
          infomation: {}
        }
      }
          infomation: {},
        };
      },
    },
    workType: {
      type: Number,
      type: [Number,String],
      default: function () {
        // return JSON.parse(window.sessionStorage.getItem('paramsData')).workType|| 1;
        return 1
      }
        return 1;
      },
    },
    addName: {
      type: String,
      default: "调拨"
      default: "调拨",
    },
    showOperationType: {
      type: Boolean,
      default: false
    }
      default: false,
    },
  },
  components: { CommonFormTableView },
  components: {
    CommonFormTableView,
    // SimpleSearchInput,
  },
  computed: {},
  data() {
    return {
      dialogWidth: "50%",
      editConfig: this.editCommonConfig,
      rules: {
        sourceNumber: [{ required: true, message: "请输入来源单据", trigger: "blur" }],
        operationDate: [{ required: true, message: "请选择日期", trigger: "change" }],
        toLocation: [{ required: true, message: "请选择位置", trigger: "change" }],
        location: [{ required: true, message: "请选择调出位置", trigger: "change" }],
        operationTypeId: [{ required: true, message: "请选择入库类型", trigger: "change" }],
        number: [{ required: true, validator: this.validateCheckCode, trigger: ["change", "blur"] }]
        sourceNumber: [
          { required: true, message: "请输入来源单据", trigger: "blur" },
        ],
        operationDate: [
          { required: true, message: "请选择日期", trigger: "change" },
        ],
        toLocation: [
          { required: true, message: "请选择位置", trigger: "change" },
        ],
        location: [
          { required: true, message: "请选择调出位置", trigger: "change" },
        ],
        operationTypeId: [
          { required: true, message: "请选择入库类型", trigger: "change" },
        ],
        number: [
          {
            required: true,
            validator: this.validateCheckCode,
            trigger: ["change", "blur"],
          },
        ],
      },
      rules2: {
        receiverPhone: [
          // {required: true, message: "请输入手机号", trigger: "change" },
          {
            pattern: /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/,
            pattern:
              /^1(3\d|4[5-9]|5[0-35-9]|6[2567]|7[0-8]|8\d|9[0-35-9])\d{8}$/,
            message: "请输入正确的手机号",
            trigger: ["blur", "change"]
          }
        ]
            trigger: ["blur", "change"],
          },
        ],
      },
      companyOptions: [], // 公司
      supplierOptions: [], //供应商
      clientOptions: [], //客户
      memberOptions: [{ id: 1, name: "管理员" }],
      formLocationOptions: [], // 调出位置
      personelOptions: [],
      formLocationOptions: [], // 至
      toLocationOptions: [], // 仓库位置
      showButton: true,
      activeName: "first",
@@ -544,89 +758,109 @@
        waybillNumber: "",
        weight: 0,
        logisticWeight: 0,
        receiverPhone: ""
        receiverPhone: "",
      },
      showCancel: false, // 取消是否可以显示
      list: [],
      pdfParams: {},
      thatCursor: this.workType === 3 ? "no-drop" : "pointer",
      thatColor: this.workType === 3 ? "#ccc" : "#000"
    }
      thatCursor: this.workType == 3 ? "no-drop" : "pointer",
      thatColor: this.workType == 3 ? "#ccc" : "#000",
    };
  },
  created() {
    this.getCompanyList()
    this.setStatusList()
    this.setTableForm()
    this.setBottonView()
    this.setDetailTableForm()
    this.getLocationList()
    this.getCompanyList();
    this.setStatusList();
    this.setTableForm();
    this.setBottonView();
    this.setDetailTableForm();
    this.getLocationList();
    this.receiptType =
      this.editConfig.title === "查看" || this.editConfig.title === "编辑"
      this.editConfig.title == "查看" || this.editConfig.title == "编辑"
        ? this.editConfig.infomation.operationTypeName
        : this.addName
        : this.addName;
    if (this.showOperationType) {
      this.getListTransfer()
      this.getListTransfer();
    }
    this.getLogisticCompanyList()
    this.formInfo()
    if (this.editConfig.title === "查看" || this.editConfig.title === "编辑") {
    this.getLogisticCompanyList();
    this.formInfo();
    if (this.editConfig.title == "查看" || this.editConfig.title == "编辑") {
      setTimeout(() => {
        this.$refs.tableView.setLocationList(this.editConfig.infomation.location.label)
      }, 100)
        this.$refs.tableView.setLocationList(
          this.editConfig.infomation.location.label
        );
      }, 100);
    }
  },
  mounted() {},
  methods: {
    setFormItem(val, itemMark, itemName) {
      this.editConfig.infomation[itemMark] = val.id;
      this.editConfig.infomation[itemName] = val.name;
    },
    formInfo() {
      this.objCode.type = this.workType === 1 ? "入库编码" : this.workType === 2 ? "出库编码" : "调拨编码"
      this.objCode.codeStandID = ""
      this.objCode.type =
        this.workType == 1
          ? "入库编码"
          : this.workType == 2
          ? "出库编码"
          : "调拨编码";
      this.objCode.codeStandID = "";
      if (this.editConfig.infomation.codeStandardID) {
        this.objCode.codeStandID = this.editConfig.infomation.codeStandardID
        this.objCode.codeStandID = this.editConfig.infomation.codeStandardID;
      }
      this.getRCodeStandardList()
      this.getRCodeStandardList();
    },
    setStatusList() {
      if (this.editConfig.infomation.status === 5) {
      if (this.editConfig.infomation.status == 5) {
        this.list = [
          { label: "草稿", status: "todo", value: 1 },
          { label: "正在等待", status: "todo", value: 2 },
          { label: "就绪", status: "todo", value: 3 },
          { label: "完成", status: "todo", value: 4 },
          { label: "已取消", status: "todo", value: 5 }
        ]
          { label: "已取消", status: "todo", value: 5 },
        ];
      } else {
        this.list = [
          { label: "草稿", status: "todo", value: 1 },
          { label: "正在等待", status: "todo", value: 2 },
          { label: "就绪", status: "todo", value: 3 },
          { label: "完成", status: "todo", value: 4 }
        ]
          { label: "完成", status: "todo", value: 4 },
        ];
      }
    },
    // 获取公司列表
    async getCompanyList() {
      if (this.workType === 1) {
      await getPersonnelList().then((res) => {
        if (res.code == 200) {
          this.personelOptions = res.data;
        }
      });
      if (this.workType == 1) {
        await getSupplierList().then((res) => {
          console.log(res)
          if (res.code === 200) {
            this.supplierOptions = res.data
          console.log(res);
          if (res.code == 200) {
            this.supplierOptions = res.data;
          }
        })
      } else if (this.workType === 2) {
        });
      } else if (this.workType == 2) {
        await getClientList().then((res) => {
          console.log(res)
          if (res.code === 200) {
            this.clientOptions = res.data
          console.log(res);
          if (res.code == 200) {
            this.clientOptions = res.data;
          }
        })
        });
      } else {
        await getCompanyList().then((res) => {
          console.log(res)
          if (res.code === 200) {
            this.companyOptions = res.data
          if (res.code == 200) {
            this.companyOptions = res.data;
          }
        })
        });
      }
    },
    personChange(val, name, id, obj) {
      this.editConfig.infomation[obj] = val;
      this.editConfig.infomation[name] = val.label;
      this.editConfig.infomation[id] = val.value;
    },
    // 获取调出位置/仓库位置列表
    async getLocationList() {
@@ -634,201 +868,224 @@
        keyWord: "",
        jointName: this.editConfig.code,
        page: 0,
        pageSize: 0
        pageSize: 0,
      }).then((res) => {
        console.log(res)
        if (res.code === 200) {
          this.formLocationOptions = res.data
        console.log(res);
        if (res.code == 200) {
          this.formLocationOptions = res.data;
        }
      })
      });
      await getLocationList({
        keyWord: "",
        // jointName: this.editConfig.code,
        page: 0,
        pageSize: 0
        pageSize: 0,
      }).then((res) => {
        console.log(res)
        if (res.code === 200) {
          this.toLocationOptions = res.data
        console.log(res);
        if (res.code == 200) {
          this.toLocationOptions = res.data;
        }
      })
      });
    },
    // 获取仓库类型
    async getListTransfer() {
      await getListTransfer({
        keyword: "",
        page: 0,
        pageSize: 0
        pageSize: 0,
      }).then((res) => {
        console.log(res.data)
        if (res.code === 200) {
        console.log(res.data);
        if (res.code == 200) {
          const list = res.data.map((item) => {
            return {
              name: item.name,
              id: item.id
            }
          })
          this.operationTypeOptions = list || []
              id: item.id,
            };
          });
          this.operationTypeOptions = list || [];
        }
      })
      });
    },
    // 设置删除/打印/编辑是否显示
    setBottonView() {
      console.log(this.editConfig.infomation.status)
      if (this.editConfig.title === "新建") {
        this.showButton = false
        this.showEdit = false
        this.showFooter = true
        this.isValidateClick = false
      } else if (this.editConfig.title === "编辑") {
        this.showButton = true
        this.showEdit = false
        this.isDelClick = true
        this.showFooter = true
      } else if (this.editConfig.title === "查看" && this.editConfig.infomation.status !== 4) {
        this.showButton = true
        this.showEdit = true
        this.isDelClick = true
        this.showFooter = false
        if (this.editConfig.infomation.status === "完成") {
          this.isValidateClick = false
        } else if (this.editConfig.infomation.status === 3) {
          this.isValidateClick = true
          this.showCancel = true
        } else if (this.editConfig.infomation.status === 5) {
          this.isCancel = true
          this.isValidateClick = true
      console.log(this.editConfig.infomation.status);
      if (this.editConfig.title == "新建") {
        this.showButton = false;
        this.showEdit = false;
        this.showFooter = true;
        this.isValidateClick = false;
      } else if (this.editConfig.title == "编辑") {
        this.showButton = true;
        this.showEdit = false;
        this.isDelClick = true;
        this.showFooter = true;
      } else if (
        this.editConfig.title == "查看" &&
        this.editConfig.infomation.status !== 4
      ) {
        this.showButton = true;
        this.showEdit = true;
        this.isDelClick = true;
        this.showFooter = false;
        if (this.editConfig.infomation.status == "完成") {
          this.isValidateClick = false;
        } else if (this.editConfig.infomation.status == 3) {
          this.isValidateClick = true;
          this.showCancel = true;
        } else if (this.editConfig.infomation.status == 5) {
          this.isCancel = true;
          this.isValidateClick = true;
        } else {
          this.isValidateClick = true
          this.isValidateClick = true;
        }
      } else if (this.editConfig.infomation.status === 4 || this.editConfig.infomation.status === "完成") {
        this.showButton = true
        this.showEdit = false
        this.isDelClick = true
        this.showFooter = false
        this.isValidateClick = false
      } else if (this.editConfig.infomation.status === 5) {
        this.isCancel = true
        this.showButton = true
        this.showEdit = false
        this.showFooter = false
        this.isValidateClick = false
      } else if (
        this.editConfig.infomation.status == 4 ||
        this.editConfig.infomation.status == "完成"
      ) {
        this.showButton = true;
        this.showEdit = false;
        this.isDelClick = true;
        this.showFooter = false;
        this.isValidateClick = false;
      } else if (this.editConfig.infomation.status == 5) {
        this.isCancel = true;
        this.showButton = true;
        this.showEdit = false;
        this.showFooter = false;
        this.isValidateClick = false;
      } else {
        // 就绪---
        this.showButton = true
        this.showEdit = true
        this.showFooter = false
        this.isValidateClick = true
        this.showCancel = true
        this.showButton = true;
        this.showEdit = true;
        this.showFooter = false;
        this.isValidateClick = true;
        this.showCancel = true;
      }
      if (this.editConfig.title === "新建") {
        this.list[0].status = "active"
      if (this.editConfig.title == "新建") {
        this.list[0].status = "active";
      } else {
        this.list.map((item) => {
          console.log(item, this.editConfig.infomation.status, "打印信息")
          if (item.value === this.editConfig.infomation.status || item.label === this.editConfig.infomation.status) {
            item.status = "active"
          console.log(item, this.editConfig.infomation.status, "打印信息");
          if (
            item.value == this.editConfig.infomation.status ||
            item.label == this.editConfig.infomation.status
          ) {
            item.status = "active";
          } else {
            item.status = "todo"
            item.status = "todo";
          }
        })
        });
      }
    },
    // 关闭
    handleClose() {
      this.editConfig.visible = false
      this.editConfig.visible = false;
    },
    // 编辑
    editClick() {
      this.showEdit = false
      this.showButton = false
      this.showFooter = true
      this.setTableForm()
      this.showEdit = false;
      this.showButton = false;
      this.showFooter = true;
      this.setTableForm();
    },
    async getLogisticCompanyList() {
      await getLogisticCompanyList().then((res) => {
        if (res.code === 200) {
          this.editConfig.infomation.carrier = res.data
        if (res.code == 200) {
          this.editConfig.infomation.carrier = res.data;
        }
      })
      });
    },
    // 保存
    saveClick() {
      let validArr = []
      if (this.workType === 2) {
        console.log("出库")
        validArr = [this.$refs.form.validate()]
      let validArr = [];
      if (this.workType == 2) {
        validArr = [this.$refs.form.validate()];
      } else {
        console.log("入库")
        validArr = [this.$refs.form.validate()]
        validArr = [this.$refs.form.validate()];
      }
      console.log(validArr, "xxx")
      console.log(validArr, "xxx");
      Promise.all(validArr)
        .then((results) => {
          console.log(results, "执行成功")
          console.log(results, "执行成功", this.tableData);
          for (let i = 0; i < this.tableData.length; i++) {
            if (this.tableData[i].productName.length === 0) {
              this.isNoProduct = true
              break
            if (this.tableData[i].productName.length == 0) {
              this.isNoProduct = true;
              break;
            } else {
              this.isNoProduct = false
              this.isNoProduct = false;
            }
          }
          if (this.isNoProduct) {
            this.$message.error("请添加明细行或选择产品不能为空")
            this.$message.error("请添加明细行或选择产品不能为空");
          } else {
            let params = this.saveParams()
            // if(this.workType===2){
            let params = this.saveParams();
            let isContinue=false;
            // if(this.workType==2){
            //   params.details.map((item)=>{
            //     item.fromLocationId=item.fromLocationId.value
            //   })
            // }else if(this.workType===3){
            // }else if(this.workType==3){
            //   params.details.map((item)=>{
            //     item.fromLocationId=item.fromLocationId.value
            //     item.toLocationId=item.toLocationId.value
            //   })
            // }
            // 产品列表解构
            if (this.editConfig.title === "编辑" || this.editConfig.title === "查看") {
              let arr = []
              if (this.workType === 1) {
            if (
              this.editConfig.title == "编辑" ||
              this.editConfig.title == "查看"
            ) {
              let arr = [];
              if (this.workType == 1) {
                params.details.map((item) => {
                  arr.push({
                    operationId: item.operationId,
                    amount: item.amount,
                    productId: item.productId
                  })
                })
                params.details = arr
              } else if (this.workType === 2) {
                    productId: item.productId,
                    auxiliaryUnit:item.auxiliaryUnit,
                    auxiliaryAmount:item.auxiliaryAmount,
                  });
                });
                params.details = arr;
              } else if (this.workType == 2) {
                params.details.map((item) => {
                  if (item.fromLocationId.value) {
                    arr.push({
                      operationId: item.operationId,
                      amount: item.amount,
                      fromLocationId: item.fromLocationId.value,
                      productId: item.productId
                    })
                      productId: item.productId,
                      auxiliaryUnit:item.auxiliaryUnit,
                      auxiliaryAmount:item.auxiliaryAmount,
                    });
                  } else {
                    arr.push({
                      operationId: item.operationId,
                      amount: item.amount,
                      fromLocationId: item.fromLocation.id,
                      productId: item.productId
                    })
                      productId: item.productId,
                      auxiliaryUnit:item.auxiliaryUnit,
                      auxiliaryAmount:item.auxiliaryAmount,
                    });
                  }
                })
                params.details = arr
              } else if (this.workType === 3) {
                console.log(params.details, "看看")
                });
                params.details = arr;
              } else if (this.workType == 3) {
                console.log(params.details, "看看");
                params.details.map((item) => {
                  arr.push({
                    operationId: item.operationId,
                    amount: item.amount,
                    fromLocationId: item.fromLocationId.value ? item.fromLocationId.value : item.fromLocation.id,
                    toLocationId: item.toLocationId.value ? item.toLocationId.value : item.toLocation.id,
                    productId: item.productId
                  })
                    fromLocationId: item.fromLocationId.value
                      ? item.fromLocationId.value
                      : item.fromLocation.id,
                    toLocationId: item.toLocationId.value
                      ? item.toLocationId.value
                      : item.toLocation.id,
                    productId: item.productId,
                    auxiliaryUnit:item.auxiliaryUnit,
                    auxiliaryAmount:item.auxiliaryAmount,
                  });
                  // if(item.fromLocationId.value){
                  //   arr.push({
                  //     operationId:item.operationId,
@@ -846,63 +1103,96 @@
                  //     productId:item.productId,
                  //   })
                  // }
                })
                params.details = arr
                });
                params.details = arr;
              }
            } else if (this.editConfig.title === "新建") {
              if (this.workType === 2) {
            } else if (this.editConfig.title == "新建") {
              if (this.workType == 2) {
                params.details.map((item) => {
                  item.fromLocationId = item.fromLocationId.value
                })
              } else if (this.workType === 3) {
                  item.fromLocationId = item.fromLocationId.value;
                });
              } else if (this.workType == 3) {
                params.details.map((item) => {
                  item.fromLocationId = item.fromLocationId.value
                  item.toLocationId = item.toLocationId.value
                })
                  if(!item.fromLocationId||!item.toLocationId){
                    isContinue=true
                    return true
                  }
                  item.fromLocationId = item.fromLocationId.value;
                  item.toLocationId = item.toLocationId.value;
                });
              }
              if(isContinue){
                this.$message.error('请填写完成表格!')
                return true;
              }
            }
            let requestUrl = this.editConfig.title === "新建" ? addOperation : updateOperation
            let requestUrl =
              this.editConfig.title == "新建" ? addOperation : updateOperation;
            // let params = this.saveParams()
            requestUrl({
              ...params
              ...params,
            }).then((res) => {
              this.editConfig.visible = false
              if (res.code === 200) {
                if (this.editConfig.title === "新建") {
                  this.$message.success("添加成功")
              this.editConfig.visible = false;
              if (res.code == 200) {
                if (this.editConfig.title == "新建") {
                  this.$message.success("添加成功");
                } else {
                  this.$message.success("编辑成功")
                  this.$message.success("编辑成功");
                }
                this.$parent.getData()
                this.$parent.getData();
              } else {
                this.$message.success(res.msg)
                this.$message.success(res.msg);
              }
            })
            });
          }
        })
        .catch((error) => {
          console.error("表单校验未通过:", error)
        })
          console.error("表单校验未通过:", error);
        });
    },
    saveParams() {
      let data = this.editConfig.infomation
      let companyID = 0
      let companyName = ""
      let contacterID = 0
      let contacterName = ""
      if (this.editConfig.title === "新建") {
        companyID = Object.keys(this.companyObj).length === 0 ? 0 : this.companyObj.value
        companyName = Object.keys(this.companyObj).length === 0 ? "" : this.companyObj.label
        contacterID = Object.keys(this.contacterObj).length === 0 ? 0 : this.contacterObj.value
        contacterName = Object.keys(this.contacterObj).length === 0 ? "" : this.contacterObj.label
      let data = this.editConfig.infomation;
      let companyID = '';
      let companyName = "";
      let contacterID = '';
      let contacterName = "";
      if (this.editConfig.title == "新建") {
        companyID =
          Object.keys(this.companyObj).length == 0 ? '' : this.companyObj.value;
        companyName =
          Object.keys(this.companyObj).length == 0
            ? ""
            : this.companyObj.label;
        contacterID =
          Object.keys(this.contacterObj).length == 0
            ? 0
            : this.contacterObj.value;
        contacterName =
          Object.keys(this.contacterObj).length == 0
            ? ""
            : this.contacterObj.label;
      } else {
        companyID = Object.keys(this.companyObj).length === 0 ? data.companyID : this.companyObj.value
        companyName = Object.keys(this.companyObj).length === 0 ? data.companyName : this.companyObj.label
        contacterID = Object.keys(this.contacterObj).length === 0 ? data.contacterID : this.contacterObj.value
        contacterName = Object.keys(this.contacterObj).length === 0 ? data.contacterName : this.contacterObj.label
        companyID =
          Object.keys(this.companyObj).length == 0
            ? data.companyID
            : this.companyObj.value;
        companyName =
          Object.keys(this.companyObj).length == 0
            ? data.companyName
            : this.companyObj.label;
        contacterID =
          Object.keys(this.contacterObj).length == 0
            ? data.contacterID
            : this.contacterObj.value;
        contacterName =
          Object.keys(this.contacterObj).length == 0
            ? data.contacterName
            : this.contacterObj.label;
      }
      let params = {}
      if (this.workType === 1 || this.workType === 2) {
      let params = {};
      if (this.workType == 1 || this.workType == 2) {
        params = {
          baseOperationType: data.baseOperationType,
          comment: data.comment || "",
@@ -915,7 +1205,9 @@
          id: data.id,
          number: data.number || "",
          operationDate: data.operationDate || "",
          operationTypeId: this.showOperationType ? data.operationTypeId : this.editConfig.operationTypeId,
          operationTypeId: this.showOperationType
            ? data.operationTypeId
            : this.editConfig.operationTypeId,
          operationTypeName: this.receiptType,
          sourceNumber: data.sourceNumber || "",
          status: 3,
@@ -926,9 +1218,15 @@
          logisticCompanyId: data.logisticCompanyId,
          receiverAddr: data.receiverAddr || "",
          receiverName: data.receiverName || "",
          receiverPhone: data.receiverPhone || ""
        }
      } else if (this.workType === 3) {
          receiverPhone: data.receiverPhone || "",
          manager: data.manager || "",
          managerId: data.managerId || "",
          accountant: data.accountant || "",
          accountantId: data.accountantId || "",
          custodian: data.custodian || "",
          custodianId: data.custodianId || "",
        };
      } else if (this.workType == 3) {
        params = {
          baseOperationType: data.baseOperationType,
          comment: data.comment || "",
@@ -941,7 +1239,9 @@
          id: data.id,
          number: data.number || "",
          operationDate: data.operationDate || "",
          operationTypeId: this.showOperationType ? data.operationTypeId : this.editConfig.operationTypeId,
          operationTypeId: this.showOperationType
            ? data.operationTypeId
            : this.editConfig.operationTypeId,
          operationTypeName: this.receiptType,
          sourceNumber: data.sourceNumber || "",
          status: 3,
@@ -952,21 +1252,27 @@
          logisticCompanyId: data.logisticCompanyId,
          receiverAddr: data.receiverAddr || "",
          receiverName: data.receiverName || "",
          receiverPhone: data.receiverPhone || ""
        }
          receiverPhone: data.receiverPhone || "",
          manager: data.manager || "",
          managerId: data.managerId || "",
          accountant: data.accountant || "",
          accountantId: data.accountantId || "",
          custodian: data.custodian || "",
          custodianId: data.custodianId || "",
        };
      }
      return params
      return params;
    },
    // 删除
    async delClick() {
      await deleteOperation(this.editConfig.infomation.id).then((res) => {
        console.log(res)
        this.editConfig.visible = false
        if (res.code === 200) {
          this.$message.success("删除成功")
          this.$parent.getData()
        console.log(res);
        this.editConfig.visible = false;
        if (res.code == 200) {
          this.$message.success("删除成功");
          this.$parent.getData();
        }
      })
      });
    },
    // 操作列表
    setTableForm() {
@@ -975,71 +1281,239 @@
        this.editConfig.infomation.details &&
        this.editConfig.infomation.details.length > 0
      ) {
        const list = this.editConfig.infomation.details.map((item) => {
          return {
            ...item,
            productName: item.product.name,
            unit: item.product.unit
          }
        })
        this.tableData = list
        const list= this.getTwoTable(this.editConfig.infomation.details,'1')
        this.tableData = list;
      } else {
        this.tableData = []
        this.tableData = [];
      }
      // this.tableData = this.editConfig.title !== "新建" ? list : []
      let tableColumnArr = []
      if (this.workType === 1) {
      let tableColumnArr = [];
      if (this.workType == 1) {
        tableColumnArr = [
          { label: "产品名称", prop: "productName", productName: true, isRequird: true },
          { label: "产品编码", prop: "id" },
          { label: "计量单位", prop: "unit" },
          {
            label: "产品名称",
            prop: "productName",
            productName: true,
            isRequird: true,
          },
          { label: "产品编码", prop: "productId" },
          { label: "数量", prop: "amount", inputFloat: true },
          { label: "产品规格", prop: "specs" },
          { label: "产品型号", prop: "model" },
          { label: "数量", prop: "amount", inputFloat: true }
        ]
      } else if (this.workType === 2) {
        tableColumnArr = [
          { label: "产品名称", prop: "productName", productName: true, isRequird: true },
          { label: "产品编码", prop: "id" },
          { label: "计量单位", prop: "unit" },
          { label: "辅助数量", prop: "auxiliaryAmount",inputFloatValue:true,isInputFloat:'inputFloatAuxiliaryAmount' },
          { label: "辅助单位", prop: "auxiliaryUnit" },
          { label: "毛重", prop: "grossWeight" },
          { label: "总毛重", prop: "totalGrossWeight" },
          { label: "净重", prop: "netWeight" },
          { label: "总净重", prop: "totalNetWeight" }
        ];
      } else if (this.workType == 2) {
        tableColumnArr = [
          {
            label: "产品名称",
            prop: "productName",
            productName: true,
            isRequird: true,
          },
          { label: "产品编码", prop: "productId" },
          { label: "数量", prop: "amount", inputFloat: true },
          { label: "产品规格", prop: "specs" },
          { label: "产品型号", prop: "model" },
          // { label: "调出位置", prop: "fromLocationId", sonLocation: true, isRequird: true },
          { label: "数量", prop: "amount", inputFloat: true }
        ]
      } else if (this.workType === 3) {
        tableColumnArr = [
          { label: "产品名称", prop: "productName", productName: true, isRequird: true },
          { label: "产品编码", prop: "id" },
          {
            label: "从",
            prop: "fromLocationId",
            sonLocation: true,
            isRequird: true,
          },
          { label: "计量单位", prop: "unit" },
          { label: "辅助数量", prop: "auxiliaryAmount",inputFloatValue:true,isInputFloat:'inputFloatAuxiliaryAmount' },
          { label: "辅助单位", prop: "auxiliaryUnit" },
          { label: "毛重", prop: "grossWeight" },
          { label: "总毛重", prop: "totalGrossWeight" },
          { label: "净重", prop: "netWeight" },
          { label: "总净重", prop: "totalNetWeight" }
        ];
      } else if (this.workType == 3) {
        tableColumnArr = [
          {
            label: "产品名称",
            prop: "productName",
            productName: true,
            isRequird: true,
          },
          { label: "产品编码", prop: "productId" },
          { label: "数量", prop: "amount", inputFloat: true },
          { label: "产品规格", prop: "specs" },
          { label: "产品型号", prop: "model" },
          { label: "调出位置", prop: "fromLocationId", sonLocation: true, isRequird: true },
          { label: "调入位置", prop: "toLocationId", toLocation: true, isRequird: true },
          { label: "数量", prop: "amount", inputFloat: true }
        ]
          {
            label: "从",
            prop: "fromLocationId",
            sonLocation: true,
            isRequird: true,
          },
          {
            label: "至",
            prop: "toLocationId",
            toLocation: true,
            isRequird: true,
          },
          { label: "计量单位", prop: "unit" },
          { label: "辅助数量", prop: "auxiliaryAmount",inputFloatValue:true,isInputFloat:'inputFloatAuxiliaryAmount' },
          { label: "辅助单位", prop: "auxiliaryUnit" },
          { label: "毛重", prop: "grossWeight" },
          { label: "总毛重", prop: "totalGrossWeight" },
          { label: "净重", prop: "netWeight" },
          { label: "总净重", prop: "totalNetWeight" }
        ];
      } else if (this.workType == 4) {
        tableColumnArr = [
          {
            label: "产品名称",
            prop: "productName",
            productName: true,
            isRequird: true,
          },
          { label: "产品编码", prop: "productId" },
          { label: "数量", prop: "amount", inputFloat: true },
          { label: "产品规格", prop: "specs" },
          { label: "产品型号", prop: "model" },
          {
            label: "从",
            prop: "fromLocationId",
            sonLocation: true,
            isRequird: true,
          },
          {
            label: "至",
            prop: "toLocationId",
            toLocation: true,
            isRequird: true,
          },
          { label: "计量单位", prop: "unit" },
        ];
      } else if (this.workType == 5) {
        tableColumnArr = [
          {
            label: "产品名称",
            prop: "productName",
            productName: true,
            isRequird: true,
          },
          { label: "产品编码", prop: "productId" },
          { label: "数量", prop: "amount", inputFloat: true },
          { label: "产品规格", prop: "specs" },
          { label: "产品型号", prop: "model" },
          {
            label: "从",
            prop: "fromLocationId",
            sonLocation: true,
            isRequird: true,
          },
          {
            label: "至",
            prop: "toLocationId",
            toLocation: true,
            isRequird: true,
          },
          { label: "计量单位", prop: "unit" },
        ];
      }
      this.productTableList = {
        tableData: this.tableData,
        tableColumn: tableColumnArr
      }
        tableColumn: tableColumnArr,
      };
    },
    getTwoTable(data,value){
        let list = data.map((res) => {
        let adjunctUnit=''
        let adjunctAmount=''
        let isValue=false
        let moreUnit=null
        let moreUnitList=[]
        if(value==1){
          moreUnit=res.product.moreUnit
          moreUnitList=res.product.moreUnitList
        }else{
          moreUnit=res.moreUnit
          moreUnitList=res.moreUnitList
        }
        if(moreUnit&&moreUnitList){
          if(moreUnitList.length>0){
            for(let j in moreUnitList){
              if(moreUnitList[j].floating){
                isValue=true;
                adjunctUnit=moreUnitList[j].unit
                adjunctAmount=moreUnitList[j].amount
                break;
              }
            }
            if(!isValue){
              for(let j in moreUnitList){
                 if(moreUnitList[j].unit){
                  adjunctUnit=moreUnitList[j].unit
                  adjunctAmount=moreUnitList[j].amount
                  break;
                }
              }
            }
          }
        }
        if(value==1){
          return {
            ...res,
            productName: res.product.name,
            productId: res.product.id,
            unit: res.product.unit,
            model:res.product.model,
            specs:res.product.specs,
            auxiliaryUnit:res.auxiliaryUnit,
            auxiliaryAmount:res.auxiliaryAmount,
            inputFloatAuxiliaryAmount:isValue,
            grossWeight:res.product.grossWeight,
            totalGrossWeight:res.totalGrossWeight,
            netWeight:res.product.netWeight,
            totalNetWeight:res.totalNetWeight,
          };
        }else{
          return {
            ...res,
            amount: 1,
            productName: res.name,
            productId: res.id,
            auxiliaryUnit:adjunctUnit,
            auxiliaryAmount:Number(adjunctAmount),
            inputFloatAuxiliaryAmount:isValue,
            grossWeight:Number(res.grossWeight),
            totalGrossWeight:res.grossWeight?Number(res.grossWeight)*1:'',
            netWeight:Number(res.netWeight),
            totalNetWeight:res.netWeight?Number(res.netWeight)*1:'',
          };
        }
      });
        return list||[];
    },
    // 操作输入
    inputContent(val, prop, row) {
      this.countId = row.countId
      this.countId = row.countId;
      this.tableData.map((item) => {
        if (item.id === row.id) {
          item[prop] = val
        if (item.id == row.id) {
          item[prop] = val;
          if(prop=='amount'){
            item.totalGrossWeight=item[prop]&&item.grossWeight?Number(item.grossWeight)*Number(item[prop]):''
            item.totalNetWeight=item[prop]&&item.netWeight?Number(item.netWeight)*Number(item[prop]):''
          }
        }
      })
      });
    },
    // 新增
    addProductClick(value) {
      console.log(value)
      // if (value === "操作") {
      console.log(value);
      // if (value == "操作") {
      //   console.log(this.tableData)
      //   for (let i = 0; i < this.tableData.length; i++) {
      //     if (this.tableData[i].productName.length === 0) {
      //     if (this.tableData[i].productName.length == 0) {
      //       this.isNoProduct = false
      //       break
      //     } else {
@@ -1059,7 +1533,7 @@
      // } else {
      //   console.log(this.detailTableData)
      //   for (let i = 0; i < this.detailTableData.length; i++) {
      //     if (this.detailTableData[i].name.length === 0) {
      //     if (this.detailTableData[i].name.length == 0) {
      //       this.isNoDetail = true
      //       break
      //     } else {
@@ -1084,100 +1558,95 @@
    // 新增方式修改
    getSelectArray(val, index) {
      if (this.tableData.length == 1 && this.tableData[0].number.length == 0) {
        this.tableData = []
        this.tableData = [];
      }
      if (index < this.tableData.length) {
        this.tableData.splice(index, 1)
        this.tableData.splice(index, 1);
        val.map((item, ind) => {
          this.tableData.splice(index + ind, 0, item)
        })
          this.tableData.splice(index + ind, 0, item);
        });
      } else {
        this.tableData = this.tableData.concat(val)
        this.tableData = this.tableData.concat(val);
      }
      console.log(this.tableData)
      let list = this.tableData.map((res) => {
        return {
          ...res,
          productName: res.name
        }
      })
      this.productTableList.tableData = list
      const list= this.getTwoTable(this.tableData,2)
      this.tableData = list;
      this.productTableList.tableData = list;
      // this.showSummary.show = true
    },
    //  产品清空
    emptyProductClick() {
      this.tableData = []
      this.productTableList.tableData = this.tableData
      this.tableData = [];
      this.productTableList.tableData = this.tableData;
    },
    clearupProduct(data) {
      this.tableData = data
      this.productTableList.tableData = this.tableData
      this.tableData = data;
      this.productTableList.tableData = this.tableData;
    },
    // 删除
    handleDelClick(scope, value) {
      console.log(scope)
      if (value === "操作") {
        this.tableData.splice(scope.$index, 1)
        this.productTableList.tableData.splice(scope.$index, 1)
        this.$message.success("删除成功!")
      if (value == "操作") {
        this.tableData.splice(scope.$index, 1);
        this.productTableList.tableData = this.tableData;
        this.$message.success("删除成功!");
      } else {
        this.detailTableData.splice(scope.$index, 1)
        this.detailTableData.splice(scope.$index, 1);
      }
    },
    // 详情列表
    setDetailTableForm() {
      this.setTableColumn()
      this.setTableColumn();
      this.detailTableList = {
        tableData: this.detailTableData,
        tableColumn: this.tableColumn
      }
        tableColumn: this.tableColumn,
      };
    },
    setTableColumn() {
      if (this.workType === "内部调拨") {
      if (this.workType == "内部调拨"||this.workType==3) {
        this.tableColumn = [
          { label: "产品", prop: "name", productName: true, isRequird: true },
          { label: "从", prop: "number", select: true },
          { label: "至", prop: "amount", select: true },
          { label: "完成", prop: "total", inputFloat: true },
          { label: "计量单位", prop: "total", select: true }
        ]
          { label: "计量单位", prop: "total", select: true },
        ];
      } else {
        this.tableColumn = [
          { label: "产品", prop: "name", productName: true, isRequird: true },
          { label: "从", prop: "number", select: true },
          { label: "完成", prop: "total", inputFloat: true },
          { label: "计量单位", prop: "total", select: true }
        ]
          { label: "计量单位", prop: "total", select: true },
        ];
      }
    },
    // 详情输入
    inputDetail(val, prop, row) {
      this.detailId = row.detailId
      this.detailId = row.detailId;
      this.detailTableData.map((item) => {
        if (item.detailId === row.detailId) {
          item[prop] = val
        if (item.detailId == row.detailId) {
          item[prop] = val;
        }
      })
      });
    },
    // 客户选择
    companyChange(val) {
      console.log(val)
      this.companyObj = val
      console.log(val);
      this.companyObj = val;
    },
    // 负责人选择
    contacterChange(val) {
      this.contacterObj = val
      this.contacterObj = val;
    },
    // 验证
    async validateClick() {
      await updateStatus(this.editConfig.infomation.id).then((res) => {
        console.log(res)
        this.editConfig.visible = false
        if (res.code === 200) {
          this.$message.success("验证成功")
          this.$parent.getData()
        console.log(res);
        this.editConfig.visible = false;
        if (res.code == 200) {
          this.$message.success("验证成功");
          this.$parent.getData();
        }
      })
      });
    },
    // 取消
@@ -1185,71 +1654,75 @@
      this.$confirm("确定取消吗?", "提示", {
        confirmButtonText: "确定",
        cancelButtonText: "取消",
        type: "warning"
        type: "warning",
      })
        .then(() => {
          stateCancel(this.editConfig.infomation.id).then((res) => {
            console.log(res)
            this.editConfig.visible = false
            if (res.code === 200) {
              this.$message.success("取消调拨")
              this.$parent.getData()
            console.log(res);
            this.editConfig.visible = false;
            if (res.code == 200) {
              this.$message.success("取消调拨");
              this.$parent.getData();
            }
          })
          });
          this.list.map((item) => {
            if (item.label === "已取消") {
              item.status = "active"
            if (item.label == "已取消") {
              item.status = "active";
            } else {
              item.status = "todo"
              item.status = "todo";
            }
          })
          });
        })
        .catch(() => {})
        .catch(() => {});
    },
    //打印
    async btnPrint() {
      if (this.workType !== 3) {
        localStorage.removeItem("pdfParams")
        localStorage.removeItem("pdfParams");
        try {
          let res = await printReceipts(this.editCommonConfig.infomation.id)
          console.log(res)
          if (res.code === 200) {
            console.log(this.editConfig.infomation.baseOperationType, "类型")
          let res = await printReceipts(this.editCommonConfig.infomation.id);
          console.log(res);
          if (res.code == 200) {
            console.log(this.editConfig.infomation.baseOperationType, "类型");
            let pdfParams = {
              url: res.data,
              baseOperationType: this.editConfig.infomation.baseOperationType || undefined,
              cutAfterWidth: this.editConfig.infomation.baseOperationType === 2 ? 50.8 : 53.3
            }
              baseOperationType:
                this.editConfig.infomation.baseOperationType || undefined,
              cutAfterWidth:
                this.editConfig.infomation.baseOperationType == 2
                  ? 50.8
                  : 53.3,
            };
            var { href } = this.$router.resolve({
              path: "/overview/previewExcel",
              query: {
                ...pdfParams
              }
            })
            window.open(href, "_blank")
                ...pdfParams,
              },
            });
            window.open(href, "_blank");
          }
        } catch (error) {
          console.error(error)
          console.error(error);
        }
      }
    },
    // 调出位置选择
    rootLocationChange(val) {
      this.editConfig.infomation.location = val
      this.editConfig.infomation.location = val;
      // this.productTableList.tableData.map((item)=>{
      //   console.log(item,"item")
      //   // item.toLocationId={}
      //   // item.fromLocationId={}
      // })
      this.$refs.tableView.setLocationList(val.label, "fromLocation")
      this.$refs.tableView.setLocationList(val.label, "fromLocation");
    },
    // 仓库位置选择
    toLocationChange(val) {
      this.editConfig.infomation.toLocation = val
      this.$refs.tableView.setLocationList(val.label, "toLocation")
    }
  }
}
      this.editConfig.infomation.toLocation = val;
      this.$refs.tableView.setLocationList(val.label, "toLocation");
    },
  },
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->