From 45b6df5b9cba3cab3f0a3001dc7b7d9729923ba4 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期六, 18 七月 2026 11:22:11 +0800
Subject: [PATCH] fix: 销售和采购新增产品修改
---
src/views/salesManagement/salesLedger/index.vue | 66 +++++++++++++++++----------------
1 files changed, 34 insertions(+), 32 deletions(-)
diff --git a/src/views/salesManagement/salesLedger/index.vue b/src/views/salesManagement/salesLedger/index.vue
index 1a0f0a5..23c7438 100644
--- a/src/views/salesManagement/salesLedger/index.vue
+++ b/src/views/salesManagement/salesLedger/index.vue
@@ -605,35 +605,22 @@
:rules="productRules"
ref="productFormRef">
<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-col :span="12">
+ <el-form-item label="浜у搧澶х被锛�" prop="productCategory">
+ <el-input v-model="productForm.productCategory"
+ placeholder="鐐瑰嚮閫夋嫨"
+ readonly
+ @click="showProductSelectDialog = true"
+ style="cursor:pointer" />
</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-col :span="12">
+ <el-form-item label="瑙勬牸鍨嬪彿锛�" prop="productModelId">
+ <el-input v-model="productForm.specificationModel"
+ placeholder="鐐瑰嚮閫夋嫨"
+ readonly
+ @click="showProductSelectDialog = true"
+ style="cursor:pointer" />
</el-form-item>
</el-col>
</el-row>
@@ -758,6 +745,9 @@
</el-row>
</el-form>
</FormDialog>
+ <ProductSelectDialog v-model="showProductSelectDialog"
+ @confirm="handleProductSelect"
+ single />
<!-- 瀵煎叆寮圭獥 -->
<FormDialog v-model="importUpload.open"
:title="importUpload.title"
@@ -1085,6 +1075,7 @@
buildAmountSummaryFormat,
} from "@/utils/numberFormat";
import ImageUpload from "@/components/AttachmentUpload/image/index.vue";
+ import ProductSelectDialog from "@/views/basicData/product/ProductSelectDialog.vue";
import { getCurrentDate } from "@/utils/index.js";
import { listCustomer } from "@/api/basicData/customer.js";
@@ -1113,6 +1104,7 @@
const total = ref(0);
const fileList = ref([]);
const deliveryFileList = ref([]);
+ const showProductSelectDialog = ref(false);
// 鐢ㄦ埛淇℃伅琛ㄥ崟寮规鏁版嵁
const operationType = ref("");
@@ -1155,7 +1147,9 @@
const currentId = ref("");
const productFormData = reactive({
productForm: {
+ productId: "",
productCategory: "",
+ productModelId: "",
specificationModel: "",
unit: "",
quantity: "",
@@ -1167,11 +1161,8 @@
isProduction: false,
},
productRules: {
- productCategory: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
- productModelId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
- specificationModel: [
- { required: true, message: "璇烽�夋嫨", trigger: "change" },
- ],
+ productCategory: [{ required: true, message: "璇烽�夋嫨浜у搧澶х被", trigger: "change" }],
+ productModelId: [{ required: true, message: "璇烽�夋嫨瑙勬牸鍨嬪彿", trigger: "change" }],
unit: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
quantity: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
taxInclusiveUnitPrice: [
@@ -1503,6 +1494,17 @@
}
return formattedNumber(row, column, cellValue);
};
+ // ProductSelectDialog 閫変腑鍥炶皟
+ const handleProductSelect = (products) => {
+ if (!products || !products.length) return;
+ const p = products[0];
+ productForm.value.productId = p.productId;
+ productForm.value.productCategory = p.productName || '';
+ productForm.value.productModelId = p.id;
+ productForm.value.specificationModel = p.model || '';
+ productForm.value.unit = p.unit || '';
+ showProductSelectDialog.value = false;
+ };
// 鑾峰彇tree瀛愭暟鎹�
const getModels = value => {
productForm.value.productCategory = findNodeById(productOptions.value, value);
--
Gitblit v1.9.3