Browse Source

pms 新增保养工单 根据选择的设备 编码 名称 生成保养工单名称

zhangcl 2 weeks ago
parent
commit
322afd143e
1 changed files with 19 additions and 53 deletions
  1. 19 53
      src/views/pms/iotmainworkorder/IotMainWorkOrderAdd.vue

+ 19 - 53
src/views/pms/iotmainworkorder/IotMainWorkOrderAdd.vue

@@ -27,12 +27,6 @@
                 />
               </el-select>
             </el-form-item>
-            <!--
-            <el-form-item label="工单编号" prop="orderNumber">
-              <el-input type="text" v-model="formData.orderNumber" disabled/>
-            </el-form-item>
-            -->
-
           </el-col>
           <el-col :span="8">
             <el-form-item :label="t('mainPlan.MaintenanceCost')" prop="cost">
@@ -118,41 +112,7 @@
         <el-table-column :label="t('operationFillForm.sumTime')" align="center" prop="totalRunTime" :formatter="erpPriceTableColumnFormatter"/>
         <el-table-column :label="t('operationFillForm.sumKil')" align="center" prop="totalMileage" :formatter="erpPriceTableColumnFormatter"/>
         <el-table-column :label="t('mainPlan.MaintItems')" align="center" prop="name" />
-        <!--
-        <el-table-column label="运行里程" key="mileageRule" width="80">
-          <template #default="scope">
-            <el-switch
-              v-model="scope.row.mileageRule"
-              :active-value="0"
-              :inactive-value="1"
-            />
-          </template>
-        </el-table-column>
-        <el-table-column label="运行时间" key="runningTimeRule" width="80">
-          <template #default="scope">
-            <el-switch
-              v-model="scope.row.runningTimeRule"
-              :active-value="0"
-              :inactive-value="1"
-            />
-          </template>
-        </el-table-column>
-        <el-table-column label="自然日期" key="naturalDateRule" width="80">
-          <template #default="scope">
-            <el-switch
-              v-model="scope.row.naturalDateRule"
-              :active-value="0"
-              :inactive-value="1"
-            />
-          </template>
-        </el-table-column>
-        -->
         <el-table-column :label="t('iotMaintain.numberOfMaterials')" align="center" width="100">
-          <!--
-          <template #default="scope">
-            {{ hasMaterial(scope.row.bomNodeId) ? '是' : '否' }}
-          </template>
-          -->
           <template #default="scope">
             {{ getMaterialCount(scope.row.bomNodeId) }}
           </template>
@@ -171,16 +131,6 @@
                   {{ t('iotMaintain.remove') }}
                 </el-button>
               </div>
-              <!-- 新增配置按钮
-              <div style="margin-left: 12px">
-                <el-button
-                  link
-                  type="primary"
-                  @click="openConfigDialog(scope.row)"
-                >
-                  配置
-                </el-button>
-              </div> -->
               <div style="margin-left: 12px">
                 <el-button
                   link
@@ -669,6 +619,17 @@ const selectChoose = (selectedMaterial) => {
   });
 }
 
+// 新增方法:动态更新工单名称
+function updateWorkOrderName() {
+  if (list.value.length > 0) {
+    const firstDevice = list.value[0];
+    const currentDate = dayjs().format('YYYY-MM-DD');
+    formData.value.name = `${firstDevice.deviceCode} - ${firstDevice.deviceName} - ${currentDate} 保养工单`;
+  } else {
+    formData.value.name = `${dept.value.name} - 保养工单`;
+  }
+}
+
 const deviceChoose = async(selectedDevices) => {
   const newIds = selectedDevices.map(device => device.id)
   deviceIds.value = [...new Set([...deviceIds.value, ...newIds])]
@@ -724,8 +685,8 @@ const deviceChoose = async(selectedDevices) => {
       list.value.push(item)
     }
   })
-  // 新增完设备后 查询现有设备-bom明细中 所有设备配置的负责人姓名 逗号分隔
-  // await getDevicePersons();
+  // 更新工单名称
+  updateWorkOrderName();
 }
 
 /** 查看已经选择的物料 并编辑 */
@@ -1020,7 +981,7 @@ onMounted(async () => {
   const deptId = useUserStore().getUser.deptId
   // 查询当前登录人所属部门名称
   dept.value = await DeptApi.getDept(deptId)
-  formData.value.name = dept.value.name + ' - 保养工单'
+  // formData.value.name = dept.value.name + ' - 保养工单'
   deptUsers.value = await UserApi.getDeptUsersByDeptId(deptId)
   formData.value.deptId = deptId
   try {
@@ -1029,6 +990,9 @@ onMounted(async () => {
     const userInfo = wsCache.get(CACHE_KEY.USER)
     // 手工新增保养工单 责任人为当前登录人
     formData.value.responsiblePerson = userInfo.user.id;
+
+    // 初始化工单名称
+    updateWorkOrderName();
   } catch (error) {
     console.error('数据加载失败:', error)
     message.error('数据加载失败,请重试')
@@ -1052,6 +1016,8 @@ const handleDelete = async (str: string) => {
       devicePersonsMap.value.delete(deviceId) // 移除对应设备的责任人
       updateDevicePersonsDisplay() // 立即更新显示
     }
+    // 更新工单名称
+    updateWorkOrderName();
   } catch (error) {
     console.error('移除失败:', error)
     message.error('移除失败')