From 6a415a072a98d64d2f95d16eef73b6d7270b8d56 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期六, 30 五月 2026 15:14:25 +0800
Subject: [PATCH] 新疆马铃薯 1.首页问题:挪新系统ui,需要确认一下页面数据完整。 2.协同办公:挪新系统 3.营销管理:客户往来取消回款金额字段,改为点击左侧客户时显示与该客户的所有订单信息,以及发货情况。销售可以选好对应的采购订单方便质量追溯。 4.采购管理:供应商往来同上逻辑,显示是否收货,也加上采购退货和采购报表功能。 5.采购加上设备备件选项,设备备件入库到备件库存。设备,仓储不足时做采购提醒。 6.仓储物流:得区分成品库和原料库(不存在半成品,成品只有一个产品,很好确认),原材料需要有批号,采集原料库需要做好仓库字段,让他们可以区分哪个仓库,然后把数采设备信息做一个实时的显示。总库存显示好当前存在的批次信息。 7.质量:只有不通过才需要填写对应的数据信息。在外侧做好选择通过不通过。过程,出厂检验无法对应到生产订单,那就对应到销售订单。 8.决策分析:基础数据分析和进销存分析,质量数据分析需要重新设计
---
src/views/qualityManagement/finalInspection/components/formDia.vue | 80 +++++++++++++++++++++++++++++++++-------
1 files changed, 66 insertions(+), 14 deletions(-)
diff --git a/src/views/qualityManagement/finalInspection/components/formDia.vue b/src/views/qualityManagement/finalInspection/components/formDia.vue
index 5c6be02..458ab96 100644
--- a/src/views/qualityManagement/finalInspection/components/formDia.vue
+++ b/src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -2,11 +2,33 @@
<div>
<el-dialog
v-model="dialogFormVisible"
- :title="operationType === 'add' ? '鏂板鍑哄巶妫�楠�' : '缂栬緫鍑哄巶妫�楠�'"
+ :title="operationType === 'add' ? '鏂板鍑哄巶妫�楠�' : operationType === 'view' ? '鏌ョ湅鍑哄巶妫�楠�' : '缂栬緫鍑哄巶妫�楠�'"
width="70%"
@close="closeDia"
>
<el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="閿�鍞鍗曪細" prop="salesLedgerId">
+ <el-select
+ v-model="form.salesLedgerId"
+ placeholder="璇烽�夋嫨閿�鍞鍗�"
+ clearable
+ filterable
+ :disabled="isViewMode"
+ style="width: 100%"
+ @change="handleSalesLedgerChange"
+ >
+ <el-option
+ v-for="item in salesLedgerOptions"
+ :key="item.id"
+ :label="item.salesContractNo"
+ :value="item.id"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ </el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="浜у搧鍚嶇О锛�" prop="productId">
@@ -18,14 +40,14 @@
@change="getModels"
:data="productOptions"
:render-after-expand="false"
- :disabled="operationType === 'edit'"
+ :disabled="isViewMode || operationType === 'edit'"
style="width: 100%"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="瑙勬牸鍨嬪彿锛�" prop="productModelId">
- <el-select v-model="form.productModelId" placeholder="璇烽�夋嫨" clearable :disabled="operationType === 'edit'"
+ <el-select v-model="form.productModelId" placeholder="璇烽�夋嫨" clearable :disabled="isViewMode || operationType === 'edit'"
filterable readonly @change="handleChangeModel">
<el-option v-for="item in modelOptions" :key="item.id" :label="item.model" :value="item.id" />
</el-select>
@@ -41,6 +63,7 @@
clearable
@change="handleTestStandardChange"
style="width: 100%"
+ :disabled="isViewMode"
>
<el-option
v-for="item in testStandardOptions"
@@ -60,7 +83,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="鏁伴噺锛�" prop="quantity">
- <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="璇疯緭鍏�" clearable :precision="2" :disabled="processQuantityDisabled"/>
+ <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="璇疯緭鍏�" clearable :precision="2" :disabled="isViewMode || processQuantityDisabled"/>
</el-form-item>
</el-col>
</el-row>
@@ -75,7 +98,8 @@
placeholder="璇疯緭鍏�"
clearable
:precision="2"
- @change="handleQualifiedQuantityChange" />
+ @change="handleQualifiedQuantityChange"
+ :disabled="isViewMode" />
</el-form-item>
</el-col>
<el-col :span="12">
@@ -88,19 +112,20 @@
placeholder="璇疯緭鍏�"
clearable
:precision="2"
- @change="handleUnqualifiedQuantityChange" />
+ @change="handleUnqualifiedQuantityChange"
+ :disabled="isViewMode" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="妫�娴嬪崟浣嶏細" prop="checkCompany">
- <el-input v-model="form.checkCompany" placeholder="璇疯緭鍏�" clearable/>
+ <el-input v-model="form.checkCompany" placeholder="璇疯緭鍏�" clearable :disabled="isViewMode"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="妫�娴嬬粨鏋滐細" prop="checkResult">
- <el-select v-model="form.checkResult">
+ <el-select v-model="form.checkResult" :disabled="isViewMode">
<el-option label="鍚堟牸" value="鍚堟牸" />
<el-option label="涓嶅悎鏍�" value="涓嶅悎鏍�" />
<el-option label="閮ㄥ垎鍚堟牸" value="閮ㄥ垎鍚堟牸" />
@@ -111,7 +136,7 @@
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="妫�楠屽憳锛�" prop="checkName">
- <el-select v-model="form.checkName" placeholder="璇烽�夋嫨" clearable>
+ <el-select v-model="form.checkName" placeholder="璇烽�夋嫨" clearable :disabled="isViewMode">
<el-option v-for="item in userList" :key="item.nickName" :label="item.nickName"
:value="item.nickName"/>
</el-select>
@@ -127,6 +152,7 @@
format="YYYY-MM-DD"
clearable
style="width: 100%"
+ :disabled="isViewMode"
/>
</el-form-item>
</el-col>
@@ -140,13 +166,16 @@
height="400"
>
<template #slot="{ row }">
- <el-input v-model="row.testValue" clearable/>
+ <el-input v-model="row.testValue" clearable :disabled="isViewMode"/>
</template>
</PIMTable>
<template #footer>
<div class="dialog-footer">
- <el-button type="primary" @click="submitForm">纭</el-button>
- <el-button @click="closeDia">鍙栨秷</el-button>
+ <template v-if="!isViewMode">
+ <el-button type="primary" @click="submitForm">纭</el-button>
+ <el-button @click="closeDia">鍙栨秷</el-button>
+ </template>
+ <el-button v-else @click="closeDia">鍏抽棴</el-button>
</div>
</template>
</el-dialog>
@@ -161,6 +190,7 @@
import {userListNoPage} from "@/api/system/user.js";
import {qualityInspectDetailByProductId, getQualityTestStandardParamByTestStandardId} from "@/api/qualityManagement/metricMaintenance.js";
import {qualityInspectParamInfo} from "@/api/qualityManagement/qualityInspectParam.js";
+import {ledgerListNoPage} from "@/api/salesManagement/salesLedger.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits(['close'])
@@ -182,6 +212,8 @@
unqualifiedQuantity: "",
checkCompany: "",
checkResult: "",
+ salesLedgerId: "",
+ salesContractNo: "",
},
rules: {
checkTime: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -199,6 +231,8 @@
},
});
const { form, rules } = toRefs(data);
+// 鏄惁涓烘煡鐪嬫ā寮�
+const isViewMode = computed(() => operationType.value === 'view');
// 缂栬緫鏃讹細productMainId 鎴� purchaseLedgerId 浠讳竴鏈夊�煎垯宸ュ簭銆佹暟閲忕疆鐏�
const processQuantityDisabled = computed(() => {
const v = form.value || {};
@@ -236,6 +270,7 @@
const currentProductId = ref(0);
const testStandardOptions = ref([]); // 鎸囨爣閫夋嫨涓嬫媺妗嗘暟鎹�
const modelOptions = ref([]);
+const salesLedgerOptions = ref([]); // 閿�鍞鍗曚笅鎷夋鏁版嵁
// 鎵撳紑寮规
const openDialog = async (type, row) => {
@@ -246,11 +281,14 @@
proxy.$refs.formRef?.clearValidate();
// 骞惰鍔犺浇鍩虹鏁版嵁
- const [userListsRes] = await Promise.all([
+ const [userListsRes, salesLedgerRes] = await Promise.all([
userListNoPage(),
getProductOptions(),
getOptions().then((res) => {
supplierList.value = res.data;
+ }),
+ ledgerListNoPage({ current: -1, size: -1 }).then((res) => {
+ salesLedgerOptions.value = res.data || [];
})
]);
userList.value = userListsRes.data;
@@ -259,7 +297,7 @@
testStandardOptions.value = [];
tableData.value = [];
- if (operationType.value === 'edit') {
+ if (operationType.value === 'edit' || operationType.value === 'view') {
// 鍏堜繚瀛� testStandardId锛岄伩鍏嶈娓呯┖
const savedTestStandardId = row.testStandardId;
// 鍏堣缃〃鍗曟暟鎹紝浣嗘殏鏃舵竻绌� testStandardId锛岀瓑閫夐」鍔犺浇瀹屾垚鍚庡啀璁剧疆
@@ -346,6 +384,16 @@
const handleChangeModel = (value) => {
form.value.model = modelOptions.value.find(item => item.id == value)?.model || '';
form.value.unit = modelOptions.value.find(item => item.id == value)?.unit || '';
+}
+
+// 閿�鍞鍗曢�夋嫨鍙樺寲澶勭悊
+const handleSalesLedgerChange = (value) => {
+ const selectedItem = salesLedgerOptions.value.find(item => item.id == value);
+ if (selectedItem) {
+ form.value.salesContractNo = selectedItem.salesContractNo || '';
+ } else {
+ form.value.salesContractNo = '';
+ }
}
const handleQualifiedQuantityChange = (value) => {
@@ -452,6 +500,10 @@
tableLoading.value = true;
getQualityTestStandardParamByTestStandardId(testStandardId).then(res => {
tableData.value = res.data || [];
+ tableData.value = tableData.value.map(item => ({
+ ...item,
+ id: null
+ }));
}).catch(error => {
console.error('鑾峰彇鏍囧噯鍙傛暟澶辫触:', error);
tableData.value = [];
--
Gitblit v1.9.3