From ce7ff0effee22807c8d29a31d6f5f2713d3bf95c Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 11 九月 2025 17:39:51 +0800
Subject: [PATCH] Merge branch 'master' into dev-v1.1

---
 src/views/CPersonManage/components/SignDetailView.vue |  127 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 127 insertions(+), 0 deletions(-)

diff --git a/src/views/CPersonManage/components/SignDetailView.vue b/src/views/CPersonManage/components/SignDetailView.vue
new file mode 100644
index 0000000..a4d2ddd
--- /dev/null
+++ b/src/views/CPersonManage/components/SignDetailView.vue
@@ -0,0 +1,127 @@
+<template>
+  <ProTableV2
+    v-bind="proTableProps"
+    :columns="column"
+    :show-operation-column="false"
+    :auto-height="false"
+    :table-props="{
+      height: '400px',
+    }"
+  >
+    <template #contractUrl="{ row }">
+      <PreviewBtn
+        v-if="row.userSignContractStatus === EnumTaskUserSignContractStatus.Pass && row.contractUrl"
+        :show-download-btn="false"
+        :url="setOSSLink(row.contractUrl)"
+      >
+      </PreviewBtn>
+    </template>
+  </ProTableV2>
+</template>
+
+<script setup lang="ts">
+import { useTable, ProTableV2, defineColumns } from '@bole-core/components';
+import { setOSSLink } from '@/utils';
+import {
+  EnumTaskUserSignContractStatus,
+  EnumTaskUserHireStatusText,
+  EnumTaskUserSignContractStatusText,
+} from '@/constants';
+import * as userServices from '@/services/api/user';
+
+defineOptions({
+  name: 'SignDetailView',
+});
+
+type Form = {
+  id: string;
+};
+
+const form = defineModel<Form>('form');
+
+const isLoading = ref(false);
+
+const column = defineColumns([
+  {
+    id: '1',
+    enCode: 'enterpriseName',
+    name: '鎵�灞炲鎴�',
+  },
+  {
+    id: '2',
+    enCode: 'applyTime',
+    name: '鎶ュ悕鏃堕棿',
+  },
+  {
+    id: '3',
+    enCode: 'hireStatus',
+    name: '褰曠敤鐘舵��',
+  },
+  {
+    id: '4',
+    enCode: 'hireTime',
+    name: '褰曠敤鏃堕棿',
+  },
+  {
+    id: '5',
+    enCode: 'userSignContractStatus',
+    name: '绛剧害鐘舵��',
+  },
+  {
+    id: '6',
+    enCode: 'enterpriseSignContractStatus',
+    name: '浼佷笟绛剧害鐘舵��',
+  },
+  {
+    id: '7',
+    enCode: 'enterpriseSignContractTime',
+    name: '浼佷笟绛剧害鏃堕棿',
+  },
+  {
+    id: '8',
+    enCode: 'contractUrl',
+    name: '鐢靛瓙鍚堝悓',
+  },
+]);
+
+const {
+  getDataSource: getList,
+  proTableProps,
+  paginationState,
+  extraParamState,
+} = useTable(
+  async ({ pageIndex, pageSize }, extraParamState) => {
+    try {
+      let params: API.GetPersonalUserInfoSignContractsQuery = {
+        pageModel: {
+          rows: pageSize,
+          page: pageIndex,
+          orderInput: extraParamState.orderInput,
+        },
+        id: form.value.id,
+      };
+      let res = await userServices.getPersonalUserInfoSignContracts(params);
+      return res;
+    } catch (error) {}
+  },
+  {
+    defaultExtraParams: {
+      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+    },
+    columnsRenderProps: {
+      applyTime: { type: 'date' },
+      hireTime: { type: 'date' },
+      enterpriseSignContractTime: { type: 'date' },
+      hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
+      userSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText },
+      enterpriseSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText },
+    },
+  }
+);
+
+onMounted(async () => {
+  isLoading.value = true;
+  await getList();
+  isLoading.value = false;
+});
+</script>

--
Gitblit v1.9.1