From 7de7862e8feaaefdf5e9492867db12013a88e9fc Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期五, 29 五月 2026 15:07:04 +0800
Subject: [PATCH] 销售台账审核反审核功能

---
 src/views/inventoryManagement/receiptManagement/Record.vue |  299 ++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 150 insertions(+), 149 deletions(-)

diff --git a/src/views/inventoryManagement/receiptManagement/Record.vue b/src/views/inventoryManagement/receiptManagement/Record.vue
index aefac4e..700a792 100644
--- a/src/views/inventoryManagement/receiptManagement/Record.vue
+++ b/src/views/inventoryManagement/receiptManagement/Record.vue
@@ -9,26 +9,26 @@
                         value-format="YYYY-MM-DD"
                         format="YYYY-MM-DD"
                         clearable
-                        @change="handleQuery"/>
+                        @change="handleQuery" />
         <span class="search_title ml10">浜у搧澶х被锛�</span>
         <el-input v-model="searchForm.productName"
                   style="width: 240px"
                   placeholder="璇疯緭鍏�"
-                  clearable/>
+                  clearable />
         <span class="search_title ml10">鍚堝悓鍙凤細</span>
         <el-input v-model="searchForm.salesContractNo"
                   style="width: 240px"
                   placeholder="璇疯緭鍏ュ悎鍚屽彿"
-                  clearable/>
+                  clearable />
         <span class="search_title ml10">鏉ユ簮锛�</span>
         <el-select v-model="searchForm.recordType"
-                  style="width: 240px"
-                  placeholder="璇烽�夋嫨"
-                  clearable>
+                   style="width: 240px"
+                   placeholder="璇烽�夋嫨"
+                   clearable>
           <el-option v-for="item in stockRecordTypeOptions"
                      :key="item.value"
                      :label="item.label"
-                     :value="item.value"/>
+                     :value="item.value" />
         </el-select>
         <el-button type="primary"
                    @click="handleQuery"
@@ -54,40 +54,40 @@
                 height="calc(100vh - 18.5em)">
         <el-table-column align="center"
                          type="selection"
-                         width="55"/>
+                         width="55" />
         <el-table-column align="center"
                          label="搴忓彿"
                          type="index"
-                         width="60"/>
+                         width="60" />
         <el-table-column label="鍏ュ簱鎵规"
                          prop="inboundBatches"
                          width="280"
-                         show-overflow-tooltip/>
+                         show-overflow-tooltip />
         <el-table-column label="鍚堝悓鍙�"
                          prop="salesContractNo"
-                         show-overflow-tooltip/>
+                         show-overflow-tooltip />
         <el-table-column label="鍏ュ簱鏃堕棿"
                          prop="createTime"
                          :formatter="formatTableDateYmd"
-                         show-overflow-tooltip/>
+                         show-overflow-tooltip />
         <el-table-column label="浜у搧澶х被"
                          prop="productName"
-                         show-overflow-tooltip/>
+                         show-overflow-tooltip />
         <el-table-column label="瑙勬牸鍨嬪彿"
                          prop="model"
-                         show-overflow-tooltip/>
-       <el-table-column label="鍘氬害(mm)"
-                        prop="thickness"
-                        show-overflow-tooltip />
+                         show-overflow-tooltip />
+        <el-table-column label="鍘氬害(mm)"
+                         prop="thickness"
+                         show-overflow-tooltip />
         <el-table-column label="鍗曚綅"
                          prop="unit"
-                         show-overflow-tooltip/>
+                         show-overflow-tooltip />
         <el-table-column label="鍏ュ簱鏁伴噺"
                          prop="stockInNum"
-                         show-overflow-tooltip/>
+                         show-overflow-tooltip />
         <el-table-column label="鍏ュ簱浜�"
                          prop="createBy"
-                         show-overflow-tooltip/>
+                         show-overflow-tooltip />
         <el-table-column label="鏉ユ簮"
                          prop="recordType"
                          show-overflow-tooltip>
@@ -101,170 +101,171 @@
                   layout="total, sizes, prev, pager, next, jumper"
                   :page="page.current"
                   :limit="page.size"
-                  @pagination="pageProductChange"/>
+                  @pagination="pageProductChange" />
     </div>
   </div>
 </template>
 
 <script setup>
-import pagination from "@/components/PIMTable/Pagination.vue";
-import {
-  ref,
-  reactive,
-  toRefs,
-  onMounted,
-  getCurrentInstance,
-} from "vue";
-import {ElMessageBox} from "element-plus";
-import {
-  getStockInRecordListPage,
-  batchDeleteStockInRecords,
-} from "@/api/inventoryManagement/stockInRecord.js";
-import {
-  findAllQualifiedStockInRecordTypeOptions, findAllUnQualifiedStockInRecordTypeOptions,
-} from "@/api/basicData/enum.js";
-import {parseTime} from "@/utils/ruoyi";
+  import pagination from "@/components/PIMTable/Pagination.vue";
+  import { ref, reactive, toRefs, onMounted, getCurrentInstance } from "vue";
+  import { ElMessageBox } from "element-plus";
+  import {
+    getStockInRecordListPage,
+    batchDeleteStockInRecords,
+  } from "@/api/inventoryManagement/stockInRecord.js";
+  import {
+    findAllQualifiedStockInRecordTypeOptions,
+    findAllUnQualifiedStockInRecordTypeOptions,
+  } from "@/api/basicData/enum.js";
+  import { parseTime } from "@/utils/ruoyi";
 
-const {proxy} = getCurrentInstance();
+  const { proxy } = getCurrentInstance();
 
-const formatTableDateYmd = (row, column, cellValue) => {
-  if (cellValue == null || cellValue === "") {
-    return "";
-  }
-  return parseTime(cellValue, "{y}-{m}-{d}") || "";
-};
+  const formatTableDateYmd = (row, column, cellValue) => {
+    if (cellValue == null || cellValue === "") {
+      return "";
+    }
+    return parseTime(cellValue, "{y}-{m}-{d}") || "";
+  };
 
-const props = defineProps({
-  type: {
-    type: String,
-    required: true,
-    default: '0'
-  }
-})
+  const props = defineProps({
+    type: {
+      type: String,
+      required: true,
+      default: "0",
+    },
+  });
 
-const tableData = ref([]);
-const selectedRows = ref([]);
-const tableLoading = ref(false);
-// 鏉ユ簮绫诲瀷閫夐」
-const stockRecordTypeOptions = ref([]);
-const page = reactive({
-  current: 1,
-  size: 10,
-});
-const total = ref(0);
+  const tableData = ref([]);
+  const selectedRows = ref([]);
+  const tableLoading = ref(false);
+  // 鏉ユ簮绫诲瀷閫夐」
+  const stockRecordTypeOptions = ref([]);
+  const page = reactive({
+    current: 1,
+    size: 10,
+  });
+  const total = ref(0);
 
-const data = reactive({
-  searchForm: {
-    productName: "",
-    salesContractNo: "",
-    timeStr: "",
-    recordType: "",
-  },
-});
-const {searchForm} = toRefs(data);
-// 鏌ヨ鍒楄〃
-/** 鎼滅储鎸夐挳鎿嶄綔 */
-const handleQuery = () => {
-  page.current = 1;
-  getList();
-};
+  const data = reactive({
+    searchForm: {
+      productName: "",
+      salesContractNo: "",
+      timeStr: "",
+      recordType: "",
+    },
+  });
+  const { searchForm } = toRefs(data);
+  // 鏌ヨ鍒楄〃
+  /** 鎼滅储鎸夐挳鎿嶄綔 */
+  const handleQuery = () => {
+    page.current = 1;
+    getList();
+  };
 
-const getRecordType = (recordType) => {
-  return stockRecordTypeOptions.value.find(item => item.value === recordType)?.label || ''
-}
+  const getRecordType = recordType => {
+    return (
+      stockRecordTypeOptions.value.find(item => item.value === recordType)
+        ?.label || ""
+    );
+  };
 
-const pageProductChange = obj => {
-  page.current = obj.page;
-  page.size = obj.limit;
-  getList();
-};
+  const pageProductChange = obj => {
+    page.current = obj.page;
+    page.size = obj.limit;
+    getList();
+  };
 
-const getList = () => {
-  tableLoading.value = true;
-  const params = {...page, type: props.type};
-  params.timeStr = searchForm.value.timeStr;
-  params.productName = searchForm.value.productName;
-  params.salesContractNo = searchForm.value.salesContractNo;
-  params.recordType = searchForm.value.recordType;
-  getStockInRecordListPage(params)
+  const getList = () => {
+    tableLoading.value = true;
+    const params = { ...page, type: props.type };
+    params.timeStr = searchForm.value.timeStr;
+    params.productName = searchForm.value.productName;
+    params.salesContractNo = searchForm.value.salesContractNo;
+    params.recordType = searchForm.value.recordType;
+    getStockInRecordListPage(params)
       .then(res => {
         tableData.value = res.data.records;
         total.value = res.data.total || 0;
-      }).finally(() => {
-    tableLoading.value = false;
-  })
-};
-
-// 鑾峰彇鏉ユ簮绫诲瀷閫夐」
-const fetchStockRecordTypeOptions = () => {
-  if (props.type === '0') {
-    findAllQualifiedStockInRecordTypeOptions()
-        .then(res => {
-          stockRecordTypeOptions.value = res.data;
-        })
-    return
-  }
-  findAllUnQualifiedStockInRecordTypeOptions()
-      .then(res => {
-        stockRecordTypeOptions.value = res.data;
       })
-}
+      .finally(() => {
+        tableLoading.value = false;
+      });
+  };
 
-// 琛ㄦ牸閫夋嫨鏁版嵁
-const handleSelectionChange = selection => {
-  selectedRows.value = selection.filter(item => item.id);
-};
+  // 鑾峰彇鏉ユ簮绫诲瀷閫夐」
+  const fetchStockRecordTypeOptions = () => {
+    if (props.type === "0") {
+      findAllQualifiedStockInRecordTypeOptions().then(res => {
+        stockRecordTypeOptions.value = res.data;
+      });
+      return;
+    }
+    findAllUnQualifiedStockInRecordTypeOptions().then(res => {
+      stockRecordTypeOptions.value = res.data;
+    });
+  };
 
-const expandedRowKeys = ref([]);
+  // 琛ㄦ牸閫夋嫨鏁版嵁
+  const handleSelectionChange = selection => {
+    selectedRows.value = selection.filter(item => item.id);
+  };
 
-// 瀵煎嚭
-const handleOut = () => {
-  ElMessageBox.confirm("鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
-    confirmButtonText: "纭",
-    cancelButtonText: "鍙栨秷",
-    type: "warning",
-  })
+  const expandedRowKeys = ref([]);
+
+  // 瀵煎嚭
+  const handleOut = () => {
+    ElMessageBox.confirm("鏄惁纭瀵煎嚭锛�", "瀵煎嚭", {
+      confirmButtonText: "纭",
+      cancelButtonText: "鍙栨秷",
+      type: "warning",
+    })
       .then(() => {
         // 鏍规嵁涓嶅悓鐨� tab 绫诲瀷璋冪敤涓嶅悓鐨勫鍑烘帴鍙�
-        proxy.download("/stockInRecord/exportStockInRecord", {type: props.type}, props.type === '0' ? "鍚堟牸鍏ュ簱.xlsx" : "涓嶅悎鏍煎叆搴�.xlsx");
+        proxy.download(
+          "/stockInRecord/exportStockInRecord",
+          { type: props.type },
+          props.type === "0" ? "鍚堟牸鍏ュ簱.xlsx" : "涓嶅悎鏍煎叆搴�.xlsx"
+        );
       })
       .catch(() => {
         proxy.$modal.msg("宸插彇娑�");
       });
-};
+  };
 
-// 鍒犻櫎
-const handleDelete = () => {
-  if (selectedRows.value.length === 0) {
-    proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
-    return;
-  }
-  const ids = selectedRows.value.map(item => item.id);
+  // 鍒犻櫎
+  const handleDelete = () => {
+    if (selectedRows.value.length === 0) {
+      proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
+      return;
+    }
+    const ids = selectedRows.value.map(item => item.id);
 
-  ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�", "鍒犻櫎", {
-    confirmButtonText: "纭",
-    cancelButtonText: "鍙栨秷",
-    type: "warning",
-  })
+    ElMessageBox.confirm("閫変腑鐨勫唴瀹瑰皢琚垹闄わ紝鏄惁纭鍒犻櫎锛�", "鍒犻櫎", {
+      confirmButtonText: "纭",
+      cancelButtonText: "鍙栨秷",
+      type: "warning",
+    })
       .then(() => {
         batchDeleteStockInRecords(ids)
-            .then(() => {
-              proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
-              getList();
-            })
-            .catch(() => {
-              proxy.$modal.msgError("鍒犻櫎澶辫触");
-            });
+          .then(() => {
+            proxy.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+            getList();
+          })
+          .catch(() => {
+            proxy.$modal.msgError("鍒犻櫎澶辫触");
+          });
       })
       .catch(() => {
         proxy.$modal.msg("宸插彇娑�");
       });
-};
+  };
 
-onMounted(() => {
-  getList();
-  fetchStockRecordTypeOptions();
-});
+  onMounted(() => {
+    getList();
+    fetchStockRecordTypeOptions();
+  });
 </script>
 
 <style scoped lang="scss"></style>

--
Gitblit v1.9.3