From b097e8e51d15b400b389e14a5fddda55ce7dc9b6 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Tue, 23 Dec 2025 10:58:15 +0800 Subject: [PATCH] =?UTF-8?q?1=EF=BC=89=E5=8E=BB=E9=99=A4=E9=95=9C=E5=83=8F?= =?UTF-8?q?=E3=80=81=E9=95=9C=E5=83=8F=E6=97=A5=E5=BF=97=E3=80=81=E6=A0=87?= =?UTF-8?q?=E5=87=86=E6=8C=87=E4=BB=A4=E5=BA=93=E5=8A=9F=E8=83=BD=20=092?= =?UTF-8?q?=EF=BC=89=E5=8E=BB=E9=99=A4=E6=A0=87=E5=87=86=E6=8C=87=E4=BB=A4?= =?UTF-8?q?=E5=BA=93=E6=A6=82=E5=BF=B5=E5=85=88=E5=85=B3=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E5=8F=8A=E6=98=BE=E7=A4=BA=E5=86=85=E5=AE=B9=20=093=EF=BC=89?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=93=8D=E4=BD=9C=E6=97=A5=E5=BF=97=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=9A=E5=8F=AF=E6=9F=A5=E7=9C=8B=E6=89=80=E6=9C=89?= =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E6=9C=BA=E6=9E=84=E6=9C=8D=E5=8A=A1=E6=8C=87?= =?UTF-8?q?=E4=BB=A4=E6=96=B0=E5=A2=9E/=E5=8F=98=E6=9B=B4=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E3=80=82=E6=96=B0=E5=A2=9E=E6=95=B0=E6=8D=AE=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E8=AF=A6=E6=83=85=E6=97=B6=E5=8F=AF=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E5=BD=93=E6=97=B6=E6=B7=BB=E5=8A=A0=E7=9A=84=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E5=8F=8A=E8=B5=84=E6=BA=90=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E3=80=81=E5=8F=98=E6=9B=B4=E6=95=B0=E6=8D=AE=E6=9F=A5=E7=9C=8B?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E6=97=B6=E5=8F=AF=E6=AF=94=E5=AF=B9=E5=8F=98?= =?UTF-8?q?=E6=9B=B4=E5=89=8D=E5=90=8E=E5=90=84=E5=AD=97=E6=AE=B5=E5=8F=8A?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E7=9A=84=E5=86=85=E5=AE=B9=E3=80=82=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=97=A5=E5=BF=97=E5=88=97=E8=A1=A8=E9=A1=B5=E5=8F=AF?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=9C=BA=E6=9E=84=E3=80=81=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E8=BF=9B=E8=A1=8C=E7=AD=9B=E9=80=89=20=094?= =?UTF-8?q?=EF=BC=89=E5=A2=9E=E5=8A=A0=E9=95=9C=E5=83=8F=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=9A=E5=8F=AF=E6=9F=A5=E7=9C=8B=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E6=9C=BA=E6=9E=84=E4=BD=BF=E7=94=A8=E9=95=9C=E5=83=8F?= =?UTF-8?q?=E7=A0=81=E9=95=9C=E5=83=8F=E6=8C=87=E4=BB=A4=E6=97=B6=E7=9A=84?= =?UTF-8?q?=E6=97=A5=E5=BF=97=EF=BC=8C=E5=88=97=E8=A1=A8=E9=A1=B5=E5=8F=AF?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=8F=91=E8=B5=B7=E6=9C=BA=E6=9E=84=E3=80=81?= =?UTF-8?q?=E8=A2=AB=E9=95=9C=E5=83=8F=E6=9C=BA=E6=9E=84=E3=80=81=E9=95=9C?= =?UTF-8?q?=E5=83=8F=E6=97=A5=E6=9C=9F=E3=80=81=E9=95=9C=E5=83=8F=E7=A0=81?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E7=AD=9B=E9=80=89=EF=BC=9B=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E5=AF=B9=E5=BA=94=E6=95=B0=E6=8D=AE=E8=AF=A6=E6=83=85=E6=97=B6?= =?UTF-8?q?=E5=8F=AF=E6=9F=A5=E7=9C=8B=E5=8D=95=E6=AC=A1=E9=95=9C=E5=83=8F?= =?UTF-8?q?=E4=BA=86=E5=93=AA=E4=BA=9B=E6=8C=87=E4=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/upload/mp3.png | Bin 0 -> 3583 bytes src/assets/upload/mp4.png | Bin 0 -> 3432 bytes src/assets/upload/picture.png | Bin 0 -> 3303 bytes .../src/jeecg/components/JImageUploadtz.vue | 450 +++++++++++++ .../jeecg/components/JUpload/JUploadMP3.vue | 599 +++++++++++++++++ .../jeecg/components/JUpload/JUploadMP4.vue | 608 ++++++++++++++++++ .../canadddirective/CanAddDirective.api.ts | 0 .../canadddirective/CanAddDirective.data.ts | 0 .../canadddirective/CanAddDirectiveList.vue | 0 .../components/CanAddDirectiveDetail.vue | 0 .../components/CanAddDirectiveDetailModal.vue | 0 .../components/CanAddDirectiveForm.vue | 0 .../components/CanAddDirectiveModal.vue | 0 .../directive copy/directive.data.ts | 77 +++ .../ConfigServiceDirective.api.ts | 0 .../ConfigServiceDirective.data.ts | 0 .../ConfigServiceDirectiveList.vue | 0 .../components/ConfigServiceDirectiveForm.vue | 0 .../ConfigServiceDirectiveModal.vue | 0 .../{directive => directive copy}/index.vue | 0 .../directive copy/orgCom/OrgListCom.vue | 158 +++++ .../ConfigServiceDirective.api.ts | 41 ++ .../ConfigServiceDirective.data.ts | 444 +++++++++++++ .../ConfigServiceDirectiveList.vue | 247 +++++++ .../ConfigServiceDirectiveListModal.vue | 71 ++ .../serviceDirective/DirectiveChooseCom.vue | 0 .../DirectiveChooseCom分步骤版本.vue | 0 .../directive copy/services.api.ts | 29 + .../directive copy/syncList.vue | 429 ++++++++++++ .../syncStep/SyncStepList.vue | 1 + .../syncStep/SyncStepListModal.vue | 0 .../SyncStepList分步骤源_指令_目标.vue | 0 .../DirectiveOpeLogInfo.api.ts | 72 +++ .../DirectiveOpeLogMain.api.ts | 72 +++ .../DirectiveOpeLogMain.data.ts | 72 +++ .../DirectiveOpeLogMainList.vue | 189 ++++++ .../components/DirectiveOpeLogInfoAdd.vue | 355 ++++++++++ .../components/DirectiveOpeLogInfoCompare.vue | 307 +++++++++ .../components/DirectiveOpeLogMainModal.vue | 85 +++ .../components/DirectiveRadioCom.vue | 100 +++ .../DirectiveSyncLogMain.api.ts | 72 +++ .../DirectiveSyncLogMain.data.ts | 52 ++ .../DirectiveSyncLogMainList.vue | 230 +++++++ .../components/DirectiveSyncLogInfo.api.ts | 72 +++ .../components/DirectiveSyncLogInfo.data.ts | 42 ++ .../components/DirectiveSyncLogInfoForm.vue | 229 +++++++ .../components/DirectiveSyncLogInfoList.vue | 146 +++++ .../components/DirectiveSyncLogInfoModal.vue | 83 +++ .../ConfigServiceDirectiveList.vue | 29 - .../ConfigServiceDirectiveListModal.vue | 4 - .../synchronization/directive/syncList.vue | 232 ++----- 51 files changed, 5389 insertions(+), 208 deletions(-) create mode 100644 src/assets/upload/mp3.png create mode 100644 src/assets/upload/mp4.png create mode 100644 src/assets/upload/picture.png create mode 100644 src/components/Form/src/jeecg/components/JImageUploadtz.vue create mode 100644 src/components/Form/src/jeecg/components/JUpload/JUploadMP3.vue create mode 100644 src/components/Form/src/jeecg/components/JUpload/JUploadMP4.vue rename src/views/synchronization/{directive => directive copy}/canadddirective/CanAddDirective.api.ts (100%) rename src/views/synchronization/{directive => directive copy}/canadddirective/CanAddDirective.data.ts (100%) rename src/views/synchronization/{directive => directive copy}/canadddirective/CanAddDirectiveList.vue (100%) rename src/views/synchronization/{directive => directive copy}/canadddirective/components/CanAddDirectiveDetail.vue (100%) rename src/views/synchronization/{directive => directive copy}/canadddirective/components/CanAddDirectiveDetailModal.vue (100%) rename src/views/synchronization/{directive => directive copy}/canadddirective/components/CanAddDirectiveForm.vue (100%) rename src/views/synchronization/{directive => directive copy}/canadddirective/components/CanAddDirectiveModal.vue (100%) create mode 100644 src/views/synchronization/directive copy/directive.data.ts rename src/views/synchronization/{directive => directive copy}/directiveCom/ConfigServiceDirective.api.ts (100%) rename src/views/synchronization/{directive => directive copy}/directiveCom/ConfigServiceDirective.data.ts (100%) rename src/views/synchronization/{directive => directive copy}/directiveCom/ConfigServiceDirectiveList.vue (100%) rename src/views/synchronization/{directive => directive copy}/directiveCom/components/ConfigServiceDirectiveForm.vue (100%) rename src/views/synchronization/{directive => directive copy}/directiveCom/components/ConfigServiceDirectiveModal.vue (100%) rename src/views/synchronization/{directive => directive copy}/index.vue (100%) create mode 100644 src/views/synchronization/directive copy/orgCom/OrgListCom.vue create mode 100644 src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirective.api.ts create mode 100644 src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirective.data.ts create mode 100644 src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirectiveList.vue create mode 100644 src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirectiveListModal.vue rename src/views/synchronization/{directive => directive copy}/serviceDirective/DirectiveChooseCom.vue (100%) rename src/views/synchronization/{directive => directive copy}/serviceDirective/DirectiveChooseCom分步骤版本.vue (100%) create mode 100644 src/views/synchronization/directive copy/services.api.ts create mode 100644 src/views/synchronization/directive copy/syncList.vue rename src/views/synchronization/{directive => directive copy}/syncStep/SyncStepList.vue (99%) rename src/views/synchronization/{directive => directive copy}/syncStep/SyncStepListModal.vue (100%) rename src/views/synchronization/{directive => directive copy}/syncStep/SyncStepList分步骤源_指令_目标.vue (100%) create mode 100644 src/views/synchronization/directive/directiveopelog/DirectiveOpeLogInfo.api.ts create mode 100644 src/views/synchronization/directive/directiveopelog/DirectiveOpeLogMain.api.ts create mode 100644 src/views/synchronization/directive/directiveopelog/DirectiveOpeLogMain.data.ts create mode 100644 src/views/synchronization/directive/directiveopelog/DirectiveOpeLogMainList.vue create mode 100644 src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogInfoAdd.vue create mode 100644 src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogInfoCompare.vue create mode 100644 src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogMainModal.vue create mode 100644 src/views/synchronization/directive/directiveopelog/components/DirectiveRadioCom.vue create mode 100644 src/views/synchronization/directive/directivesynclog/DirectiveSyncLogMain.api.ts create mode 100644 src/views/synchronization/directive/directivesynclog/DirectiveSyncLogMain.data.ts create mode 100644 src/views/synchronization/directive/directivesynclog/DirectiveSyncLogMainList.vue create mode 100644 src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfo.api.ts create mode 100644 src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfo.data.ts create mode 100644 src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoForm.vue create mode 100644 src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoList.vue create mode 100644 src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoModal.vue diff --git a/src/assets/upload/mp3.png b/src/assets/upload/mp3.png new file mode 100644 index 0000000000000000000000000000000000000000..dcf9f5a5ec582a31f527aacf6b84974adc90e086 GIT binary patch literal 3583 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 Vn59H=cAEc^N&JGvyM5*_`48|zMdSbg literal 0 HcmV?d00001 diff --git a/src/assets/upload/mp4.png b/src/assets/upload/mp4.png new file mode 100644 index 0000000000000000000000000000000000000000..577adfb9e27be2f059548fe0a95d84e3c067c67a GIT binary patch literal 3432 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 z z5B4U(MKXrIh2RHjV<9}_@sbyx3x zW5cp|I1HF~B6eqI-2N7&Uv%=euD7eIn7wy()ghZM8-HKY)`R6SJ0tq(&Gi||8Op#% z)9}g+$HMcK`$At+)o*U74tw*_>LyLw^y=>LFEZBWl!mxmwiVLX&Zq8HYzip4|KZs* zp#9yV?p-;x*{SaGi?4pIKU{w4%H@Xv3HLv!%lVc5`$@gEL-UMNidpSIsTQ{`UD9 zWQ}5BRl@B4;}04%tsQqZ=C*trTJ-o8U0Ulw+oG9B(zT}k$!G6b?#(ubHPvbM5xqCp z2Ibw$_(BtY6f4u6=?nQJCFYlV$Uf{sTh}%wup;Nh^?utmh2OQO zyH5PV^oQ1yHGSxNlHV-7nEh2&d1pjK?KkfaF8F!obGMspZO1;nva}C~>evwd*>o7H zSaSC0`I?Zz)Bil$)poLO?@=^neq*UL0_%th|I+kwU_(v$zdKxiSwmQhe)l*q*B^Q- kd2aZm$1&Fq!9&5YXrV6Sub?|1Uij;w*CuNY#IAe&KW>4UO#lD@ literal 0 HcmV?d00001 diff --git a/src/components/Form/src/jeecg/components/JImageUploadtz.vue b/src/components/Form/src/jeecg/components/JImageUploadtz.vue new file mode 100644 index 0000000..2428aa7 --- /dev/null +++ b/src/components/Form/src/jeecg/components/JImageUploadtz.vue @@ -0,0 +1,450 @@ + + + diff --git a/src/components/Form/src/jeecg/components/JUpload/JUploadMP3.vue b/src/components/Form/src/jeecg/components/JUpload/JUploadMP3.vue new file mode 100644 index 0000000..ee06a6b --- /dev/null +++ b/src/components/Form/src/jeecg/components/JUpload/JUploadMP3.vue @@ -0,0 +1,599 @@ + + + + + diff --git a/src/components/Form/src/jeecg/components/JUpload/JUploadMP4.vue b/src/components/Form/src/jeecg/components/JUpload/JUploadMP4.vue new file mode 100644 index 0000000..a061693 --- /dev/null +++ b/src/components/Form/src/jeecg/components/JUpload/JUploadMP4.vue @@ -0,0 +1,608 @@ + + + + + diff --git a/src/views/synchronization/directive/canadddirective/CanAddDirective.api.ts b/src/views/synchronization/directive copy/canadddirective/CanAddDirective.api.ts similarity index 100% rename from src/views/synchronization/directive/canadddirective/CanAddDirective.api.ts rename to src/views/synchronization/directive copy/canadddirective/CanAddDirective.api.ts diff --git a/src/views/synchronization/directive/canadddirective/CanAddDirective.data.ts b/src/views/synchronization/directive copy/canadddirective/CanAddDirective.data.ts similarity index 100% rename from src/views/synchronization/directive/canadddirective/CanAddDirective.data.ts rename to src/views/synchronization/directive copy/canadddirective/CanAddDirective.data.ts diff --git a/src/views/synchronization/directive/canadddirective/CanAddDirectiveList.vue b/src/views/synchronization/directive copy/canadddirective/CanAddDirectiveList.vue similarity index 100% rename from src/views/synchronization/directive/canadddirective/CanAddDirectiveList.vue rename to src/views/synchronization/directive copy/canadddirective/CanAddDirectiveList.vue diff --git a/src/views/synchronization/directive/canadddirective/components/CanAddDirectiveDetail.vue b/src/views/synchronization/directive copy/canadddirective/components/CanAddDirectiveDetail.vue similarity index 100% rename from src/views/synchronization/directive/canadddirective/components/CanAddDirectiveDetail.vue rename to src/views/synchronization/directive copy/canadddirective/components/CanAddDirectiveDetail.vue diff --git a/src/views/synchronization/directive/canadddirective/components/CanAddDirectiveDetailModal.vue b/src/views/synchronization/directive copy/canadddirective/components/CanAddDirectiveDetailModal.vue similarity index 100% rename from src/views/synchronization/directive/canadddirective/components/CanAddDirectiveDetailModal.vue rename to src/views/synchronization/directive copy/canadddirective/components/CanAddDirectiveDetailModal.vue diff --git a/src/views/synchronization/directive/canadddirective/components/CanAddDirectiveForm.vue b/src/views/synchronization/directive copy/canadddirective/components/CanAddDirectiveForm.vue similarity index 100% rename from src/views/synchronization/directive/canadddirective/components/CanAddDirectiveForm.vue rename to src/views/synchronization/directive copy/canadddirective/components/CanAddDirectiveForm.vue diff --git a/src/views/synchronization/directive/canadddirective/components/CanAddDirectiveModal.vue b/src/views/synchronization/directive copy/canadddirective/components/CanAddDirectiveModal.vue similarity index 100% rename from src/views/synchronization/directive/canadddirective/components/CanAddDirectiveModal.vue rename to src/views/synchronization/directive copy/canadddirective/components/CanAddDirectiveModal.vue diff --git a/src/views/synchronization/directive copy/directive.data.ts b/src/views/synchronization/directive copy/directive.data.ts new file mode 100644 index 0000000..5c6a709 --- /dev/null +++ b/src/views/synchronization/directive copy/directive.data.ts @@ -0,0 +1,77 @@ +export const selectedColumns = [ + { + title: '分类标签', + align: 'center', + dataIndex: 'instructionTagId_dictText', + width: 90, + }, + { + title: '服务类别', + align: 'center', + dataIndex: 'categoryId_dictText', + width: 100, // 添加固定宽度 + }, + { + title: '服务类型', + align: 'center', + dataIndex: 'typeId_dictText', + width: 120, // 添加固定宽度 + }, + { + title: '服务指令名称', + align: 'center', + dataIndex: 'directiveName', + width: 150, // 添加固定宽度 + }, + { + title: '体型标签', + align: 'center', + dataIndex: 'bodyTagList', + width: 150, + ellipsis: true, // 确保内容过长时显示省略号 + }, + { + title: '情绪标签', + align: 'center', + dataIndex: 'emotionTagList', + width: 150, + ellipsis: true, // 确保内容过长时显示省略号 + }, + { + title: '周期类型', + align: 'center', + dataIndex: 'cycleType_dictText', + width: 100, // 添加固定宽度 + }, + { + title: '服务时长(分钟)', + align: 'center', + dataIndex: 'serviceDuration', + width: 135, + }, + { + title: '是否启用', + align: 'center', + dataIndex: 'izEnabled_dictText', + width: 100, + }, + { + title: '预览图片', + align: 'center', + dataIndex: 'previewFileMedia', + width: 120, // 添加固定宽度 + }, + { + title: '即时指令图片', + align: 'center', + dataIndex: 'immediateFileMedia', + width: 150, // 添加固定宽度 + }, + { + title: '操作', + dataIndex: 'action', + key: 'action', + width: 60, + fixed: 'right', + }, +]; diff --git a/src/views/synchronization/directive/directiveCom/ConfigServiceDirective.api.ts b/src/views/synchronization/directive copy/directiveCom/ConfigServiceDirective.api.ts similarity index 100% rename from src/views/synchronization/directive/directiveCom/ConfigServiceDirective.api.ts rename to src/views/synchronization/directive copy/directiveCom/ConfigServiceDirective.api.ts diff --git a/src/views/synchronization/directive/directiveCom/ConfigServiceDirective.data.ts b/src/views/synchronization/directive copy/directiveCom/ConfigServiceDirective.data.ts similarity index 100% rename from src/views/synchronization/directive/directiveCom/ConfigServiceDirective.data.ts rename to src/views/synchronization/directive copy/directiveCom/ConfigServiceDirective.data.ts diff --git a/src/views/synchronization/directive/directiveCom/ConfigServiceDirectiveList.vue b/src/views/synchronization/directive copy/directiveCom/ConfigServiceDirectiveList.vue similarity index 100% rename from src/views/synchronization/directive/directiveCom/ConfigServiceDirectiveList.vue rename to src/views/synchronization/directive copy/directiveCom/ConfigServiceDirectiveList.vue diff --git a/src/views/synchronization/directive/directiveCom/components/ConfigServiceDirectiveForm.vue b/src/views/synchronization/directive copy/directiveCom/components/ConfigServiceDirectiveForm.vue similarity index 100% rename from src/views/synchronization/directive/directiveCom/components/ConfigServiceDirectiveForm.vue rename to src/views/synchronization/directive copy/directiveCom/components/ConfigServiceDirectiveForm.vue diff --git a/src/views/synchronization/directive/directiveCom/components/ConfigServiceDirectiveModal.vue b/src/views/synchronization/directive copy/directiveCom/components/ConfigServiceDirectiveModal.vue similarity index 100% rename from src/views/synchronization/directive/directiveCom/components/ConfigServiceDirectiveModal.vue rename to src/views/synchronization/directive copy/directiveCom/components/ConfigServiceDirectiveModal.vue diff --git a/src/views/synchronization/directive/index.vue b/src/views/synchronization/directive copy/index.vue similarity index 100% rename from src/views/synchronization/directive/index.vue rename to src/views/synchronization/directive copy/index.vue diff --git a/src/views/synchronization/directive copy/orgCom/OrgListCom.vue b/src/views/synchronization/directive copy/orgCom/OrgListCom.vue new file mode 100644 index 0000000..ef42be6 --- /dev/null +++ b/src/views/synchronization/directive copy/orgCom/OrgListCom.vue @@ -0,0 +1,158 @@ + + + \ No newline at end of file diff --git a/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirective.api.ts b/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirective.api.ts new file mode 100644 index 0000000..b580f12 --- /dev/null +++ b/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirective.api.ts @@ -0,0 +1,41 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from '/@/hooks/web/useMessage'; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/services/serviceDirective/list', + listByDS = '/services/serviceDirective/listByDS', + queryById = '/services/serviceDirective/queryById', + syncDirective = '/services/serviceDirective/syncDirective', + idListByDS = '/services/serviceDirective/idListByDS', +} + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); +export const queryById = (params) => defHttp.get({ url: Api.queryById, params }); + +/** + * 列表接口 - 变更数据源 + * @param params + */ +export const listByDS = (params) => defHttp.get({ url: Api.listByDS, params }); + +/** + * + * @param params 获取对应机构已有指令id + * @returns + */ +export const idListByDS = (params) => defHttp.get({ url: Api.idListByDS, params }); + +/** + * 同步 + * @param params + * @returns + */ +export const syncDirective = (dataSourceCode: string, params: any) => { + return defHttp.post({ url: `${Api.syncDirective}?dataSourceCode=${encodeURIComponent(dataSourceCode)}`, params }); +}; diff --git a/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirective.data.ts b/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirective.data.ts new file mode 100644 index 0000000..f182905 --- /dev/null +++ b/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirective.data.ts @@ -0,0 +1,444 @@ +import { BasicColumn } from '/@/components/Table'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '分类标签', + align: 'center', + dataIndex: 'instructionTagId_dictText', + customCell: (record, index, column) => { + if (record.instructionRowSpan != null) { + return { rowSpan: record.instructionRowSpan }; + } + }, + }, + { + title: '服务类别', + align: 'center', + dataIndex: 'categoryId_dictText', + customCell: (record, index, column) => { + if (record.categoryRowSpan != null) { + return { rowSpan: record.categoryRowSpan }; + } + }, + }, + { + title: '服务类型', + align: 'center', + dataIndex: 'typeId_dictText', + customCell: (record, index, column) => { + if (record.typeRowSpan != null) { + return { rowSpan: record.typeRowSpan }; + } + }, + }, + { + title: '服务指令', + align: 'center', + dataIndex: 'directiveName', + }, + // { + // title: '体型标签', + // align: 'center', + // dataIndex: 'bodyTagList', + // ellipsis: false, + // defaultHidden: false, + // format(text, record, index) { + // if (!!text) { + // return text.map((item) => item.tagName).join('、'); + // } else { + // return '-'; + // } + // }, + // }, + // { + // title: '情绪标签', + // align: 'center', + // dataIndex: 'emotionTagList', + // ellipsis: false, + // defaultHidden: false, + // format(text, record, index) { + // if (!!text) { + // return text.map((item) => item.tagName).join('、'); + // } else { + // return '-'; + // } + // }, + // }, + { + title: '收费价格', + align: 'center', + dataIndex: 'tollPrice', + defaultHidden: true, + }, + { + title: '提成价格', + align: 'center', + dataIndex: 'comPrice', + defaultHidden: true, + }, + { + title: '医保报销', + align: 'center', + dataIndex: 'izReimbursement_dictText', + defaultHidden: true, + }, + { + title: '机构优惠', + align: 'center', + dataIndex: 'izPreferential_dictText', + defaultHidden: true, + }, + { + title: '周期类型', + align: 'center', + dataIndex: 'cycleType_dictText', + }, + { + title: '服务时长(分钟)', + align: 'center', + dataIndex: 'serviceDuration', + }, + { + title: '是否启用', + align: 'center', + dataIndex: 'izEnabled_dictText', + }, +]; + +export const sourceColumns: BasicColumn[] = [ + { + title: '状态', + align: 'center', + dataIndex: 'izExist', + width: 70, + fixed: 'left', + }, + { + title: '分类标签', + align: 'center', + dataIndex: 'instructionTagId_dictText', + customCell: (record, index, column) => { + if (record.instructionRowSpan != null) { + return { rowSpan: record.instructionRowSpan }; + } + }, + }, + { + title: '服务类别', + align: 'center', + dataIndex: 'categoryId_dictText', + customCell: (record, index, column) => { + if (record.categoryRowSpan != null) { + return { rowSpan: record.categoryRowSpan }; + } + }, + }, + { + title: '服务类型', + align: 'center', + dataIndex: 'typeId_dictText', + customCell: (record, index, column) => { + if (record.typeRowSpan != null) { + return { rowSpan: record.typeRowSpan }; + } + }, + }, + { + title: '服务指令', + align: 'center', + dataIndex: 'directiveName', + }, + // { + // title: '体型标签', + // align: 'center', + // dataIndex: 'bodyTagList', + // ellipsis: false, + // // defaultHidden: true, + // format(text, record, index) { + // if (!!text) { + // return text.map((item) => item.tagName).join('、'); + // } else { + // return '-'; + // } + // }, + // }, + // { + // title: '情绪标签', + // align: 'center', + // dataIndex: 'emotionTagList', + // ellipsis: false, + // // defaultHidden: true, + // format(text, record, index) { + // if (!!text) { + // return text.map((item) => item.tagName).join('、'); + // } else { + // return '-'; + // } + // }, + // }, + { + title: '收费价格', + align: 'center', + dataIndex: 'tollPrice', + defaultHidden: true, + }, + { + title: '提成价格', + align: 'center', + dataIndex: 'comPrice', + defaultHidden: true, + }, + { + title: '医保报销', + align: 'center', + dataIndex: 'izReimbursement_dictText', + defaultHidden: true, + }, + { + title: '机构优惠', + align: 'center', + dataIndex: 'izPreferential_dictText', + defaultHidden: true, + }, + { + title: '周期类型', + align: 'center', + dataIndex: 'cycleType_dictText', + }, + { + title: '服务时长(分钟)', + align: 'center', + dataIndex: 'serviceDuration', + }, +]; + +export const targetSourceColumns: BasicColumn[] = [ + { + title: '分类标签', + align: 'center', + dataIndex: 'instructionTagId_dictText', + customCell: (record, index, column) => { + if (record.instructionRowSpan != null) { + return { rowSpan: record.instructionRowSpan }; + } + }, + }, + { + title: '服务类别', + align: 'center', + dataIndex: 'categoryId_dictText', + customCell: (record, index, column) => { + if (record.categoryRowSpan != null) { + return { rowSpan: record.categoryRowSpan }; + } + }, + }, + { + title: '服务类型', + align: 'center', + dataIndex: 'typeId_dictText', + customCell: (record, index, column) => { + if (record.typeRowSpan != null) { + return { rowSpan: record.typeRowSpan }; + } + }, + }, + { + title: '服务指令', + align: 'center', + dataIndex: 'directiveName', + }, + // { + // title: '体型标签', + // align: 'center', + // dataIndex: 'bodyTagList', + // ellipsis: false, + // // defaultHidden: true, + // format(text, record, index) { + // if (!!text) { + // return text.map((item) => item.tagName).join('、'); + // } else { + // return '-'; + // } + // }, + // }, + // { + // title: '情绪标签', + // align: 'center', + // dataIndex: 'emotionTagList', + // ellipsis: false, + // // defaultHidden: true, + // format(text, record, index) { + // if (!!text) { + // return text.map((item) => item.tagName).join('、'); + // } else { + // return '-'; + // } + // }, + // }, + { + title: '收费价格', + align: 'center', + dataIndex: 'tollPrice', + defaultHidden: true, + }, + { + title: '提成价格', + align: 'center', + dataIndex: 'comPrice', + defaultHidden: true, + }, + { + title: '医保报销', + align: 'center', + dataIndex: 'izReimbursement_dictText', + defaultHidden: true, + }, + { + title: '机构优惠', + align: 'center', + dataIndex: 'izPreferential_dictText', + defaultHidden: true, + }, + { + title: '周期类型', + align: 'center', + dataIndex: 'cycleType_dictText', + }, + { + title: '服务时长(分钟)', + align: 'center', + dataIndex: 'serviceDuration', + }, +]; + +export const targetColumns: BasicColumn[] = [ + { + title: '分类标签', + align: 'center', + dataIndex: 'instructionTagId_dictText', + customCell: (record, index, column) => { + if (record.instructionRowSpan != null) { + return { rowSpan: record.instructionRowSpan }; + } + }, + }, + { + title: '服务类别', + align: 'center', + dataIndex: 'categoryId_dictText', + customCell: (record, index, column) => { + if (record.categoryRowSpan != null) { + return { rowSpan: record.categoryRowSpan }; + } + }, + }, + { + title: '服务类型', + align: 'center', + dataIndex: 'typeId_dictText', + customCell: (record, index, column) => { + if (record.typeRowSpan != null) { + return { rowSpan: record.typeRowSpan }; + } + }, + }, + { + title: '服务指令', + align: 'center', + dataIndex: 'directiveName', + }, + // { + // title: '体型标签', + // align: 'center', + // dataIndex: 'bodyTagList', + // ellipsis: false, + // // defaultHidden: true, + // format(text, record, index) { + // if (!!text) { + // return text.map((item) => item.tagName).join('、'); + // } else { + // return '-'; + // } + // }, + // }, + // { + // title: '情绪标签', + // align: 'center', + // dataIndex: 'emotionTagList', + // ellipsis: false, + // // defaultHidden: true, + // format(text, record, index) { + // if (!!text) { + // return text.map((item) => item.tagName).join('、'); + // } else { + // return '-'; + // } + // }, + // }, + { + title: '收费价格', + align: 'center', + dataIndex: 'tollPrice', + defaultHidden: true, + }, + { + title: '提成价格', + align: 'center', + dataIndex: 'comPrice', + defaultHidden: true, + }, + { + title: '医保报销', + align: 'center', + dataIndex: 'izReimbursement_dictText', + defaultHidden: true, + }, + { + title: '机构优惠', + align: 'center', + dataIndex: 'izPreferential_dictText', + defaultHidden: true, + }, + { + title: '周期类型', + align: 'center', + dataIndex: 'cycleType_dictText', + }, + { + title: '服务时长(分钟)', + align: 'center', + dataIndex: 'serviceDuration', + }, + { + title: '同步类型', + align: 'center', + dataIndex: 'izExist', + width: 80, + fixed: 'right', + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + categoryId: { title: '服务类别', order: 0, view: 'list', type: 'string', dictCode: '' }, + typeId: { title: '服务类型', order: 1, view: 'list', type: 'string', dictCode: '' }, + instructionTagId: { title: '分类标签', order: 2, view: 'list', type: 'string', dictCode: 'instruction_tag' }, + directiveName: { title: '服务指令', order: 3, view: 'text', type: 'string' }, + tollPrice: { title: '收费价格', order: 4, view: 'number', type: 'number' }, + comPrice: { title: '提成价格', order: 5, view: 'number', type: 'number' }, + izReimbursement: { title: '医保报销', order: 6, view: 'radio', type: 'string', dictCode: '' }, + izPreferential: { title: '机构优惠', order: 7, view: 'radio', type: 'string', dictCode: '' }, + chargingFrequency: { title: '收费频次', order: 8, view: 'list', type: 'string', dictCode: '' }, + cycleType: { title: '周期类型', order: 9, view: 'list', type: 'string', dictCode: '' }, + sort: { title: '排序', order: 10, view: 'number', type: 'number' }, + serviceContent: { title: '服务说明', order: 11, view: 'textarea', type: 'string' }, + serviceDuration: { title: '服务时长(分钟)', order: 12, view: 'text', type: 'string' }, + izEnabled: { title: '是否启用', order: 13, view: 'radio', type: 'string', dictCode: '' }, + createBy: { title: '创建人', order: 14, view: 'text', type: 'string' }, + createTime: { title: '创建日期', order: 15, view: 'datetime', type: 'string' }, + updateBy: { title: '更新人', order: 16, view: 'text', type: 'string' }, + updateTime: { title: '更新日期', order: 17, view: 'datetime', type: 'string' }, + mp3File: { title: '语音文件', order: 18, view: 'file', type: 'string' }, + mp4File: { title: '视频文件', order: 19, view: 'file', type: 'string' }, +}; diff --git a/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirectiveList.vue b/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirectiveList.vue new file mode 100644 index 0000000..ac99bc8 --- /dev/null +++ b/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirectiveList.vue @@ -0,0 +1,247 @@ + + + + + diff --git a/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirectiveListModal.vue b/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirectiveListModal.vue new file mode 100644 index 0000000..3f7cee3 --- /dev/null +++ b/src/views/synchronization/directive copy/serviceDirective/ConfigServiceDirectiveListModal.vue @@ -0,0 +1,71 @@ + + + + + + diff --git a/src/views/synchronization/directive/serviceDirective/DirectiveChooseCom.vue b/src/views/synchronization/directive copy/serviceDirective/DirectiveChooseCom.vue similarity index 100% rename from src/views/synchronization/directive/serviceDirective/DirectiveChooseCom.vue rename to src/views/synchronization/directive copy/serviceDirective/DirectiveChooseCom.vue diff --git a/src/views/synchronization/directive/serviceDirective/DirectiveChooseCom分步骤版本.vue b/src/views/synchronization/directive copy/serviceDirective/DirectiveChooseCom分步骤版本.vue similarity index 100% rename from src/views/synchronization/directive/serviceDirective/DirectiveChooseCom分步骤版本.vue rename to src/views/synchronization/directive copy/serviceDirective/DirectiveChooseCom分步骤版本.vue diff --git a/src/views/synchronization/directive copy/services.api.ts b/src/views/synchronization/directive copy/services.api.ts new file mode 100644 index 0000000..9b05097 --- /dev/null +++ b/src/views/synchronization/directive copy/services.api.ts @@ -0,0 +1,29 @@ +import { defHttp } from '/@/utils/http/axios'; + +enum Api { + categoryList = '/services/serviceCategory/configServiceCategory/list', + typeList = '/services/ServiceType/configServiceType/list', + bodyTagsList = '/services/directiveTag/bodyTag/list', + emotionTagsList = '/services/directiveTag/emotionTag/list', +} + + +/** + * 服务类别 + */ +export const categoryList = () => defHttp.get({ url: Api.categoryList }); + +/** + * 服务类型 + */ +export const typeList = () => defHttp.get({ url: Api.typeList }); + +/** + * 体型标签 + */ +export const bodyTagsList = () => defHttp.get({ url: Api.bodyTagsList }); + +/** + * 指令标签 + */ +export const emotionTagsList = () => defHttp.get({ url: Api.emotionTagsList }); diff --git a/src/views/synchronization/directive copy/syncList.vue b/src/views/synchronization/directive copy/syncList.vue new file mode 100644 index 0000000..f6286e4 --- /dev/null +++ b/src/views/synchronization/directive copy/syncList.vue @@ -0,0 +1,429 @@ + + + + + \ No newline at end of file diff --git a/src/views/synchronization/directive/syncStep/SyncStepList.vue b/src/views/synchronization/directive copy/syncStep/SyncStepList.vue similarity index 99% rename from src/views/synchronization/directive/syncStep/SyncStepList.vue rename to src/views/synchronization/directive copy/syncStep/SyncStepList.vue index 41c20c7..359ca2e 100644 --- a/src/views/synchronization/directive/syncStep/SyncStepList.vue +++ b/src/views/synchronization/directive copy/syncStep/SyncStepList.vue @@ -275,6 +275,7 @@ onMounted(async () => { initLoading.value = true orgInfo.value = [] let dmInfo_ = await getDirectiveMain() + console.log("🌊 ~ dmInfo_:", dmInfo_) let dmAllInfo_ = await getOrgInfo({ orgCode: dmInfo_.orgCode }) if (!dmAllInfo_.records[0]) { createMessage.error('请先设置标准指令库!') diff --git a/src/views/synchronization/directive/syncStep/SyncStepListModal.vue b/src/views/synchronization/directive copy/syncStep/SyncStepListModal.vue similarity index 100% rename from src/views/synchronization/directive/syncStep/SyncStepListModal.vue rename to src/views/synchronization/directive copy/syncStep/SyncStepListModal.vue diff --git a/src/views/synchronization/directive/syncStep/SyncStepList分步骤源_指令_目标.vue b/src/views/synchronization/directive copy/syncStep/SyncStepList分步骤源_指令_目标.vue similarity index 100% rename from src/views/synchronization/directive/syncStep/SyncStepList分步骤源_指令_目标.vue rename to src/views/synchronization/directive copy/syncStep/SyncStepList分步骤源_指令_目标.vue diff --git a/src/views/synchronization/directive/directiveopelog/DirectiveOpeLogInfo.api.ts b/src/views/synchronization/directive/directiveopelog/DirectiveOpeLogInfo.api.ts new file mode 100644 index 0000000..854b12b --- /dev/null +++ b/src/views/synchronization/directive/directiveopelog/DirectiveOpeLogInfo.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/directiveopelog/directiveOpeLogInfo/list', + save='/directiveopelog/directiveOpeLogInfo/add', + edit='/directiveopelog/directiveOpeLogInfo/edit', + deleteOne = '/directiveopelog/directiveOpeLogInfo/delete', + deleteBatch = '/directiveopelog/directiveOpeLogInfo/deleteBatch', + importExcel = '/directiveopelog/directiveOpeLogInfo/importExcel', + exportXls = '/directiveopelog/directiveOpeLogInfo/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/synchronization/directive/directiveopelog/DirectiveOpeLogMain.api.ts b/src/views/synchronization/directive/directiveopelog/DirectiveOpeLogMain.api.ts new file mode 100644 index 0000000..2103e36 --- /dev/null +++ b/src/views/synchronization/directive/directiveopelog/DirectiveOpeLogMain.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/directiveopelog/directiveOpeLogMain/list', + save='/directiveopelog/directiveOpeLogMain/add', + edit='/directiveopelog/directiveOpeLogMain/edit', + deleteOne = '/directiveopelog/directiveOpeLogMain/delete', + deleteBatch = '/directiveopelog/directiveOpeLogMain/deleteBatch', + importExcel = '/directiveopelog/directiveOpeLogMain/importExcel', + exportXls = '/directiveopelog/directiveOpeLogMain/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/synchronization/directive/directiveopelog/DirectiveOpeLogMain.data.ts b/src/views/synchronization/directive/directiveopelog/DirectiveOpeLogMain.data.ts new file mode 100644 index 0000000..6faeda6 --- /dev/null +++ b/src/views/synchronization/directive/directiveopelog/DirectiveOpeLogMain.data.ts @@ -0,0 +1,72 @@ +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: 'orgCode_dictText', + }, + { + title: '操作类型', + align: 'center', + dataIndex: 'opeType_dictText', + width: 80, + }, + { + title: '操作人', + align: 'center', + dataIndex: 'createBy', + width: 80, + }, + { + title: '操作日期', + align: 'center', + dataIndex: 'createTime', + }, + { + title: '分类标签', + align: 'center', + dataIndex: 'instructionTagName', + width: 120, + }, + { + title: '服务类别', + align: 'center', + dataIndex: 'categoryName', + width: 120, + }, + { + title: '服务类型', + align: 'center', + dataIndex: 'typeName', + width: 120, + }, + { + title: '服务指令', + align: 'center', + dataIndex: 'directiveName', + }, + { + title: '周期类型', + align: 'center', + dataIndex: 'cycleTypeName', + width: 80, + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + orgCode: { title: '机构编码', order: 0, view: 'list', type: 'string', dictTable: 'sys_depart', dictCode: 'org_code', dictText: 'depart_name' }, + opeType: { title: '操作类型 1新增 2修改', order: 1, view: 'list', type: 'string', dictCode: 'directive_ope_type' }, + createBy: { title: '操作人', order: 2, view: 'text', type: 'string' }, + createTime: { title: '操作日期', order: 3, view: 'datetime', type: 'string' }, + instructionTagName: { title: '分类标签名称', order: 4, view: 'text', type: 'string' }, + categoryName: { title: '服务类别名称', order: 5, view: 'text', type: 'string' }, + typeName: { title: '服务类型名称', order: 6, view: 'text', type: 'string' }, + directiveName: { title: '服务指令名称', order: 7, view: 'text', type: 'string' }, + cycleType: { title: '周期类型 字典period_type', order: 8, view: 'list', type: 'string', dictCode: 'period_type' }, +}; diff --git a/src/views/synchronization/directive/directiveopelog/DirectiveOpeLogMainList.vue b/src/views/synchronization/directive/directiveopelog/DirectiveOpeLogMainList.vue new file mode 100644 index 0000000..4752abc --- /dev/null +++ b/src/views/synchronization/directive/directiveopelog/DirectiveOpeLogMainList.vue @@ -0,0 +1,189 @@ + + + + + diff --git a/src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogInfoAdd.vue b/src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogInfoAdd.vue new file mode 100644 index 0000000..3b0a630 --- /dev/null +++ b/src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogInfoAdd.vue @@ -0,0 +1,355 @@ + + + + + diff --git a/src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogInfoCompare.vue b/src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogInfoCompare.vue new file mode 100644 index 0000000..481263f --- /dev/null +++ b/src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogInfoCompare.vue @@ -0,0 +1,307 @@ + + + + + + \ No newline at end of file diff --git a/src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogMainModal.vue b/src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogMainModal.vue new file mode 100644 index 0000000..49f71ec --- /dev/null +++ b/src/views/synchronization/directive/directiveopelog/components/DirectiveOpeLogMainModal.vue @@ -0,0 +1,85 @@ + + + + + + diff --git a/src/views/synchronization/directive/directiveopelog/components/DirectiveRadioCom.vue b/src/views/synchronization/directive/directiveopelog/components/DirectiveRadioCom.vue new file mode 100644 index 0000000..6819805 --- /dev/null +++ b/src/views/synchronization/directive/directiveopelog/components/DirectiveRadioCom.vue @@ -0,0 +1,100 @@ + + + + + diff --git a/src/views/synchronization/directive/directivesynclog/DirectiveSyncLogMain.api.ts b/src/views/synchronization/directive/directivesynclog/DirectiveSyncLogMain.api.ts new file mode 100644 index 0000000..a0d775a --- /dev/null +++ b/src/views/synchronization/directive/directivesynclog/DirectiveSyncLogMain.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/directivesynclog/directiveSyncLogMain/list', + save='/directivesynclog/directiveSyncLogMain/add', + edit='/directivesynclog/directiveSyncLogMain/edit', + deleteOne = '/directivesynclog/directiveSyncLogMain/delete', + deleteBatch = '/directivesynclog/directiveSyncLogMain/deleteBatch', + importExcel = '/directivesynclog/directiveSyncLogMain/importExcel', + exportXls = '/directivesynclog/directiveSyncLogMain/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/synchronization/directive/directivesynclog/DirectiveSyncLogMain.data.ts b/src/views/synchronization/directive/directivesynclog/DirectiveSyncLogMain.data.ts new file mode 100644 index 0000000..1125e80 --- /dev/null +++ b/src/views/synchronization/directive/directivesynclog/DirectiveSyncLogMain.data.ts @@ -0,0 +1,52 @@ +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: 'opeOrgCode_dictText', + }, + { + title: '被镜像机构', + align: 'center', + dataIndex: 'targetOrgCode_dictText', + }, + { + title: '镜像日期', + align: 'center', + dataIndex: 'createTime', + }, + { + title: '镜像码', + align: 'center', + dataIndex: 'orgDirectiveCode', + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + opeOrgCode: { + title: '哪个机构镜像的', + order: 0, + view: 'list', + type: 'string', + dictTable: 'sys_depart', + dictCode: 'org_code', + dictText: 'depart_name', + }, + targetOrgCode: { + title: '镜像的哪个机构的指令', + order: 1, + view: 'list', + type: 'string', + dictTable: 'sys_depart', + dictCode: 'org_code', + dictText: 'depart_name', + }, + orgDirectiveCode: { title: '指令镜像码', order: 2, view: 'text', type: 'string' }, + createTime: { title: '创建日期', order: 3, view: 'datetime', type: 'string' }, +}; diff --git a/src/views/synchronization/directive/directivesynclog/DirectiveSyncLogMainList.vue b/src/views/synchronization/directive/directivesynclog/DirectiveSyncLogMainList.vue new file mode 100644 index 0000000..9497d93 --- /dev/null +++ b/src/views/synchronization/directive/directivesynclog/DirectiveSyncLogMainList.vue @@ -0,0 +1,230 @@ + + + + + diff --git a/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfo.api.ts b/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfo.api.ts new file mode 100644 index 0000000..d507281 --- /dev/null +++ b/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfo.api.ts @@ -0,0 +1,72 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/directivesynclog/directiveSyncLogInfo/list', + save='/directivesynclog/directiveSyncLogInfo/add', + edit='/directivesynclog/directiveSyncLogInfo/edit', + deleteOne = '/directivesynclog/directiveSyncLogInfo/delete', + deleteBatch = '/directivesynclog/directiveSyncLogInfo/deleteBatch', + importExcel = '/directivesynclog/directiveSyncLogInfo/importExcel', + exportXls = '/directivesynclog/directiveSyncLogInfo/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/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfo.data.ts b/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfo.data.ts new file mode 100644 index 0000000..2fa9ec9 --- /dev/null +++ b/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfo.data.ts @@ -0,0 +1,42 @@ +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: 'instructionTagName' + }, + { + title: '服务类别名称', + align: "center", + dataIndex: 'categoryName' + }, + { + title: '服务类型名称', + align: "center", + dataIndex: 'typeName' + }, + { + title: '服务指令名称', + align: "center", + dataIndex: 'directiveName' + }, + { + title: '周期类型', + align: "center", + dataIndex: 'cycleType_dictText' + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + instructionTagName: {title: '分类标签名称',order: 0,view: 'text', type: 'string',}, + categoryName: {title: '服务类别名称',order: 1,view: 'text', type: 'string',}, + typeName: {title: '服务类型名称',order: 2,view: 'text', type: 'string',}, + directiveName: {title: '服务指令名称',order: 3,view: 'text', type: 'string',}, + cycleType: {title: '周期类型 1日常护理 2周期护理 3即时护理',order: 6,view: 'text', type: 'string',}, +}; diff --git a/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoForm.vue b/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoForm.vue new file mode 100644 index 0000000..636092a --- /dev/null +++ b/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoForm.vue @@ -0,0 +1,229 @@ + + + + + diff --git a/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoList.vue b/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoList.vue new file mode 100644 index 0000000..9a4e66a --- /dev/null +++ b/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoList.vue @@ -0,0 +1,146 @@ + + + + + diff --git a/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoModal.vue b/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoModal.vue new file mode 100644 index 0000000..a57a5d8 --- /dev/null +++ b/src/views/synchronization/directive/directivesynclog/components/DirectiveSyncLogInfoModal.vue @@ -0,0 +1,83 @@ + + + + + + diff --git a/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveList.vue b/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveList.vue index ac99bc8..6c0e0ee 100644 --- a/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveList.vue +++ b/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveList.vue @@ -42,29 +42,6 @@ dictCode="period_type" placeholder="请选择周期类型" :ignoreDisabled="true" allowClear /> - - @@ -115,17 +92,11 @@ import { BasicTable, TableAction } from '/@/components/Table'; import { useListPage } from '/@/hooks/system/useListPage'; import { columns, superQuerySchema } from './ConfigServiceDirective.data'; import { listByDS } from './ConfigServiceDirective.api'; -import { useUserStore } from '/@/store/modules/user'; import JInput from "/@/components/Form/src/jeecg/components/JInput.vue"; import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; -import { cloneDeep } from "lodash-es"; -import { getFileAccessHttpUrl } from '/@/utils/common/compUtils'; const formRef = ref(); const queryParam = reactive({}); -const toggleSearchStatus = ref(false); -const registerModal = ref(); -const userStore = useUserStore(); const sourceOrgName = ref()//日志功能进来的-源平台机构名称 const targetOrgName = ref()//日志功能进来的-目标平台机构名称 //注册table数据 diff --git a/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveListModal.vue b/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveListModal.vue index 3f7cee3..e2219c6 100644 --- a/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveListModal.vue +++ b/src/views/synchronization/directive/serviceDirective/ConfigServiceDirectiveListModal.vue @@ -1,7 +1,4 @@