From 09c5667700fb6da21d29c41e51fa5482a4b40bc9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 24 十月 2025 11:22:22 +0800
Subject: [PATCH] 新公司部署相关配置修改
---
src/views/procureMent/index.vue | 103 ++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 93 insertions(+), 10 deletions(-)
diff --git a/src/views/procureMent/index.vue b/src/views/procureMent/index.vue
index 763ef87..28883ed 100644
--- a/src/views/procureMent/index.vue
+++ b/src/views/procureMent/index.vue
@@ -16,13 +16,16 @@
</el-form>
<el-card>
<!-- 鎿嶄綔鎸夐挳鍖� -->
- <el-row :gutter="24" class="table-toolbar">
+ <el-row :gutter="24" class="table-toolbar" justify="space-between">
<el-button type="primary" :icon="Plus" @click="handleAdd"
>鏂板缓
</el-button>
- <el-button type="danger" :icon="Delete" @click="handleDelete"
- >鍒犻櫎
+ <el-button type="primary" :icon="Plus" @click="handleAddPayable">
+ 娣诲姞搴斾粯娆�
</el-button>
+ <!-- <el-button type="danger" :icon="Delete" @click="handleDelete"
+ >鍒犻櫎
+ </el-button> -->
</el-row>
<!-- 琛ㄦ牸缁勪欢 -->
<data-table
@@ -59,6 +62,14 @@
@success="handleSuccess"
ref="productionDialogs"
/>
+ <PayableDialog
+ v-model:dialogPayableFormVisible="dialogPayableFormVisible"
+ v-model:form="formPayable"
+ :title="title"
+ @submit="handleSubmit"
+ @success="payableHandleSuccess"
+ ref="productionDialogs">
+ </PayableDialog>>
</div>
</template>
@@ -69,6 +80,8 @@
import DataTable from "@/components/Table/ETable.vue";
import Pagination from "@/components/Pagination";
import ProductionDialog from "./components/ProductionDialog.vue";
+import PayableDialog from "../payable/components/PayableDialog.vue";
+
import {
purchaseRegistration,
getSupplyList,
@@ -76,12 +89,25 @@
delPR
} from "@/api/procureMent";
import { useDelete } from "@/hooks/useDelete";
-
+const userStore = useUserStore();
+const dictStore = useDictStore()
import useUserStore from "@/store/modules/user";
+import useDictStore from "@/store/modules/dict"
+
+let userList = ref([]);
+userStore.getUserList().then((res) => {
+ userList.value = res;
+});
+
// 寮曞叆瀛楀吀鏁版嵁
+
const { proxy } = getCurrentInstance();
const dialogFormVisible = ref(false);
-const form = ref({});
+const dialogPayableFormVisible = ref(false);
+const form = ref({
+ taxRate: 13,
+ freight: 20,
+});
const title = ref("");
// 鐘舵�佸彉閲�
const loading = ref(false);
@@ -90,6 +116,7 @@
const pageSize = ref(10);
const selectedRows = ref([]);
const copyForm = ref({});
+const formPayable = ref({});
// 鏌ヨ鍙傛暟
const queryParams = reactive({
searchAll: "",
@@ -106,10 +133,12 @@
// 鏂规硶瀹氫箟
const handleQuery = () => {
loading.value = true;
+ current.value = 1;
+ pageSize.value = 10;
// 杩欓噷娣诲姞瀹為檯鐨勬煡璇㈤�昏緫
getList();
};
-const userStore = useUserStore();
+
// 鑾峰彇鐢ㄦ埛淇℃伅
const userInfo = ref({});
onMounted(async () => {
@@ -136,6 +165,14 @@
},
},
{
+ prop: "type",
+ label: "鐓ゆ枡绫诲瀷",
+ minWidth: 120,
+ formatter: (row) => {
+ return row.type === 1 ? "鎴愬搧" : "鍘熸枡";
+ },
+ },
+ {
prop: "coalId",
label: "鐓ょ绫诲瀷",
minWidth: 120,
@@ -146,9 +183,25 @@
{ prop: "purchaseQuantity", label: "閲囪喘鏁伴噺", minWidth: 100 },
{ prop: "priceIncludingTax", label: "鍗曚环锛堝惈绋庯級", minWidth: 150 },
{ prop: "totalPriceIncludingTax", label: "鎬讳环锛堝惈绋庯級", minWidth: 100 },
+ { prop: "licensePlate", label: "杞︾墝鍙�", minWidth: 100 },
+ { prop: "freight", label: "杩愯垂", minWidth: 100 },
{ prop: "taxRate", label: "绋庣巼", minWidth: 100 },
{ prop: "priceExcludingTax", label: "涓嶅惈绋庡崟浠�", minWidth: 100 },
- { prop: "registrantId", label: "鐧昏浜�", minWidth: 100 },
+ { prop: "registrantId", label: "鐧昏浜�", minWidth: 100,
+ formatter: (row) => {
+ // 鍖归厤鐢ㄦ埛淇℃伅
+ const user = userList.value.find((user) => user.userId === row.registrantId);
+ return user ? user.nickName : "鏈煡鐢ㄦ埛";
+ },
+ },
+ { prop: "purchaseType", label: "绫诲瀷", minWidth: 100 ,
+ formatter: (row) => {
+ if (row.purchaseType == null) {
+ return ""
+ }
+ const dictItem = dictStore.getDictDataByTypeAndValue("purchase_type", row.purchaseType);
+ return dictItem ? dictItem.label : ""; }
+ },
{ prop: "registrationDate", label: "鐧昏鏃ユ湡", minWidth: 100 },
]);
@@ -179,6 +232,28 @@
addOrEdit.value = "add";
handleAddEdit();
};
+const handleAddPayable = () => {
+ // 鍙湁閫夋嫨涓�琛岀殑鏃跺�欒繘琛屾搷浣�
+
+ if (selectedRows.value.length !== 1) {
+ ElMessage.error("璇烽�変腑涓�琛岃繘琛屽~鍐�")
+ return
+ }
+
+ formPayable.value = {
+ purchaseRegistrationId: selectedRows.value[0].id,
+ registrantId: userInfo.value.userId,
+ ticketNo:"",
+ paymentAmount:"",
+ payableType:"",
+ attachUpload:"",
+ registrationDate: new Date().toISOString().split("T")[0],
+ fileList:[]
+ }
+ dialogPayableFormVisible.value = true
+
+};
+
// 鏂板缂栬緫
const productionDialogs = ref(null); // 娣诲姞ref澹版槑
@@ -196,20 +271,21 @@
// 瑙﹀彂ref閲岄潰鐨勬柟娉�
return;
}
- console.log(userInfo.value)
// 鏂板缓鏃跺垵濮嬪寲琛ㄥ崟
form.value = {
supplierName: "",
coal: "",
- unit: "t",
+ unit: "鍚�",
purchaseQuantity: "",
priceExcludingTax: "",
totalPriceExcludingTax: "",
priceIncludingTax: "",
totalPriceIncludingTax: "",
- taxRate: "",
+ taxRate: 13,
+ freight:20,
registrantId: userInfo.value.userId,
registrationDate: new Date().toISOString().split("T")[0],
+ purchaseType: ""
};
// 鏂板缓鏃朵篃闇�瑕佽缃� copyForm 鐢ㄤ簬閲嶇疆鍔熻兘
copyForm.value = JSON.parse(JSON.stringify(form.value));
@@ -252,6 +328,7 @@
});
const handleDeleteSuccess = (row) => {
ElMessage.success("鍒犻櫎鎴愬姛锛�" + row.supplierName);
+ handleQuery()
};
// 鎴愬姛
const handleSuccess = (val) => {
@@ -260,6 +337,12 @@
total.value = tableData.value.length;
ElMessage.success("鎿嶄綔鎴愬姛");
};
+
+const payableHandleSuccess = (val) => {
+ ElMessage.success("鎿嶄綔鎴愬姛");
+ dialogPayableFormVisible.value = false;
+}
+
const getList = async () => {
loading.value = true;
try {
--
Gitblit v1.9.3