From bfff831304d65d948613e3774364bb29bebaeb0c Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 15 六月 2026 09:20:18 +0800
Subject: [PATCH] pro 1.数据模拟前端页面

---
 src/views/officeProcessAutomation/HrManage/staff-contract/components/formDia.vue |   93 ++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 93 insertions(+), 0 deletions(-)

diff --git a/src/views/officeProcessAutomation/HrManage/staff-contract/components/formDia.vue b/src/views/officeProcessAutomation/HrManage/staff-contract/components/formDia.vue
new file mode 100644
index 0000000..3db1bee
--- /dev/null
+++ b/src/views/officeProcessAutomation/HrManage/staff-contract/components/formDia.vue
@@ -0,0 +1,93 @@
+<template>
+  <div>
+    <el-dialog v-model="dialogFormVisible"
+               title="璇︽儏"
+               width="70%"
+               @close="closeDia">
+      <PIMTable rowKey="id"
+                :column="tableColumn"
+                :tableData="tableData"
+                :tableLoading="tableLoading"
+                height="600"></PIMTable>
+      <template #footer>
+        <div class="dialog-footer">
+          <el-button @click="closeDia">鍙栨秷</el-button>
+        </div>
+      </template>
+    </el-dialog>
+    <FileList v-if="fileDialogVisible"
+              v-model:visible="fileDialogVisible"
+              :record-type="'staff_contract'"
+              :record-id="recordId" />
+  </div>
+</template>
+
+<script setup>
+  import { ref, defineAsyncComponent, getCurrentInstance } from "vue";
+  import { findStaffContractListPage } from "@/api/personnelManagement/staffContract.js";
+  const FileList = defineAsyncComponent(() =>
+    import("@/components/Dialog/FileList.vue")
+  );
+  const { proxy } = getCurrentInstance();
+  const emit = defineEmits(["close"]);
+  const fileDialogVisible = ref(false);
+  const recordId = ref(0);
+  const dialogFormVisible = ref(false);
+  const operationType = ref("");
+  const tableColumn = ref([
+    {
+      label: "鍚堝悓骞撮檺",
+      prop: "contractTerm",
+    },
+    {
+      label: "鍚堝悓寮�濮嬫棩鏈�",
+      prop: "contractStartTime",
+    },
+    {
+      label: "鍚堝悓缁撴潫鏃ユ湡",
+      prop: "contractEndTime",
+    },
+    {
+      dataType: "action",
+      label: "鎿嶄綔",
+      align: "center",
+      fixed: "right",
+      width: 120,
+      operation: [
+        {
+          name: "闄勪欢",
+          type: "text",
+          clickFun: row => {
+            recordId.value = row.id;
+            fileDialogVisible.value = true;
+          },
+        },
+      ],
+    },
+  ]);
+  const tableData = ref([]);
+  const tableLoading = ref(false);
+
+  // 鎵撳紑寮规
+  const openDialog = (type, row) => {
+    operationType.value = type;
+    dialogFormVisible.value = true;
+    if (operationType.value === "edit") {
+      findStaffContractListPage({ staffOnJobId: row.id }).then(res => {
+        tableData.value = res.data.records;
+      });
+    }
+  };
+
+  // 鍏抽棴寮规
+  const closeDia = () => {
+    dialogFormVisible.value = false;
+    emit("close");
+  };
+  defineExpose({
+    openDialog,
+  });
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file

--
Gitblit v1.9.3