From 78fd4dbdbcd909e07d24fdd2583f366b8f714b04 Mon Sep 17 00:00:00 2001
From: "1378012178@qq.com" <1378012178@qq.com>
Date: Tue, 3 Mar 2026 08:40:36 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4=E8=80=83?=
=?UTF-8?q?=E6=A0=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/appraisal/DirectiveAppraisal.api.ts | 82 +++
.../appraisal/DirectiveAppraisal.data.ts | 88 ++++
.../appraisal/DirectiveAppraisalList.vue | 324 ++++++++++++
.../DirectiveAppraisalForm copy.vue | 332 ++++++++++++
.../components/DirectiveAppraisalForm.vue | 494 ++++++++++++++++++
.../components/DirectiveAppraisalModal.vue | 83 +++
6 files changed, 1403 insertions(+)
create mode 100644 src/views/appraisal/DirectiveAppraisal.api.ts
create mode 100644 src/views/appraisal/DirectiveAppraisal.data.ts
create mode 100644 src/views/appraisal/DirectiveAppraisalList.vue
create mode 100644 src/views/appraisal/components/DirectiveAppraisalForm copy.vue
create mode 100644 src/views/appraisal/components/DirectiveAppraisalForm.vue
create mode 100644 src/views/appraisal/components/DirectiveAppraisalModal.vue
diff --git a/src/views/appraisal/DirectiveAppraisal.api.ts b/src/views/appraisal/DirectiveAppraisal.api.ts
new file mode 100644
index 0000000..2455b69
--- /dev/null
+++ b/src/views/appraisal/DirectiveAppraisal.api.ts
@@ -0,0 +1,82 @@
+import { defHttp } from '/@/utils/http/axios';
+import { useMessage } from '/@/hooks/web/useMessage';
+
+const { createConfirm } = useMessage();
+
+enum Api {
+ list = '/appraisal/directiveAppraisal/list',
+ save = '/appraisal/directiveAppraisal/add',
+ edit = '/appraisal/directiveAppraisal/edit',
+ deleteOne = '/appraisal/directiveAppraisal/delete',
+ deleteBatch = '/appraisal/directiveAppraisal/deleteBatch',
+ importExcel = '/appraisal/directiveAppraisal/importExcel',
+ exportXls = '/appraisal/directiveAppraisal/exportXls',
+ revocation = '/appraisal/directiveAppraisal/revocation',
+}
+
+/**
+ * 导出api
+ * @param params
+ */
+export const getExportUrl = Api.exportXls;
+
+/**
+ * 导入api
+ */
+export const getImportUrl = Api.importExcel;
+
+/**
+ * 列表接口
+ * @param params
+ */
+export const list = (params) => defHttp.get({ url: Api.list, params });
+
+/**
+ * 删除单个
+ * @param params
+ * @param handleSuccess
+ */
+export const deleteOne = (params, handleSuccess) => {
+ return defHttp.delete({ url: Api.deleteOne, params }, { joinParamsToUrl: true }).then(() => {
+ handleSuccess();
+ });
+};
+
+/**
+ * 批量删除
+ * @param params
+ * @param handleSuccess
+ */
+export const batchDelete = (params, handleSuccess) => {
+ createConfirm({
+ iconType: 'warning',
+ title: '确认删除',
+ content: '是否删除选中数据',
+ okText: '确认',
+ cancelText: '取消',
+ onOk: () => {
+ return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => {
+ handleSuccess();
+ });
+ },
+ });
+};
+
+/**
+ * 保存或者更新
+ * @param params
+ * @param isUpdate
+ */
+export const saveOrUpdate = (params, isUpdate) => {
+ let url = isUpdate ? Api.edit : Api.save;
+ return defHttp.post({ url: url, params }, { isTransformResponse: false });
+};
+
+/**
+ * 撤回
+ * @param params
+ * @returns
+ */
+export const handleRevocation = (params) => {
+ return defHttp.post({ url: Api.revocation, params }, { isTransformResponse: false });
+};
diff --git a/src/views/appraisal/DirectiveAppraisal.data.ts b/src/views/appraisal/DirectiveAppraisal.data.ts
new file mode 100644
index 0000000..a6bef35
--- /dev/null
+++ b/src/views/appraisal/DirectiveAppraisal.data.ts
@@ -0,0 +1,88 @@
+import { BasicColumn } from '/@/components/Table';
+import { FormSchema } from '/@/components/Table';
+import { rules } from '/@/utils/helper/validator';
+import { render } from '/@/utils/common/renderUtils';
+import { getWeekMonthQuarterYear } from '/@/utils';
+//列表数据
+export const columns: BasicColumn[] = [
+ {
+ title: '员工',
+ align: 'center',
+ dataIndex: 'optNames',
+ },
+ {
+ title: '区域名称',
+ align: 'center',
+ dataIndex: 'nuName',
+ },
+ {
+ title: '分类标签',
+ align: 'center',
+ dataIndex: 'instructionTagName',
+ },
+ {
+ title: '服务类别',
+ align: 'center',
+ dataIndex: 'categoryName',
+ },
+ {
+ title: '服务类型',
+ align: 'center',
+ dataIndex: 'typeName',
+ },
+ {
+ title: '服务指令',
+ align: 'center',
+ dataIndex: 'directiveName',
+ },
+ {
+ title: '指令日期',
+ align: 'center',
+ dataIndex: 'startTime',
+ customRender: ({ text }) => {
+ text = !text ? '' : text.length > 10 ? text.substr(0, 10) : text;
+ return text;
+ },
+ },
+ {
+ title: '执行状态',
+ align: 'center',
+ dataIndex: 'optStatus_dictText',
+ },
+ {
+ title: '审核状态',
+ align: 'center',
+ dataIndex: 'status_dictText',
+ },
+ // {
+ // title: '驳回原因',
+ // align: "center",
+ // dataIndex: 'content'
+ // },
+ // {
+ // title: '撤回人(汉字)',
+ // align: "center",
+ // dataIndex: 'revocation'
+ // },
+ // {
+ // title: '撤回时间',
+ // align: "center",
+ // dataIndex: 'revocationTime'
+ // },
+];
+
+// 高级查询数据
+export const superQuerySchema = {
+ nuName: { title: '护理单元名称', order: 1, view: 'text', type: 'string' },
+ instructionTagName: { title: '分类标签名称', order: 4, view: 'text', type: 'string' },
+ categoryName: { title: '服务类别名称', order: 6, view: 'text', type: 'string' },
+ directiveName: { title: '服务指令名称', order: 10, view: 'text', type: 'string' },
+ startTime: { title: '开始时间', order: 20, view: 'date', type: 'string' },
+ optType: { title: '执行类型 1单人 2协助 3转单', order: 29, view: 'list', type: 'string', dictCode: 'directive_order_opt_type' },
+ optStatus: { title: '执行状态 1正常 2未执行 3超时', order: 30, view: 'list', type: 'string', dictCode: 'directive_order_opt_status' },
+ optNames: { title: '实际执行人名称(多个); 主要执行人+协助人', order: 31, view: 'text', type: 'string' },
+ status: { title: '审核状态 0待审核 1通过 2未通过', order: 32, view: 'list', type: 'string', dictCode: 'appraisal_status' },
+ content: { title: '驳回原因', order: 33, view: 'textarea', type: 'string' },
+ revocation: { title: '撤回人(汉字)', order: 34, view: 'text', type: 'string' },
+ revocationTime: { title: '撤回时间', order: 35, view: 'datetime', type: 'string' },
+};
diff --git a/src/views/appraisal/DirectiveAppraisalList.vue b/src/views/appraisal/DirectiveAppraisalList.vue
new file mode 100644
index 0000000..654013c
--- /dev/null
+++ b/src/views/appraisal/DirectiveAppraisalList.vue
@@ -0,0 +1,324 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/appraisal/components/DirectiveAppraisalForm copy.vue b/src/views/appraisal/components/DirectiveAppraisalForm copy.vue
new file mode 100644
index 0000000..a333c36
--- /dev/null
+++ b/src/views/appraisal/components/DirectiveAppraisalForm copy.vue
@@ -0,0 +1,332 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/appraisal/components/DirectiveAppraisalForm.vue b/src/views/appraisal/components/DirectiveAppraisalForm.vue
new file mode 100644
index 0000000..d788918
--- /dev/null
+++ b/src/views/appraisal/components/DirectiveAppraisalForm.vue
@@ -0,0 +1,494 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 暂无
+
+
+
+
+
+
+
![]()
+
+
+ 暂无
+
+
+
+
+
+
+
+
+
+
+ 暂无
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 待审核
+ 待审核
+ 审核通过
+ 审核驳回
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/appraisal/components/DirectiveAppraisalModal.vue b/src/views/appraisal/components/DirectiveAppraisalModal.vue
new file mode 100644
index 0000000..9375982
--- /dev/null
+++ b/src/views/appraisal/components/DirectiveAppraisalModal.vue
@@ -0,0 +1,83 @@
+
+
+
+
+ 关闭
+ 确认
+
+
+
+
+
+
+
+