src/api/inventoryManagement/stockIn.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/inventoryManagement/stockManage.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/api/inventoryManagement/stockOut.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/inventoryManagement/dispatchLog/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/inventoryManagement/issueManagement/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/inventoryManagement/receiptManagement/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/inventoryManagement/stockManagement/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/api/inventoryManagement/stockIn.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,48 @@ import request from "@/utils/request"; // æ¥è¯¢å ¥åºä¿¡æ¯å表 export const getStockInPage = (params) => { return request({ url: "/stockin/listPage", method: "get", params, }); }; // ä¿®æ¹åºåä¿¡æ¯ export const updateStockIn = (data) => { return request({ url: "/stockin/update", method: "put", data, }); }; // æ°å¢ååå ¥åºä¿¡æ¯ export function addSutockIn(data) { return request({ url: '/stockin/add', method: 'post', data: data }) } // å é¤å ¥åºä¿¡æ¯ export function delStockIn(ids) { return request({ url: '/stockin/del', method: 'delete', data: ids }) } // 导åºå ¥åºä¿¡æ¯ export function exportStockIn(query) { return request({ url: '/stockin/export', method: 'get', params: query, responseType: 'blob' }) } src/api/inventoryManagement/stockManage.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,38 @@ import request from "@/utils/request"; // æ¥è¯¢åºåä¿¡æ¯å表 export const getStockManagePage = (params) => { return request({ url: "/stockmanagement/page", method: "get", params, }); }; // ä¿®æ¹åºåä¿¡æ¯ export const updateStockManage = (data) => { return request({ url: "/stockmanagement/update", method: "put", data, }); }; // å é¤åºåä¿¡æ¯ export function delStockManage(ids) { return request({ url: '/stockmanagement/del', method: 'delete', data: ids }) } // 导åºåºåä¿¡æ¯ export function exportStockManage(query) { return request({ url: '/stockmanagement/export', method: 'get', params: query, responseType: 'blob' }) } src/api/inventoryManagement/stockOut.js
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,47 @@ import request from "@/utils/request"; //æ¥è¯¢åºåºå表 export const getStockOutPage = (params) => { return request({ url: "/stockout/page", method: "get", params, }); }; //æ°å¢åºåºä¿¡æ¯ export const addStockOut = (data) => { return request({ url: '/stockout/add', method: 'post', data: data }) } //ä¿®æ¹åºåºä¿¡æ¯ export const updateStockOut = (data) => { return request({ url: "/stockout/update", method: "put", data, }); } //å é¤åºåºä¿¡æ¯ export const delStockOut = (ids) => { return request({ url: '/stockout/del', method: 'delete', data: ids }) } //导åºåºåºä¿¡æ¯ export const exportStockOut = (query) => { return request({ url: '/stockout/export', method: 'get', params: query, responseType: 'blob' }) } src/views/inventoryManagement/dispatchLog/index.vue
@@ -4,7 +4,7 @@ <div> <span class="search_title">ä¾åºååç§°ï¼</span> <el-input v-model="searchForm.customerName" v-model="searchForm.supplierName" style="width: 240px" placeholder="请è¾å ¥" @change="handleQuery" @@ -38,67 +38,67 @@ <el-table-column align="center" label="åºå·" type="index" width="60" /> <el-table-column label="åºåºæ¥æ" prop="salesContractNo" prop="inboundTime" width="100" show-overflow-tooltip /> <el-table-column label="ä¾åºååç§°" prop="customerName" prop="supplierName" width="160" show-overflow-tooltip /> <el-table-column label="产å大类" prop="salesman" prop="productCategory" width="100" show-overflow-tooltip /> <el-table-column label="è§æ ¼åå·" prop="projectName" prop="specificationModel" width="100" show-overflow-tooltip /> <el-table-column label="åä½" prop="contractAmount" prop="unit" width="80" show-overflow-tooltip /> <el-table-column label="åºåºæ°é" prop="entryPersonName" prop="inboundQuantity" width="100" show-overflow-tooltip /> <el-table-column label="å«ç¨åä»·" prop="entryDate" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip /> <el-table-column label="å«ç¨æ»ä»·" prop="executionDate" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip /> <el-table-column label="ç¨ç" prop="executionDate" prop="taxRate" width="100" show-overflow-tooltip /> <el-table-column label="ä¸å«ç¨æ»ä»·" prop="executionDate" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip /> <el-table-column label="åºåºäºº" prop="executionDate" prop="nickname" width="80" show-overflow-tooltip /> @@ -290,6 +290,10 @@ getSalesLedgerWithProducts, delLedger, } from "@/api/salesManagement/salesLedger.js"; import { getStockOutPage } from "@/api/inventoryManagement/stockOut.js"; const userStore = useUserStore(); const { proxy } = getCurrentInstance(); const tableData = ref([]); @@ -351,10 +355,10 @@ }; const getList = () => { tableLoading.value = true; ledgerListPage({ ...searchForm.value, ...page }) getStockOutPage({ ...searchForm.value, ...page }) .then((res) => { tableLoading.value = false; tableData.value = res.records; tableData.value = res.data.records; tableData.value.map((item) => { item.children = []; }); src/views/inventoryManagement/issueManagement/index.vue
@@ -3,7 +3,7 @@ <div class="search_form"> <div> <span class="search_title">ä¾åºååç§°ï¼</span> <el-input v-model="searchForm.customerName" style="width: 240px" placeholder="请è¾å ¥" @change="handleQuery" <el-input v-model="searchForm.supplierName" style="width: 240px" placeholder="请è¾å ¥" @change="handleQuery" clearable prefix-icon="Search" /> <el-button type="primary" @click="handleQuery" style="margin-left: 10px">æç´¢</el-button> </div> @@ -19,18 +19,18 @@ :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)"> <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="åºå·" type="index" width="60" /> <el-table-column label="å ¥åºæ¶é´" prop="salesContractNo" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºæ¹æ¬¡" prop="customerContractNo" width="160" show-overflow-tooltip /> <el-table-column label="ä¾åºååç§°" prop="customerName" width="160" show-overflow-tooltip /> <el-table-column label="产å大类" prop="salesman" width="100" show-overflow-tooltip /> <el-table-column label="è§æ ¼åå·" prop="projectName" width="160" show-overflow-tooltip /> <el-table-column label="åä½" prop="contractAmount" width="70" show-overflow-tooltip /> <el-table-column label="å ¥åºæ°é" prop="entryPersonName" width="90" show-overflow-tooltip /> <el-table-column label="å«ç¨åä»·" prop="entryDate" width="100" show-overflow-tooltip /> <el-table-column label="å«ç¨æ»ä»·" prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column label="ç¨ç(%)" prop="executionDate" width="80" show-overflow-tooltip /> <el-table-column label="ä¸å«ç¨æ»ä»·" prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºäºº" prop="executionDate" width="80" show-overflow-tooltip /> <el-table-column label="å ¥åºæ¶é´" prop="inboundTime" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºæ¹æ¬¡" prop="inboundBatch" width="160" show-overflow-tooltip /> <el-table-column label="ä¾åºååç§°" prop="supplierName" width="160" show-overflow-tooltip /> <el-table-column label="产å大类" prop="productCategory" width="100" show-overflow-tooltip /> <el-table-column label="è§æ ¼åå·" prop="specificationModel" width="160" show-overflow-tooltip /> <el-table-column label="åä½" prop="unit" width="70" show-overflow-tooltip /> <el-table-column label="å ¥åºæ°é" prop="inboundQuantity" width="90" show-overflow-tooltip /> <el-table-column label="å«ç¨åä»·" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip /> <el-table-column label="å«ç¨æ»ä»·" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip /> <el-table-column label="ç¨ç(%)" prop="taxRate" width="80" show-overflow-tooltip /> <el-table-column label="ä¸å«ç¨æ»ä»·" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºäºº" prop="nickname" width="80" show-overflow-tooltip /> <el-table-column fixed="right" label="æä½" min-width="60" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm(scope.row);">åºåº</el-button> @@ -77,6 +77,13 @@ addOrUpdateSalesLedger, getSalesLedgerWithProducts, delLedger } from "@/api/salesManagement/salesLedger.js"; import { getStockOutPage, addStockOut, updateStockOut, delStockOut, exportStockOut } from "@/api/inventoryManagement/stockOut.js"; const userStore = useUserStore() const { proxy } = getCurrentInstance() const tableData = ref([]) @@ -97,7 +104,7 @@ const dialogFormVisible = ref(false) const data = reactive({ searchForm: { customerName: '', supplierName: '', }, form: { salesContractNo: '', @@ -136,9 +143,9 @@ } const getList = () => { tableLoading.value = true ledgerListPage({ ...searchForm.value, ...page }).then(res => { getStockOutPage({ ...searchForm.value, ...page }).then(res => { tableLoading.value = false tableData.value = res.records tableData.value = res.data.records tableData.value.map(item => { item.children = [] }) src/views/inventoryManagement/receiptManagement/index.vue
@@ -3,7 +3,7 @@ <div class="search_form"> <div> <span class="search_title">ä¾åºååç§°ï¼</span> <el-input v-model="searchForm.customerName" style="width: 240px" placeholder="请è¾å ¥" @change="handleQuery" <el-input v-model="searchForm.supplierName" style="width: 240px" placeholder="请è¾å ¥" @change="handleQuery" clearable prefix-icon="Search" /> <el-button type="primary" @click="handleQuery" style="margin-left: 10px">æç´¢</el-button> </div> @@ -19,18 +19,18 @@ :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)"> <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="åºå·" type="index" width="60" /> <el-table-column label="å ¥åºæ¶é´" prop="salesContractNo" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºæ¹æ¬¡" prop="customerContractNo" width="160" show-overflow-tooltip /> <el-table-column label="ä¾åºååç§°" prop="customerName" width="160" show-overflow-tooltip /> <el-table-column label="产å大类" prop="salesman" width="100" show-overflow-tooltip /> <el-table-column label="è§æ ¼åå·" prop="projectName" width="160" show-overflow-tooltip /> <el-table-column label="åä½" prop="contractAmount" width="70" show-overflow-tooltip /> <el-table-column label="å ¥åºæ°é" prop="entryPersonName" width="90" show-overflow-tooltip /> <el-table-column label="å«ç¨åä»·" prop="entryDate" width="100" show-overflow-tooltip /> <el-table-column label="å«ç¨æ»ä»·" prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column label="ç¨ç(%)" prop="executionDate" width="80" show-overflow-tooltip /> <el-table-column label="ä¸å«ç¨æ»ä»·" prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºäºº" prop="executionDate" width="80" show-overflow-tooltip /> <el-table-column label="å ¥åºæ¶é´" prop="inboundTime" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºæ¹æ¬¡" prop="inboundBatch" width="160" show-overflow-tooltip /> <el-table-column label="ä¾åºååç§°" prop="supplierName" width="160" show-overflow-tooltip /> <el-table-column label="产å大类" prop="productCategory" width="100" show-overflow-tooltip /> <el-table-column label="è§æ ¼åå·" prop="specificationModel" width="160" show-overflow-tooltip /> <el-table-column label="åä½" prop="unit" width="70" show-overflow-tooltip /> <el-table-column label="å ¥åºæ°é" prop="inboundQuantity" width="90" show-overflow-tooltip /> <el-table-column label="å«ç¨åä»·" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip /> <el-table-column label="å«ç¨æ»ä»·" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip /> <el-table-column label="ç¨ç(%)" prop="taxRate" width="80" show-overflow-tooltip /> <el-table-column label="ä¸å«ç¨æ»ä»·" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºäºº" prop="nickname" width="80" show-overflow-tooltip /> <el-table-column fixed="right" label="æä½" min-width="60" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm('edit', scope.row);">ç¼è¾</el-button> @@ -144,6 +144,13 @@ addOrUpdateSalesLedger, getSalesLedgerWithProducts, delLedger } from "@/api/salesManagement/salesLedger.js"; import { getStockInPage, updateStockIn, addSutockIn, delStockIn, exportStockIn } from "@/api/inventoryManagement/stockIn.js"; const userStore = useUserStore() const { proxy } = getCurrentInstance() const tableData = ref([]) @@ -164,7 +171,7 @@ const dialogFormVisible = ref(false) const data = reactive({ searchForm: { customerName: '', supplierName: '', }, form: { salesContractNo: '', @@ -203,9 +210,9 @@ } const getList = () => { tableLoading.value = true ledgerListPage({ ...searchForm.value, ...page }).then(res => { getStockInPage({ ...searchForm.value, ...page }).then(res => { tableLoading.value = false tableData.value = res.records tableData.value = res.data.records tableData.value.map(item => { item.children = [] }) src/views/inventoryManagement/stockManagement/index.vue
@@ -3,7 +3,7 @@ <div class="search_form"> <div> <span class="search_title">ä¾åºååç§°ï¼</span> <el-input v-model="searchForm.customerName" style="width: 240px" placeholder="请è¾å ¥" @change="handleQuery" <el-input v-model="searchForm.supplierName" style="width: 240px" placeholder="请è¾å ¥" @change="handleQuery" clearable prefix-icon="Search" /> <el-button type="primary" @click="handleQuery" style="margin-left: 10px">æç´¢</el-button> </div> @@ -19,18 +19,18 @@ :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)"> <el-table-column align="center" type="selection" width="55" /> <el-table-column align="center" label="åºå·" type="index" width="60" /> <el-table-column label="åºåæ¥æ" prop="salesContractNo" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºæ¥æ" prop="salesContractNo" width="100" show-overflow-tooltip /> <el-table-column label="ä¾åºååç§°" prop="customerName" width="160" show-overflow-tooltip /> <el-table-column label="产å大类" prop="salesman" width="100" show-overflow-tooltip /> <el-table-column label="è§æ ¼åå·" prop="projectName" width="100" show-overflow-tooltip /> <el-table-column label="åä½" prop="contractAmount" width="80" show-overflow-tooltip /> <el-table-column label="åºåºæ°é" prop="entryPersonName" width="100" show-overflow-tooltip /> <el-table-column label="å«ç¨åä»·" prop="entryDate" width="100" show-overflow-tooltip /> <el-table-column label="å«ç¨æ»ä»·" prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column label="ç¨ç(%)" prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column label="ä¸å«ç¨æ»ä»·" prop="executionDate" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºäºº" prop="executionDate" width="80" show-overflow-tooltip /> <el-table-column label="åºåæ¥æ" prop="boundTime" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºæ¥æ" prop="inboundTime" width="100" show-overflow-tooltip /> <el-table-column label="ä¾åºååç§°" prop="supplierName" width="160" show-overflow-tooltip /> <el-table-column label="产å大类" prop="productCategory" width="100" show-overflow-tooltip /> <el-table-column label="è§æ ¼åå·" prop="specificationModel" width="100" show-overflow-tooltip /> <el-table-column label="åä½" prop="unit" width="80" show-overflow-tooltip /> <el-table-column label="åºåºæ°é" prop="stockQuantity" width="100" show-overflow-tooltip /> <el-table-column label="å«ç¨åä»·" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip /> <el-table-column label="å«ç¨æ»ä»·" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip /> <el-table-column label="ç¨ç(%)" prop="taxRate" width="100" show-overflow-tooltip /> <el-table-column label="ä¸å«ç¨æ»ä»·" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip /> <el-table-column label="å ¥åºäºº" prop="nickname" width="80" show-overflow-tooltip /> <el-table-column fixed="right" label="æä½" min-width="60" align="center"> <template #default="scope"> <el-button link type="primary" size="small" @click="openForm('edit', scope.row);">ç¼è¾</el-button> @@ -45,75 +45,85 @@ <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef"> <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="ä¾åºååç§°ï¼" prop="salesContractNo"> <el-form-item label="ä¾åºååç§°ï¼" prop="supplierName"> <el-input v-model="form.salesContractNo" placeholder="请è¾å ¥" clearable /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="产å大类ï¼" prop="salesman"> <el-select v-model="form.salesman" placeholder="è¯·éæ©" clearable> <el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName" /> <el-form-item label="产å大类ï¼" prop="productCategory"> <el-select v-model="form.productCategory" placeholder="è¯·éæ©" clearable> <el-option v-for="item in userList" :key="item.productCategory" :label="item.productCategory" :value="item.productCategory" /> </el-select> </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="è§æ ¼åå·ï¼" prop="customerContractNo"> <el-input v-model="form.customerContractNo" placeholder="请è¾å ¥" clearable /> <el-form-item label="è§æ ¼åå·ï¼" prop="specificationModel"> <el-input v-model="form.specificationModel" placeholder="请è¾å ¥" clearable /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="åä½ï¼" prop="customerId"> <el-input v-model="form.customerContractNo" placeholder="请è¾å ¥" clearable /> <el-input v-model="form.unit" placeholder="请è¾å ¥" clearable /> </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="åºåºæ¶é´ï¼" prop="projectName"> <el-date-picker style="width: 100%" v-model="form.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" <el-form-item label="åºåæ¶é´ï¼" prop="projectName"> <el-date-picker style="width: 100%" v-model="form.boundTime" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="date" placeholder="è¯·éæ©" clearable /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="åºåºæ°éï¼" prop="customerContractNo"> <el-input v-model="form.customerContractNo" placeholder="请è¾å ¥" clearable /> <el-form-item label="åºåºæ¶é´ï¼" prop="projectName"> <el-date-picker style="width: 100%" v-model="form.inboundTime" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="date" placeholder="è¯·éæ©" clearable /> </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="åºåºæ°éï¼" prop="customerContractNo"> <el-input v-model="form.stockQuantity" placeholder="请è¾å ¥" clearable /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="å«ç¨åä»·ï¼" prop="customerId"> <el-input v-model="form.customerContractNo" placeholder="请è¾å ¥" clearable /> <el-input v-model="form.taxInclusiveUnitPrice" placeholder="请è¾å ¥" clearable /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="å«ç¨æ»ä»·ï¼" prop="customerContractNo"> <el-input v-model="form.customerContractNo" placeholder="请è¾å ¥" clearable /> </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="å«ç¨æ»ä»·ï¼" prop="customerContractNo"> <el-input v-model="form.taxInclusiveTotalPrice" placeholder="请è¾å ¥" clearable /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="ç¨çï¼" prop="customerId"> <el-input v-model="form.customerContractNo" placeholder="请è¾å ¥" clearable /> <el-input v-model="form.taxRate" placeholder="请è¾å ¥" clearable /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="ä¸å«ç¨æ»ä»·ï¼" prop="entryDate"> <el-input v-model="form.customerContractNo" placeholder="请è¾å ¥" clearable /> </el-form-item> </el-col> </el-row> <el-row :gutter="30"> <el-col :span="12"> <el-form-item label="ä¸å«ç¨æ»ä»·ï¼" prop="entryDate"> <el-input v-model="form.taxExclusiveTotalPrice" placeholder="请è¾å ¥" clearable /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="åºåºäººï¼" prop="entryPerson"> <el-select v-model="form.entryPerson" placeholder="è¯·éæ©" clearable> <el-select v-model="form.inboundPerson" placeholder="è¯·éæ©" clearable> <el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId" /> </el-select> </el-form-item> @@ -142,6 +152,12 @@ addOrUpdateSalesLedger, getSalesLedgerWithProducts, delLedger } from "@/api/salesManagement/salesLedger.js"; import { getStockManagePage , updateStockManage, delStockManage, exportStockManage } from "@/api/inventoryManagement/stockManage.js"; const userStore = useUserStore() const { proxy } = getCurrentInstance() const tableData = ref([]) @@ -162,19 +178,22 @@ const dialogFormVisible = ref(false) const data = reactive({ searchForm: { customerName: '', supplierName: '', }, form: { salesContractNo: '', salesman: '', customerContractNo: '', productCategory: '', specificationModel: '', unit: '', taxInclusiveUnitPrice: '', taxInclusiveTotalPrice: '', taxExclusiveTotalPrice: '', taxRate: '', stockQuantity: '', supplierName:'', customerId: '', projectName: '', entryPerson: '', entryDate: '', maintenanceTime: '', productData: [], executionDate: '' boundTime: '', inboundTime: '', userId: '', }, rules: { salesman: [{ required: true, message: "è¯·éæ©", trigger: "change" }], @@ -201,9 +220,10 @@ } const getList = () => { tableLoading.value = true ledgerListPage({ ...searchForm.value, ...page }).then(res => { getStockManagePage({ ...searchForm.value, ...page }).then(res => { tableLoading.value = false tableData.value = res.records tableData.value = res.data.records console.log('res', res) tableData.value.map(item => { item.children = [] })