qushaowei
2024-04-16 7c38e9cf9fd161a0e296a047e904eeaf65d96f9f
src/views/eam/modules/equipmentNew/EquipmentModal.vue
@@ -32,8 +32,9 @@
                placeholder="请选择设备所属分类"
                :disabled="formDisabled"
                :triggerChange="true"
                :dictCode="'mom_eam_equipment_category,name,id,equipment_category_uda1 = '+'\''+caytegoryParam+'\''"
                :dictCode="caytegoryParam==='all'?'mom_eam_equipment_category,name,id':'mom_eam_equipment_category,name,id,equipment_category_uda1 = '+'\''+caytegoryParam+'\''"
                v-model="model.equipmentCategoryId"
                @change="categoryChange"
              />
            </a-form-model-item>
          </a-col>
@@ -46,7 +47,7 @@
            >
              <a-input
                v-model="model.num"
                placeholder="请输入设备编号"
                placeholder="请输入统一 编号"
                :disabled="formDisabled"
              ></a-input>
            </a-form-model-item>
@@ -116,36 +117,53 @@
              :wrapperCol="wrapperCol"
              prop="useId"
            >
              <a-tree-select
                style="width: 100%"
                :disabled="formDisabled"
                :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
                :tree-data="treeData"
                placeholder="请选择使用部门"
                tree-default-expand-all
                v-model="model.useId"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
            <a-form-model-item
              label="车间"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="factoryModelId"
            >
              <j-dict-select-tag
                allow-clear
                :disabled="formDisabled"
                placeholder="请选择车间"
                placeholder="请选择使用部门"
                :triggerChange="true"
                dictCode="mom_base_area,name,id,del_flag!='1'"
                v-model="model.factoryModelId"
                dictCode="sys_depart,depart_name,id,del_flag!='1'"
                v-model="model.useId"
              />
            </a-form-model-item>
          </a-col>
        </a-row>
        <a-row>
          <a-col :span="6">
            <a-form-model-item
              label="是否生产线设备"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="isLineEquip"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择"
                :triggerChange="true"
                :disabled="false"
                dictCode="is_product"
                v-model="model.isLineEquip"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
            <a-form-model-item
              label="是否生产线"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="isLine"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择"
                :triggerChange="true"
                :disabled="false"
                dictCode="is_product"
                v-model="model.isLine"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
            <a-form-model-item
              label="设备图片"
@@ -161,6 +179,63 @@
          </a-col>
        </a-row>
        <a-row>
          <!-- 中心 -->
          <a-col :span="6">
            <a-form-model-item
              label="中心"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="workCenterId"
            >
              <j-dict-select-tag
                allow-clear
                :disabled="formDisabled"
                placeholder="请选择中心"
                :triggerChange="true"
                @change="workCenterChange"
                dictCode="mom_base_area,name,id,del_flag!='1' and type='1'"
                v-model="model.workCenterId"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
            <a-form-model-item
              label="工区"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="factoryModelId"
            >
              <j-dict-select-tag
                allow-clear
                :disabled="formDisabled"
                placeholder="请选择工区"
                :triggerChange="true"
                @change="factoryModelChange"
                :dictCode="'mom_base_area,name,id,del_flag!=\'1\' and type=\'2\' and parent_id = ' +'\''+ model.workCenterId+'\''"
                v-model="model.factoryModelId"
              />
            </a-form-model-item>
          </a-col>
          <!-- 工段 -->
          <a-col :span="6">
            <a-form-model-item
              label="工段"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="areaId"
            >
              <j-dict-select-tag
                allow-clear
                :disabled="formDisabled"
                placeholder="请选择工段"
                :triggerChange="true"
                :dictCode="'mom_base_area,name,id,del_flag!=\'1\' and type=\'3\' and parent_id = '+'\''+model.factoryModelId+'\''"
                v-model="model.areaId"
              />
            </a-form-model-item>
          </a-col>
        </a-row>
        <a-row>
          <a-divider
            orientation="center"
            style="font-size: large;font-style: italic;color: #f20707;"
@@ -172,13 +247,21 @@
              :wrapperCol="wrapperCol"
              prop="manageId"
            >
              <a-tree-select
              <!-- <a-tree-select
                :disabled="formDisabled"
                style="width: 100%"
                :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
                :tree-data="treeData"
                placeholder="请选择维护部门"
                tree-default-expand-all
                v-model="model.manageId"
              /> -->
              <j-dict-select-tag
                allow-clear
                :disabled="formDisabled"
                placeholder="请选择维护部门"
                :triggerChange="true"
                dictCode="sys_depart,depart_name,id,del_flag!='1'"
                v-model="model.manageId"
              />
            </a-form-model-item>
@@ -261,11 +344,14 @@
              :wrapperCol="wrapperCol"
              prop="coolingSystem"
            >
              <a-input
              <j-dict-select-tag
                allow-clear
                v-model="model.coolingSystem"
                :disabled="formDisabled"
                placeholder="请输入冷却系统"
              ></a-input>
                :triggerChange="true"
                dictCode="cooling_system"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
@@ -305,14 +391,20 @@
              :wrapperCol="wrapperCol"
              prop="operatingSystem"
            >
              <a-input
                v-model="model.operatingSystem"
              <j-dict-select-tag
                allow-clear
                placeholder="是否有操作系统"
                :disabled="formDisabled"
                placeholder="请输入操作系统"
              ></a-input>
                :triggerChange="true"
                dictCode="operation_flag"
                v-model="model.operatingSystem"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
          <a-col
            :span="6"
            v-if="model.operatingSystem=='yes'"
          >
            <a-form-model-item
              label="系统"
              :labelCol="labelCol"
@@ -341,12 +433,12 @@
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
              <a-form-model-item
                label="坐标数量"
                :labelCol="labelCol"
                :wrapperCol="wrapperCol"
                prop="coordinateNum"
              >
            <a-form-model-item
              label="坐标数量"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="coordinateNum"
            >
              <a-input-number
                v-model="model.coordinateNum"
                :disabled="formDisabled"
@@ -357,23 +449,6 @@
          </a-col>
        </a-row>
        <a-row>
          <!-- <a-col :span="6">
            <a-form-model-item
              label="产线"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="workCenterId"
            >
              <j-dict-select-tag
                allow-clear
                :disabled="formDisabled"
                placeholder="请选择产线"
                :triggerChange="true"
                dictCode="mom_base_work_center,name,id,del_flag!='1'"
                v-model="model.workCenterId"
              />
            </a-form-model-item>
          </a-col> -->
          <a-col :span="6">
            <a-form-model-item
              label="资产制造商"
@@ -389,6 +464,55 @@
                dictCode="mom_base_constructor,name,id,status!='0' and del_flag!='1'"
                v-model="model.constructorId"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
            <a-form-model-item
              label="验收日期"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="acceptanceCheckDate"
            >
              <a-date-picker
                :disabled="formDisabled"
                placeholder="请选择验收日期"
                style="width: 100%;"
                v-model="model.acceptanceCheckDate"
                @change="dateChange"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
            <a-form-model-item
              label="技术状态检定周期"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="checkPeriod"
            >
              <j-dict-select-tag
                allow-clear
                placeholder="请选择技术状态检定周期 "
                :triggerChange="true"
                dictCode="check_period"
                v-model="model.checkPeriod"
                @change="dateChange"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
            <a-form-model-item
              label="下次技术状态鉴定时间"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="nextTechnologyStatusQualificationTime"
            >
              <j-date
                :disabled="true"
                style="width: 100%;"
                placeholder="请选择日期"
                class="query-group-cust"
                v-model="model.nextTechnologyStatusQualificationTime"
              ></j-date>
            </a-form-model-item>
          </a-col>
        </a-row>
@@ -518,22 +642,6 @@
                placeholder="请输入出厂日期"
                style="width: 100%;"
                v-model="model.leaveFactoryDate"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
            <a-form-model-item
              label="验收日期"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="acceptanceCheckDate"
            >
              <a-date-picker
                :disabled="formDisabled"
                placeholder="请输入验收日期"
                style="width: 100%;"
                v-model="model.acceptanceCheckDate"
              />
            </a-form-model-item>
          </a-col>
@@ -668,8 +776,8 @@
              ></a-input>
            </a-form-model-item>
          </a-col>
          </a-row>
          <a-row hidden>
        </a-row>
        <a-row hidden>
          <a-col :span="6">
            <a-form-model-item
              label="平均使用率"
@@ -848,6 +956,7 @@
      ></process-parameters-template-list>
      <precision-parameters-template-list
        ref="PrecisionParametersTemplateList"
        :num="model.num"
        @sendPrecisionParametersTemplateRecord='sendPrecisionParametersTemplateRecord'
      ></precision-parameters-template-list>
    </a-spin>
@@ -878,8 +987,8 @@
      default: false,
      required: false
    },
    caytegoryParam:{
      type:String,
    caytegoryParam: {
      type: String,
      default: '',
      required: false
    }
@@ -893,24 +1002,24 @@
      },
      labelCol: {
        xs: { span: 24 },
        sm: { span: 8 },
        sm: { span: 10 },
      },
      wrapperCol: {
        xs: { span: 24 },
        sm: { span: 16 },
        sm: { span: 14 },
      },
      confirmLoading: false,
      validatorRules: {
        num: [
          { required: true, message: '请输入设备编号!' },
          { min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
          // { min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
          { validator: this.validateNum },
        ],
        name: [
          { required: true, message: '请输入设备名称!' },
          { min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
          { validator: this.validateName },
          // { min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
          // { validator: this.validateName },
        ],
        teamId: [
          { required: true, message: '请选择责任班组!' },
@@ -940,7 +1049,7 @@
          { required: true, message: '请选择维护部门!' },
        ],
        useId: [
          { required: true, message: '请选择使用部门部门!' },
          { required: true, message: '请选择使用部门!' },
        ],
        specificEquipment: [
          { required: true, message: '请选择关键设备标识!' },
@@ -952,10 +1061,10 @@
          { required: true, message: '请选择设备状态!' },
        ],
        workCenterId: [
          { required: true, message: '请选择设备产线!' },
          { required: false, message: '请选择中心!' },
        ],
        factoryModelId: [
          { required: true, message: '请选择设备车间!' },
          { required: false, message: '请选择工区!' },
        ],
        warrantyStart: [
          { required: true, message: '请选择开始日期!' },
@@ -966,11 +1075,24 @@
        propertyStatus: [
          { required: true, message: '请选择资产状态!' },
        ],
        system: [
          { required: true, message: '请输入系统!' },
        ],
        acceptanceCheckDate: [
          { required: true, message: '请选择验收日期!' },
        ],
        checkPeriod: [
          { required: true, message: '请选择技术状态检定周期!' },
        ],
        areaId: [
          { required: false, message: '请选择工段!' },
        ],
      },
      url: {
        add: "/eam/equipment/add",
        edit: "/eam/equipment/edit",
        loadOptions: '/sys/sysDepart/loadDepartTreeOptions',
        getCategoryFlag: "/eam/equipmentCategory/queryById"
      },
      treeData: [],
      needSpecific: false,
@@ -984,14 +1106,15 @@
  },
  methods: {
    add() {
      this
      this.edit(this.modelDefault);
    },
    edit(record) {
      console.log(this.disabled)
      this.model = Object.assign({}, record);
      if(!this.model.id){
          this.model.equipmentStatus = '1'
      if (!this.model.id) {
        this.model.equipmentStatus = '1'
        this.model.isLineEquip = 'no'
        this.model.isLine = 'no'
      }
      this.visible = true;
    },
@@ -1139,6 +1262,10 @@
    },
    onSearchPrecisionParametersTemplate() {
      if (this.model.num == '' || this.model.num == undefined || this.model.num == null) {
        this.$message.warn("请先填写统一编码")
        return false;
      }
      this.$refs.PrecisionParametersTemplateList.list();
      this.$refs.PrecisionParametersTemplateList.title = "选择设备精度模板";
    },
@@ -1187,7 +1314,58 @@
          }
        })
      }
    }
      //改变技术状态鉴定周期
      if (this.model.equipmentCategoryId !== null && this.model.equipmentCategoryId != '') {
        var value = this.model.equipmentCategoryId;
        getAction(this.url.getCategoryFlag, { id: value }).then(res => {
          if (res.result.equipmentCategoryUda1 !== 'weldingMachine' && res.result.equipmentCategoryUda11 !== 'filesCarousel' && res.result.equipmentCategoryUda1 !== 'tester') {
            if (val === 'A') {
              this.model.checkPeriod = 365 * 3 + '';
            }
            if (val === 'B' || val === 'C' || val === 'D') {
              this.model.checkPeriod = 365 * 4 + '';
            }
          }
          this.model = Object.assign({}, this.model);
        })
      }
    },
    //计算下次技术状态鉴定时间,下次技术状态鉴定时间=验收日期+技术状态检定周期
    dateChange() {
      var acceptanceCheckDate = this.model.acceptanceCheckDate;
      var checkPeriod = this.model.checkPeriod;
      if (acceptanceCheckDate !== null && acceptanceCheckDate !== '' && checkPeriod !== null && checkPeriod !== '') {
        var nextTechnologyStatusQualificationTime = moment(acceptanceCheckDate).add(checkPeriod, 'days').format('YYYY-MM-DD');
        this.model.nextTechnologyStatusQualificationTime = nextTechnologyStatusQualificationTime;
        this.model = Object.assign({}, this.model);
      } else {
        this.model.nextTechnologyStatusQualificationTime = '';
        this.model = Object.assign({}, this.model);
      }
    },
    categoryChange(value) {
      getAction(this.url.getCategoryFlag, { id: value }).then(res => {
        if (res.result.equipmentCategoryUda1 === 'weldingMachine') {
          this.model.checkPeriod = 365 * 3 + '';
        } else if (res.result.equipmentCategoryUda1 === 'filesCarousel') {
          this.model.checkPeriod = 365 * 4 + '';
        } else if (res.result.equipmentCategoryUda1 === 'tester') {
          this.model.checkPeriod = 365 * 1 + '';
        }
        this.model = Object.assign({}, this.model);
      })
    },
    //当中心改变时,清空工区和工段
    workCenterChange() {
      this.model.factoryModelId = '';
      this.model.areaId = '';
      this.model = Object.assign({}, this.model);
    },
    //当工区改变时,清空工段
    factoryModelChange() {
      this.model.areaId = '';
      this.model = Object.assign({}, this.model);
    },
  },
  computed: {
    formDisabled() {