1
liuying
2024-04-24 92ed3377c3e3ba181fb7f63eafbe22aa6c7fe0b9
iWare_RawMaterialWarehouse_Web/src/views/main/WmsBase/WmsMaterial/tabForm.vue
@@ -6,7 +6,6 @@
      <a-tabs default-active-key="1" @change="callbacktab">
        <a-tab-pane key="1" tab="基本信息">
          <!-- <add-form ref="addFormRef" @ok="handleOk" /> -->
          <!-- 基本信息 -->
          <a-form :form="form">
            <a-form-item label="物料名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
@@ -20,16 +19,13 @@
            <a-form-item label="ERP编号" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入ERP编号" v-decorator="['erpCode']" />
            </a-form-item>
            <a-form-item label="物料类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
            <!-- <a-form-item label="物料类型名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入物料类型名称" v-decorator="['materialTypeName']" />
            </a-form-item>
            <a-form-item label="物料类型描述" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入物料类型描述" v-decorator="['materialTypeDescr']" />
            </a-form-item>
            <!-- <a-form-item label="物料类型" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input-number placeholder="请输入物料类型" style="width: 100%" v-decorator="['materialType']" />
            </a-form-item> -->
            <a-form-item label="物料类型" :labelCol="labelCol" :wrapperCol="wrapperCol">
              <a-select style="width: 100%" placeholder="请选择物料类型" v-decorator="['materialType']">
@@ -47,9 +43,9 @@
            <a-form-item label="物料组" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入物料组" v-decorator="['materialGroup']" />
            </a-form-item>
            <a-form-item label="ABC分类名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
            <!-- <a-form-item label="ABC分类名称" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入ABC分类名称" v-decorator="['aBCClassName']" />
            </a-form-item>
            </a-form-item> -->
            <a-form-item label="ABC分类" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input-number placeholder="请输入ABC分类" style="width: 100%" v-decorator="['aBCClass']" />
            </a-form-item>
@@ -77,12 +73,12 @@
            <a-form-item label="换算率" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入换算率" v-decorator="['translateRate']" />
            </a-form-item>
            <a-form-item label="批次属性规则" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
            <!-- <a-form-item label="批次属性规则" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入批次属性规则" v-decorator="['batchRuleId']" />
            </a-form-item>
            <a-form-item label="控制属性规则" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-input placeholder="请输入控制属性规则" v-decorator="['controlRuleId']" />
            </a-form-item>
            </a-form-item> -->
            <a-form-item label="是否禁用" :labelCol="labelCol" :wrapperCol="wrapperCol" has-feedback>
              <a-switch v-decorator="['isDisabled', { valuePropName: 'checked' }]" />
            </a-form-item>
@@ -92,21 +88,21 @@
          </a-form>
        </a-tab-pane>
        <a-tab-pane key="2" tab="控制属性" force-render>
          <add-control-rule ref="WmsControlRule" @ok="handleOk" />
          <add-control-rule v-if="visible" ref="WmsControlRule" />
        </a-tab-pane>
        <a-tab-pane key="3" tab="批次属性">
          需求待定
        </a-tab-pane>
        <a-tab-pane key="4" tab="替代品管理">
          <add-form-sub ref="addFormWmsSubstituteGoodRef" @ok="handleOk" />
          <add-form-sub v-if="visible" ref="addFormWmsSubstituteGoodRef" />
        </a-tab-pane>
        <a-tab-pane key="5" tab="客户">
          <add-form-base-customer ref="addFormBaseCustomer" @ok="handleOk" />
          <add-form-base-customer v-if="visible" ref="addFormBaseCustomer" />
        </a-tab-pane>
        <a-tab-pane key="6" tab="包装关系">
        <!-- <a-tab-pane key="6" tab="包装关系">
          <add-form-container-packaging ref="addFormContainerPackagingRef" @ok="handleOk" />
        </a-tab-pane>
        </a-tab-pane> -->
      </a-tabs>
    </a-spin>
  </a-modal>
@@ -118,7 +114,7 @@
import addFormBaseCustomer from './tabItem/addFormBaseCustomer/addFormBaseCustomer.vue'
import addFormContainerPackaging from './tabItem/WmsContainerPackaging/addFormContainerPackaging.vue'
import addFormSub from './tabItem/WmsSubstituteGood/addFormWmsSubstituteGood.vue'
import addControlRule from './tabItem/WmsControlRule/index.vue'
import addControlRule from './tabItem/WmsControlRule/addForm.vue'
export default {
  components: {
@@ -161,54 +157,20 @@
      })
    },
    callbacktab(e) {
      if (e == 6) {
        this.$nextTick(() => {
          // 调接口 传物料类型
          const {
            form: { validateFields }
          } = this
          this.confirmLoading = true
          validateFields((errors, values) => {
            if (!errors) {
              for (const key in values) {
                if (typeof values[key] === 'object') {
                  values[key] = JSON.stringify(values[key])
                }
              }
              console.log(values)
              this.confirmLoading = false
              this.$refs.addFormContainerPackagingRef.initShow(values.materialType)
            } else {
              this.confirmLoading = false
            }
          })
        })
      }
      //包装关系
      // if (e == 6) {
      //   this.$nextTick(() => {
      //     let materialType = this.form.getFieldValue('materialType');
      //     // 调接口 传物料类型
      //     this.$refs.addFormContainerPackagingRef.initShow(materialType)
      //   })
      // }
      // 替代品
      if (e == 4) {
        const {
          form: { validateFields }
        } = this
        this.confirmLoading = true
        validateFields((errors, values) => {
          if (!errors) {
            for (const key in values) {
              if (typeof values[key] === 'object') {
                values[key] = JSON.stringify(values[key])
              }
            }
            console.log(66666666666)
            console.log(values)
            this.confirmLoading = false
            debugger
            // materialName  materialCode
            this.$refs.addFormWmsSubstituteGoodRef.initShow(values.materialCode, values.materialName)
          } else {
            this.confirmLoading = false
          }
        })
        // let materialCode = this.form.getFieldValue('materialCode');
        // let materialName = this.form.getFieldValue('materialName');
        this.$refs.addFormWmsSubstituteGoodRef.initShowSubstituteGood()
      }
    },
    handleOk() { },
@@ -216,7 +178,7 @@
    add(record) {
      this.visible = true
      this.$nextTick(() => {
        this.getSelects()
        // this.getSelects()
      })
      // const materialTypeOption = this.$options
      // this.materialTypeData = materialTypeOption.filters['dictData']('material_type')
@@ -244,44 +206,56 @@
      const {
        form: { validateFields }
      } = this
      this.confirmLoading = true
      validateFields((errors, values) => {
        if (!errors) {
          if (this.$getObjectType(values.areas) === 'array') {
            values.areaIds = values.areas.join(',')
            values.areaNameParameterArr = values.areas.map(val => {
              return this.parseSelectName(val, 'areaId', 'areaName', 'areaNameParameterData')
            })
            values.areaNameParameter = values.areaNameParameterArr.join(',')
          }
          if (this.$getObjectType(values.stations) === 'array') {
            values.stationIds = values.stations.join(',')
            values.stationNameParameterArr = values.stations.map(val => {
              return this.parseSelectName(val, 'stationId', 'stationName', 'stationNameParameterData')
            })
            values.stationNameParameter = values.stationNameParameterArr.join(',')
          }
          // if (this.$getObjectType(values.areas) === 'array') {
          //   values.areaIds = values.areas.join(',')
          //   values.areaNameParameterArr = values.areas.map(val => {
          //     return this.parseSelectName(val, 'areaId', 'areaName', 'areaNameParameterData')
          //   })
          //   values.areaNameParameter = values.areaNameParameterArr.join(',')
          // }
          // if (this.$getObjectType(values.stations) === 'array') {
          //   values.stationIds = values.stations.join(',')
          //   values.stationNameParameterArr = values.stations.map(val => {
          //     return this.parseSelectName(val, 'stationId', 'stationName', 'stationNameParameterData')
          //   })
          //   values.stationNameParameter = values.stationNameParameterArr.join(',')
          // }
          console.log(6666666666666 + '控制属性')
          console.log(this.$refs.WmsControlRule.selectedRows)
          var ControlRuleld = this.$refs.WmsControlRule.selectedRows[0].id
          var ControlRuleld = this.$refs.WmsControlRule.form.getFieldValue('id') || ''
          let SubstituteGoodList = []
          if (this.$refs.addFormWmsSubstituteGoodRef && this.$refs.addFormWmsSubstituteGoodRef.list.length > 0) {
            SubstituteGoodList = this.$refs.addFormWmsSubstituteGoodRef.list
            SubstituteGoodList.forEach(item => {
              item.materialName = this.form.getFieldValue('materialName')
              item.materialCode = this.form.getFieldValue('materialCode')
            })
          }
          console.log(6666666666666 + '替代品')
          console.log(this.$refs.addFormWmsSubstituteGoodRef.list)
          let BaseCustomerList = [];
          if (this.$refs.addFormBaseCustomer && this.$refs.addFormBaseCustomer.list.length > 0) {
            BaseCustomerList = this.$refs.addFormBaseCustomer.list
          }
          console.log(6666666666666 + '客户档案集合')
          console.log(this.$refs.addFormBaseCustomer.list)
          // console.log(6666666666666 + '包装关系')
          // console.log(this.$refs.addFormContainerPackagingRef.list)
          console.log(6666666666666 + '包装关系')
          console.log(this.$refs.addFormContainerPackagingRef.list)
          var param = {
            MaterialInput: values,
            ControlRuleld: ControlRuleld, //控制属性
            SubstituteGoodLis: this.$refs.addFormWmsSubstituteGoodRef.list, //替代品
            BaseCustomerList: this.$refs.addFormBaseCustomer.list, //客户档案集合
            ContainerPackagingList: this.$refs.addFormContainerPackagingRef.list //包装关系
            SubstituteGoodList: SubstituteGoodList, //替代品
            BaseCustomerList: BaseCustomerList, //客户档案集合
            // ContainerPackagingList: this.$refs.addFormContainerPackagingRef.list //包装关系
          }
          this.confirmLoading = true
          WmsMaterialAdd(param)
            .then(res => {
              if (res.success) {
@@ -314,6 +288,10 @@
    handleCancel() {
      this.form.resetFields()
      this.visible = false
      // this.$refs.WmsControlRule.form.resetFields()
      // this.$refs.addFormWmsSubstituteGoodRef.list =[]
      // this.$refs.addFormWmsSubstituteGoodRef.list =[]
    }
  }
}