Browse Source

维修工单及故障上报调整

lipenghui 4 months ago
parent
commit
9a616d872a

+ 1 - 0
src/utils/dict.ts

@@ -107,6 +107,7 @@ export const getDictLabel = (dictType: string, value: any): string => {
 }
 }
 
 
 export enum DICT_TYPE {
 export enum DICT_TYPE {
+  PMS_MAIN_STATUS_NO = 'pms_maintain_status_no',
   PMS_MAIN_STATUS = 'pms_maintain_status',
   PMS_MAIN_STATUS = 'pms_maintain_status',
   PMS_MAIN_TYPE = "pms_main_type",
   PMS_MAIN_TYPE = "pms_main_type",
   PMS_BOOLEAN = "pms_boolean",
   PMS_BOOLEAN = "pms_boolean",

+ 9 - 3
src/views/pms/failure/IotFailureReportForm.vue

@@ -20,7 +20,7 @@
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item label="是否解决" prop="ifDeal">
           <el-form-item label="是否解决" prop="ifDeal">
-            <el-select v-model="formData.ifDeal" placeholder="请选择">
+            <el-select v-model="formData.ifDeal" placeholder="请选择" @change="dealChange">
               <el-option
               <el-option
                 v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
                 v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
                 :key="dict.label"
                 :key="dict.label"
@@ -32,7 +32,7 @@
         </el-col>
         </el-col>
         <el-col :span="12">
         <el-col :span="12">
           <el-form-item label="是否协助" prop="needHelp">
           <el-form-item label="是否协助" prop="needHelp">
-            <el-select v-model="formData.needHelp" placeholder="请选择">
+            <el-select v-model="formData.needHelp" placeholder="请选择" @change="helpChange">
               <el-option
               <el-option
                 v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
                 v-for="dict in getBoolDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING)"
                 :key="dict.label"
                 :key="dict.label"
@@ -58,7 +58,7 @@
       <el-form-item label="故障时间" prop="failureTime">
       <el-form-item label="故障时间" prop="failureTime">
         <el-date-picker
         <el-date-picker
           v-model="formData.failureTime"
           v-model="formData.failureTime"
-          type="date"
+          type="datetime"
           value-format="x"
           value-format="x"
           placeholder="选择故障时间"
           placeholder="选择故障时间"
         />
         />
@@ -138,6 +138,12 @@ const formData = ref({
   remark: undefined,
   remark: undefined,
   deptId: undefined,
   deptId: undefined,
 })
 })
+const dealChange = () => {
+  formData.value.needHelp = !formData.value.ifDeal
+}
+const helpChange = () => {
+  formData.value.ifDeal = !formData.value.needHelp
+}
 const deviceChoose = (row) => {
 const deviceChoose = (row) => {
   formData.value.deviceId = row.id
   formData.value.deviceId = row.id
   formData.value.deviceName = row.deviceName
   formData.value.deviceName = row.deviceName

+ 14 - 12
src/views/pms/maintain/IotMaintain.vue

@@ -24,7 +24,7 @@
             <el-form-item label="状态" prop="status">
             <el-form-item label="状态" prop="status">
               <el-select v-model="formData.status" placeholder="请选择状态" clearable>
               <el-select v-model="formData.status" placeholder="请选择状态" clearable>
                 <el-option
                 <el-option
-                  v-for="dict in getStrDictOptions(DICT_TYPE.PMS_MAIN_STATUS)"
+                  v-for="dict in getStrDictOptions(DICT_TYPE.PMS_MAIN_STATUS_NO)"
                   :key="dict.value"
                   :key="dict.value"
                   :label="dict.label"
                   :label="dict.label"
                   :value="dict.value"
                   :value="dict.value"
@@ -61,7 +61,7 @@
               <el-date-picker
               <el-date-picker
                 style="width: 150%"
                 style="width: 150%"
                 v-model="formData.failureTime"
                 v-model="formData.failureTime"
-                type="date"
+                type="datetime"
                 value-format="x"
                 value-format="x"
                 placeholder="选择故障时间"
                 placeholder="选择故障时间"
               />
               />
@@ -72,7 +72,7 @@
               <el-date-picker
               <el-date-picker
                 style="width: 150%"
                 style="width: 150%"
                 v-model="formData.maintainStartTime"
                 v-model="formData.maintainStartTime"
-                type="date"
+                type="datetime"
                 value-format="x"
                 value-format="x"
                 placeholder="选择维修开始时间"
                 placeholder="选择维修开始时间"
               />
               />
@@ -105,7 +105,7 @@
               <el-date-picker
               <el-date-picker
                 style="width: 150%"
                 style="width: 150%"
                 v-model="formData.maintainEndTime"
                 v-model="formData.maintainEndTime"
-                type="date"
+                type="datetime"
                 value-format="x"
                 value-format="x"
                 placeholder="选择维修结束时间"
                 placeholder="选择维修结束时间"
               />
               />
@@ -231,6 +231,8 @@ import MaintainMaterialDrawer from '@/views/pms/maintain/material/MaintainMateri
 import { ref } from 'vue'
 import { ref } from 'vue'
 import { IotMaintainMaterialVO } from '@/api/pms/maintain/material'
 import { IotMaintainMaterialVO } from '@/api/pms/maintain/material'
 import { useTagsViewStore } from '@/store/modules/tagsView'
 import { useTagsViewStore } from '@/store/modules/tagsView'
+import {IotDeviceApi} from "@/api/pms/device";
+import {CACHE_KEY, useCache} from "@/hooks/web/useCache";
 
 
 /** 维修工单 表单 */
 /** 维修工单 表单 */
 defineOptions({ name: 'IotMaintain' })
 defineOptions({ name: 'IotMaintain' })
@@ -401,24 +403,24 @@ const resetForm = () => {
   formRef.value?.resetFields()
   formRef.value?.resetFields()
 }
 }
 onMounted(async () => {
 onMounted(async () => {
-  formData.value.type = 'in'
   const deptId = useUserStore().getUser.deptId
   const deptId = useUserStore().getUser.deptId
   deptUsers.value = await UserApi.getDeptUsersByDeptId(deptId)
   deptUsers.value = await UserApi.getDeptUsersByDeptId(deptId)
   if (id){
   if (id){
     formType.value = 'update'
     formType.value = 'update'
+    const iotMaintain = await IotMaintainApi.getIotMaintain(id);
+    debugger
+    deviceLabel.value = iotMaintain.deviceName
+    formData.value = iotMaintain
   } else {
   } else {
+    formData.value.type = 'in'
     formType.value = 'create';
     formType.value = 'create';
+    const { wsCache } = useCache()
+    const userInfo = wsCache.get(CACHE_KEY.USER)
+    formData.value.maintainPerson = userInfo.user.id;
   }
   }
 })
 })
 const handleDelete = async (id: number) => {
 const handleDelete = async (id: number) => {
   try {
   try {
-    // 删除的二次确认
-    //await message.delConfirm()
-    // 发起删除
-    // await IotMaintainMaterialApi.deleteIotMaintainMaterial(id)
-    // message.success(t('common.delSuccess'))
-    // // 刷新列表
-    // await getList()
     const index = list.value.findIndex((item) => item.code === id)
     const index = list.value.findIndex((item) => item.code === id)
     debugger
     debugger
     if (index !== -1) {
     if (index !== -1) {

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

@@ -203,7 +203,7 @@
                 link
                 link
                 v-if="scope.row.status==='tx'"
                 v-if="scope.row.status==='tx'"
                 type="danger"
                 type="danger"
-                @click="handleDelete(scope.row.id)"
+                @click="openForm('update',scope.row.id)"
               >
               >
                 填写
                 填写
               </el-button>
               </el-button>

+ 5 - 5
src/views/pms/maintain/material/MaintainMaterialDrawer.vue

@@ -16,7 +16,7 @@
       label-width="100px"
       label-width="100px"
       v-loading="formLoading"
       v-loading="formLoading"
     >
     >
-      <el-form-item label="物料主数据" prop="code1">
+      <el-form-item label="物料主数据" prop="code1" style="margin-bottom: 30px">
         <el-select
         <el-select
           v-model="drawerFormData.code1"
           v-model="drawerFormData.code1"
           :model-value="materialLabel"
           :model-value="materialLabel"
@@ -24,16 +24,16 @@
           @click="openForm"
           @click="openForm"
         />
         />
       </el-form-item>
       </el-form-item>
-      <el-form-item label="消耗数量" prop="depleteCount1">
+      <el-form-item label="消耗数量" prop="depleteCount1" style="margin-bottom: 30px">
         <el-input v-model="drawerFormData.depleteCount1" type="number" placeholder="请输入消耗数量" />
         <el-input v-model="drawerFormData.depleteCount1" type="number" placeholder="请输入消耗数量" />
       </el-form-item>
       </el-form-item>
-      <el-form-item label="单位" prop="unit1">
+      <el-form-item label="单位" prop="unit1" style="margin-bottom: 30px">
         <el-input v-model="drawerFormData.unit1" placeholder="请输入单位" />
         <el-input v-model="drawerFormData.unit1" placeholder="请输入单位" />
       </el-form-item>
       </el-form-item>
-      <el-form-item label="单价" prop="price1">
+      <el-form-item label="单价" prop="price1" style="margin-bottom: 30px">
         <el-input v-model="drawerFormData.price1" placeholder="请输入单价" />
         <el-input v-model="drawerFormData.price1" placeholder="请输入单价" />
       </el-form-item>
       </el-form-item>
-      <el-form-item label="备注" prop="remark1">
+      <el-form-item label="备注" prop="remark1" style="margin-bottom: 30px">
         <el-input v-model="drawerFormData.remark1" type="textarea" placeholder="请输入备注" />
         <el-input v-model="drawerFormData.remark1" type="textarea" placeholder="请输入备注" />
       </el-form-item>
       </el-form-item>
     </el-form>
     </el-form>