From 970d42f2ea5a33edd932e4b76f62cb7ddd2c8cf5 Mon Sep 17 00:00:00 2001 From: "1378012178@qq.com" <1378012178@qq.com> Date: Thu, 7 Aug 2025 16:24:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E6=8C=87=E4=BB=A4bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 2 + .env.development102 | 2 + .env.development103 | 2 + .env.production | 2 + src/api/common/api.ts | 16 ++ .../components/ConfigServiceDirectiveForm.vue | 6 +- .../components/ConfigServiceDirectiveList.vue | 22 +-- .../components/InstructionTagModal.vue | 14 +- .../ConfigServiceCategory.api.ts | 29 ++-- .../ConfigServiceCategoryList.vue | 2 +- .../components/ConfigServiceCategoryForm.vue | 2 +- .../components/ConfigServiceCategoryModal.vue | 24 ++- .../ConfigServiceDirective.api.ts | 9 ++ .../ConfigServiceDirectiveList.vue | 147 +++++++++++++----- .../components/ConfigServiceDirectiveForm.vue | 36 +++-- .../ConfigServiceDirectiveModal.vue | 42 +++-- .../components/DirectiveRespositoryList.vue | 42 +++-- .../components/ConfigServiceDirectiveForm.vue | 6 +- .../components/ConfigServiceDirectiveList.vue | 4 +- .../serviceType/ConfigServiceType.api.ts | 10 +- .../serviceType/ConfigServiceTypeList.vue | 6 +- .../components/ConfigServiceTypeForm.vue | 4 +- .../components/ConfigServiceTypeModal.vue | 33 +++- 23 files changed, 334 insertions(+), 128 deletions(-) diff --git a/.env.development b/.env.development index cb4013e..f8e1f53 100644 --- a/.env.development +++ b/.env.development @@ -20,6 +20,8 @@ VITE_GLOB_API_URL_PREFIX= #微前端qiankun应用,命名必须以VITE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径 VITE_APP_SUB_jeecg-app-1 = '//localhost:8091' +# 业务平台所在服务器nginx中静态资源media对应的路径 开头结尾都要带斜杠 +VITE_NGINX_MEDIA_LOCATION = '/media101/upFiles101/' # 填写后将作为乾坤子应用启动,主应用注册时AppName需保持一致(放开 VITE_GLOB_QIANKUN_MICRO_APP_NAME 参数表示jeecg-vue3将以乾坤子应用模式启动) #VITE_GLOB_QIANKUN_MICRO_APP_NAME=jeecg-vue3 diff --git a/.env.development102 b/.env.development102 index 7e5d468..ebf1b42 100644 --- a/.env.development102 +++ b/.env.development102 @@ -20,6 +20,8 @@ VITE_GLOB_API_URL_PREFIX= #微前端qiankun应用,命名必须以VITE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径 VITE_APP_SUB_jeecg-app-1 = '//localhost:8092' +# 业务平台所在服务器nginx中静态资源media对应的路径 开头结尾都要带斜杠 +VITE_NGINX_MEDIA_LOCATION = '/media102/upFiles102/' # 填写后将作为乾坤子应用启动,主应用注册时AppName需保持一致(放开 VITE_GLOB_QIANKUN_MICRO_APP_NAME 参数表示jeecg-vue3将以乾坤子应用模式启动) #VITE_GLOB_QIANKUN_MICRO_APP_NAME=jeecg-vue3 diff --git a/.env.development103 b/.env.development103 index f7bf6b7..0df29c2 100644 --- a/.env.development103 +++ b/.env.development103 @@ -20,6 +20,8 @@ VITE_GLOB_API_URL_PREFIX= #微前端qiankun应用,命名必须以VITE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径 VITE_APP_SUB_jeecg-app-1 = '//localhost:8092' +# 业务平台所在服务器nginx中静态资源media对应的路径 开头结尾都要带斜杠 +VITE_NGINX_MEDIA_LOCATION = '/media103/upFiles103/' # 填写后将作为乾坤子应用启动,主应用注册时AppName需保持一致(放开 VITE_GLOB_QIANKUN_MICRO_APP_NAME 参数表示jeecg-vue3将以乾坤子应用模式启动) #VITE_GLOB_QIANKUN_MICRO_APP_NAME=jeecg-vue3 diff --git a/.env.production b/.env.production index 3a10e4e..64fa3b8 100644 --- a/.env.production +++ b/.env.production @@ -21,6 +21,8 @@ VITE_GLOB_DOMAIN_URL=https://www.focusnu.com/nursingunit103 # 接口父路径前缀 VITE_GLOB_API_URL_PREFIX= +# 业务平台所在服务器nginx中静态资源media对应的路径 开头结尾都要带斜杠 +VITE_NGINX_MEDIA_LOCATION = '/media103/upFiles103/' # 填写后将作为乾坤子应用启动,主应用注册时AppName需保持一致(放开 VITE_GLOB_QIANKUN_MICRO_APP_NAME 参数表示jeecg-vue3将以乾坤子应用模式启动) #VITE_GLOB_QIANKUN_MICRO_APP_NAME=jeecg-vue3 diff --git a/src/api/common/api.ts b/src/api/common/api.ts index 98c8372..8d3f2ff 100644 --- a/src/api/common/api.ts +++ b/src/api/common/api.ts @@ -17,6 +17,8 @@ enum Api { getCategoryData = '/sys/category/loadAllData', getNuList = '/iot/tplink/cameraInfo/nuList', getOrgInfo = '/sys/api/getOrgInfo', + getApiAddressByOrgCode = '/sys/api/getApiAddressByOrgCode', + getOrgUrlByOrgCode = '/sys/api/getOrgUrlByOrgCode', } /** @@ -27,6 +29,20 @@ export const getNuList = (params) => { return defHttp.get({ url: Api.getNuList, params }); }; +/** + * 获取机构对应api接口地址 + * @param params + */ +export const getApiAddressByOrgCode = (params) => { + return defHttp.get({ url: Api.getApiAddressByOrgCode, params }); +}; +/** + * 获取机构对应协议域名 + * @param params + */ +export const getOrgUrlByOrgCode = (params) => { + return defHttp.get({ url: Api.getOrgUrlByOrgCode, params }); +}; /** * 上传父路径 */ diff --git a/src/views/services/directivePackage/components/ConfigServiceDirectiveForm.vue b/src/views/services/directivePackage/components/ConfigServiceDirectiveForm.vue index e53a75a..1e59e17 100644 --- a/src/views/services/directivePackage/components/ConfigServiceDirectiveForm.vue +++ b/src/views/services/directivePackage/components/ConfigServiceDirectiveForm.vue @@ -9,7 +9,7 @@ @@ -251,9 +251,9 @@ watch( (newCategoryId) => { if (!newCategoryId) { formData.typeId = ''; - typeDictCode.value = 'nu_config_service_type,type_name,id,del_flag = 99 order by sort asc'; + typeDictCode.value = 'nu_config_service_type,type_name,id,1=2'; } else { - typeDictCode.value = `nu_config_service_type,type_name,id,del_flag = 0 and category_id = '${newCategoryId}' order by sort asc`; + typeDictCode.value = `nu_config_service_type,type_name,id,del_flag = 0 and iz_enabled = 0 and category_id = '${newCategoryId}' order by sort asc`; } } ); diff --git a/src/views/services/directivePackage/components/ConfigServiceDirectiveList.vue b/src/views/services/directivePackage/components/ConfigServiceDirectiveList.vue index 76ba106..25e296f 100644 --- a/src/views/services/directivePackage/components/ConfigServiceDirectiveList.vue +++ b/src/views/services/directivePackage/components/ConfigServiceDirectiveList.vue @@ -17,7 +17,7 @@ @@ -25,8 +25,8 @@ + :dictCode="`nu_config_service_type,type_name,id,del_flag = 0 and iz_enabled = 0 and category_id = ${queryParam.categoryId || -1} order by sort asc`" + placeholder="请选择服务类型" :ignoreDisabled="true" allowClear /> @@ -160,9 +160,9 @@ function handleSuccess() { (selectedRowKeys.value = []) && reload(); } -function getInstructionName(record){ -console.log("🚀 ~ getInstructionName ~ record:", record) -return ""; +function getInstructionName(record) { + console.log("🚀 ~ getInstructionName ~ record:", record) + return ""; } /** @@ -171,7 +171,7 @@ return ""; */ function handleSelect(directive_) { console.log("🚀 ~ handleSelect ~ directive_:", directive_) - queryParam.instructionTagId =directive_.instructionTagId + queryParam.instructionTagId = directive_.instructionTagId reload(); emit('addDirective', directive_) } @@ -258,10 +258,10 @@ function handleTags(prefix, tagList, suffix) { } } function edit(record) { -console.log("🚀 ~ edit ~ record:", record) -directiveInfo.value = record -console.log("🚀 ~ edit ~ directiveInfo:", directiveInfo) -queryParam.instructionTagId = record.instructionTagId + console.log("🚀 ~ edit ~ record:", record) + directiveInfo.value = record + console.log("🚀 ~ edit ~ directiveInfo:", directiveInfo) + queryParam.instructionTagId = record.instructionTagId } defineExpose({ diff --git a/src/views/services/instructiontag/components/InstructionTagModal.vue b/src/views/services/instructiontag/components/InstructionTagModal.vue index 82fdd9b..95ff5e7 100644 --- a/src/views/services/instructiontag/components/InstructionTagModal.vue +++ b/src/views/services/instructiontag/components/InstructionTagModal.vue @@ -77,18 +77,20 @@ function handleCancel() { visible.value = false; } -function usingOrStop(id, izEnabled) { +function usingOrStop(id, izEnabled,refresh = false) { let params = { id, izEnabled } saveOrUpdate(params, true).then((res) => { - if (res.success) { - createMessage.success(res.message); - } else { - createMessage.warning(res.message); + if(refresh){ + if (res.success) { + createMessage.success(res.message); + } else { + createMessage.warning(res.message); + } + emit('success') } - emit('success') }) } diff --git a/src/views/services/serviceCategory/ConfigServiceCategory.api.ts b/src/views/services/serviceCategory/ConfigServiceCategory.api.ts index 0b2ee7d..b3d3e90 100644 --- a/src/views/services/serviceCategory/ConfigServiceCategory.api.ts +++ b/src/views/services/serviceCategory/ConfigServiceCategory.api.ts @@ -1,16 +1,17 @@ import { defHttp } from '/@/utils/http/axios'; -import { useMessage } from "/@/hooks/web/useMessage"; +import { useMessage } from '/@/hooks/web/useMessage'; const { createConfirm } = useMessage(); enum Api { list = '/services/serviceCategory/configServiceCategory/list', - save='/services/serviceCategory/configServiceCategory/add', - edit='/services/serviceCategory/configServiceCategory/edit', + save = '/services/serviceCategory/configServiceCategory/add', + edit = '/services/serviceCategory/configServiceCategory/edit', deleteOne = '/services/serviceCategory/configServiceCategory/delete', deleteBatch = '/services/serviceCategory/configServiceCategory/deleteBatch', importExcel = '/services/serviceCategory/configServiceCategory/importExcel', exportXls = '/services/serviceCategory/configServiceCategory/exportXls', + useOrStopCascade = '/services/serviceCategory/configServiceCategory/useOrStopCascade', } /** @@ -35,11 +36,11 @@ 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(() => { +export const deleteOne = (params, handleSuccess) => { + return defHttp.delete({ url: Api.deleteOne, params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); -} +}; /** * 批量删除 @@ -54,12 +55,12 @@ export const batchDelete = (params, handleSuccess) => { okText: '确认', cancelText: '取消', onOk: () => { - return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); - } + }, }); -} +}; /** * 保存或者更新 @@ -69,4 +70,12 @@ export const batchDelete = (params, handleSuccess) => { export const saveOrUpdate = (params, isUpdate) => { let url = isUpdate ? Api.edit : Api.save; return defHttp.post({ url: url, params }, { isTransformResponse: false }); -} +}; + +/** + * 启用/停用分类标签下所有服务类别 + * @param params + */ +export const useOrStopCascade = (params) => { + return defHttp.post({ url: Api.useOrStopCascade, params }); +}; diff --git a/src/views/services/serviceCategory/ConfigServiceCategoryList.vue b/src/views/services/serviceCategory/ConfigServiceCategoryList.vue index e0c4140..510ee32 100644 --- a/src/views/services/serviceCategory/ConfigServiceCategoryList.vue +++ b/src/views/services/serviceCategory/ConfigServiceCategoryList.vue @@ -9,7 +9,7 @@ diff --git a/src/views/services/serviceCategory/components/ConfigServiceCategoryForm.vue b/src/views/services/serviceCategory/components/ConfigServiceCategoryForm.vue index 2c16156..33c106c 100644 --- a/src/views/services/serviceCategory/components/ConfigServiceCategoryForm.vue +++ b/src/views/services/serviceCategory/components/ConfigServiceCategoryForm.vue @@ -9,7 +9,7 @@ diff --git a/src/views/services/serviceCategory/components/ConfigServiceCategoryModal.vue b/src/views/services/serviceCategory/components/ConfigServiceCategoryModal.vue index 3e90126..718f316 100644 --- a/src/views/services/serviceCategory/components/ConfigServiceCategoryModal.vue +++ b/src/views/services/serviceCategory/components/ConfigServiceCategoryModal.vue @@ -22,7 +22,7 @@ import { ref, nextTick, defineExpose } from 'vue'; import ConfigServiceCategoryForm from './ConfigServiceCategoryForm.vue' import JModal from '/@/components/Modal/src/JModal/JModal.vue'; import { useMessage } from '/@/hooks/web/useMessage'; -import { saveOrUpdate } from '../ConfigServiceCategory.api'; +import { saveOrUpdate,useOrStopCascade } from '../ConfigServiceCategory.api'; const { createMessage } = useMessage(); const title = ref(''); @@ -77,7 +77,7 @@ function handleCancel() { visible.value = false; } -function usingOrStop(id, izEnabled) { +function usingOrStop(id, izEnabled,refresh = true) { let params = { id, izEnabled @@ -88,7 +88,24 @@ function usingOrStop(id, izEnabled) { } else { createMessage.warning(res.message); } - emit('success') + if(refresh){ + emit('success') + } + }) +} + +function usingOrStopByCascade(instructionId, izEnabled,refresh = true) { + let params = { + instructionId, + izEnabled + } + useOrStopCascade(params).then((res) => { + if(refresh){ + createMessage.success('操作成功'); + emit('success') + } + }).catch(()=>{ + createMessage.success('操作失败'); }) } @@ -97,6 +114,7 @@ defineExpose({ edit, disableSubmit, usingOrStop, + usingOrStopByCascade, }); diff --git a/src/views/services/serviceDirective/ConfigServiceDirective.api.ts b/src/views/services/serviceDirective/ConfigServiceDirective.api.ts index e85e95f..c0541d6 100644 --- a/src/views/services/serviceDirective/ConfigServiceDirective.api.ts +++ b/src/views/services/serviceDirective/ConfigServiceDirective.api.ts @@ -20,6 +20,7 @@ enum Api { listByDS = '/services/serviceDirective/listByDS', idListByDS = '/services/serviceDirective/idListByDS', syncDirective = '/services/serviceDirective/syncDirective', + useOrStopCascade = '/services/serviceDirective/useOrStopCascade', } /** @@ -133,3 +134,11 @@ export const syncMediaForAllBiz = (params) => { export const syncDirective = (dataSourceCode: string, params: any) => { return defHttp.post({ url: `${Api.syncDirective}?sourceOrgCode=${encodeURIComponent(dataSourceCode)}`, params }); }; + +/** + * 启用/停用分类标签或服务类别或服务类型下所有服务指令 + * @param params + */ +export const useOrStopCascade = (params) => { + return defHttp.post({ url: Api.useOrStopCascade, params }); +}; \ No newline at end of file diff --git a/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue b/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue index 05c6c8a..098d0b8 100644 --- a/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue +++ b/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue @@ -9,7 +9,7 @@ @@ -18,7 +18,7 @@ @@ -27,7 +27,7 @@ --> @@ -41,16 +41,16 @@ + :dictCode="`nu_config_body_tag,tag_name,id,del_flag = '0' and iz_enabled = 0 order by sort asc`" + :ignoreDisabled="true" placeholder="请选择体型标签" allowClear /> + :dictCode="`nu_config_emotion_tag,tag_name,id,del_flag = '0' and iz_enabled = 0 order by sort asc`" + :ignoreDisabled="true" placeholder="请选择情绪标签" allowClear />