From aaabcc65f5c9e78877a0431f7ef781121fbee0a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com> Date: Mon, 26 Jan 2026 17:32:27 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E8=80=83=E6=A0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../directive/flow/ServiceFlowMain.data.ts | 58 -- .../directive/flow/ServiceFlowMainList.vue | 294 -------- .../flow/components/ServiceFlowMainForm.vue | 195 ----- .../flow/components/ServiceFlowMainModal.vue | 90 --- .../flow/components/ServiceFlowSub.api.ts | 72 -- .../flow/components/ServiceFlowSub.data.ts | 72 -- .../flow/components/ServiceFlowSubForm.vue | 202 ------ .../flow/components/ServiceFlowSubList.vue | 452 ------------ .../flow/components/ServiceFlowSubModal.vue | 84 --- .../appraisal/appraisal.api.ts} | 43 +- .../services/appraisal/appraisal.data.ts | 678 ++++++++++++++++++ .../appraisal/components/AppraisalForm.vue | 518 +++++++++++++ .../appraisal/components/AppraisalModal.vue | 67 ++ src/views/services/appraisal/index.vue | 371 ++++++++++ 14 files changed, 1660 insertions(+), 1536 deletions(-) delete mode 100644 src/views/config/directive/flow/ServiceFlowMain.data.ts delete mode 100644 src/views/config/directive/flow/ServiceFlowMainList.vue delete mode 100644 src/views/config/directive/flow/components/ServiceFlowMainForm.vue delete mode 100644 src/views/config/directive/flow/components/ServiceFlowMainModal.vue delete mode 100644 src/views/config/directive/flow/components/ServiceFlowSub.api.ts delete mode 100644 src/views/config/directive/flow/components/ServiceFlowSub.data.ts delete mode 100644 src/views/config/directive/flow/components/ServiceFlowSubForm.vue delete mode 100644 src/views/config/directive/flow/components/ServiceFlowSubList.vue delete mode 100644 src/views/config/directive/flow/components/ServiceFlowSubModal.vue rename src/views/{config/directive/flow/ServiceFlowMain.api.ts => services/appraisal/appraisal.api.ts} (56%) create mode 100644 src/views/services/appraisal/appraisal.data.ts create mode 100644 src/views/services/appraisal/components/AppraisalForm.vue create mode 100644 src/views/services/appraisal/components/AppraisalModal.vue create mode 100644 src/views/services/appraisal/index.vue diff --git a/src/views/config/directive/flow/ServiceFlowMain.data.ts b/src/views/config/directive/flow/ServiceFlowMain.data.ts deleted file mode 100644 index 469c927..0000000 --- a/src/views/config/directive/flow/ServiceFlowMain.data.ts +++ /dev/null @@ -1,58 +0,0 @@ -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: 'flowName', - }, - { - title: '分类标签', - align: 'center', - dataIndex: 'instructionTagId_dictText', - }, - { - title: '服务类别', - align: 'center', - dataIndex: 'categoryId_dictText', - }, - { - title: '服务类型', - align: 'center', - dataIndex: 'typeId_dictText', - }, - { - title: '是否启用', - align: 'center', - dataIndex: 'izEnabled_dictText', - }, -]; - -// 高级查询数据 -export const superQuerySchema = { - flowName: { title: '节点名称', order: 0, view: 'text', type: 'string' }, - izEnabled: { title: '是否启用', order: 1, view: 'list', type: 'string', dictCode: 'iz_enabled' }, - instructionTagId: { - title: '分类标签', - order: 2, - view: 'list', - type: 'string', - dictTable: 'nu_config_service_instruction_tag', - dictCode: 'id', - dictText: 'instruction_name', - }, - categoryId: { - title: '服务类别', - order: 3, - view: 'list', - type: 'string', - dictTable: 'nu_config_service_category', - dictCode: 'id', - dictText: 'category_name', - }, - typeId: { title: '服务类型', order: 4, view: 'list', type: 'string', dictTable: 'nu_config_service_type', dictCode: 'id', dictText: 'type_name' }, -}; diff --git a/src/views/config/directive/flow/ServiceFlowMainList.vue b/src/views/config/directive/flow/ServiceFlowMainList.vue deleted file mode 100644 index 9f30c20..0000000 --- a/src/views/config/directive/flow/ServiceFlowMainList.vue +++ /dev/null @@ -1,294 +0,0 @@ - - - - - diff --git a/src/views/config/directive/flow/components/ServiceFlowMainForm.vue b/src/views/config/directive/flow/components/ServiceFlowMainForm.vue deleted file mode 100644 index 3d980bd..0000000 --- a/src/views/config/directive/flow/components/ServiceFlowMainForm.vue +++ /dev/null @@ -1,195 +0,0 @@ - - - - - diff --git a/src/views/config/directive/flow/components/ServiceFlowMainModal.vue b/src/views/config/directive/flow/components/ServiceFlowMainModal.vue deleted file mode 100644 index af9df69..0000000 --- a/src/views/config/directive/flow/components/ServiceFlowMainModal.vue +++ /dev/null @@ -1,90 +0,0 @@ - - - - - - diff --git a/src/views/config/directive/flow/components/ServiceFlowSub.api.ts b/src/views/config/directive/flow/components/ServiceFlowSub.api.ts deleted file mode 100644 index b574731..0000000 --- a/src/views/config/directive/flow/components/ServiceFlowSub.api.ts +++ /dev/null @@ -1,72 +0,0 @@ -import { defHttp } from '/@/utils/http/axios'; -import { useMessage } from "/@/hooks/web/useMessage"; - -const { createConfirm } = useMessage(); - -enum Api { - list = '/services/flow/sub/list', - save='/services/flow/sub/add', - edit='/services/flow/sub/edit', - deleteOne = '/services/flow/sub/delete', - deleteBatch = '/services/flow/sub/deleteBatch', - importExcel = '/services/flow/sub/importExcel', - exportXls = '/services/flow/sub/exportXls', -} - -/** - * 导出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 }); -} diff --git a/src/views/config/directive/flow/components/ServiceFlowSub.data.ts b/src/views/config/directive/flow/components/ServiceFlowSub.data.ts deleted file mode 100644 index 225bf2d..0000000 --- a/src/views/config/directive/flow/components/ServiceFlowSub.data.ts +++ /dev/null @@ -1,72 +0,0 @@ -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: 'name', - }, - { - title: '流程编码', - align: 'center', - dataIndex: 'flowCode', - }, - { - title: '下一流程节点', - align: 'center', - dataIndex: 'subId_dictText', - }, - { - title: '服务指令', - align: 'center', - dataIndex: 'directiveId_dictText', - }, - { - title: 'PAD路径', - align: 'center', - dataIndex: 'padPath', - }, - { - title: '是否启用', - align: 'center', - dataIndex: 'izEnabled_dictText', - }, -]; - -// 高级查询数据 -export const superQuerySchema = { - name: { title: '名称', order: 0, view: 'text', type: 'string' }, - mainId: { - title: '主表ID', - order: 1, - view: 'sel_search', - type: 'string', - dictTable: 'nu_config_service_flow_main', - dictCode: 'id', - dictText: 'flow_name', - }, - directiveId: { - title: '服务指令ID', - order: 2, - view: 'sel_search', - type: 'string', - dictTable: 'nu_config_service_directive', - dictCode: 'id', - dictText: 'directive_name', - }, - subId: { - title: '下一流程节点ID', - order: 3, - view: 'sel_search', - type: 'string', - dictTable: 'nu_config_service_flow_sub', - dictCode: 'id', - dictText: 'name', - }, - flowCode: { title: '流程编码', order: 4, view: 'text', type: 'string' }, - izEnabled: { title: '是否启用 Y启用 N未启用', order: 5, view: 'list', type: 'string', dictCode: 'iz_enabled' }, -}; diff --git a/src/views/config/directive/flow/components/ServiceFlowSubForm.vue b/src/views/config/directive/flow/components/ServiceFlowSubForm.vue deleted file mode 100644 index 694ed68..0000000 --- a/src/views/config/directive/flow/components/ServiceFlowSubForm.vue +++ /dev/null @@ -1,202 +0,0 @@ - - - - - diff --git a/src/views/config/directive/flow/components/ServiceFlowSubList.vue b/src/views/config/directive/flow/components/ServiceFlowSubList.vue deleted file mode 100644 index 06c620c..0000000 --- a/src/views/config/directive/flow/components/ServiceFlowSubList.vue +++ /dev/null @@ -1,452 +0,0 @@ - - - - - diff --git a/src/views/config/directive/flow/components/ServiceFlowSubModal.vue b/src/views/config/directive/flow/components/ServiceFlowSubModal.vue deleted file mode 100644 index f0ad77a..0000000 --- a/src/views/config/directive/flow/components/ServiceFlowSubModal.vue +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - diff --git a/src/views/config/directive/flow/ServiceFlowMain.api.ts b/src/views/services/appraisal/appraisal.api.ts similarity index 56% rename from src/views/config/directive/flow/ServiceFlowMain.api.ts rename to src/views/services/appraisal/appraisal.api.ts index 84c94b6..3045350 100644 --- a/src/views/config/directive/flow/ServiceFlowMain.api.ts +++ b/src/views/services/appraisal/appraisal.api.ts @@ -1,18 +1,19 @@ -import { defHttp } from '/@/utils/http/axios'; +import {defHttp} from '/@/utils/http/axios'; import { useMessage } from "/@/hooks/web/useMessage"; const { createConfirm } = useMessage(); enum Api { - list = '/services/flow/main/list', - save='/services/flow/main/add', - edit='/services/flow/main/edit', - deleteOne = '/services/flow/main/delete', - deleteBatch = '/services/flow/main/deleteBatch', - importExcel = '/services/flow/main/importExcel', - exportXls = '/services/flow/main/exportXls', + list = '/service/appraisal/list', + save='/service/appraisal/add', + edit='/service/appraisal/edit', + deleteOne = '/service/appraisal/delete', + deleteBatch = '/service/appraisal/deleteBatch', + importExcel = '/service/appraisal/importExcel', + exportXls = '/service/appraisal/exportXls', + queryDataById = '/service/appraisal/queryById', + subList = '/service/appraisal/queryAppraisalSubByMainId', } - /** * 导出api * @param params @@ -24,27 +25,30 @@ export const getExportUrl = Api.exportXls; */ export const getImportUrl = Api.importExcel; +/** + * 查询子表数据 + * @param params + */ +export const queryAppraisalSubByMainId = (id) => defHttp.get({url: Api.subList, params:{ id }}); + /** * 列表接口 * @param params */ -export const list = (params) => defHttp.get({ url: Api.list, 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({ @@ -60,13 +64,18 @@ export const batchDelete = (params, 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 }); + return defHttp.post({url: url, params}); } + +/** +* 根据id查询数据 +* @param params +*/ +export const queryDataById = (id) => defHttp.get({url: Api.queryDataById, params:{ id }}); + diff --git a/src/views/services/appraisal/appraisal.data.ts b/src/views/services/appraisal/appraisal.data.ts new file mode 100644 index 0000000..4a43111 --- /dev/null +++ b/src/views/services/appraisal/appraisal.data.ts @@ -0,0 +1,678 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +import {JVxeTypes,JVxeColumn} from '/@/components/jeecg/JVxeTable/types' +import { getWeekMonthQuarterYear } from '/@/utils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '单号', + align:"center", + dataIndex: 'orderNo' + }, + { + title: '手动拍照', + align:"center", + dataIndex: 'manuallyPicPath' + }, + { + title: '手动录制', + align:"center", + dataIndex: 'manuallyMp4Path' + }, + { + title: '工单类型', + align:"center", + dataIndex: 'orderType_dictText' + }, + { + title: '执行类型', + align:"center", + dataIndex: 'optType_dictText' + }, + { + title: '护理单元名称', + align:"center", + dataIndex: 'nuName' + }, + { + title: '长者名称', + align:"center", + dataIndex: 'elderName' + }, + { + title: '执行人', + align:"center", + dataIndex: 'optNames' + }, + // { + // title: '员工姓名', + // align:"center", + // dataIndex: 'employeeName' + // }, + { + title: '是否指令包', + align:"center", + dataIndex: 'izPackage_dictText' + }, + { + title: '指令名称', + align:"center", + dataIndex: 'directiveName' + }, + { + title: '周期类型', + align:"center", + dataIndex: 'cycleType' + }, + // { + // title: '是否开始', + // align:"center", + // dataIndex: 'izStart_dictText' + // }, + { + title: '是否完成', + align:"center", + dataIndex: 'izFinish_dictText' + }, + // { + // title: '发起人姓名', + // align:"center", + // dataIndex: 'initiatorName' + // }, + { + title: '是否超时', + align:"center", + dataIndex: 'izTimeout_dictText' + }, + { + title: '预计开始时间', + align:"center", + dataIndex: 'startTime' + }, + { + title: '预计结束时间', + align:"center", + dataIndex: 'endTime' + }, + // { + // title: '实际开始员工', + // align:"center", + // dataIndex: 'beginEmp' + // }, + { + title: '实际开始时间', + align:"center", + dataIndex: 'beginTime' + }, + // { + // title: '实际结束员工', + // align:"center", + // dataIndex: 'finishEmp' + // }, + { + title: '实际结束时间', + align:"center", + dataIndex: 'finishTime' + }, + { + title: '服务时长(分钟)', + align:"center", + dataIndex: 'serviceDuration' + }, + { + title: '服务容错时长', + align:"center", + dataIndex: 'timeoutDuration' + }, + + { + title: '收费价格', + align:"center", + dataIndex: 'tollPrice' + }, + { + title: '提成价格', + align:"center", + dataIndex: 'comPrice' + }, + { + title: '实际提成价格', + align:"center", + dataIndex: 'realComPrice' + }, + { + title: '考核状态', + align:"center", + dataIndex: 'appraisalStatus_dictText' + }, + { + title: '考核时间', + align:"center", + dataIndex: 'appraisalTime' + }, + { + title: '考核人', + align:"center", + dataIndex: 'appraisalName' + }, +]; + +//子表表格配置 +export const subColumns: JVxeColumn[] = [ + { + title: '单号', + key: 'orderNo', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '工单类型 1护理;2医疗:3仓库;4行政', + key: 'orderType', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '主表ID,nu_biz_nu_directive_order.id', + key: 'mainId', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '护理单元ID,nu_base_info.id', + key: 'nuId', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '护理单元名称', + key: 'nuName', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '长者ID,nu_biz_elder_info.id', + key: 'elderId', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '长者名称', + key: 'elderName', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '员工ID', + key: 'employeeId', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '员工姓名', + key: 'employeeName', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '分类标签', + key: 'instructionTagId', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '分类标签名称', + key: 'instructionTagName', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务类别ID,nu_config_service_category.id', + key: 'categoryId', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务类别名称', + key: 'categoryName', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务类型ID,nu_config_service_type.id', + key: 'typeId', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务类型名称', + key: 'typeName', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务指令ID,nu_config_service_directive.id', + key: 'directiveId', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务指令名称', + key: 'directiveName', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '周期类型ID', + key: 'cycleTypeId', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '周期类型', + key: 'cycleType', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '周期值', + key: 'cycleValue', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务指令图片大图', + key: 'previewFile', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务指令图片小图', + key: 'previewFileSmall', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '语音文件', + key: 'mp3File', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '视频文件', + key: 'mp4File', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务时长(分钟)', + key: 'serviceDuration', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务说明', + key: 'serviceContent', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '收费价格', + key: 'tollPrice', + type: JVxeTypes.inputNumber, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '提成价格', + key: 'comPrice', + type: JVxeTypes.inputNumber, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '实际提成价格', + key: 'realComPrice', + type: JVxeTypes.inputNumber, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务指令包ID', + key: 'packageId', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务指令包名称', + key: 'packageName', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '是否是服务指令包 Y是 N否', + key: 'izPackage', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '开始时间', + key: 'startTime', + type: JVxeTypes.datetime, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '结束时间', + key: 'endTime', + type: JVxeTypes.datetime, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '实际开始时间', + key: 'beginTime', + type: JVxeTypes.datetime, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '实际结束时间', + key: 'finishTime', + type: JVxeTypes.datetime, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '是否开始 Y是 N否', + key: 'izStart', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '是否完成 Y是 N否', + key: 'izFinish', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '创建人', + key: 'createBy', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '创建日期', + key: 'createTime', + type: JVxeTypes.datetime, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '更新人', + key: 'updateBy', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '更新日期', + key: 'updateTime', + type: JVxeTypes.datetime, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: 'tplink下载地址', + key: 'tplinkPath', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '手动拍照', + key: 'manuallyPicPath', + type: JVxeTypes.textarea, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '手动录制', + key: 'manuallyMp4Path', + type: JVxeTypes.textarea, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '执行类型 1单人 2协助 3转单', + key: 'optType', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '服务容错时长(end_time + 这个时间) 小于 begin_time算超时', + key: 'timeoutDuration', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '是否超时 Y超时 N未超时', + key: 'izTimeout', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '实际执行人id(多个); 主要执行人+协助人', + key: 'optIds', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + { + title: '实际执行人名称(多个); 主要执行人+协助人', + key: 'optNames', + type: JVxeTypes.input, + width:"200px", + placeholder: '请输入${title}', + defaultValue:'', + }, + ] + +// 高级查询数据 +export const superQuerySchema = { + orderNo: {title: '单号',order: 0,view: 'text', type: 'string',}, + orderType: {title: '工单类型 1护理;2医疗:3仓库;4行政',order: 1,view: 'text', type: 'string',}, + optType: {title: '执行类型 1单人 2协助 3转单',order: 2,view: 'text', type: 'string',}, + poolId: {title: '数据池主表ID,nu_biz_nu_directive_data_pool.id',order: 3,view: 'text', type: 'string',}, + bizId: {title: '服务指令计划ID,nu_biz_nu_customer_care_server.id;即时指令计划ID,nu_biz_nu_customer_care_server_instant.id',order: 4,view: 'text', type: 'string',}, + bizType: {title: '业务类型',order: 5,view: 'text', type: 'string',}, + nuName: {title: '护理单元名称',order: 7,view: 'text', type: 'string',}, + elderId: {title: '长者ID,nu_biz_elder_info.id',order: 8,view: 'text', type: 'string',}, + elderName: {title: '长者名称',order: 9,view: 'text', type: 'string',}, + employeeId: {title: '员工ID',order: 10,view: 'text', type: 'string',}, + employeeName: {title: '员工姓名',order: 11,view: 'text', type: 'string',}, + directiveId: {title: '服务指令ID,nu_config_service_directive.id',order: 12,view: 'text', type: 'string',}, + directiveName: {title: '服务指令名称',order: 13,view: 'text', type: 'string',}, + cycleTypeId: {title: '周期类型ID',order: 14,view: 'text', type: 'string',}, + cycleType: {title: '周期类型',order: 15,view: 'text', type: 'string',}, + cycleValue: {title: '周期值',order: 16,view: 'text', type: 'string',}, + previewFile: {title: '服务指令图片大图',order: 17,view: 'text', type: 'string',}, + previewFileSmall: {title: '服务指令图片小图',order: 18,view: 'text', type: 'string',}, + mp3File: {title: '语音文件',order: 19,view: 'text', type: 'string',}, + mp4File: {title: '视频文件',order: 20,view: 'text', type: 'string',}, + serviceDuration: {title: '服务时长(分钟)',order: 21,view: 'text', type: 'string',}, + serviceContent: {title: '服务说明',order: 22,view: 'text', type: 'string',}, + izPackage: {title: '是否是服务指令包 Y是 N否',order: 23,view: 'text', type: 'string',}, + tollPrice: {title: '收费价格',order: 24,view: 'number', type: 'number',}, + comPrice: {title: '提成价格',order: 25,view: 'number', type: 'number',}, + realComPrice: {title: '实际提成价格',order: 26,view: 'number', type: 'number',}, + startTime: {title: '开始时间',order: 27,view: 'datetime', type: 'string',}, + endTime: {title: '结束时间',order: 28,view: 'datetime', type: 'string',}, + beginEmp: {title: '实际开始员工',order: 29,view: 'text', type: 'string',}, + beginTime: {title: '实际开始时间',order: 30,view: 'datetime', type: 'string',}, + finishEmp: {title: '实际结束员工',order: 31,view: 'text', type: 'string',}, + finishTime: {title: '实际结束时间',order: 32,view: 'datetime', type: 'string',}, + izStart: {title: '是否开始 Y是 N否',order: 33,view: 'text', type: 'string',}, + izFinish: {title: '是否完成 Y是 N否',order: 34,view: 'text', type: 'string',}, + initiatorId: {title: '发起人ID',order: 35,view: 'text', type: 'string',}, + initiatorName: {title: '发起人姓名',order: 36,view: 'text', type: 'string',}, + createEmp: {title: '创建人',order: 37,view: 'text', type: 'string',}, + createBy: {title: '创建人',order: 38,view: 'text', type: 'string',}, + createTime: {title: '创建日期',order: 39,view: 'datetime', type: 'string',}, + updateEmp: {title: '更新人',order: 40,view: 'text', type: 'string',}, + updateBy: {title: '更新人',order: 41,view: 'text', type: 'string',}, + updateTime: {title: '更新日期',order: 42,view: 'datetime', type: 'string',}, + remarks: {title: '备注',order: 44,view: 'text', type: 'string',}, + timeoutDuration: {title: '服务容错时长(end_time + 这个时间) 小于 begin_time算超时',order: 45,view: 'text', type: 'string',}, + izTimeout: {title: '是否超时 Y超时 N未超时',order: 46,view: 'text', type: 'string',}, + optIds: {title: '实际执行人id(多个); 主要执行人+协助人',order: 47,view: 'text', type: 'string',}, + optNames: {title: '实际执行人名称(多个); 主要执行人+协助人',order: 48,view: 'text', type: 'string',}, + manuallyPicPath: {title: '手动拍照',order: 49,view: 'textarea', type: 'string',}, + manuallyMp4Path: {title: '手动录制',order: 50,view: 'textarea', type: 'string',}, + appraisalStatus: {title: '考核状态 0未考核 1通过 2未通过',order: 51,view: 'list', type: 'string',dictCode: 'appraisal_status',}, + appraisalTime: {title: '考核时间',order: 52,view: 'datetime', type: 'string',}, + appraisalId: {title: '考核人ID',order: 53,view: 'text', type: 'string',}, + appraisalName: {title: '考核人',order: 54,view: 'text', type: 'string',}, + //子表高级查询 + nuBizNuDirectiveOrderSub: { + title: 'nu_biz_nu_directive_order_sub', + view: 'table', + fields: { + orderNo: {title: '单号',order: 0,view: 'text', type: 'string',}, + orderType: {title: '工单类型 1护理;2医疗:3仓库;4行政',order: 1,view: 'text', type: 'string',}, + mainId: {title: '主表ID,nu_biz_nu_directive_order.id',order: 2,view: 'text', type: 'string',}, + nuId: {title: '护理单元ID,nu_base_info.id',order: 3,view: 'text', type: 'string',}, + nuName: {title: '护理单元名称',order: 4,view: 'text', type: 'string',}, + elderId: {title: '长者ID,nu_biz_elder_info.id',order: 5,view: 'text', type: 'string',}, + elderName: {title: '长者名称',order: 6,view: 'text', type: 'string',}, + employeeId: {title: '员工ID',order: 7,view: 'text', type: 'string',}, + employeeName: {title: '员工姓名',order: 8,view: 'text', type: 'string',}, + instructionTagId: {title: '分类标签',order: 9,view: 'text', type: 'string',}, + instructionTagName: {title: '分类标签名称',order: 10,view: 'text', type: 'string',}, + categoryId: {title: '服务类别ID,nu_config_service_category.id',order: 11,view: 'text', type: 'string',}, + categoryName: {title: '服务类别名称',order: 12,view: 'text', type: 'string',}, + typeId: {title: '服务类型ID,nu_config_service_type.id',order: 13,view: 'text', type: 'string',}, + typeName: {title: '服务类型名称',order: 14,view: 'text', type: 'string',}, + directiveId: {title: '服务指令ID,nu_config_service_directive.id',order: 15,view: 'text', type: 'string',}, + directiveName: {title: '服务指令名称',order: 16,view: 'text', type: 'string',}, + cycleTypeId: {title: '周期类型ID',order: 17,view: 'text', type: 'string',}, + cycleType: {title: '周期类型',order: 18,view: 'text', type: 'string',}, + cycleValue: {title: '周期值',order: 19,view: 'text', type: 'string',}, + previewFile: {title: '服务指令图片大图',order: 20,view: 'text', type: 'string',}, + previewFileSmall: {title: '服务指令图片小图',order: 21,view: 'text', type: 'string',}, + mp3File: {title: '语音文件',order: 22,view: 'text', type: 'string',}, + mp4File: {title: '视频文件',order: 23,view: 'text', type: 'string',}, + serviceDuration: {title: '服务时长(分钟)',order: 24,view: 'text', type: 'string',}, + serviceContent: {title: '服务说明',order: 25,view: 'text', type: 'string',}, + tollPrice: {title: '收费价格',order: 26,view: 'number', type: 'number',}, + comPrice: {title: '提成价格',order: 27,view: 'number', type: 'number',}, + realComPrice: {title: '实际提成价格',order: 28,view: 'number', type: 'number',}, + packageId: {title: '服务指令包ID',order: 29,view: 'text', type: 'string',}, + packageName: {title: '服务指令包名称',order: 30,view: 'text', type: 'string',}, + izPackage: {title: '是否是服务指令包 Y是 N否',order: 31,view: 'text', type: 'string',}, + startTime: {title: '开始时间',order: 32,view: 'datetime', type: 'string',}, + endTime: {title: '结束时间',order: 33,view: 'datetime', type: 'string',}, + beginTime: {title: '实际开始时间',order: 34,view: 'datetime', type: 'string',}, + finishTime: {title: '实际结束时间',order: 35,view: 'datetime', type: 'string',}, + izStart: {title: '是否开始 Y是 N否',order: 36,view: 'text', type: 'string',}, + izFinish: {title: '是否完成 Y是 N否',order: 37,view: 'text', type: 'string',}, + createBy: {title: '创建人',order: 38,view: 'text', type: 'string',}, + createTime: {title: '创建日期',order: 39,view: 'datetime', type: 'string',}, + updateBy: {title: '更新人',order: 40,view: 'text', type: 'string',}, + updateTime: {title: '更新日期',order: 41,view: 'datetime', type: 'string',}, + tplinkPath: {title: 'tplink下载地址',order: 43,view: 'text', type: 'string',}, + manuallyPicPath: {title: '手动拍照',order: 44,view: 'textarea', type: 'string',}, + manuallyMp4Path: {title: '手动录制',order: 45,view: 'textarea', type: 'string',}, + optType: {title: '执行类型 1单人 2协助 3转单',order: 46,view: 'text', type: 'string',}, + timeoutDuration: {title: '服务容错时长(end_time + 这个时间) 小于 begin_time算超时',order: 47,view: 'text', type: 'string',}, + izTimeout: {title: '是否超时 Y超时 N未超时',order: 48,view: 'text', type: 'string',}, + optIds: {title: '实际执行人id(多个); 主要执行人+协助人',order: 49,view: 'text', type: 'string',}, + optNames: {title: '实际执行人名称(多个); 主要执行人+协助人',order: 50,view: 'text', type: 'string',}, + } + }, +}; diff --git a/src/views/services/appraisal/components/AppraisalForm.vue b/src/views/services/appraisal/components/AppraisalForm.vue new file mode 100644 index 0000000..6317cfe --- /dev/null +++ b/src/views/services/appraisal/components/AppraisalForm.vue @@ -0,0 +1,518 @@ + + + + diff --git a/src/views/services/appraisal/components/AppraisalModal.vue b/src/views/services/appraisal/components/AppraisalModal.vue new file mode 100644 index 0000000..983a9f4 --- /dev/null +++ b/src/views/services/appraisal/components/AppraisalModal.vue @@ -0,0 +1,67 @@ + + + + diff --git a/src/views/services/appraisal/index.vue b/src/views/services/appraisal/index.vue new file mode 100644 index 0000000..c394181 --- /dev/null +++ b/src/views/services/appraisal/index.vue @@ -0,0 +1,371 @@ + + + +