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