zhangherong
16 小时以前 7282d4b49f4577c6807a78bdd6e705feb2fe0e2c
src/views/base/modules/warehouse/WarehouseModel.vue
@@ -4,6 +4,7 @@
    :width="800"
    :visible="visible"
    :confirmLoading="confirmLoading"
    :maskClosable="false"
    :okButtonProps="{ props: {disabled: disableSubmit} }"
    @ok="handleOk"
    @cancel="handleCancel"
@@ -15,7 +16,7 @@
        <a-row :gutter="24">
          <a-col :span="24">
            <a-form-item
              :labelCol="labelCol"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              label="线边库编号"
            >
@@ -32,7 +33,7 @@
        <a-row :gutter="24">
          <a-col :span="24">
            <a-form-item
              :labelCol="labelCol"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              label="线边库名称"
            >
@@ -52,14 +53,9 @@
              :wrapperCol="wrapperCol"
              label="产线"
            >
            <j-select-factory
            :disabled="disableSubmit"
            v-model="model.factoryId"
            :multi="true"
            @back="backFactoryInfo"
            :backProduction="true"
            :treeProductOpera="true"
          ></j-select-factory>
              <j-dict-select-tag :disabled="disableSubmit" type="list" placeholder="请选择产线"
                                 v-model="model.factoryId"
                                 dictCode="base_factory,factory_name,id,del_flag='0' and factory_category='3'" />
            </a-form-item>
          </a-col>
        </a-row>
@@ -69,37 +65,29 @@
</template>
<script>
import { httpAction, getAction } from '@/api/manage'
import JDate from '@/components/jeecg/JDate'
import { httpAction } from '@/api/manage'
import pick from 'lodash.pick'
import moment from 'moment'
import { duplicateCheck } from '@/api/api'//重复校验
import JTreeDict from '@/components/jeecg/JTreeDict'//分类字典树形下拉组件
import JSelectFactory from '../../../../components/jeecgbiz/JSelectFactory'
import { duplicateCheck } from '@/api/api' //重复校验
export default {
  name: "WarehouseModal",
  components: {
    JDate,
    JTreeDict,
    JSelectFactory
  },
  name: 'WarehouseModal',
  components: {},
  data() {
    return {
      title: "操作",
      title: '操作',
      visible: false,
      disableSubmit: false,
      model: {},
      treeData: [],
      warehouseId: "", //保存线边库id
      warehouseId: '', //保存线边库id
      labelCol: {
          xs: { span: 24 },
          sm: { span: 5 },
        },
        wrapperCol: {
          xs: { span: 24 },
          sm: { span: 16 },
        },
        xs: { span: 24 },
        sm: { span: 5 }
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 16 }
      },
      confirmLoading: false,
      form: this.$form.createForm(this),
@@ -108,71 +96,71 @@
          rules: [
            { required: true, message: '请输入线边库编号' },
            { min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
            { validator: this.validateNum },
            { validator: this.validateNum }
          ]
        },
        warehouseName: {
          rules: [
            { required: true, message: '请输入线边库名称' },
            { min: 0, max: 64, message: '长度不超过 64 个字符', trigger: 'blur' },
            { validator: this.validateName },
            { validator: this.validateName }
          ]
        },
        }
      },
      url: {
        add: "/base/lineSideWarehouse/add",
        edit: "/base/lineSideWarehouse/edit",
        add: '/base/lineSideWarehouse/add',
        edit: '/base/lineSideWarehouse/edit'
      },
      nextFactoryOptions: [],
      nextFactoryOptions: []
    }
  },
  created() {
  },
  methods: {
    add() {
      this.edit({});
      this.edit({})
    },
    edit(record) {
      this.form.resetFields();
      this.model = Object.assign({}, record);
      this.warehouseId = record.id;
      this.visible = true;
      this.form.resetFields()
      this.model = Object.assign({}, record)
      this.warehouseId = record.id
      this.visible = true
      this.$nextTick(() => {
        this.form.setFieldsValue(
          pick(this.model, 'warehouseCode', 'warehouseName', 'factoryId')
        )
      });
      })
    },
    close() {
      this.$emit('close');
      this.visible = false;
      this.$emit('close')
      this.visible = false
    },
    handleOk() {
      const that = this;
      const that = this
      // 触发表单验证
      this.form.validateFields((err, values) => {
        if (!err) {
          that.confirmLoading = true;
          let httpurl = '';
          let method = '';
          that.confirmLoading = true
          let httpurl = ''
          let method = ''
          if (!this.model.id) {
            httpurl += this.url.add;
            method = 'post';
            httpurl += this.url.add
            method = 'post'
          } else {
            httpurl += this.url.edit;
            method = 'put';
            httpurl += this.url.edit
            method = 'put'
          }
          let formData = Object.assign(this.model, values);
          let formData = Object.assign(this.model, values)
          httpAction(httpurl, formData, method).then((res) => {
            if (res.success) {
              that.$message.success(res.message);
              that.$emit('ok');
              that.$message.success(res.message)
              that.$emit('ok')
            } else {
              that.$message.warning(res.message);
              that.$message.warning(res.message)
            }
          }).finally(() => {
            that.confirmLoading = false;
            that.close();
            that.confirmLoading = false
            that.close()
          })
        }
      })
@@ -188,13 +176,13 @@
        fieldVal: value,
        dataId: this.warehouseId,
        //数据库中存在字段del_flag并使用该字段作为未删除策略,真删除:false 假删除:true
        delFlag: 'true',
      };
        delFlag: 'true'
      }
      duplicateCheck(params).then((res) => {
        if (res.success) {
          callback();
          callback()
        } else {
          callback("线边库编号已存在!");
          callback('线边库编号已存在!')
        }
      })
    },
@@ -206,24 +194,24 @@
        fieldVal: value,
        dataId: this.warehouseId,
        //数据库中存在字段del_flag并使用该字段作为未删除策略,真删除:false 假删除:true
        delFlag: 'true',
      };
        delFlag: 'true'
      }
      duplicateCheck(params).then((res) => {
        if (res.success) {
          callback();
          callback()
        } else {
          callback("线边库名称已存在!");
          callback('线边库名称已存在!')
        }
      })
    },
     backFactoryInfo(info) {
        this.model.factoryIds = this.model.factoryId
        this.nextFactoryOptions = info.map((item, index, arr) => {
          let c = { label: item.text, value: item.value + '' }
          return c
        })
      },
      // 关闭弹窗时清除表单校验
    backFactoryInfo(info) {
      this.model.factoryIds = this.model.factoryId
      this.nextFactoryOptions = info.map((item, index, arr) => {
        let c = { label: item.text, value: item.value + '' }
        return c
      })
    },
    // 关闭弹窗时清除表单校验
    removeValidate() {
      if (this.$refs.form) this.$refs.form.clearValidate()
    }