修复问题和编写因子图表
This commit is contained in:
parent
364d65e17c
commit
a9d30b70e7
|
@ -36,6 +36,24 @@ export const getWarnClass = (query: any): AxiosPromise<any[]> => {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const getFactorAll = (query: any): AxiosPromise<any[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/scale/statistic/factor/all',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
export const getFactorClass = (query: any): AxiosPromise<any[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/scale/statistic/factor/class',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
export const getSchedule = (query: any): AxiosPromise<any[]> => {
|
export const getSchedule = (query: any): AxiosPromise<any[]> => {
|
||||||
return request({
|
return request({
|
||||||
url: '/scale/publish/evaluation/pageList',
|
url: '/scale/publish/evaluation/pageList',
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
import request from '@/utils/request';
|
||||||
|
import { AxiosPromise } from 'axios';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询预警记录列表
|
||||||
|
* @param query
|
||||||
|
* @returns {*}
|
||||||
|
*/
|
||||||
|
|
||||||
|
export const listArchive = (query?: any): AxiosPromise<any[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/scale/archive/pageList',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export const listStatistic = (query?: any): AxiosPromise<any[]> => {
|
||||||
|
return request({
|
||||||
|
url: '/scale/archive/statistic/pageList',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
|
@ -62,9 +62,9 @@ export interface SysScaleFactorForm extends BaseEntity {
|
||||||
*/
|
*/
|
||||||
formulaId?: string | number;
|
formulaId?: string | number;
|
||||||
|
|
||||||
questionIds:[],
|
questionIds: any[],
|
||||||
|
|
||||||
factorRangeList:any[]
|
factorRangeList: any[]
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SysScaleFactorQuery extends PageQuery {
|
export interface SysScaleFactorQuery extends PageQuery {
|
||||||
|
@ -94,10 +94,10 @@ export interface SysScaleFactorQuery extends PageQuery {
|
||||||
*/
|
*/
|
||||||
formulaId?: string | number;
|
formulaId?: string | number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 日期范围参数
|
* 日期范围参数
|
||||||
*/
|
*/
|
||||||
params?: any;
|
params?: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="title">整体进度</div>
|
<!-- <div class="title">整体进度</div>
|
||||||
<div style="margin-top: 10px;">
|
<div style="margin-top: 10px;">
|
||||||
<el-progress :text-inside="true" :stroke-width="26" :percentage="1" status="warning" />
|
<el-progress :text-inside="true" :stroke-width="26" :percentage="1" status="warning" />
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
<el-card style="margin-top: 10px;">
|
<!-- <el-card style="margin-top: 10px;">
|
||||||
<template #header>
|
<template #header>
|
||||||
<div class="card-header">
|
<div class="card-header">
|
||||||
<span>气质类型测试量表(1/75)</span>
|
<span>气质类型测试量表(1/75)</span>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-progress :text-inside="true" :stroke-width="26" :percentage="1" />
|
<el-progress :text-inside="true" :stroke-width="26" :percentage="1" />
|
||||||
</el-card>
|
</el-card> -->
|
||||||
|
|
||||||
<el-card style="margin-top: 10px">
|
<el-card style="margin-top: 10px">
|
||||||
<template #header>
|
<template #header>
|
||||||
|
@ -94,7 +94,6 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import api from "@/api/system/user"
|
|
||||||
import { getScalePublish } from '@/api/scale/scalePublish';
|
import { getScalePublish } from '@/api/scale/scalePublish';
|
||||||
import { getSchedule } from '@/api/activity/statistics'
|
import { getSchedule } from '@/api/activity/statistics'
|
||||||
import { deptTreeSelect } from "@/api/system/user"
|
import { deptTreeSelect } from "@/api/system/user"
|
||||||
|
@ -150,7 +149,9 @@ function handleQuery() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function resetQuery() {
|
function resetQuery() {
|
||||||
queryFormRef.value.restFields()
|
queryParams.value.scaleId = ''
|
||||||
|
queryParams.value.deptId = ''
|
||||||
|
|
||||||
handleQuery()
|
handleQuery()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -80,23 +80,10 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-row justify="space-between">
|
<div class="chart-grid">
|
||||||
<el-col :span="8">
|
<v-chart v-for="item in factorDataList" style="height: 300px;" :option="item" autoresize />
|
||||||
<v-chart style="height: 300px;" :option="pieOption" autoresize />
|
</div>
|
||||||
</el-col>
|
|
||||||
<el-col :span="16">
|
|
||||||
<v-chart style="height: 300px;" :option="barOption" autoresize />
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
<el-row justify="center">
|
|
||||||
<el-table :data="completeTable" style="width: 100%;">
|
|
||||||
<el-table-column prop="name" :label="radio == 1 ? '年级' : '班级'" />
|
|
||||||
<el-table-column prop="join" label="参与人员" />
|
|
||||||
<el-table-column prop="finish" label="完成人数" />
|
|
||||||
<el-table-column prop="finishRate" label="完成率" />
|
|
||||||
</el-table>
|
|
||||||
</el-row>
|
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
|
@ -106,7 +93,7 @@ import { ref, onMounted } from 'vue'
|
||||||
import * as echarts from 'echarts';
|
import * as echarts from 'echarts';
|
||||||
|
|
||||||
import { getScalePublish } from '@/api/scale/scalePublish';
|
import { getScalePublish } from '@/api/scale/scalePublish';
|
||||||
import { getCompleteAll, getCompleteClass, getWarnAll, getWarnClass } from '@/api/activity/statistics'
|
import { getCompleteAll, getCompleteClass, getWarnAll, getWarnClass, getFactorAll, getFactorClass } from '@/api/activity/statistics'
|
||||||
|
|
||||||
import { use } from 'echarts/core'
|
import { use } from 'echarts/core'
|
||||||
import { CanvasRenderer } from "echarts/renderers";
|
import { CanvasRenderer } from "echarts/renderers";
|
||||||
|
@ -296,19 +283,53 @@ async function getwarnData() {
|
||||||
warBarOption.value.series = seriesData
|
warBarOption.value.series = seriesData
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 预警因子
|
||||||
|
const factorDataList = ref([])
|
||||||
|
const factorNameList = ref([])
|
||||||
|
async function getFactoryData() {
|
||||||
|
const query = { batchNo, scaleId: scaleId.value }
|
||||||
|
let res = {}
|
||||||
|
|
||||||
|
if (radio.value == 1) {
|
||||||
|
res = await getFactorAll(query)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (radio.value == 2) {
|
||||||
|
res = await getFactorClass(query)
|
||||||
|
}
|
||||||
|
|
||||||
|
const factoryList = res.data
|
||||||
|
|
||||||
|
factoryList.forEach(item => {
|
||||||
|
factorNameList.value.push(item.factorName)
|
||||||
|
|
||||||
|
const pieData = []
|
||||||
|
item.numList.forEach(numItem => {
|
||||||
|
pieData.push({
|
||||||
|
name: numItem.name,
|
||||||
|
value: numItem.value
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
factorDataList.value.push(initPieOption(item.factorName, pieData))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
watch([scaleId, radio], ([newVal, oldVal]) => {
|
watch([scaleId, radio], ([newVal, oldVal]) => {
|
||||||
completeTable.value = []
|
completeTable.value = []
|
||||||
getCompleteData()
|
getCompleteData()
|
||||||
|
|
||||||
warnTable.value = []
|
warnTable.value = []
|
||||||
getwarnData()
|
getwarnData()
|
||||||
|
|
||||||
|
getFactoryData()
|
||||||
})
|
})
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getScalePublishList()
|
getScalePublishList()
|
||||||
})
|
})
|
||||||
|
|
||||||
function initPieOption(name, data) {
|
function initPieOption(name = '', data) {
|
||||||
return {
|
return {
|
||||||
tooltip: {
|
tooltip: {
|
||||||
trigger: 'item'
|
trigger: 'item'
|
||||||
|
@ -362,4 +383,9 @@ function percentage(number1, number2) {
|
||||||
.h {
|
.h {
|
||||||
height: 300px;
|
height: 300px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.chart-grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, 1fr);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -23,14 +23,14 @@
|
||||||
<el-card shadow="never">
|
<el-card shadow="never">
|
||||||
<template #header>
|
<template #header>
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<!-- <el-col :span="1.5">
|
||||||
<el-button type="primary" plain icon="Plus" @click="handleAdd"
|
<el-button type="primary" plain icon="Plus" @click="handleAdd"
|
||||||
v-hasPermi="['scale:warnRecord:add']">批量导入档案</el-button>
|
v-hasPermi="['scale:warnRecord:add']">批量导入档案</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()"
|
<el-button type="success" plain icon="Edit" :disabled="single" @click="handleUpdate()"
|
||||||
v-hasPermi="['scale:warnRecord:edit']">下载档案导入模板</el-button>
|
v-hasPermi="['scale:warnRecord:edit']">下载档案导入模板</el-button>
|
||||||
</el-col>
|
</el-col> -->
|
||||||
<!-- <el-col :span="1.5">
|
<!-- <el-col :span="1.5">
|
||||||
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()"
|
<el-button type="danger" plain icon="Delete" :disabled="multiple" @click="handleDelete()"
|
||||||
v-hasPermi="['scale:warnRecord:remove']">删除</el-button>
|
v-hasPermi="['scale:warnRecord:remove']">删除</el-button>
|
||||||
|
@ -43,30 +43,23 @@
|
||||||
</el-row>
|
</el-row>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-table v-loading="loading" :data="warnRecordList" @selection-change="handleSelectionChange">
|
<el-table v-loading="loading" :data="archiveList">
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column label="姓名" align="center" prop="nickName" />
|
||||||
<el-table-column label="用户名" align="center" prop="batchNo" />
|
<el-table-column label="性别" align="center" prop="sex">
|
||||||
<el-table-column label="姓名" align="center" prop="userId" />
|
<template #default="scope">
|
||||||
<el-table-column label="性别" align="center" prop="note" />
|
<el-tag :type="scope.row.sex === '0' ? 'success' : 'danger'" size="small">
|
||||||
<el-table-column label="年级" align="center" prop="note" />
|
{{ scope.row.sex === '0' ? '男' : '女' }}
|
||||||
<el-table-column label="班级" align="center" prop="note" />
|
</el-tag>
|
||||||
<el-table-column label="民族" align="center" prop="note" />
|
</template>
|
||||||
<el-table-column label="籍贯" align="center" prop="note" />
|
</el-table-column>
|
||||||
<el-table-column label="手机号码" align="center" prop="note" />
|
<el-table-column label="年级" align="center" prop="deptName" />
|
||||||
<el-table-column label="家族地址" align="center" prop="note" />
|
<el-table-column label="手机号码" align="center" prop="phonenumber" />
|
||||||
|
<el-table-column label="家族地址" align="center" prop="address" />
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tooltip content="查看" placement="top">
|
<el-tooltip content="查看" placement="top">
|
||||||
<el-button link type="primary" icon="View" @click="handleUpdate(scope.row)"
|
<el-button link type="primary" icon="View" @click="handleUpdate(scope.row)"
|
||||||
v-hasPermi="['scale:warnRecord:edit']"></el-button>
|
v-hasPermi="['scale:warnRecord:edit']">查看</el-button>
|
||||||
</el-tooltip>
|
|
||||||
<el-tooltip content="编辑" placement="top">
|
|
||||||
<el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)"
|
|
||||||
v-hasPermi="['scale:warnRecord:edit']"></el-button>
|
|
||||||
</el-tooltip>
|
|
||||||
<el-tooltip content="删除" placement="top">
|
|
||||||
<el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)"
|
|
||||||
v-hasPermi="['scale:warnRecord:remove']"></el-button>
|
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -78,7 +71,7 @@
|
||||||
<!-- 添加或修改预警记录对话框 -->
|
<!-- 添加或修改预警记录对话框 -->
|
||||||
<el-dialog :title="dialog.title" v-model="dialog.visible" width="800px" append-to-body>
|
<el-dialog :title="dialog.title" v-model="dialog.visible" width="800px" append-to-body>
|
||||||
<el-tabs v-model="activeName" class="demo-tabs">
|
<el-tabs v-model="activeName" class="demo-tabs">
|
||||||
<el-tab-pane label="基本信息" name="first">
|
<!-- <el-tab-pane label="基本信息" name="first">
|
||||||
<el-form ref="informationFormRef" :model="form" :rules="rules" label-width="80px">
|
<el-form ref="informationFormRef" :model="form" :rules="rules" label-width="80px">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
|
@ -136,28 +129,30 @@
|
||||||
<el-table-column prop="name" label="Name" width="180" />
|
<el-table-column prop="name" label="Name" width="180" />
|
||||||
<el-table-column prop="address" label="Address" />
|
<el-table-column prop="address" label="Address" />
|
||||||
</el-table>
|
</el-table>
|
||||||
|
</el-tab-pane> -->
|
||||||
|
<el-tab-pane label="静态普查记录" name="static">
|
||||||
|
<el-table :data="staticList" style="width: 100%">
|
||||||
|
<el-table-column prop="sessionName" label="场次名称" />
|
||||||
|
<el-table-column prop="scaleName" label="量表名称" />
|
||||||
|
<el-table-column prop="situation" label="严重度" />
|
||||||
|
</el-table>
|
||||||
|
<pagination v-show="staticTotal > 0" :total="staticTotal" v-model:page="staticQuery.pageNum"
|
||||||
|
v-model:limit="staticQuery.pageSize" @pagination="getStaticList" />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="静态普查记录" name="third">
|
<!-- <el-tab-pane label="动态普查记录" name="dynamic">
|
||||||
<el-table :data="tableData" style="width: 100%">
|
<el-table :data="tableData" style="width: 100%">
|
||||||
<el-table-column prop="date" label="Date" width="180" />
|
<el-table-column prop="date" label="Date" width="180" />
|
||||||
<el-table-column prop="name" label="Name" width="180" />
|
<el-table-column prop="name" label="Name" width="180" />
|
||||||
<el-table-column prop="address" label="Address" />
|
<el-table-column prop="address" label="Address" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane> -->
|
||||||
<el-tab-pane label="动态普查记录" name="fourth">
|
<!-- <el-tab-pane label="预警干预记录" name="warn">
|
||||||
<el-table :data="tableData" style="width: 100%">
|
<el-table :data="tableData" style="width: 100%">
|
||||||
<el-table-column prop="date" label="Date" width="180" />
|
<el-table-column prop="date" label="Date" width="180" />
|
||||||
<el-table-column prop="name" label="Name" width="180" />
|
<el-table-column prop="name" label="Name" width="180" />
|
||||||
<el-table-column prop="address" label="Address" />
|
<el-table-column prop="address" label="Address" />
|
||||||
</el-table>
|
</el-table>
|
||||||
</el-tab-pane>
|
</el-tab-pane> -->
|
||||||
<el-tab-pane label="预警干预记录" name="five">
|
|
||||||
<el-table :data="tableData" style="width: 100%">
|
|
||||||
<el-table-column prop="date" label="Date" width="180" />
|
|
||||||
<el-table-column prop="name" label="Name" width="180" />
|
|
||||||
<el-table-column prop="address" label="Address" />
|
|
||||||
</el-table>
|
|
||||||
</el-tab-pane>
|
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
<template #footer>
|
<template #footer>
|
||||||
|
@ -171,12 +166,11 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="WarnRecord" lang="ts">
|
<script setup name="WarnRecord" lang="ts">
|
||||||
import { listWarnRecord, getWarnRecord, delWarnRecord, addWarnRecord, updateWarnRecord } from '@/api/archive/warnRecord';
|
import { listArchive, listStatistic } from '@/api/archive/information';
|
||||||
import { WarnRecordVO, WarnRecordQuery, WarnRecordForm } from '@/api/archive/warnRecord/types';
|
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||||
|
|
||||||
const warnRecordList = ref<WarnRecordVO[]>([]);
|
const archiveList = ref<any[]>([]);
|
||||||
const buttonLoading = ref(false);
|
const buttonLoading = ref(false);
|
||||||
const loading = ref(true);
|
const loading = ref(true);
|
||||||
const showSearch = ref(true);
|
const showSearch = ref(true);
|
||||||
|
@ -193,7 +187,7 @@ const dialog = reactive<DialogOption>({
|
||||||
title: ''
|
title: ''
|
||||||
});
|
});
|
||||||
|
|
||||||
const activeName = ref('first')
|
const activeName = ref('static')
|
||||||
|
|
||||||
const tableData = [
|
const tableData = [
|
||||||
{
|
{
|
||||||
|
@ -218,46 +212,19 @@ const tableData = [
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
const initFormData: WarnRecordForm = {
|
const initFormData: any = {
|
||||||
warnId: undefined,
|
|
||||||
batchNo: undefined,
|
|
||||||
userId: undefined,
|
|
||||||
status: undefined,
|
|
||||||
note: undefined,
|
|
||||||
warnTime: undefined
|
|
||||||
}
|
}
|
||||||
const data = reactive<PageData<WarnRecordForm, WarnRecordQuery>>({
|
const data = reactive<PageData<any, any>>({
|
||||||
form: { ...initFormData },
|
form: { ...initFormData },
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
batchNo: undefined,
|
|
||||||
userId: undefined,
|
|
||||||
status: undefined,
|
|
||||||
note: undefined,
|
|
||||||
warnTime: undefined,
|
|
||||||
params: {
|
params: {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
warnId: [
|
|
||||||
{ required: true, message: "不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
batchNo: [
|
|
||||||
{ required: true, message: "td_scale_publish表主键不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
userId: [
|
|
||||||
{ required: true, message: "测评人id不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
status: [
|
|
||||||
{ required: true, message: "状态 0 未处理,1 分配咨询师,2 咨询师拒绝干预,3 干预中 4 干预结束不能为空", trigger: "change" }
|
|
||||||
],
|
|
||||||
note: [
|
|
||||||
{ required: true, message: "补充说明不能为空", trigger: "blur" }
|
|
||||||
],
|
|
||||||
warnTime: [
|
|
||||||
{ required: true, message: "预警时间不能为空", trigger: "blur" }
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -266,8 +233,8 @@ const { queryParams, form, rules } = toRefs(data);
|
||||||
/** 查询预警记录列表 */
|
/** 查询预警记录列表 */
|
||||||
const getList = async () => {
|
const getList = async () => {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
const res = await listWarnRecord(queryParams.value);
|
const res = await listArchive(queryParams.value);
|
||||||
warnRecordList.value = res.rows;
|
archiveList.value = res.rows;
|
||||||
total.value = res.total;
|
total.value = res.total;
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
}
|
}
|
||||||
|
@ -296,13 +263,6 @@ const resetQuery = () => {
|
||||||
handleQuery();
|
handleQuery();
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 多选框选中数据 */
|
|
||||||
const handleSelectionChange = (selection: WarnRecordVO[]) => {
|
|
||||||
ids.value = selection.map(item => item.warnId);
|
|
||||||
single.value = selection.length != 1;
|
|
||||||
multiple.value = !selection.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 新增按钮操作 */
|
/** 新增按钮操作 */
|
||||||
const handleAdd = () => {
|
const handleAdd = () => {
|
||||||
reset();
|
reset();
|
||||||
|
@ -310,25 +270,42 @@ const handleAdd = () => {
|
||||||
dialog.title = "添加预警记录";
|
dialog.title = "添加预警记录";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const staticQuery = ref({
|
||||||
|
userId: '',
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10
|
||||||
|
})
|
||||||
|
const staticTotal = ref(0)
|
||||||
|
const staticList = ref<any[]>([])
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
const handleUpdate = async (row?: WarnRecordVO) => {
|
const handleUpdate = async (row?: any) => {
|
||||||
reset();
|
reset();
|
||||||
const _warnId = row?.warnId || ids.value[0]
|
staticQuery.value.userId = row.userId;
|
||||||
const res = await getWarnRecord(_warnId);
|
getStaticList()
|
||||||
Object.assign(form.value, res.data);
|
|
||||||
|
// const _warnId = row?.warnId || ids.value[0]
|
||||||
|
// const res = await getWarnRecord(_warnId);
|
||||||
|
// Object.assign(form.value, res.data);
|
||||||
|
|
||||||
dialog.visible = true;
|
dialog.visible = true;
|
||||||
dialog.title = "修改预警记录";
|
dialog.title = "修改预警记录";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function getStaticList() {
|
||||||
|
const res = await listStatistic(staticQuery.value);
|
||||||
|
staticList.value = res.rows
|
||||||
|
staticTotal.value = res.total
|
||||||
|
}
|
||||||
|
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
const submitForm = () => {
|
const submitForm = () => {
|
||||||
informationFormRef.value?.validate(async (valid: boolean) => {
|
informationFormRef.value?.validate(async (valid: boolean) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
buttonLoading.value = true;
|
buttonLoading.value = true;
|
||||||
if (form.value.warnId) {
|
if (form.value.warnId) {
|
||||||
await updateWarnRecord(form.value).finally(() => buttonLoading.value = false);
|
// await updateWarnRecord(form.value).finally(() => buttonLoading.value = false);
|
||||||
} else {
|
} else {
|
||||||
await addWarnRecord(form.value).finally(() => buttonLoading.value = false);
|
// await addWarnRecord(form.value).finally(() => buttonLoading.value = false);
|
||||||
}
|
}
|
||||||
proxy?.$modal.msgSuccess("修改成功");
|
proxy?.$modal.msgSuccess("修改成功");
|
||||||
dialog.visible = false;
|
dialog.visible = false;
|
||||||
|
@ -337,21 +314,6 @@ const submitForm = () => {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 删除按钮操作 */
|
|
||||||
const handleDelete = async (row?: WarnRecordVO) => {
|
|
||||||
const _warnIds = row?.warnId || ids.value;
|
|
||||||
await proxy?.$modal.confirm('是否确认删除预警记录编号为"' + _warnIds + '"的数据项?').finally(() => loading.value = false);
|
|
||||||
await delWarnRecord(_warnIds);
|
|
||||||
proxy?.$modal.msgSuccess("删除成功");
|
|
||||||
await getList();
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 导出按钮操作 */
|
|
||||||
const handleExport = () => {
|
|
||||||
proxy?.download('scale/warnRecord/export', {
|
|
||||||
...queryParams.value
|
|
||||||
}, `warnRecord_${new Date().getTime()}.xlsx`)
|
|
||||||
}
|
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList();
|
getList();
|
||||||
|
|
|
@ -4,19 +4,15 @@
|
||||||
:leave-active-class="proxy?.animate.searchAnimate.leave">
|
:leave-active-class="proxy?.animate.searchAnimate.leave">
|
||||||
<div class="search" v-show="showSearch">
|
<div class="search" v-show="showSearch">
|
||||||
<el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
|
<el-form :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
|
||||||
<el-form-item label="测评人" prop="batchNo">
|
<el-form-item label="测评人" prop="nickName">
|
||||||
<el-input v-model="queryParams.batchNo" placeholder="请输入测评人" clearable style="width: 240px"
|
<el-input v-model="queryParams.nickName" placeholder="请输入测评人" clearable style="width: 240px"
|
||||||
@keyup.enter="handleQuery" />
|
@keyup.enter="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="状态" prop="note">
|
<el-form-item label="状态" prop="interveneStatus">
|
||||||
<el-select v-model="queryParams.status" placeholder="请选状态" style="width: 240px">
|
<el-select v-model="queryParams.interveneStatus" placeholder="请选状态" style="width: 240px">
|
||||||
<el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value" />
|
<el-option v-for="item in statusOptions" :key="item.value" :label="item.label" :value="item.value" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="预警时间" prop="note">
|
|
||||||
<el-date-picker clearable v-model="queryParams.warnTime" type="date" value-format="YYYY-MM-DD"
|
|
||||||
placeholder="请选预警时间" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||||
|
@ -34,6 +30,12 @@
|
||||||
<span>{{ parseTime(scope.row.warnTime, '{y}-{m}-{d}') }}</span>
|
<span>{{ parseTime(scope.row.warnTime, '{y}-{m}-{d}') }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column label="状态" align="center" prop="interveneStatus" width="180">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-tag :type="scope.row.interveneStatus === 0 ? 'success' : 'danger'">{{ scope.row.interveneStatus === 0 ?
|
||||||
|
'无须干预' : '干预中' }}</el-tag>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="补充说明" align="center" prop="note" />
|
<el-table-column label="补充说明" align="center" prop="note" />
|
||||||
|
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding" width="280">
|
<el-table-column label="操作" align="center" class-name="small-padding" width="280">
|
||||||
|
@ -107,11 +109,8 @@ const warnRecordFormRef = ref<ElFormInstance>();
|
||||||
|
|
||||||
//状态 0 未处理,1 分配咨询师,2 咨询师拒绝干预,3 干预中 4 干预结束
|
//状态 0 未处理,1 分配咨询师,2 咨询师拒绝干预,3 干预中 4 干预结束
|
||||||
const statusOptions = [
|
const statusOptions = [
|
||||||
{ label: '未处理', value: 0 },
|
{ label: '无须干预', value: 0 },
|
||||||
{ label: '分配咨询师', value: 1 },
|
{ label: '干预中', value: 1 }
|
||||||
{ label: '咨询师拒绝干预', value: 2 },
|
|
||||||
{ label: '干预中', value: 3 },
|
|
||||||
{ label: '干预结束', value: 4 },
|
|
||||||
]
|
]
|
||||||
|
|
||||||
const dialog = reactive<DialogOption>({
|
const dialog = reactive<DialogOption>({
|
||||||
|
@ -127,7 +126,9 @@ const initFormData: WarnRecordForm = {
|
||||||
userId: undefined,
|
userId: undefined,
|
||||||
status: undefined,
|
status: undefined,
|
||||||
note: undefined,
|
note: undefined,
|
||||||
warnTime: undefined
|
warnTime: undefined,
|
||||||
|
nickName: undefined,
|
||||||
|
interveneStatus: undefined
|
||||||
}
|
}
|
||||||
const data = reactive<PageData<WarnRecordForm, WarnRecordQuery>>({
|
const data = reactive<PageData<WarnRecordForm, WarnRecordQuery>>({
|
||||||
form: { ...initFormData },
|
form: { ...initFormData },
|
||||||
|
@ -139,6 +140,8 @@ const data = reactive<PageData<WarnRecordForm, WarnRecordQuery>>({
|
||||||
status: undefined,
|
status: undefined,
|
||||||
note: undefined,
|
note: undefined,
|
||||||
warnTime: undefined,
|
warnTime: undefined,
|
||||||
|
nickName: undefined,
|
||||||
|
interveneStatus: undefined,
|
||||||
params: {
|
params: {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -44,7 +44,13 @@
|
||||||
|
|
||||||
<div class="item item6 panel">
|
<div class="item item6 panel">
|
||||||
<h2>心理咨询师</h2>
|
<h2>心理咨询师</h2>
|
||||||
<div class="chart"></div>
|
<div class="chart">
|
||||||
|
<el-table :data="tableData" :header-cell-style="headerCellStyle" :cell-style="cellStyle">
|
||||||
|
<el-table-column prop="date" label="姓名" />
|
||||||
|
<el-table-column prop="name" label="专业资质" />
|
||||||
|
<el-table-column prop="address" label="擅长方向" />
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
<div class="panel-footer"></div>
|
<div class="panel-footer"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -98,6 +104,51 @@ function time() {
|
||||||
showTime.value = y + "年" + mt + "月" + day + "日" + h + "时" + m + "分" + s + "秒";
|
showTime.value = y + "年" + mt + "月" + day + "日" + h + "时" + m + "分" + s + "秒";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const tableData = [
|
||||||
|
{
|
||||||
|
date: '2016-05-03',
|
||||||
|
name: 'Tom',
|
||||||
|
address: 'No. 189, Grove St, Los Angeles',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
date: '2016-05-02',
|
||||||
|
name: 'Tom',
|
||||||
|
address: 'No. 189, Grove St, Los Angeles',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
date: '2016-05-04',
|
||||||
|
name: 'Tom',
|
||||||
|
address: 'No. 189, Grove St, Los Angeles',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
date: '2016-05-01',
|
||||||
|
name: 'Tom',
|
||||||
|
address: 'No. 189, Grove St, Los Angeles',
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
const headerCellStyle = ({ row, column, rowIndex, columnIndex }) => {
|
||||||
|
if (rowIndex % 2 == 0) {
|
||||||
|
return {
|
||||||
|
backgroundColor: '#082187',
|
||||||
|
fontSize: '0.25rem'
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return {
|
||||||
|
backgroundColor: '#0A27A8',
|
||||||
|
fontSize: '0.25rem'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const cellStyle = ({ row, column, rowIndex, columnIndex }) => {
|
||||||
|
return {
|
||||||
|
backgroundColor: '#10215D',
|
||||||
|
color: '#fff',
|
||||||
|
fontSize: '0.25rem'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
time()
|
time()
|
||||||
|
|
||||||
|
@ -458,5 +509,23 @@ li {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 设置表格的背景颜色 */
|
||||||
|
:deep(.el-table) {
|
||||||
|
background-color: #f0f0f0;
|
||||||
|
/* 替换为你想要的颜色 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 设置表格行的背景颜色 */
|
||||||
|
:deep(.el-table__row) {
|
||||||
|
background-color: #ffffff;
|
||||||
|
/* 替换为你想要颜色 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 设置表格头的背景颜色 */
|
||||||
|
:deep(.el-table__header-wrapper th) {
|
||||||
|
background-color: #e0e0e0;
|
||||||
|
/* 替换为你想要颜色 */
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -8,14 +8,10 @@
|
||||||
<el-input v-model="queryParams.scaleNames" placeholder="请输入量表名称 以逗号隔开" clearable style="width: 240px"
|
<el-input v-model="queryParams.scaleNames" placeholder="请输入量表名称 以逗号隔开" clearable style="width: 240px"
|
||||||
@keyup.enter="handleQuery" />
|
@keyup.enter="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="部门名称" prop="sessionName">
|
<el-form-item label="场次名称" prop="sessionName">
|
||||||
<el-input v-model="queryParams.sessionName" placeholder="请输入场次名称" clearable style="width: 240px"
|
<el-input v-model="queryParams.sessionName" placeholder="请输入场次名称" clearable style="width: 240px"
|
||||||
@keyup.enter="handleQuery" />
|
@keyup.enter="handleQuery" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="发布时间" prop="deptId">
|
|
||||||
<el-input v-model="queryParams.deptId" placeholder="请输入部门分组id" clearable style="width: 240px"
|
|
||||||
@keyup.enter="handleQuery" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
||||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||||
|
@ -35,7 +31,7 @@
|
||||||
<el-table-column label="场次名称" align="center" prop="sessionName" />
|
<el-table-column label="场次名称" align="center" prop="sessionName" />
|
||||||
<el-table-column label="量表名称 以逗号隔开" align="center" prop="scaleNames" />
|
<el-table-column label="量表名称 以逗号隔开" align="center" prop="scaleNames" />
|
||||||
|
|
||||||
<el-table-column label="部门名称" align="center" prop="deptId" />
|
<el-table-column label="部门名称" align="center" prop="deptNames" />
|
||||||
<el-table-column label="截止日期" align="center" prop="expireTime" width="180">
|
<el-table-column label="截止日期" align="center" prop="expireTime" width="180">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ parseTime(scope.row.expireTime, '{y}-{m}-{d}') }}</span>
|
<span>{{ parseTime(scope.row.expireTime, '{y}-{m}-{d}') }}</span>
|
||||||
|
|
|
@ -187,6 +187,12 @@
|
||||||
<el-checkbox v-for="item in scaleQuestionList" :key="item.questionId" :label="item.questionOrder"
|
<el-checkbox v-for="item in scaleQuestionList" :key="item.questionId" :label="item.questionOrder"
|
||||||
:value="item.questionId" />
|
:value="item.questionId" />
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
|
<template #footer>
|
||||||
|
<div class="dialog-footer">
|
||||||
|
<el-button @click="handlQuestionCancel">取消</el-button>
|
||||||
|
<el-button type="primary" @click="handleQuestionAll">全选</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -277,9 +283,7 @@ const data = reactive<PageData<SysScaleFactorForm, SysScaleFactorQuery>>({
|
||||||
|
|
||||||
const { queryParams, form, rules } = toRefs(data);
|
const { queryParams, form, rules } = toRefs(data);
|
||||||
|
|
||||||
function handleSelectQuestion() {
|
|
||||||
questionVisible.value = true
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 查询测评因子列表 */
|
/** 查询测评因子列表 */
|
||||||
const getList = async () => {
|
const getList = async () => {
|
||||||
|
@ -414,6 +418,18 @@ const questionChooseList = computed(() => {
|
||||||
return scaleQuestionList.value.filter(item => form.value.questionIds.includes(item.questionId))
|
return scaleQuestionList.value.filter(item => form.value.questionIds.includes(item.questionId))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
function handleSelectQuestion() {
|
||||||
|
questionVisible.value = true
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleQuestionAll() {
|
||||||
|
form.value.questionIds = scaleQuestionList.value.map(item => item.questionId)
|
||||||
|
}
|
||||||
|
|
||||||
|
function handlQuestionCancel() {
|
||||||
|
form.value.questionIds = []
|
||||||
|
}
|
||||||
|
|
||||||
const yzdList = ref<DictDataVO[]>([])
|
const yzdList = ref<DictDataVO[]>([])
|
||||||
async function getYzdList() {
|
async function getYzdList() {
|
||||||
const res = await getDicts('yzd')
|
const res = await getDicts('yzd')
|
||||||
|
@ -450,4 +466,9 @@ onMounted(() => {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.el-checkbox-group {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(10, 1fr);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -111,8 +111,8 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="归属部门" prop="deptIds">
|
<el-form-item label="归属部门" prop="deptIds">
|
||||||
<el-tree-select v-model="form.deptIds" :data="deptOptions"
|
<el-tree-select v-model="form.deptIds" :data="deptOptions"
|
||||||
:props="{ value: 'id', label: 'label', children: 'children' }" value-key="id" placeholder="请选择归属部门" multiple
|
:props="{ value: 'id', label: 'label', children: 'children' }" node-key="id" placeholder="请选择归属部门" multiple
|
||||||
show-checkbox />
|
show-checkbox @change="deptChange" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="量表" prop="scaleIds">
|
<el-form-item label="量表" prop="scaleIds">
|
||||||
<el-select multiple v-model="form.scaleIds" placeholder="请选择量表" style="width: 100%">
|
<el-select multiple v-model="form.scaleIds" placeholder="请选择量表" style="width: 100%">
|
||||||
|
@ -252,7 +252,7 @@ const getTreeSelect = async () => {
|
||||||
deptOptions.value = res.data;
|
deptOptions.value = res.data;
|
||||||
};
|
};
|
||||||
|
|
||||||
const scaleOptions = ref([]);
|
const scaleOptions = ref<any[]>([]);
|
||||||
const getScaleOptions = async () => {
|
const getScaleOptions = async () => {
|
||||||
const res = await findAll();
|
const res = await findAll();
|
||||||
scaleOptions.value = res.data;
|
scaleOptions.value = res.data;
|
||||||
|
@ -265,15 +265,50 @@ watch(() => dialog.visible, (visible) => {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
const questionList = ref([])
|
const questionList = ref<any[]>([])
|
||||||
|
async function handleDetail(row: any) {
|
||||||
async function handleDetail(row) {
|
|
||||||
console.log('handleDetail', row.scaleId);
|
console.log('handleDetail', row.scaleId);
|
||||||
const res = await findByScaleId({ scaleId: row.scaleId })
|
const res = await findByScaleId({ scaleId: row.scaleId })
|
||||||
questionList.value = res.data
|
questionList.value = res.data
|
||||||
detailVisible.value = true
|
detailVisible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function deptChange() {
|
||||||
|
console.log('deptChange', treeToList(deptOptions.value));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function treeToList(treeData) {
|
||||||
|
const result = [];
|
||||||
|
|
||||||
|
function traverse(node) {
|
||||||
|
// 将当前节点信息添加到结果列表中
|
||||||
|
result.push({
|
||||||
|
id: node.id,
|
||||||
|
label: node.label,
|
||||||
|
parentId: node.parentId
|
||||||
|
});
|
||||||
|
|
||||||
|
// 如果当前节点有子节点,则递归遍历子节点
|
||||||
|
if (node.children && node.children.length > 0) {
|
||||||
|
for (const child of node.children) {
|
||||||
|
traverse(child);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 遍历树的根节点
|
||||||
|
if (Array.isArray(treeData)) {
|
||||||
|
for (const root of treeData) {
|
||||||
|
traverse(root);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 如果传入的是单个根节点对象而非数组
|
||||||
|
traverse(treeData);
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getList()
|
getList()
|
||||||
getScaleTypeList()
|
getScaleTypeList()
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
</template>
|
</template>
|
||||||
<div>
|
<div>
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<userAvatar/>
|
<userAvatar />
|
||||||
</div>
|
</div>
|
||||||
<ul class="list-group list-group-striped">
|
<ul class="list-group list-group-striped">
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
|
@ -27,7 +27,8 @@
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<svg-icon icon-class="tree" />所属部门
|
<svg-icon icon-class="tree" />所属部门
|
||||||
<div class="pull-right" v-if="state.user.dept">{{ state.user.dept.deptName }} / {{ state.postGroup }}</div>
|
<div class="pull-right" v-if="state.user.dept">{{ state.user.dept.deptName }} / {{ state.postGroup }}
|
||||||
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li class="list-group-item">
|
<li class="list-group-item">
|
||||||
<svg-icon icon-class="peoples" />所属角色
|
<svg-icon icon-class="peoples" />所属角色
|
||||||
|
@ -55,9 +56,6 @@
|
||||||
<el-tab-pane label="修改密码" name="resetPwd">
|
<el-tab-pane label="修改密码" name="resetPwd">
|
||||||
<resetPwd />
|
<resetPwd />
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="第三方应用" name="thirdParty">
|
|
||||||
<thirdParty :auths="state.auths" />
|
|
||||||
</el-tab-pane>
|
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -69,35 +67,27 @@
|
||||||
import UserAvatar from "./userAvatar.vue";
|
import UserAvatar from "./userAvatar.vue";
|
||||||
import UserInfo from "./userInfo.vue";
|
import UserInfo from "./userInfo.vue";
|
||||||
import ResetPwd from "./resetPwd.vue";
|
import ResetPwd from "./resetPwd.vue";
|
||||||
import ThirdParty from "./thirdParty.vue";
|
|
||||||
import { getAuthList } from "@/api/system/social/auth";
|
|
||||||
import { getUserProfile } from "@/api/system/user";
|
import { getUserProfile } from "@/api/system/user";
|
||||||
|
|
||||||
const activeTab = ref("userinfo");
|
const activeTab = ref("userinfo");
|
||||||
const state = ref<Record<string, any>>({
|
const state = ref<Record<string, any>>({
|
||||||
user: {},
|
user: {},
|
||||||
roleGroup: '',
|
roleGroup: '',
|
||||||
postGroup: '',
|
postGroup: '',
|
||||||
auths: []
|
auths: []
|
||||||
});
|
});
|
||||||
|
|
||||||
const userForm = ref({});
|
const userForm = ref({});
|
||||||
|
|
||||||
const getUser = async () => {
|
const getUser = async () => {
|
||||||
const res = await getUserProfile();
|
const res = await getUserProfile();
|
||||||
state.value.user = res.data.user;
|
state.value.user = res.data.user;
|
||||||
userForm.value = { ...res.data.user }
|
userForm.value = { ...res.data.user }
|
||||||
state.value.roleGroup = res.data.roleGroup;
|
state.value.roleGroup = res.data.roleGroup;
|
||||||
state.value.postGroup = res.data.postGroup;
|
state.value.postGroup = res.data.postGroup;
|
||||||
};
|
|
||||||
|
|
||||||
const getAuths = async () => {
|
|
||||||
const res = await getAuthList();
|
|
||||||
state.value.auths = res.data;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getUser();
|
getUser();
|
||||||
getAuths();
|
|
||||||
})
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in New Issue