From de83f5112fecda011bce0192dce152e66bb56f87 Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期二, 31 三月 2026 17:37:24 +0800
Subject: [PATCH] Merge branch 'dev_衡阳_鹏创电子' of http://114.132.189.42:9002/r/product-inventory-management into dev_衡阳_鹏创电子
---
src/views/procurementManagement/procurementLedger/index.vue | 104 ++++++++++++++++++++++++++++++++++++----------------
1 files changed, 72 insertions(+), 32 deletions(-)
diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index ea4304b..259f837 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -88,6 +88,8 @@
prop="specificationModel" />
<el-table-column label="鍗曚綅"
prop="unit" />
+ <el-table-column label="鏂欏彿"
+ prop="materialCode" />
<el-table-column label="鏁伴噺"
prop="quantity" />
<el-table-column label="绋庣巼(%)"
@@ -233,7 +235,7 @@
<el-option v-for="item in supplierList"
:key="item.id"
:label="item.supplierName"
- :value="item.id" />
+ :value="item.id" >{{item.supplierName + '---' + item.supplierType}}</el-option>
</el-select>
</el-form-item>
</el-col>
@@ -405,6 +407,8 @@
prop="productCategory" />
<el-table-column label="瑙勬牸鍨嬪彿"
prop="specificationModel" />
+ <el-table-column label="鏂欏彿"
+ prop="materialCode" />
<el-table-column label="鍗曚綅"
prop="unit"
width="70" />
@@ -430,15 +434,15 @@
prop="taxExclusiveTotalPrice"
:formatter="formattedNumber"
width="150" />
- <el-table-column label="鏄惁璐ㄦ"
- prop="isChecked"
- width="150">
- <template #default="scope">
- <el-tag :type="scope.row.isChecked ? 'success' : 'info'">
- {{ scope.row.isChecked ? '鏄�' : '鍚�' }}
- </el-tag>
- </template>
- </el-table-column>
+<!-- <el-table-column label="鏄惁璐ㄦ"-->
+<!-- prop="isChecked"-->
+<!-- width="150">-->
+<!-- <template #default="scope">-->
+<!-- <el-tag :type="scope.row.isChecked ? 'success' : 'info'">-->
+<!-- {{ scope.row.isChecked ? '鏄�' : '鍚�' }}-->
+<!-- </el-tag>-->
+<!-- </template>-->
+<!-- </el-table-column>-->
<el-table-column fixed="right"
label="鎿嶄綔"
min-width="60"
@@ -567,6 +571,15 @@
</el-select>
</el-form-item>
</el-col>
+
+ <el-col :span="24">
+ <el-form-item label="鏂欏彿锛�"
+ prop="materialCode">
+ <el-input v-model="productForm.materialCode"
+ placeholder="璇疯緭鍏�"
+ disabled />
+ </el-form-item>
+ </el-col>
</el-row>
<el-row :gutter="30">
<el-col :span="12">
@@ -673,19 +686,19 @@
</el-form-item>
</el-col>
</el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <el-form-item label="鏄惁璐ㄦ锛�"
- prop="isChecked">
- <el-radio-group v-model="productForm.isChecked">
- <el-radio label="鏄�"
- :value="true" />
- <el-radio label="鍚�"
- :value="false" />
- </el-radio-group>
- </el-form-item>
- </el-col>
- </el-row>
+<!-- <el-row :gutter="30">-->
+<!-- <el-col :span="12">-->
+<!-- <el-form-item label="鏄惁璐ㄦ锛�"-->
+<!-- prop="isChecked">-->
+<!-- <el-radio-group v-model="productForm.isChecked">-->
+<!-- <el-radio label="鏄�"-->
+<!-- :value="true" />-->
+<!-- <el-radio label="鍚�"-->
+<!-- :value="false" />-->
+<!-- </el-radio-group>-->
+<!-- </el-form-item>-->
+<!-- </el-col>-->
+<!-- </el-row>-->
</el-form>
</FormDialog>
<FileListDialog
@@ -952,6 +965,7 @@
productCategory: "",
productModelId: "",
specificationModel: "",
+ materialCode: "",
unit: "",
quantity: "",
taxInclusiveUnitPrice: "",
@@ -1474,6 +1488,22 @@
if (type === "edit") {
// 澶嶅埗琛屾暟鎹�
productForm.value = { ...row };
+
+ // el-radio-group 鐨� value 鏄竷灏� true/false
+ // 鍚庣/琛ㄦ牸鏁版嵁鍙兘鏄� 0/1 鎴栧瓧绗︿覆锛岄渶鍋氫竴娆″綊涓�鍖栵紝閬垮厤涓嶅洖鏄�/鎻愪氦榛樿鈥滃惁鈥�
+ const normalizeIsChecked = (val) => {
+ if (val === true) return true;
+ if (val === false) return false;
+ if (val === 1 || val === "1") return true;
+ if (val === 0 || val === "0") return false;
+ if (typeof val === "string") {
+ const s = val.trim().toLowerCase();
+ if (["鏄�", "yes", "true", "y"].includes(s)) return true;
+ if (["鍚�", "no", "false", "n"].includes(s)) return false;
+ }
+ return !!val;
+ };
+ productForm.value.isChecked = normalizeIsChecked(row?.isChecked);
// 濡傛灉鏄粠妯℃澘鍔犺浇鐨勬暟鎹紝鍙兘娌℃湁 productId 鍜� productModelId
// 闇�瑕佹牴鎹� productCategory 鍜� specificationModel 鏉ユ煡鎵惧搴旂殑 ID
@@ -1532,9 +1562,25 @@
};
const getProductOptions = () => {
return productTreeList().then(res => {
- productOptions.value = convertIdToValue(res);
+ const tree = convertIdToValue(res);
+ productOptions.value = filterOutSemiFinished(tree);
return res;
});
+ };
+
+ const filterOutSemiFinished = (nodes = []) => {
+ return (nodes || [])
+ .filter(node => {
+ const label = String(node?.label ?? "");
+ return !label.includes("鍗婃垚鍝�");
+ })
+ .map(node => {
+ const next = { ...node };
+ if (next.children && next.children.length > 0) {
+ next.children = filterOutSemiFinished(next.children);
+ }
+ return next;
+ });
};
const getModels = value => {
if (value) {
@@ -1555,9 +1601,11 @@
if (index !== -1) {
productForm.value.specificationModel = modelOptions.value[index].model;
productForm.value.unit = modelOptions.value[index].unit;
+ productForm.value.materialCode = modelOptions.value[index].materialCode;
} else {
productForm.value.specificationModel = null;
productForm.value.unit = null;
+ productForm.value.materialCode = null;
}
};
const findNodeById = (nodes, productId) => {
@@ -1683,14 +1731,6 @@
const handleDelete = () => {
let ids = [];
if (selectedRows.value.length > 0) {
- // 妫�鏌ユ槸鍚︽湁浠栦汉缁存姢鐨勬暟鎹�
- const unauthorizedData = selectedRows.value.filter(
- item => item.recorderName !== userStore.nickName
- );
- if (unauthorizedData.length > 0) {
- proxy.$modal.msgWarning("涓嶅彲鍒犻櫎浠栦汉缁存姢鐨勬暟鎹�");
- return;
- }
ids = selectedRows.value.map(item => item.id);
} else {
proxy.$modal.msgWarning("璇烽�夋嫨鏁版嵁");
--
Gitblit v1.9.3