From 3879cf77b92335cd11b3b2dbcf631ce417bad0b3 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 24 四月 2026 14:15:02 +0800
Subject: [PATCH] 阳光印刷 1.销售台账导入接口修改

---
 src/views/salesManagement/salesLedger/index.vue |   97 +++++++-----------------------------------------
 1 files changed, 15 insertions(+), 82 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index b01ab4d..c4db9a8 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -6,12 +6,7 @@
           <el-input v-model="searchForm.customerName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
             @change="handleQuery" />
         </el-form-item>
-<!--        <el-form-item label="閿�鍞悎鍚屽彿锛�">-->
-<!--          <el-input v-model="searchForm.salesContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"-->
-<!--            @change="handleQuery" />-->
-<!--        </el-form-item>-->
-<!--        <el-input v-model="form.salesContractNo" placeholder="鍙墜鍔ㄨ緭鍏ユ垨鑷姩鐢熸垚" clearable :disabled="operationType === 'view'">-->
-        <el-form-item label="閿�鍞鍗曞彿锛�">
+        <el-form-item label="璁㈠崟缂栧彿锛�">
           <el-input v-model="form.salesContractNo" placeholder="鍙墜鍔ㄨ緭鍏ユ垨鑷姩鐢熸垚" clearable :disabled="operationType === 'view'" />
                   </el-form-item>
         <el-form-item label="褰曞叆鏃ユ湡锛�">
@@ -109,10 +104,10 @@
           </template>
         </el-table-column>
         <el-table-column align="center" label="搴忓彿" type="index" width="60" />
-        <el-table-column label="閿�鍞鍗曞彿" prop="salesContractNo" width="180" show-overflow-tooltip />
+        <el-table-column label="璁㈠崟缂栧彿" prop="salesContractNo" width="180" show-overflow-tooltip />
         <el-table-column label="瀹㈡埛鍚嶇О" prop="customerName" width="300" show-overflow-tooltip />
         <el-table-column label="涓氬姟鍛�" prop="salesman" width="100" show-overflow-tooltip />
-        <el-table-column label="椤圭洰鍚嶇О" prop="projectName" width="180" show-overflow-tooltip />
+<!--        <el-table-column label="椤圭洰鍚嶇О" prop="projectName" width="180" show-overflow-tooltip />-->
         <el-table-column label="浠樻鏂瑰紡" prop="paymentMethod" show-overflow-tooltip />
         <el-table-column label="鍚堝悓閲戦(鍏�)" prop="contractAmount" width="220" show-overflow-tooltip
           :formatter="formattedNumber" />
@@ -124,6 +119,7 @@
         <el-table-column fixed="right" label="鎿嶄綔" min-width="200" align="center">
           <template #default="scope">
             <el-button link type="primary" @click="openForm('edit', scope.row)" :disabled="!scope.row.isEdit || scope.row.hasProductionRecord || !canEditLedger(scope.row)">缂栬緫</el-button>
+			<el-button link type="primary" size="small" @click="exportSalesContracts(scope.row)">瀵煎嚭閿�鍞悎鍚�</el-button>
             <el-button link type="primary" @click="downLoadFile(scope.row)">闄勪欢</el-button>
           </template>
         </el-table-column>
@@ -137,7 +133,7 @@
 				<!-- 鎶ヤ环鍗曞鍏ュ叆鍙o細鏀惧湪琛ㄥ崟椤堕儴锛岄�夋嫨鍚庡弽鏄惧鎴�/涓氬姟鍛樼瓑 -->
         <el-row :gutter="30">
           <el-col :span="12">
-            <el-form-item label="閿�鍞鍗曞彿锛�" prop="salesContractNo">
+            <el-form-item label="璁㈠崟缂栧彿锛�" prop="salesContractNo">
               <el-input v-model="form.salesContractNo" placeholder="鍙墜鍔ㄨ緭鍏ユ垨鑷姩鐢熸垚" clearable :disabled="operationType === 'view'" />
             </el-form-item>
           </el-col>
@@ -337,17 +333,19 @@
 				<el-row :gutter="30">
 					<el-col :span="24">
 						<el-form-item label="浜у搧澶х被锛�" prop="productCategory">
-							<el-tree-select v-model="productForm.productCategory" placeholder="璇烽�夋嫨" clearable filterable check-strictly
-							                @change="getModels" :data="productOptions" :render-after-expand="false" style="width: 100%" />
+              <el-input v-model="productForm.productCategory" placeholder="璇疯緭鍏�" clearable />
+<!--							<el-tree-select v-model="productForm.productCategory" placeholder="璇烽�夋嫨" clearable filterable check-strictly-->
+<!--							                @change="getModels" :data="productOptions" :render-after-expand="false" style="width: 100%" />-->
 						</el-form-item>
 					</el-col>
 				</el-row>
 				<el-row :gutter="30">
 					<el-col :span="24">
-						<el-form-item label="瑙勬牸鍨嬪彿锛�" prop="productModelId">
-							<el-select v-model="productForm.productModelId" placeholder="璇烽�夋嫨" clearable @change="getProductModel" filterable>
-								<el-option v-for="item in modelOptions" :key="item.id" :label="item.model" :value="item.id" />
-							</el-select>
+						<el-form-item label="瑙勬牸鍨嬪彿锛�" prop="specificationModel">
+              <el-input v-model="productForm.specificationModel" placeholder="璇疯緭鍏�" clearable />
+<!--							<el-select v-model="productForm.productModelId" placeholder="璇烽�夋嫨" clearable @change="getProductModel" filterable>-->
+<!--								<el-option v-for="item in modelOptions" :key="item.id" :label="item.model" :value="item.id" />-->
+<!--							</el-select>-->
 						</el-form-item>
 					</el-col>
 				</el-row>
@@ -588,50 +586,6 @@
 						</el-form-item>
 					</el-col>
 				</el-row>
-
-        <!-- 瀹℃壒浜洪�夋嫨锛堜豢鍗忓悓瀹℃壒閲岀殑瀹℃壒浜鸿妭鐐归�夋嫨锛� -->
-        <el-row>
-          <el-col :span="24">
-            <el-form-item>
-              <template #label>
-                <span>瀹℃壒浜洪�夋嫨锛�</span>
-                <el-button type="primary" @click="addApproverNode" style="margin-left: 8px;">鏂板鑺傜偣</el-button>
-              </template>
-              <div style="display: flex; align-items: flex-end; flex-wrap: wrap;">
-                <div
-                  v-for="(node, index) in approverNodes"
-                  :key="node.id"
-                  style="margin-right: 20px; text-align: center; margin-bottom: 10px;"
-                >
-                  <div>
-                    <span>瀹℃壒浜�</span>
-                    鈫�
-                  </div>
-                  <el-select
-                    v-model="node.userId"
-                    placeholder="閫夋嫨浜哄憳"
-                    filterable
-                    style="width: 140px; margin-bottom: 8px;"
-                  >
-                    <el-option
-                      v-for="user in userList"
-                      :key="user.userId"
-                      :label="user.nickName"
-                      :value="user.userId"
-                    />
-                  </el-select>
-                  <div>
-                    <el-button
-                      type="danger"
-                      @click="removeApproverNode(index)"
-                      v-if="approverNodes.length > 1"
-                    >鍒犻櫎</el-button>
-                  </div>
-                </div>
-              </div>
-            </el-form-item>
-          </el-col>
-        </el-row>
 			</el-form>
 			<template #footer>
 				<div class="dialog-footer">
@@ -806,22 +760,12 @@
 });
 const { deliveryForm, deliveryRules } = toRefs(deliveryFormData);
 
-// 鍙戣揣瀹℃壒浜鸿妭鐐癸紙浠垮崗鍚屽鎵� infoFormDia.vue锛�
-const approverNodes = ref([{ id: 1, userId: null }]);
-let nextApproverId = 2;
-const addApproverNode = () => {
-  approverNodes.value.push({ id: nextApproverId++, userId: null });
-};
-const removeApproverNode = (index) => {
-  approverNodes.value.splice(index, 1);
-};
-
 // 瀵煎叆鐩稿叧
 const importUploadRef = ref(null);
 const importUpload = reactive({
 	title: "瀵煎叆閿�鍞彴璐�",
 	open: false,
-	url: import.meta.env.VITE_APP_BASE_API + "/sales/ledger/import",
+	url: import.meta.env.VITE_APP_BASE_API + "/sales/ledger/importSalsesLedger",
 	headers: { Authorization: "Bearer " + getToken() },
 	isUploading: false,
 	beforeUpload: (file) => {
@@ -1324,7 +1268,7 @@
 	productOperationType.value = type;
 	productForm.value = {
 		taxRate: 0,
-		invoiceType: "澧炴櫘绁�"
+		invoiceType: ""
 	};
 	proxy.resetForm("productFormRef");
 	if (type === "edit") {
@@ -2223,9 +2167,6 @@
   deliveryForm.value = {
     type: "璐ц溅",
   };
-  // 閲嶇疆瀹℃壒浜鸿妭鐐癸紙榛樿涓�涓┖鑺傜偣锛�
-  approverNodes.value = [{ id: 1, userId: null }];
-  nextApproverId = 2;
 	deliveryFormVisible.value = true;
 };
 
@@ -2233,13 +2174,6 @@
 const submitDelivery = () => {
   proxy.$refs["deliveryFormRef"].validate((valid) => {
     if (valid) {
-      // 瀹℃壒浜哄繀濉牎楠岋紙鎵�鏈夎妭鐐归兘瑕侀�変汉锛�
-      const hasEmptyApprover = approverNodes.value.some(node => !node.userId);
-      if (hasEmptyApprover) {
-        proxy.$modal.msgError("璇蜂负鎵�鏈夊鎵硅妭鐐归�夋嫨瀹℃壒浜猴紒");
-        return;
-      }
-      const approveUserIds = approverNodes.value.map(node => node.userId).join(",");
       // 淇濆瓨褰撳墠灞曞紑鐨勮ID锛屼互渚垮彂璐у悗閲嶆柊鍔犺浇瀛愯〃鏍兼暟鎹�
       const currentExpandedKeys = [...expandedRowKeys.value];
       const salesLedgerId = currentDeliveryRow.value.salesLedgerId;
@@ -2247,7 +2181,6 @@
         salesLedgerId: salesLedgerId,
         salesLedgerProductId: currentDeliveryRow.value.id,
         type: deliveryForm.value.type,
-				approveUserIds,
       })
         .then(() => {
           proxy.$modal.msgSuccess("鍙戣揣鎴愬姛");

--
Gitblit v1.9.3