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 1/2] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4?=
=?UTF-8?q?=E8=80=83=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 @@
+
+
+
+
+ 关闭
+ 确认
+
+
+
+
+
+
+
+
From 075f67891eaaf576cfe68f7d2aebc0861cd700f0 Mon Sep 17 00:00:00 2001
From: "1378012178@qq.com" <1378012178@qq.com>
Date: Tue, 3 Mar 2026 10:57:10 +0800
Subject: [PATCH 2/2] =?UTF-8?q?1=E3=80=81=E6=9C=8D=E5=8A=A1=E6=8C=87?=
=?UTF-8?q?=E4=BB=A4=E5=A2=9E=E5=8A=A0=E6=9C=8D=E5=8A=A1=E5=B1=9E=E6=80=A7?=
=?UTF-8?q?=EF=BC=88=E5=AE=9A=E6=97=B6=E3=80=81=E8=AE=A1=E6=97=B6=EF=BC=89?=
=?UTF-8?q?=202=E3=80=81=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4=E8=AF=A6?=
=?UTF-8?q?=E6=83=85/=E6=96=B0=E5=A2=9E/=E7=BC=96=E8=BE=91=E5=B0=86?=
=?UTF-8?q?=E9=BB=98=E8=AE=A4=E6=8C=87=E4=BB=A4=E5=9B=BE=E6=A0=87=E3=80=81?=
=?UTF-8?q?=E7=84=A6=E7=82=B9=E6=8C=87=E4=BB=A4=E5=9B=BE=E6=A0=87=E6=8C=AA?=
=?UTF-8?q?=E5=88=B0=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4=E6=8F=8F=E8=BF=B0?=
=?UTF-8?q?=E5=89=8D=203=E3=80=81=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E9=A1=B5=E5=9B=9E=E6=98=BE=E6=9C=8D=E5=8A=A1?=
=?UTF-8?q?=E5=B1=9E=E6=80=A7=EF=BC=9B=E8=AF=A6=E6=83=85=E3=80=81=E7=BC=96?=
=?UTF-8?q?=E8=BE=91=E5=9B=9E=E6=98=BE=E6=9C=8D=E5=8A=A1=E5=B1=9E=E6=80=A7?=
=?UTF-8?q?=204=E3=80=81=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4=E6=96=B0?=
=?UTF-8?q?=E5=A2=9E=E3=80=81=E7=BC=96=E8=BE=91=E6=97=B6=EF=BC=8C=E7=AE=A1?=
=?UTF-8?q?=E7=90=86=E5=B9=B3=E5=8F=B0=E7=9A=84=E6=93=8D=E4=BD=9C=E6=97=A5?=
=?UTF-8?q?=E5=BF=97=E7=9B=B8=E5=85=B3=E5=86=85=E5=AE=B9=E5=AD=98=E5=82=A8?=
=?UTF-8?q?=205=E3=80=81=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4=E5=BA=93?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=9C=8D=E5=8A=A1=E5=B1=9E=E6=80=A7=E5=9B=9E?=
=?UTF-8?q?=E6=98=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ConfigServiceDirective.data.ts | 5 ++
.../components/ConfigServiceDirective.data.ts | 5 ++
.../components/ConfigServiceDirectiveForm.vue | 65 ++++++++++++++-----
.../components/DirectiveRadioCom.vue | 3 +-
4 files changed, 61 insertions(+), 17 deletions(-)
diff --git a/src/views/services/serviceDirective/ConfigServiceDirective.data.ts b/src/views/services/serviceDirective/ConfigServiceDirective.data.ts
index aa25681..1323f25 100644
--- a/src/views/services/serviceDirective/ConfigServiceDirective.data.ts
+++ b/src/views/services/serviceDirective/ConfigServiceDirective.data.ts
@@ -39,6 +39,11 @@ export const columns: BasicColumn[] = [
align: 'center',
dataIndex: 'directiveName',
},
+ {
+ title: '服务属性',
+ align: 'center',
+ dataIndex: 'serviceAttribute_dictText',
+ },
// {
// title: '体型标签',
// align: 'center',
diff --git a/src/views/services/serviceDirective/components/ConfigServiceDirective.data.ts b/src/views/services/serviceDirective/components/ConfigServiceDirective.data.ts
index 0ff1834..e0904c8 100644
--- a/src/views/services/serviceDirective/components/ConfigServiceDirective.data.ts
+++ b/src/views/services/serviceDirective/components/ConfigServiceDirective.data.ts
@@ -38,6 +38,11 @@ export const columns: BasicColumn[] = [
align: 'center',
dataIndex: 'directiveName',
},
+ {
+ title: '服务属性',
+ align: 'center',
+ dataIndex: 'serviceAttribute_dictText',
+ },
// {
// title: '体型标签',
// align: 'center',
diff --git a/src/views/services/serviceDirective/components/ConfigServiceDirectiveForm.vue b/src/views/services/serviceDirective/components/ConfigServiceDirectiveForm.vue
index efc2b64..a2396fa 100644
--- a/src/views/services/serviceDirective/components/ConfigServiceDirectiveForm.vue
+++ b/src/views/services/serviceDirective/components/ConfigServiceDirectiveForm.vue
@@ -72,10 +72,10 @@
-
-
+
+
@@ -85,6 +85,13 @@
:max="99999.99" :precision="2" @keydown="onPriceKeydown" :disabled="disabled" />
+
+
+
+
+
-
+
@@ -113,12 +120,34 @@
placeholder="请选择是否启用" allowClear :disabled="disabled" />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
@@ -131,7 +160,8 @@
+ :value="!!formData.previewFile ? formData.previewFile : defaultPrePic" maxCount="1"
+ :disabled="disabled" />
@@ -151,7 +181,7 @@
-
+