1
liuying
2024-04-25 7867fe8c467bea3ad03e979f0215d175b5b1b94e
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue
@@ -1,9 +1,10 @@
<template>
  <a-modal :title="title" :width="1300" :visible="visible" :confirmLoading="confirmLoading" @ok="handleSubmit"
    @cancel="handleCancel">
    @cancel="handleCancel" :footer="null">
    <a-spin :spinning="confirmLoading">
      <!-- tab -->
      <a-tabs default-active-key="1" @change="callbacktab">
      <a-tabs default-active-key="1" @change="callbacktab" v-if="visible">
        <a-tab-pane key="1" tab="基本信息">
          <!-- <add-form ref="addFormRef" @ok="handleOk" /> -->
          <!-- 基本信息  layout="inline"  layout="vertical" -->
@@ -28,8 +29,9 @@
            </a-form-item> -->
            <a-form-item label="物料类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-select style="width: 100%" placeholder="请选择物料类型" v-decorator="['materialType']">
                <a-select-option v-for="(item, index) in materialTypeData" :key="index" :value="item.materialTypeCode">{{
              <a-select style="width: 100%" placeholder="请选择物料类型"
                v-decorator="['materialType', { rules: [{ required: true, message: '请选择物料类型!' }] }]">
                <a-select-option v-for="(item, index) in materialTypeData" :key="index" :value="item.id">{{
                  item.materialTypeName }}</a-select-option>
              </a-select>
            </a-form-item>
@@ -61,7 +63,7 @@
              <!-- <a-input placeholder="请输入库存单位" v-decorator="['materialUnit']" /> -->
              <a-select style="width: 100%" placeholder="请选择库存单位" v-decorator="['materialUnit']">
                <a-select-option v-for="(item, index) in selectTypeData1" :key="index" :value="item.unitCode">{{
                <a-select-option v-for="(item, index) in selectTypeData1" :key="index" :value="item.unitName">{{
                  item.unitName }}</a-select-option>
              </a-select>
@@ -70,8 +72,8 @@
            <a-form-item label="采购单位" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <!-- <a-input placeholder="请输入采购单位" v-decorator="['pOUnit']" /> -->
              <a-select style="width: 100%" placeholder="请选择采购单位" v-decorator="['pOUnit']">
                <a-select-option v-for="(item, index) in selectTypeData2" :key="index" :value="item.unitCode">{{
              <a-select style="width: 100%" placeholder="请选择采购单位" v-decorator="['poUnit']">
                <a-select-option v-for="(item, index) in selectTypeData2" :key="index" :value="item.unitName">{{
                  item.unitName }}</a-select-option>
              </a-select>
@@ -84,7 +86,7 @@
              <a-input placeholder="请输入重量" v-decorator="['weight']" />
            </a-form-item>
            <a-form-item label="标包数量" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入标包数量" v-decorator="['sNP']" />
              <a-input placeholder="请输入标包数量" v-decorator="['snp']" />
            </a-form-item>
            <a-form-item label="换算率" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入换算率" v-decorator="['translateRate']" />
@@ -101,19 +103,21 @@
            <a-form-item label="描述" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入描述" v-decorator="['materialDesc']" />
            </a-form-item>
            <a-form-item v-show="false"><a-input v-decorator="['id']" /></a-form-item>
          </a-form>
        </a-tab-pane>
        <!-- force-render 很重要 不然ref实例获取不到 -->
        <a-tab-pane key="2" tab="控制属性" force-render>
          <add-control-rule v-if="visible" ref="WmsControlRuleRef" />
          <add-control-rule ref="WmsControlRuleRef" />
        </a-tab-pane>
        <a-tab-pane key="3" tab="批次属性">
        <a-tab-pane key="3" tab="批次属性" force-render>
          需求待定
        </a-tab-pane>
        <a-tab-pane key="4" tab="替代品管理">
          <add-form-sub v-if="visible" ref="addFormWmsSubstituteGoodRef" />
        <a-tab-pane key="4" tab="替代品管理" force-render>
          <add-form-sub ref="addFormWmsSubstituteGoodRef" />
        </a-tab-pane>
        <a-tab-pane key="5" tab="客户">
          <add-form-base-customer v-if="visible" ref="addFormBaseCustomer" />
        <a-tab-pane key="5" tab="往来单位" force-render>
          <add-form-base-customer ref="addFormBaseCustomer" />
        </a-tab-pane>
        <!-- <a-tab-pane key="6" tab="包装关系">
@@ -121,6 +125,12 @@
        </a-tab-pane> -->
      </a-tabs>
    </a-spin>
    <div style="text-align: right;">
      <a-button @click="handleCancel">职消</a-button>
      <a-button v-if="title != '详情物料信息详情'" type="primary" @click="handleSubmit">确定</a-button>
    </div>
  </a-modal>
</template>
@@ -211,7 +221,7 @@
        this.$nextTick(() => {
          // let materialCode = this.form.getFieldValue('materialCode');
          // let materialName = this.form.getFieldValue('materialName');
          this.$refs.addFormWmsSubstituteGoodRef.initShowSubstituteGood()
          // this.$refs.addFormWmsSubstituteGoodRef.initShowSubstituteGood()
        })
      }
    },
@@ -230,23 +240,22 @@
            ...record
          })
        })
        this.confirmLoading = true
        WmsMaterialDetailList({
          id: record.id
        })
          .then(res => {
            if (res.success) {
              console.log(res)
              this.$nextTick(() => {
                this.$refs.addFormWmsSubstituteGoodRef.list = res.data.substituteGoodList || []
                this.$refs.addFormBaseCustomer.list = res.data.baseCustomerList || []
                if (res.data.controlRuleDetailList && res.data.controlRuleDetailList.length > 0) {
                  this.$refs.WmsControlRuleRef.form.setFieldsValue({
                    ...res.data.controlRuleDetailList[0]
                  })
                }
                this.$refs.addFormWmsSubstituteGoodRef.list = res.data.substituteGoodList || []
                this.$refs.addFormBaseCustomer.list = res.data.baseCustomerList || []
              })
              })
            } else {
              this.$message.error('详情失败:' + JSON.stringify(res.message))
            }
@@ -298,6 +307,10 @@
          //   values.stationNameParameter = values.stationNameParameterArr.join(',')
          // }
          console.log("物料信息9999999999999999")
          console.log(values);
          console.log(6666666666666 + '控制属性')
          var ControlRuleld = this.$refs.WmsControlRuleRef.form.getFieldValue('id') || ''
@@ -317,16 +330,19 @@
            BaseCustomerList = this.$refs.addFormBaseCustomer.list
          }
          console.log(6666666666666 + '往来关系集合')
          console.log(6666666666666 + '往来单位集合')
          // console.log(6666666666666 + '包装关系')
          // console.log(this.$refs.addFormContainerPackagingRef.list)
          var a1 = []
          BaseCustomerList.forEach((item) => {
            a1.push(item.id)
          })
          var param = {
            MaterialInput: values,
            ControlRuleld: ControlRuleld, //控制属性
            SubstituteGoodList: SubstituteGoodList, //替代品
            BaseCustomerList: BaseCustomerList, //往来关系集合
            BaseCustomerList: a1, //往来单位集合
            // ContainerPackagingList: this.$refs.addFormContainerPackagingRef.list //包装关系
          }
          this.confirmLoading = true