From 77e29e8e84a8a44c924b304fcb06f81dec594b07 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 06 六月 2025 14:57:06 +0800
Subject: [PATCH] 1.库存管理页面表头修改 2.销售出库表单字段添加

---
 src/views/warehouseManagement/index.vue        |  145 +++++++++++++++++++++++++++++++++++++++++------
 src/views/calculator/index.vue                 |   14 ++--
 src/views/salesOutbound/index.vue              |    5 +
 src/views/salesOutbound/components/formDia.vue |    7 ++
 4 files changed, 142 insertions(+), 29 deletions(-)

diff --git a/src/views/calculator/index.vue b/src/views/calculator/index.vue
index 280d2c1..f2478cc 100644
--- a/src/views/calculator/index.vue
+++ b/src/views/calculator/index.vue
@@ -8,19 +8,14 @@
             <div class="title">閫氱敤璁剧疆</div>
             <el-form :inline="true" :model="formInline" class="demo-form-inline" label-width="110" label-position="top">
               <el-row>
-                <el-col :span="8">
+                <el-col :span="12">
                   <el-form-item label="寰呴厤鐓ょ鏁伴噺">
                     <el-input v-model="formInline.num" type="number" clearable @change="updateCoalFields" />
                   </el-form-item>
                 </el-col>
-                <el-col :span="8">
+                <el-col :span="12">
                   <el-form-item label="鍙備笌閰嶇叅鎬诲惃鏁�">
                     <el-input v-model="formInline.count" type="number" clearable />
-                  </el-form-item>
-                </el-col>
-                <el-col :span="8">
-                  <el-form-item label="姣忛摬閲嶉噺(鍚�/閾�)">
-                    <el-input v-model="formInline.count1" type="number" clearable />
                   </el-form-item>
                 </el-col>
               </el-row>
@@ -75,6 +70,11 @@
                       <el-input v-model="item.weight3" type="number" clearable placeholder="鍙��" />
                     </el-form-item>
                   </el-col>
+                  <el-col :span="6">
+                    <el-form-item label="姣忛摬閲嶉噺(鍚�/閾�)">
+                      <el-input v-model="formInline.count1" type="number" clearable />
+                    </el-form-item>
+                  </el-col>
                 </el-row>
                 <el-divider />
               </div>
diff --git a/src/views/salesOutbound/components/formDia.vue b/src/views/salesOutbound/components/formDia.vue
index 2984136..67e86df 100644
--- a/src/views/salesOutbound/components/formDia.vue
+++ b/src/views/salesOutbound/components/formDia.vue
@@ -73,6 +73,13 @@
             </el-form-item>
           </el-col>
         </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鍒╂鼎" prop="userName">
+              <el-input v-model="form.userName" placeholder="鍒╂鼎" maxlength="30" type="number" />
+            </el-form-item>
+          </el-col>
+        </el-row>
       </el-form>
       <template #footer>
         <div class="dialog-footer">
diff --git a/src/views/salesOutbound/index.vue b/src/views/salesOutbound/index.vue
index ab8942c..955cd78 100644
--- a/src/views/salesOutbound/index.vue
+++ b/src/views/salesOutbound/index.vue
@@ -101,8 +101,9 @@
   { prop: "address", label: "鐓ょ", minWidth: 150 },
   { prop: "unit", label: "鍗曚綅", minWidth: 150 },
   { prop: "bank", label: "搴撳瓨鏁伴噺", minWidth: 120 },
-  { prop: "bankAccount", label: "鍗曚环(鍚◣)", minWidth: 150 },
-  { prop: "contacts", label: "鎬讳环(鍚◣)", minWidth: 100 },
+  { prop: "bankAccount", label: "閿�鍞崟浠�(鍚◣)", minWidth: 150 },
+  { prop: "contacts", label: "閿�鍞�讳环(鍚◣)", minWidth: 120 },
+  { prop: "contacts", label: "鍒╂鼎", minWidth: 90 },
   { prop: "contactAddress", label: "鐑��", minWidth: 150 },
   { prop: "maintainer", label: "缁存姢浜�", minWidth: 100 },
   { prop: "maintainDate", label: "缁存姢鏃ユ湡", minWidth: 100 },
diff --git a/src/views/warehouseManagement/index.vue b/src/views/warehouseManagement/index.vue
index b0ce67e..bda020e 100644
--- a/src/views/warehouseManagement/index.vue
+++ b/src/views/warehouseManagement/index.vue
@@ -54,29 +54,29 @@
       </el-tabs>
       <!-- 鎿嶄綔鎸夐挳鍖� -->
       <el-space>
-        <el-button type="primary" :icon="Plus" >鏂板缓</el-button>
         <el-button type="danger" :icon="Delete">鍒犻櫎</el-button>
         <el-button type="info" plain :icon="Download">瀵煎嚭</el-button>
         <el-button type="success" plain :icon="Refresh" v-if="activeTab=== 'officialInventory'" @click="mergeRows">鍚堝苟</el-button>
       </el-space>
       <div>
-        <el-table :data="tableData" border @selection-change="selectionChange">
+        <el-table :data="tableData" border @selection-change="selectionChange" style="width: 100%">
           <el-table-column type="selection" width="55" align="center" />
           <el-table-column label="搴忓彿" type="index" width="60" align="center" />
           <el-table-column prop="name" label="渚涜揣鍟嗗悕绉�" width="180" sortable/>
           <el-table-column prop="type" label="鐓ょ" sortable/>
           <el-table-column prop="unit" label="鍗曚綅" width="70"/>
-          <el-table-column prop="number" label="搴撳瓨鏁伴噺" sortable/>
+          <el-table-column prop="number" label="搴撳瓨鏁伴噺" sortable min-width="110"/>
           <el-table-column prop="money" label="鍗曚环锛堝惈绋庯級" sortable width="130"/>
           <el-table-column prop="money1" label="鎬讳环锛堝惈绋庯級" width="130" />
           <el-table-column prop="money2" label="鎴愭湰鍗曚环" />
-          <el-table-column prop="money3" label="鍒╂鼎" />
-          <el-table-column prop="money4" label="鐓よ川" sortable/>
-          <el-table-column prop="createUser" label="鐧昏浜�" />
-          <el-table-column prop="createTime" label="鐧昏鏃ユ湡" />
-          <el-table-column fixed="right" label="鎿嶄綔" min-width="90" align="center">
-            <template #default>
-              <el-button link type="primary" size="small">缂栬緫</el-button>
+          <el-table-column label="鐓よ川" align="center" v-if="activeTab=== 'officialInventory'" width="600">
+            <el-table-column v-for="col in columnTitle" :key="col.prop" :prop="col.prop" :label="col.label" align="center" sortable min-width="200"/>
+          </el-table-column>
+          <el-table-column prop="createUser" label="鐧昏浜�" width="180"/>
+          <el-table-column prop="createTime" label="鐧昏鏃ユ湡" width="180"/>
+          <el-table-column fixed="right" label="鎿嶄綔" min-width="90" align="center" v-if="activeTab !== 'officialInventory'">
+            <template #default="scope">
+              <el-button link type="primary" size="small" @click="reviewDia(scope.row)">瀹℃牳</el-button>
             </template>
           </el-table-column>
         </el-table>
@@ -90,6 +90,90 @@
         />
       </div>
     </el-card>
+    <!-- 瀹℃牳寰呭叆搴撳脊妗� -->
+    <el-dialog title="瀹℃牳鍏ュ簱" v-model="reviewVisible" width="1000px">
+      <el-form :model="form" :rules="rules" ref="userRef" label-width="180px">
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="渚涜揣鍟嗗悕绉�" prop="userName">
+              <el-input v-model="form.name" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鐓ょ" prop="nickName">
+              <el-input v-model="form.type" placeholder="璇疯緭鍏ュ鍚�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鍗曚綅" prop="userName">
+              <el-input v-model="form.unit" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="搴撳瓨鏁伴噺" prop="nickName">
+              <el-input v-model="form.num" placeholder="璇疯緭鍏ュ鍚�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鍗曚环(鍚◣)" prop="userName">
+              <el-input v-model="form.priceOne" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鎬讳环(鍚◣)" prop="nickName">
+              <el-input v-model="form.priceAll" placeholder="璇疯緭鍏ュ鍚�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鎴愭湰鍗曚环" prop="userName">
+              <el-input v-model="form.price" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鐓よ川" prop="userName">
+              <el-input v-model="form.type2" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-divider></el-divider>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="鍏ㄦ按鍚噺鐧惧垎姣� (%)" prop="userName">
+              <el-input v-model="form.value1" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鍥哄畾纰崇櫨鍒嗘瘮 (%)" prop="nickName">
+              <el-input v-model="form.value2" placeholder="璇疯緭鍏ュ鍚�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="12">
+            <el-form-item label="浣庝綅鍙戠儹閲忥紙鍗曚綅锛氬崈鍗�/鍗冨厠锛�" prop="userName">
+              <el-input v-model="form.value3" placeholder="璇疯緭鍏ユ墜鏈哄彿鐮�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="12">
+            <el-form-item label="鐏板垎鐧惧垎姣� (%)" prop="nickName">
+              <el-input v-model="form.value4" placeholder="璇疯緭鍏ュ鍚�" maxlength="30" />
+            </el-form-item>
+          </el-col>
+        </el-row>
+      </el-form>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button type="primary" @click="submitReviewForm">纭� 瀹�</el-button>
+          <el-button @click="cancelReview">鍙� 娑�</el-button>
+        </div>
+      </template>
+    </el-dialog>
     <!-- 鍚堝苟鏁版嵁寮规 -->
     <el-dialog title="鍚堝苟搴撳瓨" v-model="mergeVisible" width="800px">
       <el-form :model="form" :rules="rules" ref="userRef" label-width="100px">
@@ -148,16 +232,18 @@
 const total = ref(0);
 const pageNum = ref(1);
 const pageSize = ref(10);
+// 瀹℃牳寮规
+const reviewVisible = ref(false);
 // 鍚堝苟寮规
 const mergeVisible = ref(false)
 const data = reactive({
   form: {},
   rules: {
-    userName: [{ required: true, message: "鐧诲綍璐﹀彿涓嶈兘涓虹┖", trigger: "blur" }, { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜", trigger: "blur" }],
-    nickName: [{ required: true, message: "鐢ㄦ埛濮撳悕涓嶈兘涓虹┖", trigger: "blur" }],
-    roleIds: [{ required: true, message: "瑙掕壊涓嶈兘涓虹┖", trigger: "change" }],
-    deptId: [{ required: true, message: "閮ㄩ棬涓嶈兘涓虹┖", trigger: "change" }],
-    password: [{ required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }, { min: 5, max: 20, message: "鐢ㄦ埛瀵嗙爜闀垮害蹇呴』浠嬩簬 5 鍜� 20 涔嬮棿", trigger: "blur" }, { pattern: /^[^<>"'|\\]+$/, message: "涓嶈兘鍖呭惈闈炴硶瀛楃锛�< > \" ' \\\ |", trigger: "blur" }],
+    // userName: [{ required: true, message: "鐧诲綍璐﹀彿涓嶈兘涓虹┖", trigger: "blur" }],
+    // nickName: [{ required: true, message: "鐢ㄦ埛濮撳悕涓嶈兘涓虹┖", trigger: "blur" }],
+    // roleIds: [{ required: true, message: "瑙掕壊涓嶈兘涓虹┖", trigger: "change" }],
+    // deptId: [{ required: true, message: "閮ㄩ棬涓嶈兘涓虹┖", trigger: "change" }],
+    // password: [{ required: true, message: "鐢ㄦ埛瀵嗙爜涓嶈兘涓虹┖", trigger: "blur" }],
   }
 })
 
@@ -177,6 +263,7 @@
   identifyNumber: "",
   address: "",
 })
+const columnTitle = ref([])
 onMounted(() => {
   handleTabClick({ props: { name: "supplier" } });
 });
@@ -208,14 +295,20 @@
 }
 const getList = () => {
   tableLoading.value = true;
+  // 璧嬪�肩叅璐ㄨ〃澶村睍绀哄瓧娈�
+  columnTitle.value = [
+    {prop: 'value1', label: '鐧惧垎姣�1'},
+    {prop: 'value2', label: '鐧惧垎姣�2'},
+    {prop: 'value3', label: '鐧惧垎姣�3'},
+  ]
   setTimeout(() => {
     // 鏆傛椂寮曞叆娴嬭瘯鏁版嵁
     tableData.value = [
-      { name: "渚涘簲鍟咥", type: "鍔ㄥ姏鐓�", unit: "鍚�", number: 120, money: 500, money1: 200, money2: 200, money3: 300, money4: '楂樹綅', createUser: 'admin', createTime: '2025-06-01' },
-      { name: "渚涘簲鍟咥", type: "鍔ㄥ姏鐓�", unit: "鍚�", number: 100, money: 600, money1: 300, money2: 300, money3: 300, money4: '浣庝綅', createUser: 'admin', createTime: '2025-06-01' },
-      { name: "渚涘簲鍟咮", type: "鐒︾叅", unit: "鍚�", number: 300, money: 789,money1: 400, money2: 400, money3: 400, money4: '楂樹綅', createUser: 'admin', createTime: '2025-06-01'  },
-      { name: "渚涘簲鍟咮", type: "鐒︾叅", unit: "鍚�", number: 256, money: 800, money1: 420, money2: 420, money3: 420, money4: '浣庝綅', createUser: 'admin', createTime: '2025-06-01'  },
-      { name: "渚涘簲鍟咰", type: "鏃犵儫鐓�", unit: "鍚�", number: 256, money: 700, money1: 300, money2: 300, money3: 300, money4: '楂樹綅', createUser: 'admin', createTime: '2025-06-01'  }
+      { name: "渚涘簲鍟咥", type: "鍔ㄥ姏鐓�", unit: "鍚�", number: 120, money: 500, money1: 200, money2: 200, money3: 300, money4: '楂樹綅', createUser: 'admin', createTime: '2025-06-01', value1: 12, value2: 23, value3: 14 },
+      { name: "渚涘簲鍟咥", type: "鍔ㄥ姏鐓�", unit: "鍚�", number: 100, money: 600, money1: 300, money2: 300, money3: 300, money4: '浣庝綅', createUser: 'admin', createTime: '2025-06-01', value1: 14, value2: 23, value3: 14 },
+      { name: "渚涘簲鍟咮", type: "鐒︾叅", unit: "鍚�", number: 300, money: 789,money1: 400, money2: 400, money3: 400, money4: '楂樹綅', createUser: 'admin', createTime: '2025-06-01', value1: 12, value2: 13, value3: 23  },
+      { name: "渚涘簲鍟咮", type: "鐒︾叅", unit: "鍚�", number: 256, money: 800, money1: 420, money2: 420, money3: 420, money4: '浣庝綅', createUser: 'admin', createTime: '2025-06-01', value1: 14, value2: 23, value3: 14  },
+      { name: "渚涘簲鍟咰", type: "鏃犵儫鐓�", unit: "鍚�", number: 256, money: 700, money1: 300, money2: 300, money3: 300, money4: '楂樹綅', createUser: 'admin', createTime: '2025-06-01', value1: 12, value2: 13, value3: 32  }
     ];
     total.value = tableData.value.length;
     tableLoading.value = false;
@@ -264,6 +357,10 @@
 const selectionChange = (rows) => {
   selectedRows.value = rows
 }
+// 鎵撳紑瀹℃牳寮规
+const reviewDia = (row) => {
+  reviewVisible.value = true
+}
 // 鍚堝苟搴撳瓨鏁版嵁鏂规硶
 const mergeRows = () => {
   if (selectedRows.value.length < 2) {
@@ -280,6 +377,14 @@
 const cancel = () => {
   mergeVisible.value = false
 }
+// 鎻愪氦瀹℃牳琛ㄥ崟
+const submitReviewForm = () => {
+
+}
+// 鍏抽棴瀹℃牳寮规
+const cancelReview = () => {
+  reviewVisible.value = false
+}
 </script>
 
 <style scoped>

--
Gitblit v1.9.3