From b014cdaf7fcf42cd2b310968f9d47d4420444a6a Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期四, 21 五月 2026 11:46:38 +0800
Subject: [PATCH] 审批模板增加配置模板导入,按钮权限控制,新建页面ui优化
---
src/pages/oa/ApproveManage/approve-list/index.vue | 44 ++++++++++++++++++++++++++++++++++----------
1 files changed, 34 insertions(+), 10 deletions(-)
diff --git a/src/pages/oa/ApproveManage/approve-list/index.vue b/src/pages/oa/ApproveManage/approve-list/index.vue
index db97060..fd5e142 100644
--- a/src/pages/oa/ApproveManage/approve-list/index.vue
+++ b/src/pages/oa/ApproveManage/approve-list/index.vue
@@ -73,20 +73,22 @@
</view>
<view class="detail-row">
<text class="detail-label">鐢宠鏃堕棿</text>
- <text class="detail-value">{{ item.applyTime || "-" }}</text>
+ <text class="detail-value">{{ formatDateTime(item.applyTime) }}</text>
</view>
<view v-if="item.finishTime"
class="detail-row">
<text class="detail-label">瀹屾垚鏃堕棿</text>
- <text class="detail-value">{{ item.finishTime }}</text>
+ <text class="detail-value">{{ formatDateTime(item.finishTime) }}</text>
</view>
</view>
- <view v-if="canEdit(item) || item.isApprove"
+ <view v-if="canModify(item) || item.isApprove"
class="action-buttons">
- <up-button v-if="canEdit(item)"
+ <up-button v-if="canModify(item)"
class="action-btn"
size="small"
- @click.stop="goEdit(item)">
+ type="warning"
+ plain
+ @click.stop="goModify(item)">
缂栬緫
</up-button>
<up-button v-if="item.isApprove"
@@ -123,6 +125,7 @@
import { listApprovalInstancePage } from "@/api/oa/approvalInstance.js";
import { OA_NAV } from "@/config/oaPaths.js";
import useUserStore from "@/store/modules/user";
+ import { parseTime } from "@/utils/ruoyi";
const EDIT_STORAGE_KEY = "oa_approve_instance_edit_row";
const userStore = useUserStore();
@@ -160,6 +163,27 @@
if (level == null || level === "") return "-";
return `绗� ${level} 绾;
};
+
+ const formatDateTime = val => {
+ if (!val) return "-";
+ return parseTime(val, "{y}-{m}-{d} {h}:{i}:{s}") || String(val);
+ };
+
+ /** 鏄惁鏈汉鍙戣捣鐨勫鎵癸紙鍏煎鍒楄〃鏈繑鍥� applicantId锛� */
+ const isOwnApplication = item => {
+ const uid = userStore.id;
+ if (item?.applicantId != null && uid != null && uid !== "") {
+ return String(item.applicantId) === String(uid);
+ }
+ const loginName = userStore.nickName || userStore.name;
+ if (loginName && item?.applicantName) {
+ return String(item.applicantName).trim() === String(loginName).trim();
+ }
+ return false;
+ };
+
+ /** 浠呫�岃繘琛屼腑銆嶄笖鏈汉鍙戣捣鏃跺彲缂栬緫锛堝凡閫氳繃/宸查┏鍥炰笉鏄剧ず缂栬緫锛� */
+ const canModify = item => item?.status === "PENDING" && isOwnApplication(item);
const currentApproverName = item => {
const tasks = item?.tasks;
@@ -243,11 +267,11 @@
uni.navigateTo({ url: OA_NAV.approveListTemplateSelect });
};
- const canEdit = item =>
- item?.status === "PENDING" &&
- String(item.applicantId) === String(userStore.id);
-
- const goEdit = item => {
+ const goModify = item => {
+ if (!canModify(item)) {
+ uni.showToast({ title: "浠呰繘琛屼腑鐨勬湰浜虹敵璇峰彲缂栬緫", icon: "none" });
+ return;
+ }
if (!item?.id) return;
uni.setStorageSync(EDIT_STORAGE_KEY, item);
uni.navigateTo({
--
Gitblit v1.9.3