From 78f67775cd8d880dacd5e8d5be6e17cc9fcbf77c Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期二, 26 五月 2026 14:53:07 +0800
Subject: [PATCH] feat(forms): 统一表单创建时间和编号生成逻辑

---
 src/views/procurementManagement/purchaseOrder/index.vue |   25 +++++++++++++++----------
 1 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/src/views/procurementManagement/purchaseOrder/index.vue b/src/views/procurementManagement/purchaseOrder/index.vue
index 79ca2fe..71d6caa 100644
--- a/src/views/procurementManagement/purchaseOrder/index.vue
+++ b/src/views/procurementManagement/purchaseOrder/index.vue
@@ -48,7 +48,7 @@
       </el-table>
     </el-card>
 
-    <el-dialog v-model="dialogVisible" :title="dialogType === 'add' ? '鏂板閲囪喘璁㈠崟' : '缂栬緫閲囪喘璁㈠崟'" width="800px">
+    <FormDialog v-model="dialogVisible" :title="dialogType === 'add' ? '鏂板閲囪喘璁㈠崟' : '缂栬緫閲囪喘璁㈠崟'" :width="'800px'" :operation-type="dialogType" @close="dialogVisible = false" @confirm="handleSubmit" @cancel="dialogVisible = false">
       <el-form :model="formData" ref="formRef" label-width="120px">
         <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName">
           <el-select v-model="formData.supplierName" placeholder="璇烽�夋嫨渚涘簲鍟�" style="width: 100%">
@@ -56,19 +56,23 @@
             <el-option label="渚涘簲鍟咮" value="渚涘簲鍟咮" />
           </el-select>
         </el-form-item>
+        <el-form-item label="鍒涘缓鏃堕棿">
+          <el-date-picker v-model="formData.createTime"
+                          type="date"
+                          placeholder="閫夋嫨鏃ユ湡"
+                          value-format="YYYY-MM-DD"
+                          style="width: 100%" />
+        </el-form-item>
         <el-form-item label="澶囨敞">
           <el-input v-model="formData.remark" type="textarea" :rows="3" placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�" />
         </el-form-item>
       </el-form>
-      <template #footer>
-        <el-button @click="dialogVisible = false">鍙栨秷</el-button>
-        <el-button type="primary" @click="handleSubmit">纭畾</el-button>
-      </template>
-    </el-dialog>
+    </FormDialog>
   </div>
 </template>
 
 <script setup>
+import FormDialog from '@/components/Dialog/FormDialog.vue';
 import { ref, reactive } from 'vue'
 import { ElMessage, ElMessageBox } from 'element-plus'
 
@@ -84,7 +88,8 @@
 
 const formData = reactive({
   supplierName: '',
-  remark: ''
+  remark: '',
+  createTime: ''
 })
 
 const mockData = [
@@ -127,7 +132,7 @@
   if (type === 'edit' && row.id) {
     Object.assign(formData, { supplierName: row.supplierName, remark: row.remark })
   } else {
-    Object.assign(formData, { supplierName: '', remark: '' })
+    Object.assign(formData, { supplierName: '', remark: '', createTime: new Date().toISOString().split('T')[0] })
   }
   dialogVisible.value = true
 }
@@ -136,11 +141,11 @@
   if (dialogType.value === 'add') {
     const newOrder = {
       id: Date.now(),
-      orderNo: `PO${Date.now()}`,
+      orderNo: '',
       supplierName: formData.supplierName,
       status: 'draft',
       totalAmount: 0,
-      createTime: new Date().toLocaleString(),
+      createTime: formData.createTime,
       remark: formData.remark
     }
     tableData.value.unshift(newOrder)

--
Gitblit v1.9.3