diff --git a/.env.production b/.env.production index 04195f8..cb59464 100644 --- a/.env.production +++ b/.env.production @@ -2,7 +2,7 @@ VITE_USE_MOCK = false # 发布路径 -VITE_PUBLIC_PATH = /biz101 +VITE_PUBLIC_PATH = /biz103 # 是否启用gzip或brotli压缩 # 选项值: gzip | brotli | none @@ -13,10 +13,10 @@ VITE_BUILD_COMPRESS = 'gzip' VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false #后台接口父地址(必填) -VITE_GLOB_API_URL=/nursingunit101 +VITE_GLOB_API_URL=/nursingunit103 #后台接口全路径地址(必填) -VITE_GLOB_DOMAIN_URL=https://www.focusnu.com/nursingunit101 +VITE_GLOB_DOMAIN_URL=https://www.focusnu.com/nursingunit103 # 接口父路径前缀 VITE_GLOB_API_URL_PREFIX= diff --git a/src/App.vue b/src/App.vue index 504bee8..bd6c067 100644 --- a/src/App.vue +++ b/src/App.vue @@ -106,4 +106,8 @@ img { color: #69c0ff !important; } -// update-end--author:liaozhiyang---date:20230803---for:【QQYUN-5839】windi会影响到html2canvas绘制的图片样式 +.p-2{ + padding: 14px; +} +// update-end--author:liaozhiyang---date:20230803---for:【QQYUN-5839】windi会影响到html2canvas绘制的图片样式 + diff --git a/src/hooks/web/useResponsive.ts b/src/hooks/web/useResponsive.ts new file mode 100644 index 0000000..0a8eb67 --- /dev/null +++ b/src/hooks/web/useResponsive.ts @@ -0,0 +1,45 @@ +import { ref, onMounted, onBeforeUnmount, computed } from 'vue'; + +// 屏幕尺寸枚举(可根据实际需求调整) +export enum ScreenEnum { + XS = 480, + SM = 576, + MD = 768, + LG = 992, + XL = 1200, + XXL = 1600, +} + +export function useResponsive() { + const screenWidth = ref(window.innerWidth); + const screenHeight = ref(window.innerHeight); + + const getScreenEnum = computed(() => { + if (screenWidth.value >= ScreenEnum.XXL) return ScreenEnum.XXL; + if (screenWidth.value >= ScreenEnum.XL) return ScreenEnum.XL; + if (screenWidth.value >= ScreenEnum.LG) return ScreenEnum.LG; + if (screenWidth.value >= ScreenEnum.MD) return ScreenEnum.MD; + if (screenWidth.value >= ScreenEnum.SM) return ScreenEnum.SM; + return ScreenEnum.XS; + }); + + const handleResize = () => { + screenWidth.value = window.innerWidth; + screenHeight.value = window.innerHeight; + }; + + onMounted(() => { + window.addEventListener('resize', handleResize); + }); + + onBeforeUnmount(() => { + window.removeEventListener('resize', handleResize); + }); + + return { + screenEnum: ScreenEnum, + screenWidth, + screenHeight, + getScreenEnum, + }; +} \ No newline at end of file diff --git a/src/layouts/default/header/index.vue b/src/layouts/default/header/index.vue index d43e1d0..8b8b832 100644 --- a/src/layouts/default/header/index.vue +++ b/src/layouts/default/header/index.vue @@ -263,10 +263,18 @@ } .headClass{ +<<<<<<< .mine // background-image: url('../resource/img/bj.png') !important; // background-repeat: no-repeat; // background-size: 100% auto; // background-color: #eef3f8 !important; background: linear-gradient(to right, #e2edff, #eef3f8) !important; +======= + // background-image: url('../resource/img/bj.png') !important; + // background-repeat: no-repeat; + // background-size: 100% auto; + // background-color: #e5f5f9 !important; + +>>>>>>> .theirs } diff --git a/src/main.ts b/src/main.ts index 32231b8..c861efe 100644 --- a/src/main.ts +++ b/src/main.ts @@ -83,10 +83,10 @@ async function bootstrap(props?: MainAppProps) { setupErrorHandle(app); // 注册第三方组件 - // await registerThirdComp(app); + await registerThirdComp(app); // 当路由准备好时再执行挂载( https://next.router.vuejs.org/api/#isready) - // await router.isReady(); + await router.isReady(); // 挂载应用 app.mount(getMountContainer(props), true); diff --git a/src/views/elder/eldertag/ElderTag.api.ts b/src/views/elder/eldertag/ElderTag.api.ts new file mode 100644 index 0000000..8b461fc --- /dev/null +++ b/src/views/elder/eldertag/ElderTag.api.ts @@ -0,0 +1,97 @@ +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/elder/elderTag/list', + save='/elder/elderTag/add', + edit='/elder/elderTag/edit', + deleteOne = '/elder/elderTag/delete', + deleteBatch = '/elder/elderTag/deleteBatch', + importExcel = '/elder/elderTag/importExcel', + exportXls = '/elder/elderTag/exportXls', + listByDS = '/elder/elderTag/listByDS', + idListByDS = '/elder/elderTag/idListByDS', + syncElderTag = '/elder/elderTag/syncElderTag', +} + +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; + +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; + +/** + * 列表接口 + * @param params + */ +export const list = (params) => defHttp.get({ url: Api.list, params }); + +/** + * 删除单个 + * @param params + * @param handleSuccess + */ +export const deleteOne = (params,handleSuccess) => { + return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); +} + +/** + * 批量删除 + * @param params + * @param handleSuccess + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} + +/** + * 保存或者更新 + * @param params + * @param isUpdate + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({ url: url, params }, { isTransformResponse: false }); +} + +/** + * 列表接口 - 变更数据源 + * @param params + */ +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 syncElderTag = (dataSourceCode: string, params: any) => { + return defHttp.post({ url: `${Api.syncElderTag}?sourceOrgCode=${encodeURIComponent(dataSourceCode)}`, params }); +}; \ No newline at end of file diff --git a/src/views/elder/eldertag/ElderTag.data.ts b/src/views/elder/eldertag/ElderTag.data.ts new file mode 100644 index 0000000..5d681eb --- /dev/null +++ b/src/views/elder/eldertag/ElderTag.data.ts @@ -0,0 +1,49 @@ +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: 'type_dictText', + }, + { + title: '标签名称', + align: 'center', + dataIndex: 'tagName', + }, + { + title: '价格(元)', + align: 'center', + dataIndex: 'price', + }, + { + title: '图标', + align: 'center', + dataIndex: 'pic', + customRender: render.renderImage, + }, + { + title: '排序', + align: 'center', + dataIndex: 'sort', + }, + { + title: '是否启用', + align: 'center', + dataIndex: 'izEnabled_dictText', + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + type: { title: '标签类型', order: 0, view: 'text', type: 'string' }, + tagName: { title: '标签名称', order: 1, view: 'text', type: 'string' }, + price: { title: '价格', order: 2, view: 'number', type: 'number' }, + pic: { title: '图标', order: 3, view: 'text', type: 'string' }, + sort: { title: '排序', order: 4, view: 'number', type: 'number' }, + izEnabled: { title: '是否启用', order: 5, view: 'text', type: 'string' }, +}; diff --git a/src/views/elder/eldertag/ElderTagList.vue b/src/views/elder/eldertag/ElderTagList.vue new file mode 100644 index 0000000..a6ddff7 --- /dev/null +++ b/src/views/elder/eldertag/ElderTagList.vue @@ -0,0 +1,271 @@ + + + + + diff --git a/src/views/elder/eldertag/components/ElderTag.data.ts b/src/views/elder/eldertag/components/ElderTag.data.ts new file mode 100644 index 0000000..30e954d --- /dev/null +++ b/src/views/elder/eldertag/components/ElderTag.data.ts @@ -0,0 +1,43 @@ +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: 'type_dictText', + }, + { + title: '标签名称', + align: 'center', + dataIndex: 'tagName', + }, + { + title: '价格(元)', + align: 'center', + dataIndex: 'price', + }, + { + title: '排序', + align: 'center', + dataIndex: 'sort', + }, + { + title: '是否启用', + align: 'center', + dataIndex: 'izEnabled_dictText', + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + type: { title: '标签类型', order: 0, view: 'text', type: 'string' }, + tagName: { title: '标签名称', order: 1, view: 'text', type: 'string' }, + price: { title: '价格', order: 2, view: 'number', type: 'number' }, + pic: { title: '图标', order: 3, view: 'text', type: 'string' }, + sort: { title: '排序', order: 4, view: 'number', type: 'number' }, + izEnabled: { title: '是否启用', order: 5, view: 'text', type: 'string' }, +}; diff --git a/src/views/elder/eldertag/components/ElderTagForm.vue b/src/views/elder/eldertag/components/ElderTagForm.vue new file mode 100644 index 0000000..93195ea --- /dev/null +++ b/src/views/elder/eldertag/components/ElderTagForm.vue @@ -0,0 +1,208 @@ + + + + + diff --git a/src/views/elder/eldertag/components/ElderTagModal.vue b/src/views/elder/eldertag/components/ElderTagModal.vue new file mode 100644 index 0000000..ae7644d --- /dev/null +++ b/src/views/elder/eldertag/components/ElderTagModal.vue @@ -0,0 +1,144 @@ + + + + + + diff --git a/src/views/elder/eldertag/components/ElderTagRespositoryList.vue b/src/views/elder/eldertag/components/ElderTagRespositoryList.vue new file mode 100644 index 0000000..7a99edd --- /dev/null +++ b/src/views/elder/eldertag/components/ElderTagRespositoryList.vue @@ -0,0 +1,312 @@ + + + + + diff --git a/src/views/invoicing/ConfigMaterial/ConfigMaterialInfoList.vue b/src/views/invoicing/ConfigMaterial/ConfigMaterialInfoList.vue index 2dae1b5..c997cfa 100644 --- a/src/views/invoicing/ConfigMaterial/ConfigMaterialInfoList.vue +++ b/src/views/invoicing/ConfigMaterial/ConfigMaterialInfoList.vue @@ -2,55 +2,63 @@
- + + + + + - - - - + + + + - - - - - - --> - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + 查询 - 重置 + 重置 @@ -58,513 +66,540 @@
-
-
-
+
+
+
+
全部 启用
-
- 一级分类 +
+ 一级分类
- - -
+ + +
-
- - - - + + + - - - - -
+ + + + +
- - - + + + - + - + +
\ No newline at end of file diff --git a/src/views/services/serviceDirective/ConfigServiceDirective.data.ts b/src/views/services/serviceDirective/ConfigServiceDirective.data.ts index 9677605..b0c2edb 100644 --- a/src/views/services/serviceDirective/ConfigServiceDirective.data.ts +++ b/src/views/services/serviceDirective/ConfigServiceDirective.data.ts @@ -38,34 +38,34 @@ export const columns: BasicColumn[] = [ align: 'center', dataIndex: 'directiveName', }, - { - title: '体型标签', - align: 'center', - dataIndex: 'bodyTagList', - width: 150, - ellipsis: false, - // format(text, record, index) { - // if (!!text) { - // return text.map((item) => item.tagName).join('、'); - // } else { - // return '-'; - // } - // }, - }, - { - title: '情绪标签', - align: 'center', - dataIndex: 'emotionTagList', - width: 150, - ellipsis: false, - // format(text, record, index) { - // if (!!text) { - // return text.map((item) => item.tagName).join('、'); - // } else { - // return '-'; - // } - // }, - }, + // { + // title: '体型标签', + // align: 'center', + // dataIndex: 'bodyTagList', + // width: 150, + // ellipsis: false, + // // format(text, record, index) { + // // if (!!text) { + // // return text.map((item) => item.tagName).join('、'); + // // } else { + // // return '-'; + // // } + // // }, + // }, + // { + // title: '情绪标签', + // align: 'center', + // dataIndex: 'emotionTagList', + // width: 150, + // ellipsis: false, + // // format(text, record, index) { + // // if (!!text) { + // // return text.map((item) => item.tagName).join('、'); + // // } else { + // // return '-'; + // // } + // // }, + // }, { title: '收费价格', align: 'center', diff --git a/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue b/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue index 40d96fd..5b22c78 100644 --- a/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue +++ b/src/views/services/serviceDirective/ConfigServiceDirectiveList.vue @@ -37,7 +37,7 @@ - + -
+ + {{ data?.title + '(' + data?.cycleTypeName + ')' }} {{ data?.title }} (已停用) @@ -124,7 +124,7 @@
-
+
@@ -134,14 +134,14 @@ 配置服务类别 配置服务类型 --> - 配置体型标签 配置情绪标签 + preIcon="tabler:settings">配置情绪标签 --> 指令库 + preIcon="ant-design:profile-outlined">标准指令库