From 3145a4847f8dbd378c932e9bacb0376fd3fe1e54 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 03 四月 2026 11:10:06 +0800
Subject: [PATCH] 军泰伟业 1.部署修改

---
 src/views/salesManagement/salesLedger/index.vue |  176 +++++++++++++++++++++++++---------------------------------
 1 files changed, 76 insertions(+), 100 deletions(-)

diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index e148094..f6241a2 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -46,6 +46,7 @@
               <el-table-column align="center" label="搴忓彿" type="index"/>
               <el-table-column label="浜у搧澶х被" prop="productCategory" />
               <el-table-column label="鍥剧焊缂栧彿" prop="specificationModel" />
+							<el-table-column label="鐗╂枡鍙�" prop="material" />
               <el-table-column label="鍗曚綅" prop="unit" />
 							<el-table-column label="浜у搧鐘舵��"
 															 width="100px"
@@ -111,9 +112,7 @@
         <el-table-column fixed="right" label="鎿嶄綔" width="100" align="center">
           <template #default="scope">
             <el-button link type="primary" size="small" @click="openForm('edit', scope.row)">缂栬緫</el-button>
-<!--            <el-button link type="primary" size="small" @click="openForm('view', scope.row)">璇︽儏</el-button>-->
             <el-button link type="primary" size="small" @click="downLoadFile(scope.row)">闄勪欢</el-button>
-<!--            <el-button link type="primary" size="small" @click="openDeliveryForm(scope.row)">鍙戣揣</el-button>-->
           </template>
         </el-table-column>
       </el-table>
@@ -216,6 +215,7 @@
 					<el-table-column align="center" label="搴忓彿" type="index" width="60" />
 					<el-table-column label="浜у搧澶х被" prop="productCategory" />
 					<el-table-column label="鍥剧焊缂栧彿" prop="specificationModel" />
+					<el-table-column label="鐗╂枡鍙�" prop="material" />
 					<el-table-column label="鍗曚綅" prop="unit" />
 					<el-table-column label="鏁伴噺" prop="quantity" />
 					<el-table-column label="绋庣巼(%)" prop="taxRate" />
@@ -323,21 +323,30 @@
 			<el-form :model="productForm" label-width="140px" label-position="top" :rules="productRules" ref="productFormRef">
 				<el-row :gutter="30">
 					<el-col :span="24">
-						<el-form-item label="浜у搧澶х被锛�" prop="productCategory">
-							<!-- <el-select v-model="productForm.productCategory" placeholder="璇烽�夋嫨" clearable>
-								<el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/>
-							</el-select> -->
-							<el-tree-select v-model="productForm.productCategory" placeholder="璇烽�夋嫨" clearable check-strictly
-															@change="getModels" :data="productOptions" :render-after-expand="false" filterable style="width: 100%" />
+						<el-form-item label="浜у搧閫夋嫨锛�" prop="productSelect">
+							<div style="display: flex; gap: 10px;">
+								<el-input
+									v-model="productForm.productCategory"
+									placeholder="璇烽�夋嫨浜у搧"
+									disabled
+									style="flex: 1;"
+								/>
+								<el-button type="primary" @click="openProductSelectDialog">閫夋嫨</el-button>
+							</div>
 						</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="璇疯緭鍏ュ浘绾哥紪鍙�" disabled />
+						</el-form-item>
+					</el-col>
+				</el-row>
+				<el-row :gutter="30">
+					<el-col :span="24">
+						<el-form-item label="鐗╂枡鍙凤細" prop="material">
+							<el-input v-model="productForm.material" placeholder="璇疯緭鍏ョ墿鏂欏彿" clearable />
 						</el-form-item>
 					</el-col>
 				</el-row>
@@ -563,50 +572,16 @@
 			@close="closeDeliveryDia"
 		>
 			<el-form :model="deliveryForm" label-width="120px" label-position="top" :rules="deliveryRules" ref="deliveryFormRef">
-        <!-- 瀹℃壒浜洪�夋嫨锛堜豢鍗忓悓瀹℃壒閲岀殑瀹℃壒浜鸿妭鐐归�夋嫨锛� -->
-        <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"
-                      size="small"
-                      @click="removeApproverNode(index)"
-                      v-if="approverNodes.length > 1"
-                    >鍒犻櫎</el-button>
-                  </div>
-                </div>
-              </div>
-            </el-form-item>
-          </el-col>
-        </el-row>
+				<el-row>
+					<el-col :span="24">
+						<el-alert
+							title="纭鍚庡皢鐩存帴鍙戣揣锛�"
+							type="warning"
+							:closable="false"
+							show-icon
+						/>
+					</el-col>
+				</el-row>
 			</el-form>
 			<template #footer>
 				<div class="dialog-footer">
@@ -615,6 +590,13 @@
 				</div>
 			</template>
 		</el-dialog>
+
+		<!-- 浜у搧閫夋嫨瀵硅瘽妗� -->
+		<ProductSelectDialog
+			v-model="productSelectVisible"
+			:single="true"
+			@confirm="handleProductSelect"
+		/>
 	</div>
 </template>
 
@@ -622,6 +604,7 @@
 import { getToken } from "@/utils/auth";
 import pagination from "@/components/PIMTable/Pagination.vue";
 import {onMounted, ref, getCurrentInstance} from "vue";
+import ProductSelectDialog from "@/views/basicData/product/ProductSelectDialog.vue";
 import { addShippingInfo } from "@/api/salesManagement/deliveryLedger.js";
 import { ElMessageBox, ElMessage } from "element-plus";
 import { UploadFilled, Download } from "@element-plus/icons-vue";
@@ -701,9 +684,11 @@
 const productFormVisible = ref(false);
 const productOperationType = ref("");
 const currentId = ref("");
+const productSelectVisible = ref(false);
 const productFormData = reactive({
 	productForm: {
 		productCategory: "",
+		material: "",
 		specificationModel: "",
 		unit: "",
 		quantity: "",
@@ -765,16 +750,6 @@
   deliveryRules: {},
 });
 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);
@@ -1111,6 +1086,7 @@
 		return {
 			// 鍙拌处瀛楁
 			productCategory: p.product || p.productName || "",
+			material: p.material || "",
 			specificationModel: p.specification || "",
 			unit: p.unit || "",
 			quantity: quantity,
@@ -1317,6 +1293,23 @@
 	proxy.resetForm("productFormRef");
 	productFormVisible.value = false;
 };
+
+// 鎵撳紑浜у搧閫夋嫨瀵硅瘽妗�
+const openProductSelectDialog = () => {
+	productSelectVisible.value = true;
+};
+
+// 澶勭悊浜у搧閫夋嫨
+const handleProductSelect = (selectedProducts) => {
+	if (selectedProducts && selectedProducts.length > 0) {
+		const product = selectedProducts[0];
+		productForm.value.productCategory = product.productName;
+		productForm.value.material = product.material || "";
+		productForm.value.specificationModel = product.model;
+		productForm.value.unit = product.unit;
+	}
+};
+
 // 瀵煎叆
 const handleImport = () => {
 	importUpload.title = "瀵煎叆閿�鍞彴璐�";
@@ -1964,26 +1957,23 @@
 	// 鐘舵�佹槸瀛楃涓�
 	const statusStr = String(status).trim();
 	
-	// 濡傛灉鐘舵�佹槸"宸叉挙閿�"锛岀洿鎺ヨ繑鍥�
-	if (statusStr === '宸叉挙閿�') {
-		return '宸叉挙閿�';
-	}
-	
-	// 濡傛灉宸插彂璐э紙鏈夊彂璐ф棩鏈熸垨杞︾墝鍙凤級锛屾樉绀�"宸插彂璐�"
-	if (row.shippingDate || row.shippingCarNumber) {
-		return '宸插彂璐�';
-	}
-	
 	const statusTextMap = {
 		'寰呭彂璐�': '寰呭彂璐�',
 		'寰呭鏍�': '寰呭鏍�',
 		'瀹℃牳涓�': '瀹℃牳涓�',
+		'鍙戣揣涓�': '鍙戣揣涓�',
 		'瀹℃牳鎷掔粷': '瀹℃牳鎷掔粷',
 		'瀹℃牳閫氳繃': '瀹℃牳閫氳繃',
 		'宸插彂璐�': '宸插彂璐�',
 		'宸叉挙閿�': '宸叉挙閿�'
 	};
-	return statusTextMap[statusStr] || '寰呭彂璐�';
+	
+	// 濡傛灉鐘舵�佸湪鏄犲皠琛ㄤ腑锛岀洿鎺ヨ繑鍥炲搴旀枃鏈�
+	if (statusTextMap[statusStr]) {
+		return statusTextMap[statusStr];
+	}
+	
+	return '寰呭彂璐�';
 };
 
 /**
@@ -2002,16 +1992,6 @@
 	// 鐘舵�佹槸瀛楃涓�
 	const statusStr = String(status).trim();
 	
-	// 濡傛灉鐘舵�佹槸"宸叉挙閿�"锛屾樉绀烘鑹�
-	if (statusStr === '宸叉挙閿�') {
-		return 'warning';
-	}
-	
-	// 濡傛灉宸插彂璐э紙鏈夊彂璐ф棩鏈熸垨杞︾墝鍙凤級锛屾樉绀虹豢鑹�
-	if (row.shippingDate || row.shippingCarNumber) {
-		return 'success';
-	}
-	
 	const typeTextMap = {
 		'寰呭彂璐�': 'info',
 		'寰呭鏍�': 'info',
@@ -2019,9 +1999,16 @@
 		'瀹℃牳鎷掔粷': 'danger',
 		'宸叉挙閿�': 'warning',
 		'瀹℃牳閫氳繃': 'success',
-		'宸插彂璐�': 'success'
+		'宸插彂璐�': 'success',
+		'鍙戣揣涓�': 'warning'
 	};
-	return typeTextMap[statusStr] || 'info';
+	
+	// 濡傛灉鐘舵�佸湪鏄犲皠琛ㄤ腑锛岀洿鎺ヨ繑鍥炲搴旂被鍨�
+	if (typeTextMap[statusStr]) {
+		return typeTextMap[statusStr];
+	}
+	
+	return 'info';
 };
 
 /**
@@ -2117,9 +2104,6 @@
   deliveryForm.value = {
     type: "璐ц溅",
   };
-  // 閲嶇疆瀹℃壒浜鸿妭鐐癸紙榛樿涓�涓┖鑺傜偣锛�
-  approverNodes.value = [{ id: 1, userId: null }];
-  nextApproverId = 2;
 	deliveryFormVisible.value = true;
 };
 
@@ -2127,20 +2111,12 @@
 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(",");
       const currentExpandedKeys = [...expandedRowKeys.value];
       const salesLedgerId = currentDeliveryRow.value.salesLedgerId;
       addShippingInfo({
         salesLedgerId: salesLedgerId,
         salesLedgerProductId: currentDeliveryRow.value.id,
         shippingTotal: currentDeliveryRow.value.quantity,
-        approveUserIds,
       })
         .then(() => {
           proxy.$modal.msgSuccess("鍙戣揣鎴愬姛");

--
Gitblit v1.9.3