From 2fc58fbb10745abd97168b8da21d4142e11d7f2e Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期四, 18 十二月 2025 13:36:43 +0800
Subject: [PATCH] 新增设备维修保养过程描述,上传对应附件
---
src/views/procurementManagement/procurementLedger/index.vue | 260 +++++++++++++++++++++++++++++----------------------
1 files changed, 149 insertions(+), 111 deletions(-)
diff --git a/src/views/procurementManagement/procurementLedger/index.vue b/src/views/procurementManagement/procurementLedger/index.vue
index 2877efd..0ae507d 100644
--- a/src/views/procurementManagement/procurementLedger/index.vue
+++ b/src/views/procurementManagement/procurementLedger/index.vue
@@ -21,10 +21,10 @@
<el-input v-model="searchForm.salesContractNo" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
@change="handleQuery" />
</el-form-item>
- <el-form-item label="椤圭洰鍚嶇О锛�">
+ <!-- <el-form-item label="椤圭洰鍚嶇О锛�">
<el-input v-model="searchForm.projectName" placeholder="璇疯緭鍏�" clearable prefix-icon="Search"
@change="handleQuery" />
- </el-form-item>
+ </el-form-item> -->
<el-form-item label="褰曞叆鏃ユ湡锛�">
<el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
placeholder="璇烽�夋嫨" clearable @change="changeDaterange" />
@@ -53,7 +53,7 @@
show-summary
:summary-method="summarizeMainTable"
@expand-change="expandChange"
- height="calc(100vh - 18.5em)"
+ height="calc(100vh - 19em)"
>
<el-table-column align="center" type="selection" width="55" />
<el-table-column type="expand">
@@ -112,12 +112,12 @@
prop="supplierName"
show-overflow-tooltip
/>
- <el-table-column
+ <!-- <el-table-column
label="椤圭洰鍚嶇О"
prop="projectName"
width="420"
show-overflow-tooltip
- />
+ /> -->
<el-table-column
label="浠樻鏂瑰紡"
width="100"
@@ -155,7 +155,6 @@
type="primary"
size="small"
@click="openForm('edit', scope.row)"
- :disabled="scope.row.receiptPaymentAmount>0 || scope.row.recorderName !== userStore.nickName"
>缂栬緫</el-button
>
<el-button
@@ -219,6 +218,64 @@
</el-form-item>
</el-col>
</el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="浠樻鏂瑰紡">
+ <el-input
+ v-model="form.paymentMethod"
+ placeholder="璇疯緭鍏�"
+ clearable
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="绛捐鏃ユ湡锛�" prop="executionDate">
+ <el-date-picker
+ style="width: 100%"
+ v-model="form.executionDate"
+ value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD"
+ type="date"
+ placeholder="璇烽�夋嫨"
+ clearable
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="褰曞叆浜猴細" prop="recorderId">
+ <el-select
+ v-model="form.recorderId"
+ placeholder="璇烽�夋嫨"
+ clearable
+ filterable
+ default-first-option
+ :reserve-keyword="false"
+ >
+ <el-option
+ v-for="item in userList"
+ :key="item.userId"
+ :label="item.nickName"
+ :value="item.userId"
+ />
+ </el-select>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="褰曞叆鏃ユ湡锛�" prop="entryDate">
+ <el-date-picker
+ style="width: 100%"
+ v-model="form.entryDate"
+ value-format="YYYY-MM-DD"
+ format="YYYY-MM-DD"
+ type="date"
+ placeholder="璇烽�夋嫨"
+ clearable
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
<el-row :gutter="30">
<el-col :span="12">
<el-form-item label="渚涘簲鍟嗗悕绉帮細" prop="supplierId">
@@ -236,7 +293,7 @@
</el-select>
</el-form-item>
</el-col>
- <el-col :span="12">
+ <!-- <el-col :span="12">
<el-form-item label="椤圭洰鍚嶇О锛�" prop="projectName">
<el-input
v-model="form.projectName"
@@ -244,51 +301,7 @@
clearable
/>
</el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <el-form-item label="褰曞叆浜猴細" prop="recorderId">
- <el-select
- v-model="form.recorderId"
- placeholder="璇烽�夋嫨"
- clearable
- disabled
- >
- <el-option
- v-for="item in userList"
- :key="item.userId"
- :label="item.nickName"
- :value="item.userId"
- />
- </el-select>
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="褰曞叆鏃ユ湡锛�" prop="entryDate">
- <el-date-picker
- disabled
- style="width: 100%"
- v-model="form.entryDate"
- value-format="YYYY-MM-DD"
- format="YYYY-MM-DD"
- type="date"
- placeholder="璇烽�夋嫨"
- clearable
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="30">
- <el-col :span="12">
- <el-form-item label="浠樻鏂瑰紡">
- <el-input
- v-model="form.paymentMethod"
- placeholder="璇疯緭鍏�"
- clearable
- />
- </el-form-item>
- </el-col>
+ </el-col> -->
</el-row>
<el-row>
<el-form-item label="浜у搧淇℃伅锛�" prop="entryDate">
@@ -318,6 +331,7 @@
<el-table-column label="瑙勬牸鍨嬪彿" prop="specificationModel" />
<el-table-column label="鍗曚綅" prop="unit" width="70" />
<el-table-column label="鏁伴噺" prop="quantity" width="70" />
+ <el-table-column label="搴撳瓨棰勮鏁伴噺" prop="warnNum" width="120" show-overflow-tooltip />
<el-table-column label="绋庣巼(%)" prop="taxRate" width="80" />
<el-table-column
label="鍚◣鍗曚环(鍏�)"
@@ -539,6 +553,17 @@
</el-select>
</el-form-item>
</el-col>
+ <el-col :span="12">
+ <el-form-item label="搴撳瓨棰勮鏁伴噺锛�" prop="warnNum">
+ <el-input-number
+ v-model="productForm.warnNum"
+ :precision="2"
+ :step="0.1"
+ clearable
+ style="width: 100%"
+ />
+ </el-form-item>
+ </el-col>
</el-row>
</el-form>
<template #footer>
@@ -613,29 +638,6 @@
</el-row>
<el-row :gutter="20">
<el-col :span="12">
- <el-form-item label="椤圭洰鍚嶇О锛�" prop="projectName">
- <el-input
- v-model="scanAddForm.projectName"
- placeholder="璇疯緭鍏�"
- clearable
- />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鍚堝悓閲戦(鍏�)锛�" prop="contractAmount">
- <el-input-number
- v-model="scanAddForm.contractAmount"
- :precision="2"
- :step="0.1"
- clearable
- style="width: 100%"
- placeholder="璇疯緭鍏�"
- />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="12">
<el-form-item label="浠樻鏂瑰紡锛�">
<el-input
v-model="scanAddForm.paymentMethod"
@@ -647,6 +649,29 @@
<el-col :span="12">
<el-form-item label="褰曞叆浜猴細">
<el-input v-model="scanAddForm.recorderName" disabled />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <!-- <el-col :span="12">
+ <el-form-item label="椤圭洰鍚嶇О锛�" prop="projectName">
+ <el-input
+ v-model="scanAddForm.projectName"
+ placeholder="璇疯緭鍏�"
+ clearable
+ />
+ </el-form-item>
+ </el-col> -->
+ <el-col :span="12">
+ <el-form-item label="鍚堝悓閲戦(鍏�)锛�" prop="contractAmount">
+ <el-input-number
+ v-model="scanAddForm.contractAmount"
+ :precision="2"
+ :step="0.1"
+ clearable
+ style="width: 100%"
+ placeholder="璇疯緭鍏�"
+ />
</el-form-item>
</el-col>
</el-row>
@@ -700,18 +725,6 @@
</el-row>
<el-row :gutter="20">
<el-col :span="12">
- <el-form-item label="椤圭洰鍚嶇О锛�">
- <el-input v-model="scanForm.projectName" disabled />
- </el-form-item>
- </el-col>
- <el-col :span="12">
- <el-form-item label="鎵爜鏃堕棿锛�">
- <el-input v-model="scanForm.scanTime" disabled />
- </el-form-item>
- </el-col>
- </el-row>
- <el-row :gutter="20">
- <el-col :span="12">
<el-form-item label="鎵爜浜猴細">
<el-input v-model="scanForm.scannerName" disabled />
</el-form-item>
@@ -721,6 +734,18 @@
<el-tag :type="scanForm.scanStatus === '宸叉壂鐮�' ? 'success' : 'warning'">
{{ scanForm.scanStatus }}
</el-tag>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <!-- <el-col :span="12">
+ <el-form-item label="椤圭洰鍚嶇О锛�">
+ <el-input v-model="scanForm.projectName" disabled />
+ </el-form-item>
+ </el-col> -->
+ <el-col :span="12">
+ <el-form-item label="鎵爜鏃堕棿锛�">
+ <el-input v-model="scanForm.scanTime" disabled />
</el-form-item>
</el-col>
</el-row>
@@ -827,35 +852,41 @@
supplierName: "", // 渚涘簲鍟嗗悕绉�
purchaseContractNumber: "", // 閲囪喘鍚堝悓缂栧彿
salesContractNo: "", // 閿�鍞悎鍚岀紪鍙�
- projectName: "", // 椤圭洰鍚嶇О
- entryDate: [
- dayjs().format("YYYY-MM-DD"),
- dayjs().add(1, "day").format("YYYY-MM-DD"),
- ], // 褰曞叆鏃ユ湡
- entryDateStart: dayjs().format("YYYY-MM-DD"),
- entryDateEnd: dayjs().add(1, "day").format("YYYY-MM-DD"),
+ // projectName: "", // 椤圭洰鍚嶇О
+ entryDate: null, // 褰曞叆鏃ユ湡
+ entryDateStart: undefined,
+ entryDateEnd: undefined,
},
form: {
purchaseContractNumber: "",
salesLedgerId: "",
- projectName: "",
+ // projectName: "",
recorderId: "",
entryDate: "",
productData: [],
supplierName: "",
supplierId: "",
paymentMethod: "",
+ executionDate: "",
},
rules: {
purchaseContractNumber: [
{ required: true, message: "璇疯緭鍏�", trigger: "blur" },
],
- projectName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ // projectName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
supplierId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ entryDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ executionDate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
},
});
const { form, rules } = toRefs(data);
-const { form: searchForm } = useFormData(data.searchForm);
+const { form: searchForm } = useFormData({
+ ...data.searchForm,
+ // 璁剧疆褰曞叆鏃ユ湡鑼冨洿涓哄綋澶�
+ entryDate: [dayjs().startOf('day').format('YYYY-MM-DD'), dayjs().endOf('day').format('YYYY-MM-DD')],
+ entryDateStart: dayjs().startOf('day').format('YYYY-MM-DD'),
+ entryDateEnd: dayjs().endOf('day').format('YYYY-MM-DD')
+});
// 浜у搧琛ㄥ崟寮规鏁版嵁
const productFormVisible = ref(false);
@@ -875,6 +906,7 @@
taxInclusiveTotalPrice: "",
taxExclusiveTotalPrice: "",
invoiceType: "",
+ warnNum: "",
},
productRules: {
productId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
@@ -885,6 +917,7 @@
{ required: true, message: "璇疯緭鍏�", trigger: "blur" },
],
taxRate: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ warnNum: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
taxInclusiveTotalPrice: [
{ required: true, message: "璇疯緭鍏�", trigger: "blur" },
],
@@ -1126,10 +1159,15 @@
});
};
const getModels = (value) => {
- productForm.value.productCategory = findNodeById(productOptions.value, value);
- modelList({ id: value }).then((res) => {
- modelOptions.value = res;
- });
+ if (value) {
+ productForm.value.productCategory = findNodeById(productOptions.value, value) || "";
+ modelList({ id: value }).then((res) => {
+ modelOptions.value = res;
+ });
+ } else {
+ productForm.value.productCategory = "";
+ modelOptions.value = [];
+ }
};
const getProductModel = (value) => {
const index = modelOptions.value.findIndex((item) => item.id === value);
@@ -1144,12 +1182,12 @@
const findNodeById = (nodes, productId) => {
for (let i = 0; i < nodes.length; i++) {
if (nodes[i].value === productId) {
- return nodes[i].label; // 鎵惧埌鑺傜偣锛岃繑鍥炶鑺傜偣
+ return nodes[i].label; // 鎵惧埌鑺傜偣锛岃繑鍥炶鑺傜偣鐨刲abel
}
if (nodes[i].children && nodes[i].children.length > 0) {
const foundNode = findNodeById(nodes[i].children, productId);
if (foundNode) {
- return foundNode.label; // 鍦ㄥ瓙鑺傜偣涓壘鍒帮紝杩斿洖璇ヨ妭鐐�
+ return foundNode; // 鍦ㄥ瓙鑺傜偣涓壘鍒帮紝鐩存帴杩斿洖锛堝凡缁忔槸label瀛楃涓诧級
}
}
}
@@ -1367,7 +1405,7 @@
var index = salesContractList.value.findIndex((item) => item.id == row);
console.log("index", index);
if (index > -1) {
- form.value.projectName = salesContractList.value[index].projectName;
+ // form.value.projectName = salesContractList.value[index].projectName;
await querygProductInfoByContractNo();
}
};
@@ -1428,7 +1466,7 @@
scanContent: "",
purchaseContractNumber: "",
supplierName: "",
- projectName: "",
+ // projectName: "",
contractAmount: "",
paymentMethod: "",
recorderName: "",
@@ -1437,7 +1475,7 @@
const scanAddRules = {
purchaseContractNumber: [{ required: true, message: "璇疯緭鍏ラ噰璐悎鍚屽彿", trigger: "blur" }],
supplierName: [{ required: true, message: "璇疯緭鍏ヤ緵搴斿晢鍚嶇О", trigger: "blur" }],
- projectName: [{ required: true, message: "璇疯緭鍏ラ」鐩悕绉�", trigger: "blur" }],
+ // projectName: [{ required: true, message: "璇疯緭鍏ラ」鐩悕绉�", trigger: "blur" }],
};
// 鎵爜鐧昏瀵硅瘽妗嗙浉鍏冲彉閲�
@@ -1445,7 +1483,7 @@
const scanForm = reactive({
purchaseContractNumber: "",
supplierName: "",
- projectName: "",
+ // projectName: "",
scanTime: "",
scannerName: "",
scanStatus: "鏈壂鐮�",
@@ -1461,7 +1499,7 @@
scanAddForm.scanContent = "";
scanAddForm.purchaseContractNumber = "";
scanAddForm.supplierName = "";
- scanAddForm.projectName = "";
+ // scanAddForm.projectName = "";
scanAddForm.contractAmount = "";
scanAddForm.paymentMethod = "";
scanAddForm.recorderName = userStore.nickName;
@@ -1479,7 +1517,7 @@
if (parts.length >= 3) {
scanAddForm.purchaseContractNumber = parts[0] || "";
scanAddForm.supplierName = parts[1] || "";
- scanAddForm.projectName = parts[2] || "";
+ // scanAddForm.projectName = parts[2] || "";
scanAddForm.contractAmount = parts[3] || "";
scanAddForm.paymentMethod = parts[4] || "";
}
@@ -1499,7 +1537,7 @@
const newData = {
purchaseContractNumber: scanAddForm.purchaseContractNumber,
supplierName: scanAddForm.supplierName,
- projectName: scanAddForm.projectName,
+ // projectName: scanAddForm.projectName,
contractAmount: scanAddForm.contractAmount,
paymentMethod: scanAddForm.paymentMethod,
recorderName: scanAddForm.recorderName,
@@ -1522,7 +1560,7 @@
const openScanDialog = (row) => {
scanForm.purchaseContractNumber = row.purchaseContractNumber;
scanForm.supplierName = row.supplierName;
- scanForm.projectName = row.projectName;
+ // scanForm.projectName = row.projectName;
scanForm.scanTime = getCurrentDateTime();
scanForm.scannerName = userStore.nickName;
scanForm.scanStatus = "鏈壂鐮�";
--
Gitblit v1.9.3