From d83860d6839daaf7dccda5cbd68e865ba7e679ab Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期二, 08 七月 2025 17:48:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue |  106 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 106 insertions(+), 0 deletions(-)

diff --git a/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
new file mode 100644
index 0000000..57b5e38
--- /dev/null
+++ b/src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
@@ -0,0 +1,106 @@
+<template>
+  <div>
+    <el-dialog
+        v-model="dialogFormVisible"
+        :title="operationType === 'add' ? '鏂板瀹℃壒娴佺▼' : '缂栬緫瀹℃壒娴佺▼'"
+        width="700px"
+        @close="closeDia"
+    >
+      <el-form :model="{ activities }" ref="formRef" label-position="top">
+        <el-timeline style="max-width: 600px">
+          <el-timeline-item
+              v-for="(activity, index) in activities"
+              :key="index"
+              :type="activity.current ? 'primary' : ''"
+              :hollow="activity.current"
+              :timestamp="activity.timestamp"
+          >
+            <el-card>
+              <span style="font-size: 18px;font-weight: 700">{{activity.content}}</span>
+              <div style="margin: 10px 0">
+                <span style="font-size: 16px;font-weight: 600">瀹℃壒浜猴細{{activity.people}}</span>
+              </div>
+              <div>
+                <span style="margin-bottom: 8px;display: inline-block;font-size: 16px;font-weight: 600">瀹℃壒鎰忚锛�</span>
+                <el-form-item
+                  v-if="activity.current"
+                  :prop="'activities.' + index + '.value'"
+                  :rules="[{ required: true, message: '瀹℃壒鎰忚涓嶈兘涓虹┖', trigger: 'blur' }]"
+                >
+                  <el-input v-model="activity.value" clearable type="textarea" :disabled="operationType === 'view'"></el-input>
+                </el-form-item>
+                <el-form-item v-else>
+                  <el-input v-model="activity.value" clearable type="textarea" disabled></el-input>
+                </el-form-item>
+              </div>
+            </el-card>
+          </el-timeline-item>
+        </el-timeline>
+      </el-form>
+      <template #footer v-if="operationType === 'approval'">
+        <div class="dialog-footer">
+          <el-button type="primary" @click="submitForm">纭</el-button>
+          <el-button @click="closeDia">鍙栨秷</el-button>
+        </div>
+      </template>
+    </el-dialog>
+  </div>
+</template>
+
+<script setup>
+import {getCurrentInstance, ref} from "vue";
+const emit = defineEmits(['close'])
+const { proxy } = getCurrentInstance()
+
+const dialogFormVisible = ref(false);
+const operationType = ref('')
+const activities = ref([
+  {
+    content: '鑺傜偣1',
+    timestamp: '',
+    type: 'primary',
+    hollow: true,
+    people: 'admin',
+    value: ''
+  },
+  {
+    content: '鑺傜偣2',
+    timestamp: '',
+    type: '',
+    hollow: false,
+    current: true,
+    people: 'admin',
+    value: ''
+  },
+])
+const formRef = ref(null);
+
+// 鎵撳紑寮规
+const openDialog = (type, row) => {
+  operationType.value = type;
+  dialogFormVisible.value = true;
+}
+// 鎻愪氦瀹℃壒
+const submitForm = () => {
+  formRef.value.validate(valid => {
+    if (valid) {
+      // 鏍¢獙閫氳繃鍚庣殑閫昏緫
+    }
+  })
+}
+// 鍏抽棴寮规
+const closeDia = () => {
+  proxy.resetForm("formRef");
+  dialogFormVisible.value = false;
+  emit('close')
+};
+defineExpose({
+  openDialog,
+});
+</script>
+
+<style scoped>
+.el-timeline {
+  padding-left: 10px;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3