From d13cebe7fbadd396e91a989af331df8a8e7b40f8 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Tue, 21 Jan 2025 11:40:42 +0800
Subject: [PATCH] 考核结果查看详情

---
 src/option/assessmentTask/assessmentTask.js |  188 ++++++++++++++++++++++++++--------------------
 1 files changed, 105 insertions(+), 83 deletions(-)

diff --git a/src/option/assessmentTask/assessmentTask.js b/src/option/assessmentTask/assessmentTask.js
index 7988b33..ab2a3e1 100644
--- a/src/option/assessmentTask/assessmentTask.js
+++ b/src/option/assessmentTask/assessmentTask.js
@@ -1,3 +1,13 @@
+import { ElMessage } from 'element-plus';
+
+const getNowDate = () => {
+  const date = new Date();
+  const year = date.getFullYear();
+  const month = date.getMonth() + 1;
+  const day = date.getDate();
+  return year + '-' + month + '-' + day + ' ' + '00:00:00';
+};
+
 export default {
   height: 'auto',
   calcHeight: 30,
@@ -5,30 +15,21 @@
   searchShow: true,
   searchMenuSpan: 6,
   border: true,
-  index: true,
+  index: false,
   viewBtn: false,
   delBtn: false,
   editBtn: false,
   selection: true,
+  menuWidth: 250,
   dialogClickModal: false,
   column: [
-    // {
-    //   label: "主键",
-    //   prop: "id",
-    //   type: "input",
-    //   hide: true,
-    // },
-    // {
-    //   label: "租户ID",
-    //   prop: "tenantId",
-    //   type: "input",
-    //   hide: true,
-    // },
     {
-      label: "考核编号",
-      prop: "assessmentNo",
-      type: "input",
+      label: '考核编号',
+      prop: 'assessmentNo',
+      type: 'input',
       search: true,
+      minWidth: 100,
+      disabled: true,
       rules: [
         {
           required: true,
@@ -38,9 +39,34 @@
       ],
     },
     {
-      label: "考核目的",
-      prop: "assessmentPurpose",
-      type: "input",
+      label: '考核种类',
+      prop: 'assessmentPurpose',
+      type: 'select',
+      minWidth: 100,
+      overHidden: true,
+      dicUrl: '/blade-system/dict/dictionary?code=assessment_type',
+      props: {
+        label: 'dictValue',
+        value: 'dictKey',
+      },
+      // dicData: [
+      //   {
+      //     label: '月度考核',
+      //     value: '月度考核'
+      //   },
+      //   {
+      //     label: '季度考核',
+      //     value: '季度考核'
+      //   },
+      //   {
+      //     label: '年度考核',
+      //     value: '年度考核'
+      //   },
+      //   {
+      //     label: '转正考核',
+      //     value: '转正考核'
+      //   }
+      // ],
       rules: [
         {
           required: true,
@@ -50,12 +76,14 @@
       ],
     },
     {
-      label: "考核类型",
-      prop: "type",
-      type: "select",
+      label: '考核类型',
+      prop: 'type',
+      type: 'select',
+      width: 100,
       disabled: true,
-      formatter: (res) => {
-        return res.type === 0? '个人考核' : '部门考核';
+      display: false,
+      formatter: res => {
+        return res.type === 0 ? '个人考核' : '部门考核';
       },
       value: 0,
       dicData: [
@@ -66,7 +94,7 @@
         {
           label: '部门考核任务',
           value: 1,
-        }
+        },
       ],
       rules: [
         {
@@ -77,80 +105,74 @@
       ],
     },
     {
-      label: "开始时间",
-      prop: "startTime",
-      type: "date",
-      format: "YYYY-MM-DD HH:mm:ss",
-      valueFormat: "YYYY-MM-DD HH:mm:ss",
+      label: '开始时间',
+      prop: 'startTime',
+      type: 'date',
+      // disabled: true,
+      format: 'YYYY-MM-DD HH:mm:ss',
+      valueFormat: 'YYYY-MM-DD HH:mm:ss',
+      minWidth: 200,
       rules: [
         {
           required: true,
           message: '请选择开始时间',
           trigger: 'click',
         },
+        {
+          validator: (rule, value, callback) => {
+            const nowDate = new Date().getTime() - 24 * 60 * 60 * 1000;
+            const selectDate = new Date(value).getTime();
+            if (selectDate < nowDate) {
+              callback(new Error('选择的时候不能小于当前时间'));
+            } else {
+              callback();
+            }
+          },
+          trigger: 'click',
+        },
       ],
     },
     {
-      label: "结束时间",
-      prop: "endTime",
-      type: "date",
-      format: "YYYY-MM-DD HH:mm:ss",
-      valueFormat: "YYYY-MM-DD HH:mm:ss",
+      label: '结束时间',
+      prop: 'endTime',
+      type: 'date',
+      format: 'YYYY-MM-DD HH:mm:ss',
+      valueFormat: 'YYYY-MM-DD HH:mm:ss',
+      minWidth: 200,
       rules: [
         {
           required: true,
           message: '请选择结束时间',
           trigger: 'click',
         },
+        {
+          validator: (rule, value, callback) => {
+            const nowDate = new Date().getTime() - 24 * 60 * 60 * 1000;
+            const selectDate = new Date(value).getTime();
+            if (selectDate < nowDate) {
+              callback(new Error('选择的时候不能小于当前时间'));
+            } else {
+              callback();
+            }
+          },
+          trigger: 'click',
+        },
       ],
     },
     {
-      label: "备注",
-      prop: "remark",
-      type: "textarea",
-      span: 24,
+      label: '备注',
+      prop: 'remark',
+      type: 'textarea',
+      overHidden: true,
+      minWidth: 300,
     },
-    // {
-    //   label: "创建人",
-    //   prop: "createUser",
-    //   type: "input",
-    //   hide: true,
-    // },
-    // {
-    //   label: "创建部门",
-    //   prop: "createDept",
-    //   type: "input",
-    //   hide: true,
-    // },
-    // {
-    //   label: "创建时间",
-    //   prop: "createTime",
-    //   type: "input",
-    //   hide: true,
-    // },
-    // {
-    //   label: "修改人",
-    //   prop: "updateUser",
-    //   type: "input",
-    //   hide: true,
-    // },
-    // {
-    //   label: "修改时间",
-    //   prop: "updateTime",
-    //   type: "input",
-    //   hide: true,
-    // },
-    // {
-    //   label: "状态",
-    //   prop: "status",
-    //   type: "input",
-    //   hide: true,
-    // },
-    // {
-    //   label: "是否已删除",
-    //   prop: "isDeleted",
-    //   type: "input",
-    //   hide: true,
-    // },
-  ]
-}
+    {
+      label: '任务状态',
+      prop: 'isAssessmentOk',
+      type: 'input',
+      display: false,
+      width: 100,
+      slot: true,
+    },
+  ],
+};

--
Gitblit v1.9.3