From 4cc27f93a1901e12eb12a198029911c483dd991f Mon Sep 17 00:00:00 2001 From: maven <2163098428@qq.com> Date: 星期三, 27 八月 2025 14:30:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev_JLMY' into dev_JLMY --- src/views/procureMent/index.vue | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 58 insertions(+), 2 deletions(-) diff --git a/src/views/procureMent/index.vue b/src/views/procureMent/index.vue index e067737..55fd34f 100644 --- a/src/views/procureMent/index.vue +++ b/src/views/procureMent/index.vue @@ -16,9 +16,12 @@ </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="primary" :icon="Plus" @click="handleAddPayable"> + 娣诲姞搴斾粯娆� </el-button> <!-- <el-button type="danger" :icon="Delete" @click="handleDelete" >鍒犻櫎 @@ -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, @@ -77,14 +90,20 @@ } 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 dialogPayableFormVisible = ref(false); const form = ref({ taxRate: 13, freight: 20, @@ -97,6 +116,7 @@ const pageSize = ref(10); const selectedRows = ref([]); const copyForm = ref({}); +const formPayable = ref({}); // 鏌ヨ鍙傛暟 const queryParams = reactive({ searchAll: "", @@ -173,6 +193,14 @@ 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 }, ]); @@ -203,6 +231,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澹版槑 @@ -220,7 +270,6 @@ // 瑙﹀彂ref閲岄潰鐨勬柟娉� return; } - console.log(userInfo.value) // 鏂板缓鏃跺垵濮嬪寲琛ㄥ崟 form.value = { supplierName: "", @@ -235,6 +284,7 @@ freight:20, registrantId: userInfo.value.userId, registrationDate: new Date().toISOString().split("T")[0], + purchaseType: "" }; // 鏂板缓鏃朵篃闇�瑕佽缃� copyForm 鐢ㄤ簬閲嶇疆鍔熻兘 copyForm.value = JSON.parse(JSON.stringify(form.value)); @@ -286,6 +336,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