Explorar o código

添加工作票编号唯一性验证

HD_wangm hai 4 meses
pai
achega
cc266d90fd

+ 2 - 2
ygtx-ui/src/components/misInfoSelect/single.vue

@@ -59,7 +59,7 @@
                     <el-radio v-model="selectedId" :label="scope.row.misNo" @change="handleRowChange(scope.row)">{{""}}</el-radio>
                 </template>
             </el-table-column>
-          <el-table-column label="MIS工单编码" align="center" key="misNo" prop="misNo" :show-overflow-tooltip="true" />
+          <el-table-column label="MIS工单编码" align="center" key="misNo" prop="misNo" :show-overflow-tooltip="true" min-width="100" />
           <el-table-column label="风机编号" align="center" key="pcsDeviceName" prop="pcsDeviceName" :show-overflow-tooltip="true" />
           <el-table-column label="场站" align="center" key="pcsStationName" prop="pcsStationName" :show-overflow-tooltip="true" />
           <el-table-column label="检修内容" align="center" key="content" prop="content" :show-overflow-tooltip="true" />
@@ -238,4 +238,4 @@ function handleCancel() {
   selectedRow.value = null
   showFlag.value = false
 }
-</script>
+</script>

+ 32 - 5
ygtx-ui/src/views/gxt/gxtOrder/index.vue

@@ -1971,7 +1971,27 @@ const data = reactive({
             } else if (value.length > 20) {
               callback(new Error('不能超过20个字符'))
             } else {
-              callback()
+              // 验证唯一性
+              if (value) {
+                listGxtOrder({pageNum: 1, pageSize: 10, workPermitNum: value}).then(response => {
+                  const gxtOrders = response.rows
+                  if (gxtOrders.length > 0) {
+                    if (form.value.id == null) {
+                      callback(new Error('工作票编号已存在!'))
+                    } else {
+                      if (gxtOrders[0].id != form.value.id) {
+                        callback(new Error('工作票编号已存在!'))
+                      } else {
+                        callback()
+                      }
+                    }
+                  } else {
+                    callback()
+                  }
+                })
+              } else {
+                callback()
+              }
             }
           } else {
             callback()
@@ -1979,8 +1999,7 @@ const data = reactive({
         },
         trigger: 'blur'
       }
-    ],
-    // 动态控制 content 是否必填
+    ],    // 动态控制 content 是否必填
     content: [
       { required: true, message: "维保内容不能为空", trigger: "blur" },
       {
@@ -3009,9 +3028,17 @@ function onMisInfoSelected(row) {
   if (row) {
     listGxtOrder({pageNum: 1, pageSize: 10, misNo: row.misNo }).then(response => {
       const  gxtOrders= response.rows
+      debugger
       if (gxtOrders.length > 0) {
-        proxy.$modal.msgWarning('选择工单已存在!请重新选择!')
-        return
+        if (form.value.id == null) {
+          proxy.$modal.msgWarning('选择工单已存在!请重新选择!')
+          return
+        } else {
+          if (gxtOrders[0].id != form.value.id) {
+            proxy.$modal.msgWarning('选择工单已存在!请重新选择!')
+            return
+          }
+        }
       }
       form.value.misNo = row.misNo
       form.value.content = row.content

+ 17 - 1
ygtx-ui/src/views/gxt/repairOrder/index.vue

@@ -2567,7 +2567,23 @@ const finalizeRules = ref({
           } else if (value.length > 20) {
             callback(new Error('不能超过20个字符'))
           } else {
-            callback()
+            // 验证唯一性
+            if (value) {
+              listRepairOrder({pageNum: 1, pageSize: 10, workPermitNum: value}).then(response => {
+                const gxtOrders = response.rows
+                if (gxtOrders.length > 0) {
+                  if (gxtOrders[0].id != finalizeForm.value.id) {
+                    callback(new Error('工作票编号已存在!'))
+                  } else {
+                    callback()
+                  }
+                } else {
+                  callback()
+                }
+              })
+            } else {
+              callback()
+            }
           }
         } else {
           callback()