diff --git a/package.json b/package.json index 40a7292..3abf7b7 100644 --- a/package.json +++ b/package.json @@ -39,6 +39,7 @@ "vform3-builds": "3.0.8", "vue": "3.2.45", "vue-cropper": "1.0.3", + "vue-echarts": "^6.7.1", "vue-i18n": "9.2.2", "vue-router": "4.1.4", "vue-types": "^5.0.3" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index af42692..2ea73d4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -71,6 +71,9 @@ dependencies: vue-cropper: specifier: 1.0.3 version: 1.0.3 + vue-echarts: + specifier: ^6.7.1 + version: 6.7.1(echarts@5.4.0)(vue@3.2.45) vue-i18n: specifier: 9.2.2 version: 9.2.2(vue@3.2.45) @@ -742,8 +745,8 @@ packages: vue-i18n: optional: true dependencies: - '@intlify/message-compiler': 9.4.1 - '@intlify/shared': 9.4.1 + '@intlify/message-compiler': 10.0.0-alpha.2 + '@intlify/shared': 10.0.0-alpha.2 jsonc-eslint-parser: 1.4.1 source-map: 0.6.1 vue-i18n: 9.2.2(vue@3.2.45) @@ -765,6 +768,14 @@ packages: dependencies: '@intlify/shared': 9.2.2 + /@intlify/message-compiler@10.0.0-alpha.2: + resolution: {integrity: sha512-OGwttsMwB2BUzhZLraoAfAqcza5UyLMEU013ort3LbmdE6ke/pFONFyxjNQdmFWzW2K868AIVgwx4zo8lbmhjg==} + engines: {node: '>= 16'} + dependencies: + '@intlify/shared': 10.0.0-alpha.2 + source-map-js: 1.0.2 + dev: true + /@intlify/message-compiler@9.2.2: resolution: {integrity: sha512-IUrQW7byAKN2fMBe8z6sK6riG1pue95e5jfokn8hA5Q3Bqy4MBJ5lJAofUsawQJYHeoPJ7svMDyBaVJ4d0GTtA==} engines: {node: '>= 14'} @@ -772,23 +783,15 @@ packages: '@intlify/shared': 9.2.2 source-map: 0.6.1 - /@intlify/message-compiler@9.4.1: - resolution: {integrity: sha512-aN2N+dUx320108QhH51Ycd2LEpZ+NKbzyQ2kjjhqMcxhHdxtOnkgdx+MDBhOy/CObwBmhC3Nygzc6hNlfKvPNw==} + /@intlify/shared@10.0.0-alpha.2: + resolution: {integrity: sha512-pWlpsC3IqkDuIH/5bNlyyiUbAXYymeNXkznORzPWT3qpAe8MazPOm14wMHGn/wESCdB5b9txQson4+CH0ym1hQ==} engines: {node: '>= 16'} - dependencies: - '@intlify/shared': 9.4.1 - source-map-js: 1.0.2 dev: true /@intlify/shared@9.2.2: resolution: {integrity: sha512-wRwTpsslgZS5HNyM7uDQYZtxnbI12aGiBZURX3BTR9RFIKKRWpllTsgzHWvj3HKm3Y2Sh5LPC1r0PDCKEhVn9Q==} engines: {node: '>= 14'} - /@intlify/shared@9.4.1: - resolution: {integrity: sha512-A51elBmZWf1FS80inf/32diO9DeXoqg9GR9aUDHFcfHoNDuT46Q+fpPOdj8jiJnSHSBh8E1E+6qWRhAZXdK3Ng==} - engines: {node: '>= 16'} - dev: true - /@intlify/unplugin-vue-i18n@0.8.2(vue-i18n@9.2.2): resolution: {integrity: sha512-cRnzPqSEZQOmTD+p4pwc3RTS9HxreLqfID0keoqZDZweCy/CGRMLLTNd15S4TUf1vSBhPF03DItEFDr1F+8MDA==} engines: {node: '>= 14.16'} @@ -805,7 +808,7 @@ packages: optional: true dependencies: '@intlify/bundle-utils': 4.0.0(vue-i18n@9.2.2) - '@intlify/shared': 9.4.1 + '@intlify/shared': 10.0.0-alpha.2 '@rollup/pluginutils': 4.2.1 '@vue/compiler-sfc': 3.2.45 debug: 4.3.4 @@ -4276,6 +4279,10 @@ packages: engines: {node: '>=0.10'} dev: true + /resize-detector@0.3.0: + resolution: {integrity: sha512-R/tCuvuOHQ8o2boRP6vgx8hXCCy87H1eY9V5imBYeVNyNVpuL9ciReSccLj2gDcax9+2weXy3bc8Vv+NRXeEvQ==} + dev: false + /resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -5214,6 +5221,21 @@ packages: resolution: {integrity: sha512-yDrZkE4H5vOiMA9WQHE+6rmXrZ1S9TMZasEPAZPKg/2I/nySHL4ECD1lNxt7+ofTPKT+9+2sQkCwagPqEqiqJg==} dev: false + /vue-demi@0.13.11(vue@3.2.45): + resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + vue: 3.2.45 + dev: false + /vue-demi@0.14.7(vue@3.2.45): resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} @@ -5228,6 +5250,26 @@ packages: dependencies: vue: 3.2.45 + /vue-echarts@6.7.1(echarts@5.4.0)(vue@3.2.45): + resolution: {integrity: sha512-HYn54QBk1ILaQ+qA1PQGHwm3MsEFTD5NN9bmgk6wco8LcwKLnRC4HRM0ualYDGOJcCccTpnqD5DvIG0UH1+wDQ==} + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.5 + '@vue/runtime-core': ^3.0.0 + echarts: ^5.4.1 + vue: ^2.6.12 || ^3.1.1 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + '@vue/runtime-core': + optional: true + dependencies: + echarts: 5.4.0 + resize-detector: 0.3.0 + vue: 3.2.45 + vue-demi: 0.13.11(vue@3.2.45) + dev: false + /vue-eslint-parser@9.1.0(eslint@8.36.0): resolution: {integrity: sha512-NGn/iQy8/Wb7RrRa4aRkokyCZfOUWk19OP5HP6JEozQFX5AoS/t+Z0ZN7FY4LlmWc4FNI922V7cvX28zctN8dQ==} engines: {node: ^14.17.0 || >=16.0.0} diff --git a/src/api/activity/statistics/index.ts b/src/api/activity/statistics/index.ts index 607c80a..7807a50 100644 --- a/src/api/activity/statistics/index.ts +++ b/src/api/activity/statistics/index.ts @@ -1,16 +1,37 @@ import request from '@/utils/request'; import { AxiosPromise } from 'axios'; -/** - * 查询预警记录列表 - * @param query - * @returns {*} - */ -export const listWarnRecord = (query: any): AxiosPromise => { +export const getCompleteAll = (query: any): AxiosPromise => { return request({ - url: '/scale/warn/pageList', + url: '/scale/statistic/complete/all', method: 'get', params: query }); }; + + +export const getCompleteClass = (query: any): AxiosPromise => { + return request({ + url: '/scale/statistic/complete/class', + method: 'get', + params: query + }); +}; + +export const getWarnAll = (query: any): AxiosPromise => { + return request({ + url: '/scale/statistic/warn/all', + method: 'get', + params: query + }); +}; + + +export const getWarnClass = (query: any): AxiosPromise => { + return request({ + url: '/scale/statistic/warn/class', + method: 'get', + params: query + }); +}; \ No newline at end of file diff --git a/src/api/archive/interveneRecord/index.ts b/src/api/archive/interveneRecord/index.ts index ac83963..4cf24ae 100644 --- a/src/api/archive/interveneRecord/index.ts +++ b/src/api/archive/interveneRecord/index.ts @@ -16,6 +16,14 @@ export const listInterveneRecord = (query?: InterveneRecordQuery): AxiosPromise< }); }; +export const listInterveneTimes = (query?: any): AxiosPromise => { + return request({ + url: '/scale/intervene/times', + method: 'get', + params: query + }); +}; + /** * 查询干预记录详细 * @param interveneId diff --git a/src/views/activity/component/schedule/index.vue b/src/views/activity/component/schedule/index.vue index e658b7f..447ac13 100644 --- a/src/views/activity/component/schedule/index.vue +++ b/src/views/activity/component/schedule/index.vue @@ -27,12 +27,6 @@ 气质类型测试量表 - - - 禁用 - 启用 - - 普测 @@ -42,26 +36,13 @@ 2024-04-22 14:22:04 - - - 禁用 - 启用 - - 学生 - - - 禁用 - 启用 - - 五年级一班 - diff --git a/src/views/activity/component/statistics/index.vue b/src/views/activity/component/statistics/index.vue index 531a8fd..72b8821 100644 --- a/src/views/activity/component/statistics/index.vue +++ b/src/views/activity/component/statistics/index.vue @@ -14,7 +14,7 @@ - + - \ No newline at end of file + \ No newline at end of file diff --git a/src/views/archive/interveneRecord/index.vue b/src/views/archive/interveneRecord/index.vue index aff1847..b67f5fe 100644 --- a/src/views/archive/interveneRecord/index.vue +++ b/src/views/archive/interveneRecord/index.vue @@ -82,23 +82,8 @@ - - -

Update Github template

-

Tom committed 2018/4/12 20:46

-
-
- - -

Update Github template

-

Tom committed 2018/4/3 20:46

-
-
- - -

Update Github template

-

Tom committed 2018/4/2 20:46

-
+ + {{ item.name }}
@@ -109,7 +94,7 @@ import { listWarnRecord } from '@/api/archive/warnRecord'; import { WarnRecordVO, WarnRecordQuery, WarnRecordForm } from '@/api/archive/warnRecord/types'; -import { addInterveneRecord } from '@/api/archive/interveneRecord'; +import { addInterveneRecord, listInterveneTimes } from '@/api/archive/interveneRecord'; const { proxy } = getCurrentInstance() as ComponentInternalInstance; @@ -217,7 +202,12 @@ const handleUpdate = async (row?: WarnRecordVO) => { dialog.visible = true } -function handleList(row) { +const timeList = ref([]) +async function handleList(row: any) { + const userId = row.userId + const res = await listInterveneTimes({ userId }) + timeList.value = res.data + listDialog.value = true } diff --git a/src/views/scale/SysScaleList/index.vue b/src/views/scale/SysScaleList/index.vue index ca914fc..f8123e1 100644 --- a/src/views/scale/SysScaleList/index.vue +++ b/src/views/scale/SysScaleList/index.vue @@ -220,7 +220,7 @@ const handleSelectionChange = (selection: SysScaleVO[]) => { const handleAdd = () => { reset(); dialog.visible = true; - dialog.title = "添加心理测评量"; + dialog.title = "量表测评发布"; } /** 提交按钮 */