From 6472e7cb3babd991e0e10e8de6bafee4dafdf76e Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 12 六月 2025 15:52:00 +0800
Subject: [PATCH] 1.销售出库页面联调
---
src/views/procureMent/index.vue | 175 ++++++++++++++++++++++++++-------------------------------
1 files changed, 80 insertions(+), 95 deletions(-)
diff --git a/src/views/procureMent/index.vue b/src/views/procureMent/index.vue
index b04a0f1..5b96d12 100644
--- a/src/views/procureMent/index.vue
+++ b/src/views/procureMent/index.vue
@@ -1,78 +1,37 @@
<template>
<div class="app-container">
- <el-form :inline="true" :model="queryParams" class="search-form">
- <el-form-item label="鎼滅储">
- <el-input
- v-model="queryParams.searchText"
- placeholder="璇疯緭鍏ュ叧閿瘝"
- clearable
- :style="{ width: '100%' }"
- />
- </el-form-item>
- <el-form-item label="渚涘簲鍟嗗悕绉�">
- <el-input
- v-model="queryParams.supplierName"
- placeholder="璇疯緭鍏�"
- clearable
- :style="{ width: '100%' }"
- />
- </el-form-item>
- <el-form-item label="缁熶竴浜鸿瘑鍒彿">
- <el-input
- v-model="queryParams.identifyNumber"
- placeholder="璇疯緭鍏�"
- clearable
- :style="{ width: '100%' }"
- />
- </el-form-item>
- <el-form-item label="缁忚惀鍦板潃">
- <el-input
- v-model="queryParams.address"
- placeholder="璇疯緭鍏�"
- clearable
- :style="{ width: '100%' }"
- />
- </el-form-item>
- <el-form-item>
- <el-button type="primary" @click="handleQuery">鏌ヨ</el-button>
- <el-button @click="resetQuery">閲嶇疆</el-button>
- </el-form-item>
- </el-form>
+ <el-form :inline="true" :model="queryParams" class="search-form">
+ <el-form-item label="鎼滅储">
+ <el-input v-model="queryParams.searchText" placeholder="璇疯緭鍏ュ叧閿瘝" clearable :style="{ width: '100%' }" />
+ </el-form-item>
+ <el-form-item label="渚涘簲鍟嗗悕绉�">
+ <el-input v-model="queryParams.supplierName" placeholder="璇疯緭鍏�" clearable :style="{ width: '100%' }" />
+ </el-form-item>
+ <el-form-item label="缁熶竴浜鸿瘑鍒彿">
+ <el-input v-model="queryParams.identifyNumber" placeholder="璇疯緭鍏�" clearable :style="{ width: '100%' }" />
+ </el-form-item>
+ <el-form-item label="缁忚惀鍦板潃">
+ <el-input v-model="queryParams.address" placeholder="璇疯緭鍏�" clearable :style="{ width: '100%' }" />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="handleQuery">鏌ヨ</el-button>
+ <el-button @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
<el-card>
<!-- 鎿嶄綔鎸夐挳鍖� -->
<el-row :gutter="24" class="table-toolbar">
- <el-button type="primary" :icon="Plus" @click="handleAdd"
- >鏂板缓</el-button
- >
+ <el-button type="primary" :icon="Plus" @click="handleAdd">鏂板缓</el-button>
<el-button type="danger" :icon="Delete" @click="handleDelete">鍒犻櫎</el-button>
- <el-button type="info" :icon="Download" @click="handleExport">瀵煎嚭</el-button>
- </el-row>
+ <!-- <el-button type="info" :icon="Download" @click="handleExport">瀵煎嚭</el-button> -->
+ </el-row>
<!-- 琛ㄦ牸缁勪欢 -->
- <data-table
- :loading="loading"
- :table-data="tableData"
- :columns="columns"
- @selection-change="handleSelectionChange"
- @edit="handleEdit"
- @delete="handleDeleteSuccess"
- :show-selection="true"
- :border="true"
- :maxHeight="440"
- /> <pagination
- v-if="total>0"
- :page="pageNum"
- :limit="pageSize"
- :total="total"
- @pagination="handlePagination"
- :layout="'total, prev, pager, next, jumper'"
- />
- </el-card> <ProductionDialog
- v-model:dialogFormVisible="dialogFormVisible"
- :form="form"
- :title="title"
- @submit="handleSubmit"
- @success="handleSuccess"
- />
+ <data-table :loading="loading" :table-data="tableData" :columns="columns" @selection-change="handleSelectionChange"
+ @edit="handleEdit" @delete="handleDeleteSuccess" :show-selection="true" :border="true" :maxHeight="440" />
+ <pagination v-if="total>0" :page="pageNum" :limit="pageSize" :total="total" @pagination="handlePagination"
+ :layout="'total, prev, pager, next, jumper'" />
+ </el-card> <ProductionDialog v-model:copyForm="copyForm" v-model:dialogFormVisible="dialogFormVisible" v-model:form="form" :title="title" @submit="handleSubmit"
+ @success="handleSuccess" />
</div>
</template>
@@ -84,6 +43,22 @@
import Pagination from "@/components/Pagination";
import ProductionDialog from './components/ProductionDialog.vue';
import { purchaseRegistration } from "@/api/procureMent";
+import useUserStore from '@/store/modules/user'
+import useDictStore from "@/store/modules/dict";
+// 寮曞叆瀛楀吀鏁版嵁
+const useDictStores = useDictStore();
+useDictStores.setDict({
+ id: 1,
+ name: "鐓ょ绫诲瀷",
+ type: "coalType",
+ items: [
+ { label: "鏃犵儫鐓�", value: "anthracite" },
+ { label: "鐑熺叅", value: "bituminous" },
+ { label: "瑜愮叅", value: "lignite" }
+ ]
+})
+console.log(useDictStores.dict);
+
const { proxy } = getCurrentInstance()
const dialogFormVisible = ref(false);
const form = ref({});
@@ -94,6 +69,7 @@
const pageNum = ref(1)
const pageSize = ref(10);
const selectedRows = ref([]);
+const copyForm = ref({});
// 鏌ヨ鍙傛暟
const queryParams = reactive({
searchText: "",
@@ -113,10 +89,15 @@
// 杩欓噷娣诲姞瀹為檯鐨勬煡璇㈤�昏緫
getList();
};
-
+const userStore = useUserStore();
+// 鑾峰彇鐢ㄦ埛淇℃伅
+const userInfo = ref({});
+onMounted(async() => {
+ let res = await userStore.getInfo()
+ userInfo.value = res.user;
+});
// 鍒嗛〉澶勭悊
const handlePagination = (val) => {
- console.log("鍒嗛〉鍙傛暟锛�", val);
pageNum.value = val.page;
pageSize.value = val.limit;
queryParams.pageNum = val.page;
@@ -127,8 +108,8 @@
// supplier 渚涘簲鍟嗘暟鎹�
const columns = ref([
{ prop: "supplierName", label: "渚涘簲鍟嗗悕绉�", minWidth: 200 },
- { prop: "unit", label: "鍗曚綅", minWidth: 150 },
{ prop: "coal", label: "鐓ょ绫诲瀷", minWidth: 120 },
+ { prop: "unit", label: "鍗曚綅", minWidth: 150 },
{ prop: "purchaseQuantity", label: "閲囪喘鏁伴噺", minWidth: 100 },
{ prop: "priceIncludingTax", label: "鍗曚环锛堝惈绋庯級", minWidth: 150 },
{ prop: "totalPriceIncludingTax", label: "鎬讳环锛堝惈绋庯級", minWidth: 100 },
@@ -145,46 +126,52 @@
queryParams[key] = "";
}
});
- handleQuery();
};
// 鏂板
const handleAdd = () => {
- console.log("鐐瑰嚮鏂板鎸夐挳");
addOrEdit.value = "add";
handleAddEdit();
};
// 鏂板缂栬緫
const handleAddEdit = () => {
addOrEdit.value == "add" ? (title.value = "鏂板") : (title.value = "缂栬緫");
- title.value = title.value + "閲囪喘淇℃伅";
- openDialog();
+ title.value = title.value + "閲囪喘淇℃伅";
+ openDialog();
};
// 鎵撳紑寮圭獥
const openDialog = () => {
if (addOrEdit.value === "edit") {
// 纭繚澶嶅埗涓�浠芥暟鎹紝閬垮厤鐩存帴寮曠敤
- form.value = JSON.parse(JSON.stringify(form.value));
+ copyForm.value = JSON.parse(JSON.stringify(form.value));
dialogFormVisible.value = true;
return;
}
// 鏂板缓鏃跺垵濮嬪寲琛ㄥ崟
form.value = {
supplierName: "",
- category: "",
+ coal: "",
unit: "",
- purchaseAmount: "",
- priceBeforeTax: "",
- totalBeforeTax: "",
- calorificValue: "",
- registrant: "",
+ purchaseQuantity: "",
+ priceExcludingTax: "",
+ totalPriceExcludingTax: "",
+ priceIncludingTax: "",
+ totalPriceIncludingTax: "",
+ taxRate: "",
+ registrantId: userInfo.value.userName,
registrationDate: new Date().toISOString().split('T')[0]
- }; dialogFormVisible.value = true;
- console.log("openDialog 璁剧疆 dialogFormVisible =", dialogFormVisible.value);
+ };
+ // 鏂板缓鏃朵篃闇�瑕佽缃� copyForm 鐢ㄤ簬閲嶇疆鍔熻兘
+ copyForm.value = JSON.parse(JSON.stringify(form.value));
+ dialogFormVisible.value = true;
};
// 鎻愪氦琛ㄥ崟
-const handleSubmit = () => {
- // 鎷垮埌鎻愪氦鏁版嵁
+const handleSubmit = (val) => {
+ if (val.result.code !== 200) {
+ ElMessage.error("鎿嶄綔澶辫触锛�" + val.result.msg);
+ return;
+ }
+ ElMessage.success(val.title + val.result.msg);
dialogFormVisible.value = false;
getList();
};
@@ -194,9 +181,9 @@
};
// 琛ㄦ牸缂栬緫鏂规硶
const handleEdit = (row) => {
- form.value = JSON.parse(JSON.stringify(row));
- addOrEdit.value = "edit";
- handleAddEdit()
+ form.value = JSON.parse(JSON.stringify(row));
+ addOrEdit.value = "edit";
+ handleAddEdit()
};
const handleDelete = () => {
if (selectedRows.value.length === 0) {
@@ -204,7 +191,7 @@
return;
}
ElMessageBox.confirm(
- `纭鍒犻櫎閫変腑鐨� ${selectedRows.value.length} 鏉℃暟鎹悧锛焋,
+ `纭畾鍒犻櫎閫変腑鐨勬暟鎹悧锛焋,
"鎻愮ず",
{
confirmButtonText: "纭畾",
@@ -236,7 +223,6 @@
};
// 鎴愬姛
const handleSuccess = (val) => {
- console.log(val);
tableData.value.push(val);
// getList();
total.value = tableData.value.length;
@@ -251,13 +237,11 @@
pageSize: pageSize.value,
...queryParams
});
- console.log("API杩斿洖鏁版嵁:", res);
if (res && res.data) {
tableData.value = res.data.records || [];
total.value = res.data.total || 0;
}
} catch (error) {
- console.error("鑾峰彇鏁版嵁澶辫触:", error);
ElMessage.error("鑾峰彇鏁版嵁澶辫触");
} finally {
loading.value = false;
@@ -267,7 +251,7 @@
</script>
<style scoped>
-.app-container{
+.app-container {
box-sizing: border-box;
}
.search-form {
@@ -310,7 +294,8 @@
}
}
/* 琛ㄦ牸宸ュ叿鏍� */
-.table-toolbar, .table-toolbar > * {
+.table-toolbar,
+.table-toolbar>* {
margin: 0 0 0 0 !important;
}
.table-toolbar{
--
Gitblit v1.9.3