zck 1 неделя назад
Родитель
Сommit
75d69c24de
2 измененных файлов с 119 добавлено и 14 удалено
  1. 9 0
      src/api/mes/job.js
  2. 110 14
      src/view/yunyin/shengchanguanli/gongdanziliao.vue

+ 9 - 0
src/api/mes/job.js

@@ -1590,6 +1590,15 @@ export const confirmProcessSplit = (data) => {
   })
   })
 }
 }
 
 
+//修改工单备注和完工日期
+export const updateOrderRemarkAndFinishDate = (data) => {
+  return service({
+    url: '/mes_server/work_order/updateOrderRemarkAndFinishDate',
+    method: 'post',
+    data
+  })
+}
+
 
 
 //工单大工序列表
 //工单大工序列表
 export const MajorprocessList = (params) => {
 export const MajorprocessList = (params) => {

+ 110 - 14
src/view/yunyin/shengchanguanli/gongdanziliao.vue

@@ -405,7 +405,19 @@
 		             <span style="width: 60px; text-align: right; margin-right: 8px;">接单日期:</span>
 		             <span style="width: 60px; text-align: right; margin-right: 8px;">接单日期:</span>
 		             <el-input v-model="gyDetailFormData.接单日期" disabled style="width: 120px;" />
 		             <el-input v-model="gyDetailFormData.接单日期" disabled style="width: 120px;" />
 		           </div>
 		           </div>
-		         </el-row>
+				   <div style="display: flex; align-items: center; white-space: nowrap;">
+                     <span
+                       style="width: 60px; text-align: right; margin-right: 8px; cursor: pointer;"
+                       @click="startGyDetailPlanManufactureEdit"
+                     >备注:</span>
+                     <el-input
+                       v-model="gyDetailFormData.备注"
+                       style="width: 200px;"
+                       :readonly="!gyDetailPlanManufactureEditing"
+                       @click="startGyDetailPlanManufactureEdit"
+                     />
+                   </div>
+                 </el-row>
 		         <el-row :gutter="20" style="width: max-content; display: flex; align-items: center; margin-top: 10px;">
 		         <el-row :gutter="20" style="width: max-content; display: flex; align-items: center; margin-top: 10px;">
 		           <div style="display: flex; align-items: center; white-space: nowrap;">
 		           <div style="display: flex; align-items: center; white-space: nowrap;">
 		             <span style="width: 80px; text-align: right; margin-right: 8px;">落货日期:</span>
 		             <span style="width: 80px; text-align: right; margin-right: 8px;">落货日期:</span>
@@ -417,11 +429,16 @@
 		           </div>
 		           </div>
 		           <div style="display: flex; align-items: center; white-space: nowrap;">
 		           <div style="display: flex; align-items: center; white-space: nowrap;">
              <span style="width: 60px; text-align: right; margin-right: 8px;">制单人:</span>
              <span style="width: 60px; text-align: right; margin-right: 8px;">制单人:</span>
-             <el-input v-model="gyDetailFormData.制单人" disabled style="width: 100px;" />
+             <el-input v-model="gyDetailFormData.制单人" disabled style="width: 70px;" />
            </div>
            </div>
            <div style="display: flex; align-items: center; white-space: nowrap;">
            <div style="display: flex; align-items: center; white-space: nowrap;">
              <span style="width: 90px; text-align: right; margin-right: 8px;">工单完工日期:</span>
              <span style="width: 90px; text-align: right; margin-right: 8px;">工单完工日期:</span>
-             <el-input v-model="gyDetailFormData.工单完工日期" disabled style="width: 120px;" />
+             <el-date-picker
+               v-model="gyDetailFormData.工单完工日期"
+               type="date"
+               style="width: 120px;"
+               @blur="handleGyDetailFinishDateBlur"
+             />
            </div>
            </div>
            <div style="display: flex; align-items: center; white-space: nowrap;">
            <div style="display: flex; align-items: center; white-space: nowrap;">
              <span style="width: 80px; text-align: right; margin-right: 8px;">订单数量:</span>
              <span style="width: 80px; text-align: right; margin-right: 8px;">订单数量:</span>
@@ -434,19 +451,15 @@
 		             >计划制造工分:</span>
 		             >计划制造工分:</span>
 		             <el-input
 		             <el-input
 		               v-model="gyDetailFormData.计划制造工分"
 		               v-model="gyDetailFormData.计划制造工分"
-		               style="width: 100px;"
+		               style="width: 80px;"
 		               :readonly="!gyDetailPlanManufactureEditing"
 		               :readonly="!gyDetailPlanManufactureEditing"
 		               @click="startGyDetailPlanManufactureEdit"
 		               @click="startGyDetailPlanManufactureEdit"
 		             />
 		             />
 		             <template v-if="gyDetailPlanManufactureEditing">
 		             <template v-if="gyDetailPlanManufactureEditing">
                        <el-button style="margin-left: 10px;" @click="cancelGyDetailPlanManufactureEdit">取消</el-button>
                        <el-button style="margin-left: 10px;" @click="cancelGyDetailPlanManufactureEdit">取消</el-button>
-                       <el-button type="primary" style="margin-left: 8px;" :loading="gyDetailPlanManufactureSaving" @click="confirmGyDetailPlanManufactureEdit">确认修改</el-button>
+                       <el-button type="primary" style="margin-left: 8px;" :loading="gyDetailPlanManufactureSaving" @click="confirmGyDetailPlanManufactureEdit">保存</el-button>
                      </template>
                      </template>
                    </div>
                    </div>
-                   <div style="display: flex; align-items: center; white-space: nowrap;">
-                     <span style="width: 60px; text-align: right; margin-right: 8px;">备注:</span>
-                     <el-input v-model="gyDetailFormData.备注" disabled style="width: 300px;" />
-                   </div>
                  </el-row>
                  </el-row>
                </div>
                </div>
 		       
 		       
@@ -2476,7 +2489,7 @@
   getSuborder,PrintDataEdit,WorkOrderEdit,gdAnnexAdd,upload,OrderAttachments,
   getSuborder,PrintDataEdit,WorkOrderEdit,gdAnnexAdd,upload,OrderAttachments,
   getPonumber,FabricEdit,orderBomList,FabricDetail,fabricList,Bomdel,delfujian,Read_File,Read_Add,PartList,GetProcessList,
   getPonumber,FabricEdit,orderBomList,FabricDetail,fabricList,Bomdel,delfujian,Read_File,Read_Add,PartList,GetProcessList,
   AddPart,UpdatePartInfo,DeletePart,AddProcess,UpdateProcess,DeleteProcess,getproducttype,workorderprocessCopy,sortProcess,getProductStyleList,copyProcessToCurrentWorkOrder,
   AddPart,UpdatePartInfo,DeletePart,AddProcess,UpdateProcess,DeleteProcess,getproducttype,workorderprocessCopy,sortProcess,getProductStyleList,copyProcessToCurrentWorkOrder,
-  importProcess,getWorkOrderProcess,updateWorkOrderPlanManufacture,checkProcessReport,confirmProcessSplit} from '@/api/mes/job'
+  importProcess,getWorkOrderProcess,updateWorkOrderPlanManufacture,checkProcessReport,confirmProcessSplit,updateOrderRemarkAndFinishDate} from '@/api/mes/job'
   import {ParList,ProcessList} from '@/api/yunyin/product'
   import {ParList,ProcessList} from '@/api/yunyin/product'
   import PrintPage from './components/print.vue'
   import PrintPage from './components/print.vue'
   import luckyexcelPage from './components/luckyexcel.vue'
   import luckyexcelPage from './components/luckyexcel.vue'
@@ -5813,24 +5826,107 @@ const sortTableData = ref([])
 
 
   const gyDetailPlanManufactureEditing = ref(false)
   const gyDetailPlanManufactureEditing = ref(false)
   const gyDetailPlanManufactureBackup = ref('')
   const gyDetailPlanManufactureBackup = ref('')
+  const gyDetailRemarkBackup = ref('')
+  const gyDetailFinishDateBackup = ref('')
   const gyDetailPlanManufactureSaving = ref(false)
   const gyDetailPlanManufactureSaving = ref(false)
 
 
   const startGyDetailPlanManufactureEdit = () => {
   const startGyDetailPlanManufactureEdit = () => {
     if (gyDetailPlanManufactureEditing.value) return
     if (gyDetailPlanManufactureEditing.value) return
     gyDetailPlanManufactureBackup.value = gyDetailFormData.计划制造工分 ?? ''
     gyDetailPlanManufactureBackup.value = gyDetailFormData.计划制造工分 ?? ''
+    gyDetailRemarkBackup.value = gyDetailFormData.备注 ?? ''
     gyDetailPlanManufactureEditing.value = true
     gyDetailPlanManufactureEditing.value = true
   }
   }
 
 
   const cancelGyDetailPlanManufactureEdit = () => {
   const cancelGyDetailPlanManufactureEdit = () => {
     gyDetailFormData.计划制造工分 = gyDetailPlanManufactureBackup.value
     gyDetailFormData.计划制造工分 = gyDetailPlanManufactureBackup.value
+    gyDetailFormData.备注 = gyDetailRemarkBackup.value
     gyDetailPlanManufactureEditing.value = false
     gyDetailPlanManufactureEditing.value = false
   }
   }
 
 
   const confirmGyDetailPlanManufactureEdit = async () => {
   const confirmGyDetailPlanManufactureEdit = async () => {
-    const ok = await handleUpdatePlanManufacture()
-    if (ok) {
-      gyDetailPlanManufactureBackup.value = gyDetailFormData.计划制造工分 ?? ''
-      gyDetailPlanManufactureEditing.value = false
+    gyDetailPlanManufactureSaving.value = true
+    try {
+      let finishDate = ''
+      if (gyDetailFormData.工单完工日期) {
+        const date = new Date(gyDetailFormData.工单完工日期)
+        const year = date.getFullYear()
+        const month = String(date.getMonth() + 1).padStart(2, '0')
+        const day = String(date.getDate()).padStart(2, '0')
+        finishDate = `${year}-${month}-${day}`
+      }
+      
+      const res = await updateOrderRemarkAndFinishDate({
+        id: gyDetailFormData.Uniqid,
+        remark: gyDetailFormData.备注,
+        工单完工日期: finishDate,
+        sys_id: userStore.userInfo.nickName
+      })
+      
+      if (res?.code === 0) {
+        ElMessage.success('保存成功')
+        gyDetailPlanManufactureBackup.value = gyDetailFormData.计划制造工分 ?? ''
+        gyDetailRemarkBackup.value = gyDetailFormData.备注 ?? ''
+        gyDetailPlanManufactureEditing.value = false
+      } else {
+        ElMessage.error('保存失败')
+      }
+    } catch (e) {
+      console.error('保存失败', e)
+      ElMessage.error('保存失败')
+    } finally {
+      gyDetailPlanManufactureSaving.value = false
+    }
+  }
+
+  const handleGyDetailFinishDateBlur = async () => {
+    try {
+      let finishDate = ''
+      if (gyDetailFormData.工单完工日期) {
+        const date = new Date(gyDetailFormData.工单完工日期)
+        const year = date.getFullYear()
+        const month = String(date.getMonth() + 1).padStart(2, '0')
+        const day = String(date.getDate()).padStart(2, '0')
+        finishDate = `${year}-${month}-${day}`
+      }
+      
+      const res = await updateOrderRemarkAndFinishDate({
+        id: gyDetailFormData.Uniqid,
+        remark: gyDetailFormData.备注,
+        工单完工日期: finishDate,
+        sys_id: userStore.userInfo.nickName
+      })
+      
+      if (res?.code === 0) {
+        ElMessage.success('保存成功')
+      } else {
+        ElMessage.error('保存失败')
+      }
+    } catch (e) {
+      console.error('保存失败', e)
+      ElMessage.error('保存失败')
+    }
+  }
+
+  const handleGyDetailRemarkBlur = async () => {
+    try {
+      // 格式化日期为 YYYY-MM-DD 格式
+      let finishDate = ''
+      if (gyDetailFormData.工单完工日期) {
+        const date = new Date(gyDetailFormData.工单完工日期)
+        const year = date.getFullYear()
+        const month = String(date.getMonth() + 1).padStart(2, '0')
+        const day = String(date.getDate()).padStart(2, '0')
+        finishDate = `${year}-${month}-${day}`
+      }
+      
+      await updateOrderRemarkAndFinishDate({
+        id: gyDetailFormData.Uniqid,
+        remark: gyDetailFormData.备注,
+        工单完工日期: finishDate,
+        sys_id: userStore.userInfo.nickName
+      })
+    } catch (e) {
+      console.error('更新备注和完工日期失败', e)
     }
     }
   }
   }