Bladeren bron

维修工单

lipenghui 3 maanden geleden
bovenliggende
commit
c1039228e4

+ 10 - 5
src/views/pms/maintain/IotMaintain.vue

@@ -46,7 +46,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="8">
-              <el-form-item label="维修开始时间" prop="maintainStartTime">
+              <el-form-item label="维修开始时间" prop="maintainStartTime" :rules="formData.type==='in'?startRule:[]">
                 <el-date-picker
                   style="width: 150%"
                   v-model="formData.maintainStartTime"
@@ -57,7 +57,7 @@
               </el-form-item>
             </el-col>
             <el-col :span="8">
-              <el-form-item label="维修结束时间" prop="maintainEndTime">
+              <el-form-item label="维修结束时间" prop="maintainEndTime" :rules="formData.type==='in'?endRule:[]">
                 <el-date-picker
                   @change="endTimeBlur"
                   style="width: 150%"
@@ -336,7 +336,12 @@ const formData = ref({
   maintainFee: undefined,
   outFile: undefined
 })
-
+const startRule = [
+  { required: true, message: '维修开始时间不能为空', trigger: 'blur' }
+];
+const endRule = [
+  { required: true, message: '维修结束时间不能为空', trigger: 'blur' }
+];
 const formRules = reactive({
   deviceName: [{ required: true, message: '设备不能为空', trigger: 'blur' }],
   failureCode: [{ required: true, message: '故障编码不能为空', trigger: 'blur' }],
@@ -344,8 +349,8 @@ const formRules = reactive({
   ifStop: [{ required: true, message: '是否停机不能为空', trigger: 'blur' }],
   failureName: [{ required: true, message: '故障名称不能为空', trigger: 'blur' }],
   // failureTime: [{ required: true, message: '故障时间不能为空', trigger: 'blur' }],
-  maintainStartTime: [{ required: true, message: '维修开始时间不能为空', trigger: 'blur' }],
-  maintainEndTime: [{ required: true, message: '维修结束时间不能为空', trigger: 'blur' }],
+  // maintainStartTime: [{ required: true, message: '维修开始时间不能为空', trigger: 'blur' }],
+  // maintainEndTime: [{ required: true, message: '维修结束时间不能为空', trigger: 'blur' }],
   maintainDescription: [{ required: true, message: '维修描述不能为空', trigger: 'blur' }],
   maintainPerson: [{ required: true, message: '维修负责人不能为空', trigger: 'blur' }],
   deviceId: [{ required: true, message: '设备id不能为空', trigger: 'blur' }]

+ 39 - 33
src/views/pms/maintain/IotMaintainDetail.vue

@@ -52,7 +52,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="维修开始时间" prop="maintainStartTime">
+            <el-form-item label="维修开始时间" prop="maintainStartTime" :rules="formData.type === 'in' ? startRule : []">
               <el-date-picker
                 disabled
                 style="width: 150%"
@@ -63,7 +63,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="8">
-            <el-form-item label="维修结束时间" prop="maintainEndTime">
+            <el-form-item label="维修结束时间" prop="maintainEndTime" :rules="formData.type === 'in' ? endRule : []">
               <el-date-picker
                 disabled
                 style="width: 150%"
@@ -122,34 +122,34 @@
               <el-input v-model="formData.maintainFee" :disabled="true" />
             </el-form-item>
           </el-col>
-          <el-col :span="8" v-if="formData.type === 'out'">
-            <el-form-item label="供应商" prop="supplier">
-              <el-select
-                disabled
-                v-model="formData.supplier"
-                placeholder="请输入供应商"
-                :model-value="supplierLabel"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8" v-if="formData.type === 'out'">
-            <el-form-item label="维修费用" prop="maintainFee">
-              <el-input-number
-                disabled
-                v-model="formData.maintainFee"
-                :min="0"
-                :precision="2"
-                :step="0.1"
-                placeholder="请输入维修费用"
-                style="width: 100%"
-              />
-            </el-form-item>
-          </el-col>
-          <el-col :span="8" v-if="formData.type === 'out'">
-            <el-form-item label="委外相关附件" prop="outFile">
-              <UploadFile disabled="" v-model="formData.outFile" class="min-w-80px" />
-            </el-form-item>
-          </el-col>
+<!--          <el-col :span="8" v-if="formData.type === 'out'">-->
+<!--            <el-form-item label="供应商" prop="supplier">-->
+<!--              <el-select-->
+<!--                disabled-->
+<!--                v-model="formData.supplier"-->
+<!--                placeholder="请输入供应商"-->
+<!--                :model-value="supplierLabel"-->
+<!--              />-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
+<!--          <el-col :span="8" v-if="formData.type === 'out'">-->
+<!--            <el-form-item label="维修费用" prop="maintainFee">-->
+<!--              <el-input-number-->
+<!--                disabled-->
+<!--                v-model="formData.maintainFee"-->
+<!--                :min="0"-->
+<!--                :precision="2"-->
+<!--                :step="0.1"-->
+<!--                placeholder="请输入维修费用"-->
+<!--                style="width: 100%"-->
+<!--              />-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
+<!--          <el-col :span="8" v-if="formData.type === 'out'">-->
+<!--            <el-form-item label="委外相关附件" prop="outFile">-->
+<!--              <UploadFile disabled="" v-model="formData.outFile" class="min-w-80px" />-->
+<!--            </el-form-item>-->
+<!--          </el-col>-->
           <el-col :span="8">
             <el-form-item label="故障描述" prop="description">
               <el-input type="textarea" v-model="formData.description" disabled />
@@ -228,6 +228,7 @@ import { IotMaintainMaterialsApi } from '@/api/pms/maintain/materials'
 defineOptions({ name: 'IotMaintainDetail' })
 
 const { t } = useI18n() // 国际化
+const props = defineProps<{ id?: number }>()
 const message = useMessage() // 消息弹窗
 const { delView } = useTagsViewStore() // 视图操作
 const { currentRoute, push } = useRouter()
@@ -239,7 +240,7 @@ const drawerVisible = ref<boolean>(false)
 const showDrawer = ref()
 const list = ref<IotMaintainMaterialVO[]>([]) // 列表的数据
 const { params, name } = useRoute() // 查询参数
-const id = params.id || props.id
+const id = params.id ||props.id
 const materialList = ref<any[]>([]) // 保养工单bom关联物料列表
 const currentBomNodeId = ref<string>()
 const formData = ref({
@@ -302,7 +303,12 @@ const close = () => {
   delView(unref(currentRoute))
   push({ name: 'IotMaintain', params: {} })
 }
-
+const startRule = [
+  { required: true, message: '维修开始时间不能为空', trigger: 'blur' }
+];
+const endRule = [
+  { required: true, message: '维修结束时间不能为空', trigger: 'blur' }
+];
 const handleViewNew = (nodeId, bomId) => {
   drawerVisible.value = true
   // showDrawer.value.openDrawer()
@@ -320,12 +326,12 @@ const handleViewNew = (nodeId, bomId) => {
 
 /** 提交表单 */
 onMounted(async () => {
+  debugger
   await IotMaintainApi.getIotMaintain(id).then((res) => {
     formData.value = res
     if (res.outFile) {
       formData.value.outFile = res.outFile.split(',')
     }
-
     list.value = res.maintainBomDOS
     list.value.forEach((item) => {
       item.deviceName = res.deviceName

+ 9 - 9
src/views/pms/maintain/index.vue

@@ -148,8 +148,8 @@
               {{ scope.$index + 1 }}
             </template>
           </el-table-column>
-          <el-table-column label="故障编码" align="center" prop="failureCode" />
-          <el-table-column label="故障名称" align="center" prop="failureName" />
+<!--          <el-table-column label="故障编码" align="center" prop="failureCode" />-->
+<!--          <el-table-column label="故障名称" align="center" prop="failureName" />-->
           <el-table-column label="设备" align="center" prop="deviceName" />
           <el-table-column label="状态" align="center" prop="status" >
             <template #default="scope">
@@ -189,13 +189,13 @@
 <!--            width="180px"-->
 <!--          />-->
 <!--          <el-table-column label="备注" align="center" prop="remark" />-->
-<!--          <el-table-column-->
-<!--            label="创建时间"-->
-<!--            align="center"-->
-<!--            prop="createTime"-->
-<!--            :formatter="dateFormatter"-->
-<!--            width="180px"-->
-<!--          />-->
+          <el-table-column
+            label="创建时间"
+            align="center"
+            prop="createTime"
+            :formatter="dateFormatter"
+            width="180px"
+          />
           <el-table-column label="操作" align="center" min-width="120px">
             <template #default="scope">
               <el-button