qushaowei
2024-04-16 7c38e9cf9fd161a0e296a047e904eeaf65d96f9f
src/views/eam/modules/equipmentNew/EquipmentModal.vue
@@ -117,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="设备图片"
@@ -162,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;"
@@ -173,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>
@@ -319,7 +401,10 @@
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6" v-if="model.operatingSystem=='yes'">
          <a-col
            :span="6"
            v-if="model.operatingSystem=='yes'"
          >
            <a-form-model-item
              label="系统"
              :labelCol="labelCol"
@@ -348,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"
@@ -383,30 +468,46 @@
          </a-col>
          <a-col :span="6">
            <a-form-model-item
              label="技术状态鉴定周期"
              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="请选择技术状态鉴定周期 "
                placeholder="请选择技术状态检定周期 "
                :triggerChange="true"
                dictCode="check_period"
                :disabled="true"
                v-model="model.checkPeriod"
                @change="dateChange"
              />
            </a-form-model-item>
          </a-col>
          <a-col :span="6">
            <a-form-model-item
              label="下次技术鉴定时间"
              label="下次技术状态鉴定时间"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="nextTechnologyStatusQualificationTime"
            >
              <j-date
                :disabled="formDisabled"
                :disabled="true"
                style="width: 100%;"
                placeholder="请选择日期"
                class="query-group-cust"
@@ -544,22 +645,6 @@
              />
            </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>
          <a-col :span="6">
            <a-form-model-item
              label="立项卡号"
@@ -691,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="平均使用率"
@@ -902,8 +987,8 @@
      default: false,
      required: false
    },
    caytegoryParam:{
      type:String,
    caytegoryParam: {
      type: String,
      default: '',
      required: false
    }
@@ -928,13 +1013,13 @@
      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: '请选择责任班组!' },
@@ -964,7 +1049,7 @@
          { required: true, message: '请选择维护部门!' },
        ],
        useId: [
          { required: true, message: '请选择使用部门部门!' },
          { required: true, message: '请选择使用部门!' },
        ],
        specificEquipment: [
          { required: true, message: '请选择关键设备标识!' },
@@ -976,10 +1061,10 @@
          { required: true, message: '请选择设备状态!' },
        ],
        workCenterId: [
          { required: true, message: '请选择设备产线!' },
          { required: false, message: '请选择中心!' },
        ],
        factoryModelId: [
          { required: true, message: '请选择设备车间!' },
          { required: false, message: '请选择工区!' },
        ],
        warrantyStart: [
          { required: true, message: '请选择开始日期!' },
@@ -990,15 +1075,24 @@
        propertyStatus: [
          { required: true, message: '请选择资产状态!' },
        ],
        system:[
        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"
        getCategoryFlag: "/eam/equipmentCategory/queryById"
      },
      treeData: [],
      needSpecific: false,
@@ -1012,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;
    },
@@ -1167,9 +1262,9 @@
    },
    onSearchPrecisionParametersTemplate() {
      if(this.model.num ==''||this.model.num==undefined||this.model.num==null){
           this.$message.warn("请先填写统一编码")
           return false;
      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 = "选择设备精度模板";
@@ -1220,33 +1315,57 @@
        })
      }
      //改变技术状态鉴定周期
      if(this.model.equipmentCategoryId!==null&&this.model.equipmentCategoryId!=''){
      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);
        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);
        })
      }
    },
    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);
       })
    }
    //计算下次技术状态鉴定时间,下次技术状态鉴定时间=验收日期+技术状态检定周期
    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() {