From e732938a3490cb05adaaeebda064353db4cbdef1 Mon Sep 17 00:00:00 2001 From: zk Date: Tue, 19 Dec 2023 14:26:27 +0800 Subject: [PATCH] update --- src/api/dictCode.ts | 13 + src/api/request.ts | 6 + src/assets/images/list.png | Bin 0 -> 3920 bytes src/assets/mapUtils/map.ts | 42 +-- src/assets/ts/antd.ts | 31 +- src/components/chinaMap/chinaMap.vue | 18 +- .../components/userInfoModal/allLook.vue | 32 ++ .../components/userInfoModal/allLookItem.vue | 283 ++++++++++++++++++ .../components/userInfoModal/bloodOxygen.vue | 197 ++++++++++++ .../components/userInfoModal/heartRate.vue | 197 ++++++++++++ .../components/userInfoModal/motion.vue | 123 ++++++++ .../components/userInfoModal/pressure.vue | 194 ++++++++++++ .../components/userInfoModal/publicTitle.vue | 240 +++++++++++++++ .../components/userInfoModal/sleep.vue | 242 +++++++++++++++ .../components/userInfoModal/stepNumber.vue | 199 ++++++++++++ .../components/userInfoModal/temperature.vue | 215 +++++++++++++ .../userInfoModal/userInfoModal.vue | 108 +++++++ .../secondMap/components/watchListDialog.vue | 54 +++- .../secondaryScreen/secondMap/secondMap.vue | 6 +- .../secondaryScreen/secondMap/secondMapApi.ts | 7 +- .../secondMap/secondMapHooks.ts | 8 + src/utils/propTypes.ts | 34 +++ src/views/components/emergencyDialog.vue | 25 +- src/views/components/employeeDialog.vue | 1 + src/views/index.vue | 23 +- 25 files changed, 2218 insertions(+), 80 deletions(-) create mode 100644 src/api/dictCode.ts create mode 100644 src/assets/images/list.png create mode 100644 src/components/secondaryScreen/secondMap/components/userInfoModal/allLook.vue create mode 100644 src/components/secondaryScreen/secondMap/components/userInfoModal/allLookItem.vue create mode 100644 src/components/secondaryScreen/secondMap/components/userInfoModal/bloodOxygen.vue create mode 100644 src/components/secondaryScreen/secondMap/components/userInfoModal/heartRate.vue create mode 100644 src/components/secondaryScreen/secondMap/components/userInfoModal/motion.vue create mode 100644 src/components/secondaryScreen/secondMap/components/userInfoModal/pressure.vue create mode 100644 src/components/secondaryScreen/secondMap/components/userInfoModal/publicTitle.vue create mode 100644 src/components/secondaryScreen/secondMap/components/userInfoModal/sleep.vue create mode 100644 src/components/secondaryScreen/secondMap/components/userInfoModal/stepNumber.vue create mode 100644 src/components/secondaryScreen/secondMap/components/userInfoModal/temperature.vue create mode 100644 src/components/secondaryScreen/secondMap/components/userInfoModal/userInfoModal.vue create mode 100644 src/utils/propTypes.ts diff --git a/src/api/dictCode.ts b/src/api/dictCode.ts new file mode 100644 index 0000000..8ec3c1e --- /dev/null +++ b/src/api/dictCode.ts @@ -0,0 +1,13 @@ +import { get } from '/@/api/request.ts'; + +enum Api { + code = '/sys/dictItem/list', +} + +export const getCodeInfo = (params: any) => + get(Api.code, { + pageNo: 1, + pageSize: 999, + dictId: '1722171687208849409', + ...params, + }); diff --git a/src/api/request.ts b/src/api/request.ts index 4b4b2d8..9ae55d3 100644 --- a/src/api/request.ts +++ b/src/api/request.ts @@ -3,7 +3,9 @@ import { getAppEnvConfig } from '../utils/env.ts'; import { useUserStore } from '/@/store/modules/user.ts'; import { getAuthCache } from '/@/utils/auth.ts'; import { TOKEN_KEY } from '/@/enum/cacheEnum.ts'; +import { useMessage } from '/@/hooks/web/useMessage.ts'; +const { createMessage, createErrorModal } = useMessage(); const { VITE_GLOB_API_URL } = getAppEnvConfig(); const userStore = useUserStore(); const { token } = userStore; @@ -21,6 +23,10 @@ const service = axios.create({ responseInterceptorsCatch(error: any) { const { response, code, message, config } = error || {}; const errorMessageMode = config?.requestOptions?.errorMessageMode || 'none'; + if (errorMessageMode === 'message') { + createMessage.error(message); + } + return Promise.reject(error); }, }); export const get = (url, params = {}) => { diff --git a/src/assets/images/list.png b/src/assets/images/list.png new file mode 100644 index 0000000000000000000000000000000000000000..c59ae4b7184ecd7a011cf0b14974da5526945724 GIT binary patch literal 3920 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 Ad;kCd literal 0 HcmV?d00001 diff --git a/src/assets/mapUtils/map.ts b/src/assets/mapUtils/map.ts index 22273cc..33d74e8 100644 --- a/src/assets/mapUtils/map.ts +++ b/src/assets/mapUtils/map.ts @@ -27,26 +27,28 @@ export const Map = { * @param option 地图配置 */ initMap({ el, option }: InitMap) { - AMapLoader.load({ - key: '4bbcb216b889f2d612cbed05ae6979c8', // 申请好的Web端开发者Key,首次调用 load 时必填 - // version: '1.4.15', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 - version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 - plugins: mapPlugin, // 需要使用的的插件列表,如比例尺'AMap.Scale'等 - }).then((res) => { - AMap = res; - const { zoom, center, mapStyle } = { ...defaultOption, ...option }; - //基本地图加载 - this.map = new AMap.Map(el, { - resizeEnable: true, - center: center, - zoom: zoom, - mapStyle: 'amap://styles/darkblue', - version: '2.0', - }); - // 异步同时加载多个插件 - new AMap.plugin(mapPlugin, () => { - this.drawInnerLine(); - this.drawOutLine(); + return new Promise((resolve) => { + AMapLoader.load({ + key: '4bbcb216b889f2d612cbed05ae6979c8', // 申请好的Web端开发者Key,首次调用 load 时必填 + version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 + plugins: mapPlugin, // 需要使用的的插件列表,如比例尺'AMap.Scale'等 + }).then((res) => { + AMap = res; + const { zoom, center, mapStyle } = { ...defaultOption, ...option }; + //基本地图加载 + this.map = new AMap.Map(el, { + resizeEnable: true, + center: center, + zoom: zoom, + mapStyle: 'amap://styles/darkblue', + version: '2.0', + }); + // 异步同时加载多个插件 + new AMap.plugin(mapPlugin, () => { + this.drawInnerLine(); + this.drawOutLine(); + }); + resolve(); }); }); } /** diff --git a/src/assets/ts/antd.ts b/src/assets/ts/antd.ts index 4d05721..fa94659 100644 --- a/src/assets/ts/antd.ts +++ b/src/assets/ts/antd.ts @@ -1,7 +1,34 @@ import type { App } from 'vue'; -import { Form, Input, Button, Radio, Modal, Table, Select, Cascader, Spin, ConfigProvider } from 'ant-design-vue'; +import { + Form, + Input, + Button, + Radio, + RadioGroup, + RadioButton, + DatePicker, + Modal, + Table, + Select, + Cascader, + Spin, + ConfigProvider, +} from 'ant-design-vue'; import dataV from '@iamzzg/data-view/dist/vue3/datav.map.vue.esm'; export default function registerGlobComp(app: App) { - app.use(dataV).use(Button).use(Form).use(Input).use(Radio).use(Modal).use(Table).use(Select).use(Cascader).use(Spin).use(ConfigProvider); + app.use(dataV) + .use(Button) + .use(Form) + .use(Input) + .use(Radio) + .use(RadioGroup) + .use(RadioButton) + .use(DatePicker) + .use(Modal) + .use(Table) + .use(Select) + .use(Cascader) + .use(Spin) + .use(ConfigProvider); } \ No newline at end of file diff --git a/src/components/chinaMap/chinaMap.vue b/src/components/chinaMap/chinaMap.vue index 670a426..a825dd5 100644 --- a/src/components/chinaMap/chinaMap.vue +++ b/src/components/chinaMap/chinaMap.vue @@ -143,19 +143,15 @@ }); onMounted(() => { console.log('reload'); - initMap(); - getMapData(tabList[0].type); - Map.map && Map.map.on('moveend', setLevel); - Map.map && Map.map.on('zoomend', setLevel); - $bus.on('alerdyreceive', (val) => { - footerData.value = val; + Map.initMap({ el: 'mapContainer' }).then(() => { + getMapData(tabList[0].type); + Map.map && Map.map.on('moveend', setLevel); + Map.map && Map.map.on('zoomend', setLevel); + $bus.on('alerdyreceive', (val) => { + footerData.value = val; + }); }); }); - - function initMap() { - Map.initMap({ el: 'mapContainer' }); - } - const routeList = ref([]); const showRoutePanel = ref(false); const panelTitle = ref(); diff --git a/src/components/secondaryScreen/secondMap/components/userInfoModal/allLook.vue b/src/components/secondaryScreen/secondMap/components/userInfoModal/allLook.vue new file mode 100644 index 0000000..4555a36 --- /dev/null +++ b/src/components/secondaryScreen/secondMap/components/userInfoModal/allLook.vue @@ -0,0 +1,32 @@ + + + diff --git a/src/components/secondaryScreen/secondMap/components/userInfoModal/allLookItem.vue b/src/components/secondaryScreen/secondMap/components/userInfoModal/allLookItem.vue new file mode 100644 index 0000000..3a50c7f --- /dev/null +++ b/src/components/secondaryScreen/secondMap/components/userInfoModal/allLookItem.vue @@ -0,0 +1,283 @@ + + + diff --git a/src/components/secondaryScreen/secondMap/components/userInfoModal/bloodOxygen.vue b/src/components/secondaryScreen/secondMap/components/userInfoModal/bloodOxygen.vue new file mode 100644 index 0000000..68d3505 --- /dev/null +++ b/src/components/secondaryScreen/secondMap/components/userInfoModal/bloodOxygen.vue @@ -0,0 +1,197 @@ + + + \ No newline at end of file diff --git a/src/components/secondaryScreen/secondMap/components/userInfoModal/heartRate.vue b/src/components/secondaryScreen/secondMap/components/userInfoModal/heartRate.vue new file mode 100644 index 0000000..ac31f75 --- /dev/null +++ b/src/components/secondaryScreen/secondMap/components/userInfoModal/heartRate.vue @@ -0,0 +1,197 @@ + + + diff --git a/src/components/secondaryScreen/secondMap/components/userInfoModal/motion.vue b/src/components/secondaryScreen/secondMap/components/userInfoModal/motion.vue new file mode 100644 index 0000000..66068f1 --- /dev/null +++ b/src/components/secondaryScreen/secondMap/components/userInfoModal/motion.vue @@ -0,0 +1,123 @@ + + + \ No newline at end of file diff --git a/src/components/secondaryScreen/secondMap/components/userInfoModal/pressure.vue b/src/components/secondaryScreen/secondMap/components/userInfoModal/pressure.vue new file mode 100644 index 0000000..5f6bdef --- /dev/null +++ b/src/components/secondaryScreen/secondMap/components/userInfoModal/pressure.vue @@ -0,0 +1,194 @@ + + + \ No newline at end of file diff --git a/src/components/secondaryScreen/secondMap/components/userInfoModal/publicTitle.vue b/src/components/secondaryScreen/secondMap/components/userInfoModal/publicTitle.vue new file mode 100644 index 0000000..fbbf048 --- /dev/null +++ b/src/components/secondaryScreen/secondMap/components/userInfoModal/publicTitle.vue @@ -0,0 +1,240 @@ + + + \ No newline at end of file diff --git a/src/components/secondaryScreen/secondMap/components/userInfoModal/sleep.vue b/src/components/secondaryScreen/secondMap/components/userInfoModal/sleep.vue new file mode 100644 index 0000000..9a0a2b6 --- /dev/null +++ b/src/components/secondaryScreen/secondMap/components/userInfoModal/sleep.vue @@ -0,0 +1,242 @@ + + + diff --git a/src/components/secondaryScreen/secondMap/components/userInfoModal/stepNumber.vue b/src/components/secondaryScreen/secondMap/components/userInfoModal/stepNumber.vue new file mode 100644 index 0000000..eaa29db --- /dev/null +++ b/src/components/secondaryScreen/secondMap/components/userInfoModal/stepNumber.vue @@ -0,0 +1,199 @@ + + + \ No newline at end of file diff --git a/src/components/secondaryScreen/secondMap/components/userInfoModal/temperature.vue b/src/components/secondaryScreen/secondMap/components/userInfoModal/temperature.vue new file mode 100644 index 0000000..5cb8f78 --- /dev/null +++ b/src/components/secondaryScreen/secondMap/components/userInfoModal/temperature.vue @@ -0,0 +1,215 @@ + + + \ No newline at end of file diff --git a/src/components/secondaryScreen/secondMap/components/userInfoModal/userInfoModal.vue b/src/components/secondaryScreen/secondMap/components/userInfoModal/userInfoModal.vue new file mode 100644 index 0000000..1f2041d --- /dev/null +++ b/src/components/secondaryScreen/secondMap/components/userInfoModal/userInfoModal.vue @@ -0,0 +1,108 @@ + + + \ No newline at end of file diff --git a/src/components/secondaryScreen/secondMap/components/watchListDialog.vue b/src/components/secondaryScreen/secondMap/components/watchListDialog.vue index 4af96af..06e0503 100644 --- a/src/components/secondaryScreen/secondMap/components/watchListDialog.vue +++ b/src/components/secondaryScreen/secondMap/components/watchListDialog.vue @@ -1,23 +1,32 @@ @@ -200,4 +203,4 @@ background: url('../assets/images/bottom-b.png') no-repeat; background-size: 100% 100%; } - + \ No newline at end of file