lyh
2025-04-10 edfc3cb483058ba3d92315ed591dcb8a9eb6e11f
src/views/eam/maintenance/modules/EamInspectionOrderModal.vue
@@ -13,8 +13,8 @@
      <a-form-model ref="form" :model="model" :rules="validatorRules">
        <a-row :gutter="24">
          <a-col :span="8">
            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="标准编码">
              <a-input placeholder="编码系统自动生成" v-model="model.standardCode" disabled />
            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="工单号">
              <a-input placeholder="工单号自动生成" v-model="model.orderNum" disabled />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
@@ -32,8 +32,8 @@
        </a-row>
        <a-row :gutter="24">
          <a-col :span="8">
            <a-form-model-item label="点检日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionDate">
              <j-date placeholder="请选择点检日期" v-model="model.inspectionDate" style="width: 100%" />
            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="标准编码">
              <a-input placeholder="请输入标准编码" disabled v-model="model.standardCode" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
@@ -42,8 +42,36 @@
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator" label="点检人">
              <j-dict-select-tag v-model="model.operator" placeholder="请选择用户" dictCode="sys_user,realname,username,username!='admin' order by create_time"/>
            </a-form-model-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="8">
            <a-form-model-item label="点检日期" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionDate">
              <j-date placeholder="请选择点检日期" v-model="model.inspectionDate" @change="expirationTimeFrom(model.inspectionDate)" style="width: 100%" />
            </a-form-model-item>
          </a-col>
          <a-col :span="8">
            <a-form-model-item label="点检过期时间" :labelCol="{span:6}" :wrapperCol="{span:15}" prop="expirationTime">
              <j-date placeholder="请选择点检过期时间" v-model="model.expirationTime" disabled style="width: 100%" />
            </a-form-model-item>
          </a-col>
        </a-row>
        <a-row :gutter="24">
          <a-col :span="8">
            <a-form-model-item
              label="照片文件"
              :labelCol="labelCol"
              :wrapperCol="wrapperCol"
              prop="imageFiles">
              <lx-upload :returnUrl="false"
                         :multiple="false"
                         v-model="model.imageFiles"
                         biz="EamMaintenanceStandard">
              </lx-upload>
            </a-form-model-item>
          </a-col>
        </a-row>
@@ -58,10 +86,10 @@
          <j-vxe-table
            ref="editableDetailTable"
            :rowNumber="true"
            :rowSelection="false"
            :rowSelection="true"
            :bordered="true"
            :alwaysEdit="true"
            :toolbar="false"
            :toolbar="true"
            keep-source
            :height="300"
            :loading="detail.loading"
@@ -79,6 +107,7 @@
import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
import { JVXETypes } from '@/components/jeecg/JVxeTable'
import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect'
import moment from 'dayjs'
export default {
  name: 'EamMaintenanceStandardModal',
@@ -116,14 +145,17 @@
        ],
        equipmentId: [
          { required: true, message: '请选择设备!' }
        ]
        ],
      },
      url: {
        add: '/eam/maintenanceStandard/add',
        edit: '/eam/maintenanceStandard/edit',
        detail: '/eam/eamMaintenanceStandardDetail/queryList'
        add: '/eam/eamInspectionOrder/add',
        edit: '/eam/eamInspectionOrder/edit',
        detail: '/eam/eamMaintenanceStandardDetail/queryList',
        detailOrder: '/eam/eamInspectionOrderDetail/queryList'
      },
      maintenanceCategory: 'POINT_INSPECTION',
      standardId:"",
      standardType:false,
      detail: {
        loading: false,
        dataSource: [],
@@ -131,21 +163,33 @@
          {
            title: '序号',
            key: 'itemCode',
            type: JVXETypes.inputNumber,
            width: '10%',
            align: 'center'
            align:"center",
            validateRules: [
              {required : true, unique: true, message: '序号不能重复'}
            ]
          },
          {
            title: '保养项',
            key: 'itemName',
            type: JVXETypes.textarea,
            width: '20%',
            align: 'center'
            align:"center",
            validateRules: [
              {required : true, message: '保养项不能为空!'}
            ]
          },
          {
            title: '保养要求',
            key: 'itemDemand',
            type: JVXETypes.textarea,
            width: '30%',
            align: 'center'
          }
            align:"center",
            validateRules: [
              {required : true, message: "保养要求不能为空!"}
            ]
          },
        ]
      }
    }
@@ -155,20 +199,26 @@
  methods: {
    add() {
      this.model = {}
      this.detail.dataSource = [];
      this.visible = true
      this.editable = false
      this.standardType=false;
    },
    edit(record) {
      console.log(record)
      this.model = Object.assign({}, record)
      this.standardId=record.standardId
      this.standardType=true;
      this.visible = true
      this.editable = true
      this.detail.dataSource = []
      if (record && record.referenceFile) {
        let obj = JSON.parse(record.referenceFile)
        this.model.fileList = [obj]
      } else {
        this.model.fieldList = []
      }
      this.loadDetail(record.id)
      this.loadDetailOrder(record.id)
    },
    close() {
      this.$emit('close')
@@ -200,6 +250,7 @@
            httpurl += this.url.edit
            method = 'put'
          }
          this.model.standardId=this.standardId
          httpAction(httpurl, this.model, method).then((res) => {
            if (res.success) {
              that.$message.success(res.message)
@@ -222,19 +273,43 @@
    autocompleteForm(selectObj) {
      this.model.standardName = selectObj.standardName
      this.model.maintenancePeriod=selectObj.maintenancePeriod
      this.model.standardCode=selectObj.standardCode
      if (!this.standardType) {
        this.standardId=selectObj.id
        this.loadDetail(selectObj.id)
      }
    },
    expirationTimeFrom(date) {
      //过期时间是初始时间+保养周期
      if (date && this.model.maintenancePeriod) {
        // 转换为时间戳字符串(或指定格式)
        this.model.expirationTime = moment(date)
          .add(this.model.maintenancePeriod, 'days')
          .format('YYYY-MM-DD')
      } else {
        this.model.expirationTime = null; // 清空无效值
      }
    },
    //加载详情数据
    loadDetail(standardId) {
      this.detail.dataSource = []
      if (standardId) {
        getAction(this.url.detail, { standardId: standardId }).then(res => {
          if (res.success) {
            this.detail.dataSource = [...res.result]
            this.standardType=false;
          }
        })
      }
    },
    loadDetailOrder(orderId){
      if (orderId) {
        getAction(this.url.detailOrder, { orderId: orderId }).then(res => {
          if (res.success) {
            this.detail.dataSource = [...res.result]
          }
        })
      }
    }
  }
}
</script>