From 5eef21ed1f6e1c97e048dd07543f21bc868f9bba Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期二, 10 三月 2026 14:38:16 +0800
Subject: [PATCH] fix: 入库前需加上仓库管理员审审批这一流程,审核通过后才能入库。另外在消息通知中需要展示这个审批信息
---
src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue | 73 +++++++++++++++++++++++++++---------
1 files changed, 55 insertions(+), 18 deletions(-)
diff --git a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
index a269375..40e510a 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
@@ -17,25 +17,25 @@
<el-row>
<el-col :span="24">
<el-form-item label="鐢宠閮ㄩ棬锛�" prop="approveDeptName">
- <el-input v-model="form.approveDeptName" placeholder="璇疯緭鍏�" clearable/>
-<!-- <el-select-->
-<!-- disabled-->
-<!-- v-model="form.approveDeptId"-->
-<!-- placeholder="閫夋嫨閮ㄩ棬"-->
-<!-- >-->
-<!-- <el-option-->
-<!-- v-for="user in productOptions"-->
-<!-- :key="user.deptId"-->
-<!-- :label="user.deptName"-->
-<!-- :value="user.deptId"-->
-<!-- />-->
-<!-- </el-select>-->
+<!-- <el-input v-model="form.approveDeptName" placeholder="璇疯緭鍏�" clearable/>-->
+ <el-select
+ v-model="form.approveDeptId"
+ placeholder="閫夋嫨閮ㄩ棬"
+ @change="handleDeptChange"
+ >
+ <el-option
+ v-for="user in productOptions"
+ :key="user.deptId"
+ :label="user.deptName"
+ :value="user.deptId"
+ />
+ </el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
- <el-form-item :label="props.approveType == 5 ? '閲囪喘璇存槑锛�' : '瀹℃壒浜嬬敱锛�'" prop="approveReason">
+ <el-form-item :label="props.approveType == 5 ? '閲囪喘鍚堝悓鍙凤細' : '瀹℃壒浜嬬敱锛�'" prop="approveReason">
<el-input v-model="form.approveReason" placeholder="璇疯緭鍏�" clearable type="textarea" />
</el-form-item>
</el-col>
@@ -217,6 +217,7 @@
const emit = defineEmits(['close'])
import useUserStore from "@/store/modules/user";
import { getCurrentDate } from "@/utils/index.js";
+import log from "@/views/monitor/job/log.vue";
const userStore = useUserStore();
const dialogFormVisible = ref(false);
@@ -242,7 +243,10 @@
startDate: "", // 璇峰亣寮�濮嬫椂闂�
endDate: "", // 璇峰亣缁撴潫鏃堕棿
price: null, // 鎶ラ攢閲戦
- location: "" // 鍑哄樊鍦扮偣
+ location: "", // 鍑哄樊鍦扮偣
+ inventoryReview: false, // 鍏ュ簱鏄惁瀹℃牳閫氳繃
+ storageType: "", // 鍏ュ簱绫诲瀷锛堝悎鏍�/涓嶅悎鏍硷級
+ recordId: null, // 鍏ュ簱璁板綍ID
},
rules: {
approveTime: [{ required: false, message: "璇疯緭鍏�", trigger: "change" },],
@@ -279,7 +283,17 @@
function removeApproverNode(index) {
approverNodes.value.splice(index, 1)
}
-
+// 澶勭悊閮ㄩ棬閫夋嫨鍙樺寲
+const handleDeptChange = (deptId) => {
+ if (deptId) {
+ const selectedDept = productOptions.value.find(dept => dept.deptId === deptId);
+ if (selectedDept) {
+ form.value.approveDeptName = selectedDept.deptName;
+ }
+ } else {
+ form.value.approveDeptName = '';
+ }
+};
// 鎵撳紑寮规
const openDialog = (type, row) => {
operationType.value = type;
@@ -287,7 +301,6 @@
userListNoPageByTenantId().then((res) => {
userList.value = res.data;
});
- getProductOptions();
form.value = {}
approverNodes.value = [
{ id: 1, userId: null }
@@ -297,12 +310,19 @@
// 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅骞惰缃儴闂↖D
form.value.approveDeptId = userStore.currentDeptId
+
+ // 鍔犺浇閮ㄩ棬閫夐」锛屽苟鍦ㄥ姞杞藉畬鎴愬悗璁剧疆閮ㄩ棬鍚嶇О
+ getProductOptions();
if (operationType.value === 'edit') {
fileList.value = row.commonFileList
form.value.tempFileIds = fileList.value.map(file => file.id)
currentApproveStatus.value = row.approveStatus
approveProcessGetInfo({id: row.approveId,approveReason: '1'}).then(res => {
form.value = {...res.data}
+ // 纭繚鍏ュ簱瀹℃壒鐩稿叧瀛楁浠庡垪琛ㄨ閫忎紶杩涙潵
+ form.value.recordId = row.recordId ?? form.value.recordId
+ form.value.inventoryReview = row.inventoryReview ?? form.value.inventoryReview
+ form.value.storageType = row.storageType ?? form.value.storageType
// 鍙嶆樉瀹℃壒浜�
if (res.data && res.data.approveUserIds) {
const userIds = res.data.approveUserIds.split(',')
@@ -319,8 +339,18 @@
}
}
const getProductOptions = () => {
- getDept().then((res) => {
+ return getDept().then((res) => {
productOptions.value = res.data;
+ // 濡傛灉宸叉湁閮ㄩ棬ID锛岃嚜鍔ㄨ缃儴闂ㄥ悕绉帮紙鐢ㄤ簬楠岃瘉锛�
+ if (form.value.approveDeptId && productOptions.value.length > 0) {
+ const matchedDept = productOptions.value.find(dept =>
+ dept.deptId == form.value.approveDeptId ||
+ String(dept.deptId) === String(form.value.approveDeptId)
+ );
+ if (matchedDept) {
+ form.value.approveDeptName = matchedDept.deptName;
+ }
+ }
});
};
function convertIdToValue(data) {
@@ -342,6 +372,13 @@
// 鏀堕泦鎵�鏈夎妭鐐圭殑瀹℃壒浜篿d
form.value.approveUserIds = approverNodes.value.map(node => node.userId).join(',')
form.value.approveType = props.approveType
+
+ // 鍏ュ簱瀹℃壒锛氱洿鎺ラ�忎紶鍏ュ簱鐩稿叧瀛楁锛堢敱澶栭儴棰勫厛濉厖锛�
+ if (props.approveType == 9) {
+ // 纭繚甯冨皵绫诲瀷姝g‘
+ form.value.inventoryReview = !!form.value.inventoryReview
+ // storageType銆乺ecordId 鎸夌収鏌ュ嚭鏉ョ殑鏁版嵁鍘熸牱甯︾粰鍚庡彴
+ }
// 瀹℃壒浜哄繀濉牎楠�
const hasEmptyApprover = approverNodes.value.some(node => !node.userId)
if (hasEmptyApprover) {
--
Gitblit v1.9.3