From 48ea97508874550d8f7a6988d240281dc5497532 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 18 五月 2026 11:07:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_NEW_pro' into dev_NEW_pro
---
src/views/qualityManagement/processInspection/components/formDia.vue | 50 ++++++++----
multiple/config.json | 9 ++
src/views/basicData/product/index.vue | 53 +++++-------
src/views/qualityManagement/finalInspection/components/formDia.vue | 39 ++++++---
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue | 40 ++++++---
multiple/assets/favicon/JHYfavicon.ico | 0
src/views/qualityManagement/rawMaterialInspection/index.vue | 7 +
src/views/qualityManagement/finalInspection/index.vue | 7 +
multiple/assets/logo/JHYLogo.png | 0
src/views/qualityManagement/processInspection/index.vue | 7 +
10 files changed, 137 insertions(+), 75 deletions(-)
diff --git a/multiple/assets/favicon/JHYfavicon.ico b/multiple/assets/favicon/JHYfavicon.ico
new file mode 100644
index 0000000..f818f6f
--- /dev/null
+++ b/multiple/assets/favicon/JHYfavicon.ico
Binary files differ
diff --git a/multiple/assets/logo/JHYLogo.png b/multiple/assets/logo/JHYLogo.png
new file mode 100644
index 0000000..edf5921
--- /dev/null
+++ b/multiple/assets/logo/JHYLogo.png
Binary files differ
diff --git a/multiple/config.json b/multiple/config.json
index 1cc8f1f..b1b0131 100644
--- a/multiple/config.json
+++ b/multiple/config.json
@@ -150,6 +150,15 @@
"logo": "logo/HYJCLogo.png",
"favicon": "favicon/HYJCfavicon.ico"
},
+ "JHY": {
+ "env": {
+ "VITE_APP_TITLE": "灞辫タ鐪佹绀惧幙鏅嬪拰鍥鍝佹湁闄愬叕鍙�",
+ "VITE_BASE_API": "http://223.15.233.27:9001",
+ "VITE_JAVA_API": "http://223.15.233.27:9002"
+ },
+ "logo": "logo/JHYLogo.png",
+ "favicon": "favicon/JHYfavicon.ico"
+ },
"logo": "/src/assets/logo/logo.png",
"favicon": "/public/favicon.ico"
}
diff --git a/src/views/basicData/product/index.vue b/src/views/basicData/product/index.vue
index 07da49b..b05b215 100644
--- a/src/views/basicData/product/index.vue
+++ b/src/views/basicData/product/index.vue
@@ -5,7 +5,7 @@
<el-input v-model="search"
style="width: 210px"
placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�"
- @change="searchFilter"
+ @input="debouncedSearch"
@clear="searchFilter"
clearable
prefix-icon="Search" />
@@ -565,40 +565,31 @@
proxy.$modal.msg("宸插彇娑�");
});
};
- // 璋冪敤tree杩囨护鏂规硶 涓枃鑻辫繃婊�
- const filterNode = (value, data, node) => {
- if (!value) {
- //濡傛灉鏁版嵁涓虹┖锛屽垯杩斿洖true,鏄剧ず鎵�鏈夌殑鏁版嵁椤�
- return true;
- }
- // 鏌ヨ鍒楄〃鏄惁鏈夊尮閰嶆暟鎹紝灏嗗�煎皬鍐欙紝鍖归厤鑻辨枃鏁版嵁
- let val = value.toLowerCase();
- return chooseNode(val, data, node); // 璋冪敤杩囨护浜屽眰鏂规硶
+ const debounce = (fn, delay = 300) => {
+ let timer;
+ return (...args) => {
+ clearTimeout(timer);
+ timer = setTimeout(() => fn(...args), delay);
+ };
};
- // 杩囨护鐖惰妭鐐� / 瀛愯妭鐐� (濡傛灉杈撳叆鐨勫弬鏁版槸鐖惰妭鐐逛笖鑳藉尮閰嶏紝鍒欒繑鍥炶鑺傜偣浠ュ強鍏朵笅鐨勬墍鏈夊瓙鑺傜偣锛涘鏋滃弬鏁版槸瀛愯妭鐐癸紝鍒欒繑鍥炶鑺傜偣鐨勭埗鑺傜偣銆俷ame鏄腑鏂囧瓧绗︼紝enName鏄嫳鏂囧瓧绗�.
- const chooseNode = (value, data, node) => {
- if (data.label.indexOf(value) !== -1) {
+
+ const debouncedSearch = debounce(() => {
+ searchFilter();
+ }, 300);
+
+ const filterNode = (value, data) => {
+ if (!value) return true;
+ return chooseNode(value.toLowerCase(), data);
+ };
+
+ const chooseNode = (value, data) => {
+ const label = (data.label || '').toLowerCase();
+ if (label.indexOf(value) !== -1) {
return true;
}
- const level = node.level;
- // 濡傛灉浼犲叆鐨勮妭鐐规湰韬氨鏄竴绾ц妭鐐瑰氨涓嶇敤鏍¢獙浜�
- if (level === 1) {
- return false;
+ if (data.children && data.children.length > 0) {
+ return data.children.some(child => chooseNode(value, child));
}
- // 鍏堝彇褰撳墠鑺傜偣鐨勭埗鑺傜偣
- let parentData = node.parent;
- // 閬嶅巻褰撳墠鑺傜偣鐨勭埗鑺傜偣
- let index = 0;
- while (index < level - 1) {
- // 濡傛灉鍖归厤鍒扮洿鎺ヨ繑鍥烇紝姝ゅname鍊兼槸涓枃瀛楃锛宔nName鏄嫳鏂囧瓧绗︺�傚垽鏂尮閰嶄腑鑻辨枃杩囨护
- if (parentData.data.label.indexOf(value) !== -1) {
- return true;
- }
- // 鍚﹀垯鐨勮瘽鍐嶅線涓婁竴灞傚仛鍖归厤
- parentData = parentData.parent;
- index++;
- }
- // 娌″尮閰嶅埌杩斿洖false
return false;
};
getProductTreeList();
diff --git a/src/views/qualityManagement/finalInspection/components/formDia.vue b/src/views/qualityManagement/finalInspection/components/formDia.vue
index 5c6be02..10bfad9 100644
--- a/src/views/qualityManagement/finalInspection/components/formDia.vue
+++ b/src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -2,7 +2,7 @@
<div>
<el-dialog
v-model="dialogFormVisible"
- :title="operationType === 'add' ? '鏂板鍑哄巶妫�楠�' : '缂栬緫鍑哄巶妫�楠�'"
+ :title="operationType === 'add' ? '鏂板鍑哄巶妫�楠�' : operationType === 'view' ? '鏌ョ湅鍑哄巶妫�楠�' : '缂栬緫鍑哄巶妫�楠�'"
width="70%"
@close="closeDia"
>
@@ -18,14 +18,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 +41,7 @@
clearable
@change="handleTestStandardChange"
style="width: 100%"
+ :disabled="isViewMode"
>
<el-option
v-for="item in testStandardOptions"
@@ -60,7 +61,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 +76,8 @@
placeholder="璇疯緭鍏�"
clearable
:precision="2"
- @change="handleQualifiedQuantityChange" />
+ @change="handleQualifiedQuantityChange"
+ :disabled="isViewMode" />
</el-form-item>
</el-col>
<el-col :span="12">
@@ -88,19 +90,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 +114,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 +130,7 @@
format="YYYY-MM-DD"
clearable
style="width: 100%"
+ :disabled="isViewMode"
/>
</el-form-item>
</el-col>
@@ -140,13 +144,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>
@@ -199,6 +206,8 @@
},
});
const { form, rules } = toRefs(data);
+// 鏄惁涓烘煡鐪嬫ā寮�
+const isViewMode = computed(() => operationType.value === 'view');
// 缂栬緫鏃讹細productMainId 鎴� purchaseLedgerId 浠讳竴鏈夊�煎垯宸ュ簭銆佹暟閲忕疆鐏�
const processQuantityDisabled = computed(() => {
const v = form.value || {};
@@ -259,7 +268,7 @@
testStandardOptions.value = [];
tableData.value = [];
- if (operationType.value === 'edit') {
+ if (operationType.value === 'edit' || operationType.value === 'view') {
// 鍏堜繚瀛� testStandardId锛岄伩鍏嶈娓呯┖
const savedTestStandardId = row.testStandardId;
// 鍏堣缃〃鍗曟暟鎹紝浣嗘殏鏃舵竻绌� testStandardId锛岀瓑閫夐」鍔犺浇瀹屾垚鍚庡啀璁剧疆
@@ -452,6 +461,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 = [];
diff --git a/src/views/qualityManagement/finalInspection/index.vue b/src/views/qualityManagement/finalInspection/index.vue
index d87c453..bdb71c4 100644
--- a/src/views/qualityManagement/finalInspection/index.vue
+++ b/src/views/qualityManagement/finalInspection/index.vue
@@ -191,6 +191,13 @@
}
},
{
+ name: "鏌ョ湅",
+ type: "text",
+ clickFun: (row) => {
+ openForm("view", row);
+ },
+ },
+ {
name: "闄勪欢",
type: "text",
clickFun: (row) => {
diff --git a/src/views/qualityManagement/processInspection/components/formDia.vue b/src/views/qualityManagement/processInspection/components/formDia.vue
index b15eabb..635360f 100644
--- a/src/views/qualityManagement/processInspection/components/formDia.vue
+++ b/src/views/qualityManagement/processInspection/components/formDia.vue
@@ -1,7 +1,7 @@
<template>
<div>
<el-dialog v-model="dialogFormVisible"
- :title="operationType === 'add' ? '鏂板杩囩▼妫�楠�' : '缂栬緫杩囩▼妫�楠�'"
+ :title="operationType === 'add' ? '鏂板杩囩▼妫�楠�' : operationType === 'view' ? '鏌ョ湅杩囩▼妫�楠�' : '缂栬緫杩囩▼妫�楠�'"
width="70%"
@close="closeDia">
<el-form :model="form"
@@ -16,7 +16,7 @@
<el-select v-model="form.process"
placeholder="璇烽�夋嫨宸ュ簭"
clearable
- :disabled="processQuantityDisabled"
+ :disabled="isViewMode || processQuantityDisabled"
style="width: 100%">
<el-option v-for="item in processList"
:key="item.name"
@@ -35,7 +35,7 @@
@change="getModels"
:data="productOptions"
:render-after-expand="false"
- :disabled="operationType === 'edit'"
+ :disabled="isViewMode || operationType === 'edit'"
style="width: 100%" />
</el-form-item>
</el-col>
@@ -47,7 +47,7 @@
<el-select v-model="form.productModelId"
placeholder="璇烽�夋嫨"
clearable
- :disabled="operationType === 'edit'"
+ :disabled="isViewMode || operationType === 'edit'"
filterable
readonly
@change="handleChangeModel">
@@ -65,7 +65,8 @@
placeholder="璇烽�夋嫨鎸囨爣"
clearable
@change="handleTestStandardChange"
- style="width: 100%">
+ style="width: 100%"
+ :disabled="isViewMode">
<el-option v-for="item in testStandardOptions"
:key="item.id"
:label="item.standardName || item.standardNo"
@@ -93,7 +94,7 @@
placeholder="璇疯緭鍏�"
clearable
:precision="2"
- :disabled="processQuantityDisabled" />
+ :disabled="isViewMode || processQuantityDisabled" />
</el-form-item>
</el-col>
</el-row>
@@ -108,7 +109,8 @@
placeholder="璇疯緭鍏�"
clearable
:precision="2"
- @change="handleQualifiedQuantityChange" />
+ @change="handleQualifiedQuantityChange"
+ :disabled="isViewMode" />
</el-form-item>
</el-col>
<el-col :span="12">
@@ -121,7 +123,8 @@
placeholder="璇疯緭鍏�"
clearable
:precision="2"
- @change="handleUnqualifiedQuantityChange" />
+ @change="handleUnqualifiedQuantityChange"
+ :disabled="isViewMode" />
</el-form-item>
</el-col>
</el-row>
@@ -131,13 +134,14 @@
prop="checkCompany">
<el-input v-model="form.checkCompany"
placeholder="璇疯緭鍏�"
- clearable />
+ 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="涓嶅悎鏍�"
@@ -154,7 +158,8 @@
prop="checkName">
<el-select v-model="form.checkName"
placeholder="璇烽�夋嫨"
- clearable>
+ clearable
+ :disabled="isViewMode">
<el-option v-for="item in userList"
:key="item.nickName"
:label="item.nickName"
@@ -171,7 +176,8 @@
value-format="YYYY-MM-DD"
format="YYYY-MM-DD"
clearable
- style="width: 100%" />
+ style="width: 100%"
+ :disabled="isViewMode" />
</el-form-item>
</el-col>
</el-row>
@@ -183,14 +189,18 @@
height="400">
<template #slot="{ row }">
<el-input v-model="row.testValue"
- clearable />
+ 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>
@@ -259,6 +269,8 @@
});
const userList = ref([]);
const { form, rules } = toRefs(data);
+ // 鏄惁涓烘煡鐪嬫ā寮�
+ const isViewMode = computed(() => operationType.value === 'view');
// 缂栬緫鏃讹細productMainId 鎴� purchaseLedgerId 浠讳竴鏈夊�煎垯宸ュ簭銆佹暟閲忕疆鐏�
const processQuantityDisabled = computed(() => {
const v = form.value || {};
@@ -332,7 +344,7 @@
tableData.value = [];
// 鍏堢‘淇濅骇鍝佹爲宸插姞杞斤紝鍚﹀垯缂栬緫鏃朵骇鍝�/瑙勬牸鍨嬪彿鏃犳硶鍙嶆樉
await getProductOptions();
- if (operationType.value === "edit") {
+ if (operationType.value === "edit" || operationType.value === "view") {
// 鍏堜繚瀛� testStandardId锛岄伩鍏嶈娓呯┖
const savedTestStandardId = row.testStandardId;
// 鍏堣缃〃鍗曟暟鎹紝浣嗘殏鏃舵竻绌� testStandardId锛岀瓑閫夐」鍔犺浇瀹屾垚鍚庡啀璁剧疆
@@ -557,6 +569,10 @@
getQualityTestStandardParamByTestStandardId(testStandardId)
.then(res => {
tableData.value = res.data || [];
+ tableData.value = tableData.value.map(item => ({
+ ...item,
+ id: null
+ }));
})
.catch(error => {
console.error("鑾峰彇鏍囧噯鍙傛暟澶辫触:", error);
diff --git a/src/views/qualityManagement/processInspection/index.vue b/src/views/qualityManagement/processInspection/index.vue
index cf02b7b..178e81a 100644
--- a/src/views/qualityManagement/processInspection/index.vue
+++ b/src/views/qualityManagement/processInspection/index.vue
@@ -190,6 +190,13 @@
}
},
{
+ name: "鏌ョ湅",
+ type: "text",
+ clickFun: (row) => {
+ openForm("view", row);
+ },
+ },
+ {
name: "闄勪欢",
type: "text",
clickFun: (row) => {
diff --git a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
index 810768c..8bcc72b 100644
--- a/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
+++ b/src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -2,7 +2,7 @@
<div>
<el-dialog
v-model="dialogFormVisible"
- :title="operationType === 'add' ? '鏂板鍘熸潗鏂欐楠�' : '缂栬緫鍘熸潗鏂欐楠�'"
+ :title="operationType === 'add' ? '鏂板鍘熸潗鏂欐楠�' : operationType === 'view' ? '鏌ョ湅鍘熸潗鏂欐楠�' : '缂栬緫鍘熸潗鏂欐楠�'"
width="70%"
@close="closeDia"
>
@@ -14,7 +14,7 @@
v-model="form.supplier"
placeholder="璇烽�夋嫨"
clearable
- :disabled="supplierQuantityDisabled"
+ :disabled="isViewMode || supplierQuantityDisabled"
>
<el-option
v-for="item in supplierList"
@@ -35,7 +35,7 @@
@change="getModels"
:data="productOptions"
:render-after-expand="false"
- :disabled="operationType === 'edit'"
+ :disabled="isViewMode || operationType === 'edit'"
style="width: 100%"
/>
</el-form-item>
@@ -44,7 +44,7 @@
<el-row :gutter="30">
<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>
@@ -58,6 +58,7 @@
clearable
@change="handleTestStandardChange"
style="width: 100%"
+ :disabled="isViewMode"
>
<el-option
v-for="item in testStandardOptions"
@@ -78,7 +79,7 @@
<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="supplierQuantityDisabled"/>
+ clearable :precision="2" :disabled="isViewMode || supplierQuantityDisabled"/>
</el-form-item>
</el-col>
</el-row>
@@ -87,14 +88,14 @@
<el-form-item label="鍚堟牸鏁伴噺锛�" prop="qualifiedQuantity">
<el-input-number :step="0.01" :min="0" :max="form.quantity || 0" style="width: 100%"
v-model="form.qualifiedQuantity" placeholder="璇疯緭鍏�" :precision="2"
- @change="onQualifiedChange"/>
+ @change="onQualifiedChange" :disabled="isViewMode"/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="涓嶅悎鏍兼暟閲忥細" prop="unqualifiedQuantity">
<el-input-number :step="0.01" :min="0" :max="form.quantity || 0" style="width: 100%"
v-model="form.unqualifiedQuantity" placeholder="璇疯緭鍏�" :precision="2"
- @change="onUnqualifiedChange"/>
+ @change="onUnqualifiedChange" :disabled="isViewMode"/>
</el-form-item>
</el-col>
</el-row>
@@ -102,12 +103,12 @@
<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="閮ㄥ垎鍚堟牸"/>
@@ -118,7 +119,7 @@
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="妫�楠屽憳锛�" prop="checkName">
- <el-select v-model="form.checkName" placeholder="璇烽�夋嫨" clearable style="width: 100%">
+ <el-select v-model="form.checkName" placeholder="璇烽�夋嫨" clearable style="width: 100%" :disabled="isViewMode">
<el-option v-for="item in userList" :key="item.nickName" :label="item.nickName" :value="item.nickName"/>
</el-select>
</el-form-item>
@@ -133,6 +134,7 @@
format="YYYY-MM-DD"
clearable
style="width: 100%"
+ :disabled="isViewMode"
/>
</el-form-item>
</el-col>
@@ -149,13 +151,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>
@@ -241,6 +246,9 @@
const modelOptions = ref([]);
const userList = ref([]); // 妫�楠屽憳涓嬫媺鍒楄〃
+// 鏄惁涓烘煡鐪嬫ā寮�
+const isViewMode = computed(() => operationType.value === 'view');
+
// 缂栬緫鏃讹細productMainId 鎴� purchaseLedgerId 浠讳竴鏈夊�煎垯渚涘簲鍟嗐�佹暟閲忕疆鐏�
const supplierQuantityDisabled = computed(() => {
const v = form.value || {};
@@ -280,7 +288,7 @@
tableData.value = [];
// 鍏堢‘淇濅骇鍝佹爲宸插姞杞斤紝鍚﹀垯缂栬緫鏃朵骇鍝�/瑙勬牸鍨嬪彿鏃犳硶鍙嶆樉
await getProductOptions();
- if (operationType.value === 'edit') {
+ if (operationType.value === 'edit' || operationType.value === 'view') {
// 鍏堜繚瀛� testStandardId锛岄伩鍏嶈娓呯┖
const savedTestStandardId = row.testStandardId;
form.value = {...row}
@@ -455,6 +463,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 = [];
diff --git a/src/views/qualityManagement/rawMaterialInspection/index.vue b/src/views/qualityManagement/rawMaterialInspection/index.vue
index c0e667a..b6adb40 100644
--- a/src/views/qualityManagement/rawMaterialInspection/index.vue
+++ b/src/views/qualityManagement/rawMaterialInspection/index.vue
@@ -197,6 +197,13 @@
}
},
{
+ name: "鏌ョ湅",
+ type: "text",
+ clickFun: (row) => {
+ openForm("view", row);
+ },
+ },
+ {
name: "闄勪欢",
type: "text",
clickFun: (row) => {
--
Gitblit v1.9.3