xg
“linengliang”
2024-03-13 b9b0777972f6563075a886cbfc58991e51c1a097
src/views/eam/modules/malfunctionRepair/MalfunctionRepaireModal.vue
@@ -19,29 +19,63 @@
              :wrapperCol="wrapperCol"
            >
              <a-input
                :disabled="disableSubmit"
                :disabled="true"
                placeholder="请输入单据号"
                v-decorator="['num', validatorRules.num]"
              />
            </a-form-item>
          </a-col>
          <a-col :span="24/2">
            <!-- <a-form-item
              label="是否停机维修"
            <a-form-item
              label="是否停机"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <j-dict-select-tag
                allow-clear
                :disabled="disableSubmit"
                :placeholder="disableSubmit?'':'请选择是否停机维修'"
                :placeholder="disableSubmit?'':'请选择是否停机'"
                :triggerChange="true"
                dictCode="is_stop"
                v-decorator="['isStop', validatorRules.isStop]"
              />
            </a-form-item> -->
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="12">
            <a-form-model-item
              label="报修人"
              prop="name"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                v-decorator="['errUda2', validatorRules.errUda2]"
                placeholder="请输入报修人"
              ></a-input>
            </a-form-model-item>
          </a-col>
          <a-col :span="24/2">
            <a-form-item
              label="设备编码"
              label="故障时间"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <j-date
                :disabled="true"
                style="width: 100%"
                placeholder="请选择故障时间"
                :showTime="true"
                dateFormat="YYYY-MM-DD HH:mm:ss"
                v-decorator="['faultTime', validatorRules.faultTime]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24/2">
            <a-form-item
              label="统一编号"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
@@ -55,8 +89,6 @@
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24/2">
            <a-form-item
              label="设备名称"
@@ -71,6 +103,8 @@
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24/2">
            <a-form-item
              label="设备规格"
@@ -85,7 +119,22 @@
              />
            </a-form-item>
          </a-col>
            <a-row
          <a-col :span="24/2">
            <a-form-item
              label="设备型号"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                :disabled="true"
                enter-button
                :read-only="true"
                v-decorator="['equipmentModel', validatorRules.equipmentModel]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row
          hidden
          :gutter="24"
        >
@@ -97,7 +146,7 @@
            >
              <a-input
                :disabled="true"
                :placeholder="disableSubmit?'':'请输入设备编码/名称/型号'"
                :placeholder="disableSubmit?'':'请输入统一编号/名称/型号'"
                v-decorator="['equipmentId', validatorRules.equipmentId ]"
              />
            </a-form-item>
@@ -115,23 +164,8 @@
              />
            </a-form-item>
          </a-col>
          </a-row>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24/2">
            <a-form-item
              label="设备型号"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                :disabled="true"
                enter-button
                :read-only="true"
                v-decorator="['equipmentModel', validatorRules.equipmentModel]"
              />
            </a-form-item>
          </a-col>
          <a-col :span="24/2">
            <a-form-item
              label="使用部门"
@@ -153,37 +187,18 @@
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24/2">
            <a-form-item
              label="紧急程度"
              label="报修类型"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <j-dict-select-tag
                allow-clear
                :disabled="disableSubmit"
                :placeholder="disableSubmit?'':'请选择紧急程度'"
                :placeholder="disableSubmit?'':'请选择报修类型'"
                :triggerChange="true"
                dictCode="urgency"
                v-decorator="['urgency', validatorRules.urgency]"
              />
            </a-form-item>
          </a-col>
          <a-col :span="24/2">
            <a-form-item
              label="故障时间"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <j-date
                :disabled="disableSubmit"
                style="width: 100%"
                placeholder="请选择故障时间"
                :showTime="true"
                dateFormat="YYYY-MM-DD HH:mm:ss"
                v-decorator="['faultTime', validatorRules.faultTime]"
                dictCode="report_repair_type"
                v-decorator="['type', validatorRules.type]"
              />
            </a-form-item>
          </a-col>
@@ -219,31 +234,74 @@
              />
            </a-form-item>
          </a-col>
          </a-row>
          <a-row :gutter="24">
          <a-col :span="24">
        </a-row>
        <a-row :gutter="24">
          <a-col :span="24/2">
            <a-form-item
              label="故障照片"
              :labelCol="{span:3}"
              :wrapperCol="{span:21}"
              label="是否在加工零件"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <!-- <j-image-upload-self
                :isMultiple="false"
                v-decorator="['photo', {}]"
                @ok="uploadOk"
              >
              </j-image-upload-self> -->
              <!-- <j-image-upload
                :isMultiple="false"
                @ok="uploadOk"
                v-decorator="['photo', {}]"
              /> -->
              <j-image-upload
                :disabled="disableSubmit"
                :isMultiple="true"
                v-decorator="['photo', {}]"
              ></j-image-upload>
              <j-dict-select-tag
                allow-clear
                :placeholder="disableSubmit?'':'请选择是否在加工零件'"
                :triggerChange="true"
                @change="(e) => statusChange(e)"
                dictCode="is_product"
                v-decorator="['errUda1', validatorRules.errUda1]"
              />
            </a-form-item>
          </a-col>
          <a-col
            :span="24/2"
            v-if="workingStatus"
          >
            <a-form-item
              label="加工零件号"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :placeholder="disableSubmit?'':'请输入加工零件号'"
                v-decorator="['partNumber', validatorRules.partNumber ]"
              />
            </a-form-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col
            :span="24/2"
            v-if="workingStatus"
          >
            <a-form-item
              label="批次号"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input
                allow-clear
                :placeholder="disableSubmit?'':'请输入批次号'"
                v-decorator="['batchNo', validatorRules.batchNo ]"
              />
            </a-form-item>
          </a-col>
          <a-col
            :span="24/2"
            v-if="workingStatus"
          >
            <a-form-item
              label="件数"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
            >
              <a-input-number
                allow-clear
                style="width: 100%;"
                :placeholder="disableSubmit?'':'请输入件数'"
                :min="1"
                v-decorator="['quantity', validatorRules.quantity]"
              />
            </a-form-item>
          </a-col>
        </a-row>
@@ -283,6 +341,8 @@
// import JImageUpload from '@/components/jeecg/JImage2Upload'
import EquipmentList from './EquipmentList'
import Vue from 'vue'
import dayjs from 'dayjs'
export default {
  name: "MalfunctionRepaireModal",
@@ -290,7 +350,8 @@
    JMultiSelectTag,
    Tooltip,
    // JImageUpload,
    EquipmentList
    EquipmentList,
    dayjs
  },
  data() {
    return {
@@ -316,11 +377,11 @@
            { required: true, message: '请输入入库单编号!' },
          ]
        },
        // isStop: {
        //   rules: [
        //     { required: true, message: '请选择是否停机!' },
        //   ]
        // },
        isStop: {
          rules: [
            { required: true, message: '请选择是否停机!' },
          ]
        },
        equipmentNum: {
          rules: [
            { required: true, message: '请选择设备!' },
@@ -331,14 +392,52 @@
            { required: true, message: '请选择故障时间!' },
          ]
        },
        faultDescription: {
          rules: [
            { required: true, message: '请描述故障!' },
            { max: 1000, min: 1, message: '最多可描述1000字!' },
          ]
        },
        errUda1: {
          rules: [
            { required: true, message: '请选择是否在加工零件!' },
          ]
        },
        errUda2: {
          rules: [
            { required: true, message: '请输入报修人!' },
            { min: 1, max: 10, message: '长度不能大于10个字符!' },
          ]
        },
        // partNumber: {
        //   rules: [
        //     { required: true, message: '请输入零件图号!' },
        //   ]
        // },
        // batchNo: {
        //   rules: [
        //     { required: true, message: '请输入批次号!' },
        //   ]
        // },
        // quantity: {
        //   rules: [
        //     { required: true, message: '请输入件数!' },
        //   ]
        // },
        type: {
          rules: [
            { required: true, message: '请选择报修类型!' },
          ]
        },
      },
      url: {
        add: "/eam/equipmentReportRepair/add",
        edit: "/eam/equipmentReportRepair/edit",
        getSysDeparts: "/eam/equipment/getSysDeparts",
        getNum: '/eam/sysIdentity/getNumNew'
      },
      dataSource: [],
      workingStatus: false
    }
  },
@@ -347,9 +446,24 @@
  },
  methods: {
    add() {
      this.edit({})
      let that = this;
      let param = {
        type: 'EquipmentReportRepair',
        length: 4
      };
      let modelDefault = {};
      getAction(this.url.getNum, param).then(res => {
        if (res.success) {
          modelDefault.num = res.result;
          this.workingStatus = false;
          modelDefault.faultTime = dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss');
          that.edit(modelDefault);
        }
      })
    },
    edit(record) {
      let that = this;
@@ -358,7 +472,8 @@
      that.model = Object.assign({}, record);
      that.visible = true;
      that.$nextTick(() => {
        that.form.setFieldsValue(pick(that.model, 'num', 'isStop', 'equipmentId','equipmentNum', 'equipmentName','equipmentModel','equipmentSpecification','urgency','useDepartId','departName', 'faultDescription', 'faultTime', 'remark', "photo"));
        that.form.setFieldsValue(pick(that.model, 'errUda1', 'num', 'isStop', 'equipmentId', 'equipmentNum', 'equipmentName', 'equipmentModel', 'equipmentSpecification', 'urgency', 'useDepartId', 'departName', 'faultDescription', 'faultTime', 'remark', "photo"));
        that.form.setFieldsValue({ type: "1" });
      });
      if (record.id) {
        this.codeDisable = true;
@@ -417,9 +532,11 @@
    },
    sendEquipmentRecord(data) {
      let record = data.record;
      this.form.setFieldsValue({ equipmentName: record.name, equipmentId: record.id,equipmentNum:record.num,equipmentModel:record.model,equipmentSpecification:record.specification,useDepartId:record.useId,departName:record.useId_dictText });
      this.form.setFieldsValue({ equipmentName: record.name, equipmentId: record.id, equipmentNum: record.num, equipmentModel: record.model, equipmentSpecification: record.specification, useDepartId: record.useId, departName: record.useId_dictText });
    },
    statusChange(val) {
      this.workingStatus = val === 'no' ? false : true;
    }
  },
}
</script>