From d6863f0b1490a527e5b02b99e859035b86ea088d Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 08 八月 2025 11:45:08 +0800
Subject: [PATCH] 1.协同审批-提交审核是添加电子签名 2.添加薪资管理页面
---
src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue | 62 +++++++++++++++++++++++++++---
1 files changed, 55 insertions(+), 7 deletions(-)
diff --git a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
index 847f4c4..584a6c2 100644
--- a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
+++ b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
@@ -116,17 +116,34 @@
</el-form>
<template #footer v-if="operationType === 'approval'">
<div class="dialog-footer">
- <el-button type="primary" @click="submitForm(2)">涓嶉�氳繃</el-button>
- <el-button type="primary" @click="submitForm(1)">閫氳繃</el-button>
+ <el-button type="primary" @click="openSignatureDialog(2)">涓嶉�氳繃</el-button>
+ <el-button type="primary" @click="openSignatureDialog(1)">閫氳繃</el-button>
<el-button @click="closeDia">鍙栨秷</el-button>
</div>
</template>
+ </el-dialog>
+ <!-- 鐢靛瓙绛惧悕寮圭獥锛坴ue3-signature-pad锛� -->
+ <el-dialog v-model="signatureDialogVisible" title="鐢靛瓙绛惧悕" width="600px" append-to-body>
+ <vueEsign
+ ref="esign"
+ class="mySign"
+ :width="800"
+ :height="300"
+ :isCrop="isCrop"
+ :lineWidth="lineWidth"
+ :lineColor="lineColor"
+ />
+ <div style="margin-top:10px;">
+ <el-button @click="clearSignature">娓呴櫎</el-button>
+ <el-button type="primary" @click="confirmSignature">纭畾</el-button>
+ </div>
</el-dialog>
</div>
</template>
<script setup>
-import {getCurrentInstance, reactive, ref, toRefs} from "vue";
+import { getCurrentInstance, reactive, ref, toRefs } from "vue";
+import vueEsign from "vue-esign";
import {
approveProcessDetails,
getDept,
@@ -156,6 +173,14 @@
},
});
const { form } = toRefs(data);
+const signatureDialogVisible = ref(false);
+const signatureImg = ref('');
+let submitStatus = null; // 涓存椂瀛樺偍閫氳繃/涓嶉�氳繃鐘舵��
+const isCrop = ref("");
+const esign = ref(null);
+const lineWidth = ref(0);
+const lineColor = ref("#000000");
+
// 鑺傜偣鏍囬
const getNodeTitle = (index, len) => {
if (index === len - 1) return '缁撴潫';
@@ -205,17 +230,40 @@
productOptions.value = res.data;
});
};
+// 鎵撳紑绛惧悕寮圭獥
+const openSignatureDialog = (status) => {
+ submitStatus = status;
+ signatureDialogVisible.value = true;
+};
+// 娓呴櫎绛惧悕
+const clearSignature = () => {
+ esign.value.reset();
+};
+// 纭绛惧悕
+const confirmSignature = () => {
+ esign.value.generate().then((res) => {
+ console.log(res);
+ signatureImg.value = res;
+ signatureDialogVisible.value = false;
+ clearSignature()
+ submitForm(submitStatus);
+ }).catch((err) => {
+ console.log(err);
+ proxy.$modal.msgWarning("璇峰厛绛惧悕锛�");
+ })
+};
// 鎻愪氦瀹℃壒
const submitForm = (status) => {
const filteredActivities = activities.value.filter(activity => activity.isShen);
- filteredActivities[0].approveNodeStatus = status
+ filteredActivities[0].approveNodeStatus = status;
+ filteredActivities[0].signatureImg = signatureImg.value; // 鏂板绛惧悕鍥剧墖瀛楁
// 鍒ゆ柇鏄惁涓烘渶鍚庝竴姝�
const isLast = activities.value.findIndex(a => a.isShen) === activities.value.length-1;
- updateApproveNode({ ...filteredActivities[0], isLast }).then(() => {
+ updateApproveNode({ ...filteredActivities[0], isLast, signatureImg: signatureImg.value }).then(() => {
proxy.$modal.msgSuccess("鎻愪氦鎴愬姛");
closeDia();
- })
-}
+ });
+};
// 鍏抽棴寮规
const closeDia = () => {
proxy.resetForm("formRef");
--
Gitblit v1.9.3