update evaluation

This commit is contained in:
LittleBoy 2019-06-20 20:30:03 +08:00
parent 093e026352
commit 896d3ee607
8 changed files with 133 additions and 76 deletions

9
package-lock.json generated
View File

@ -9859,6 +9859,15 @@
"resolved": "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz", "resolved": "http://registry.npm.taobao.org/safer-buffer/download/safer-buffer-2.1.2.tgz",
"integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo="
}, },
"sass": {
"version": "1.21.0",
"resolved": "https://registry.npmjs.org/sass/-/sass-1.21.0.tgz",
"integrity": "sha512-67hIIOZZtarbhI2aSgKBPDUgn+VqetduKoD+ZSYeIWg+ksNioTzeX+R2gUdebDoolvKNsQ/GY9NDxctbXluTNA==",
"dev": true,
"requires": {
"chokidar": "^2.0.0"
}
},
"sass-loader": { "sass-loader": {
"version": "7.1.0", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz", "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",

View File

@ -1,15 +1,16 @@
<template> <template>
<div id="user-list"> <div id="user-list" v-loading="loadingData">
<a href="##" class="header_nav_right" @click="dialogExportVisible=true"> <a href="##" class="header_nav_right" @click="dialogExportVisible=true">
<i class="el-icon-download"></i>导出 <i class="el-icon-download"></i>导出
</a> </a>
<div class="search-bar"> <div class="search-bar">
<el-form :inline="true" :model="searchModel" class="demo-form-inline"> <el-form :inline="true" :model="searchModel" class="demo-form-inline">
<el-form-item> <el-form-item>
<el-select v-model="searchModel.first_to_tibet" placeholder="评估结构"> <el-select v-model="searchModel.resultType" placeholder="评估结果">
<el-option label="所有评估结果" value="-1"></el-option>
<el-option label="没有高反" value="0"></el-option> <el-option label="没有高反" value="0"></el-option>
<el-option label="轻度高反" value="1"></el-option> <el-option label="轻度高反" value="1"></el-option>
<el-option label="中高反" value="2"></el-option> <el-option label="中高反" value="2"></el-option>
<el-option label="高度高反" value="3"></el-option> <el-option label="高度高反" value="3"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -21,9 +22,9 @@
</el-form-item> </el-form-item>
<div class="float-right"> <div class="float-right">
<el-form-item> <el-form-item>
<el-select v-model="searchModel.first_to_tibet" placeholder="排序方式"> <el-select v-model="searchModel.sort" placeholder="排序方式">
<el-option label="评估时间排序" value=""></el-option> <el-option label="评估时间排序" value="time"></el-option>
<el-option label="评估总分排序" value="1"></el-option> <el-option label="评估总分排序" value="score"></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</div> </div>
@ -31,20 +32,16 @@
</div> </div>
<div class="data-list"> <div class="data-list">
<el-table <el-table
:data="userList" :data="dataList"
style="width: 100%"> style="width: 100%">
<el-table-column <el-table-column prop="create_time" label="自评时间" width="180" />
prop="date" <el-table-column width="100" prop="realname" label="姓名"/>
label="自评时间" <el-table-column prop="headache" label="头痛症状"/>
width="180"> <el-table-column prop="gastrointestinal" label="胃肠道症状"/>
</el-table-column> <el-table-column prop="tired" label="疲劳或虚弱"/>
<el-table-column prop="realname" label="姓名"/> <el-table-column prop="dizzy" label="头晕或眩晕"/>
<el-table-column prop="head" label="头痛症状"/> <el-table-column width="90" prop="score" label="总分"/>
<el-table-column prop="head" label="胃肠道症状"/> <el-table-column width="110" prop="result" label="评估结果"/>
<el-table-column prop="head" label="疲劳或虚弱"/>
<el-table-column prop="head" label="头晕或眩晕"/>
<el-table-column prop="head" label="总分"/>
<el-table-column prop="head" label="评估结果"/>
</el-table> </el-table>
</div> </div>
<div class="data-page text-right"> <div class="data-page text-right">
@ -63,8 +60,8 @@
<p><b>导出数据</b></p> <p><b>导出数据</b></p>
<el-form-item> <el-form-item>
<el-radio-group v-model="exportModel.dataCount"> <el-radio-group v-model="exportModel.dataCount">
<el-radio label="current">当前筛选数据(200)</el-radio> <el-radio label="current">当前筛选数据({{dataList.length}})</el-radio>
<el-radio label="all">所有数据(12000)</el-radio> <el-radio label="all">所有数据({{totalCount}})</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<p><b>导出字段</b></p> <p><b>导出字段</b></p>
@ -114,12 +111,7 @@
</template> </template>
<script> <script>
var userObj = { import {evaluationSearch} from './../../service/api'
date: '2019-06-18',
open_id: '123123',
realname: '张三',
head: '无头痛症状'
}
export default { export default {
name: "test_record", name: "test_record",
@ -134,20 +126,25 @@
format: 'csv' format: 'csv'
}, },
searchModel: { searchModel: {
first_to_tibet: '', resultType: '-1',
province: '', name: '',
city: '' sort: 'time',
}, },
userList: Array(5).fill(userObj), loadingData: true,
dataList: [],
currentPage: 1, currentPage: 1,
totalCount: 401 totalCount: 401
} }
}, },
methods: { mounted() {
handleProvinceChange(provinceId) { this.onSearch();
}, },
onSearch() { methods: {
async onSearch() {
let data = await evaluationSearch(this.searchModel);
this.dataList = data.list;
this.totalCount = data.totalCount;
this.loadingData = false;
}, },
handleSizeChange() { handleSizeChange() {
@ -163,17 +160,32 @@
@color-checkbox: #cccccc; @color-checkbox: #cccccc;
@color-checkbox-checked: #78909C; @color-checkbox-checked: #78909C;
@color-checkbox-inner-checked: #fff; @color-checkbox-inner-checked: #fff;
.el-table{
border: solid 1px #ddd;
margin-bottom: 20px;
}
.header_nav_right { .header_nav_right {
position: absolute; position: absolute;
top: 20px; top: 20px;
right: 20px; right: 20px;
color: #333; color: #333;
} }
.select-sex { .select-sex {
input { input {
width: 90px; width: 90px;
} }
} }
.el-dialog{
width:795px;
}
.el-checkbox-group{
margin-right: -20px;
}
.el-checkbox{
margin-right: 13px;
margin-top:10px;
}
.el-checkbox, .el-checkbox__input.is-focus { .el-checkbox, .el-checkbox__input.is-focus {
.el-checkbox__inner { .el-checkbox__inner {
border-radius: 50%; border-radius: 50%;
@ -202,11 +214,13 @@
} }
} }
} }
.el-checkbox.is-bordered.el-checkbox--medium, .el-checkbox.is-bordered.el-checkbox--medium,
.el-checkbox.is-bordered + .el-checkbox.is-bordered { .el-checkbox.is-bordered + .el-checkbox.is-bordered {
width: 140px; width: 140px;
margin-left: 0; margin-left: 0;
} }
.user-head-name { .user-head-name {
height: 80px; height: 80px;
&:after { &:after {

View File

@ -45,7 +45,7 @@
<script> <script>
import appConfig from "./../../utils/config"; import appConfig from "./../../utils/config";
import http from "./../../utils/http"; import {adminLogin} from "./../../service/api";
export default { export default {
// components: {YCIcon}, // components: {YCIcon},
@ -86,20 +86,18 @@
this.$refs[formName].validate(async valid => { this.$refs[formName].validate(async valid => {
if (valid) { if (valid) {
this.loginLoading = true; this.loginLoading = true;
let data = {code: 0, message: '提交登录数据异常'}; let data = {code: 1, message: '提交登录数据异常'};
try { try {
data = await http.post('/user/login', this.ruleForm); data = await adminLogin(this.ruleForm);
} catch (error) { } catch (error) {
} }
if (data.code == 0) { if (data.code && data.code != 0) {
sessionStorage.setItem(
appConfig.userSessionName,
this.ruleForm.username
);
this.$router.push("/");
} else {
this.loginLoading = false; this.loginLoading = false;
this.$message.error(data.message); this.$message.error(data.message);
} else {
appConfig.setUserData(data);
appConfig.setUserToken(data.token);
this.$router.push("/");
} }
} else { } else {
// this.$message.error(''); // this.$message.error('');

View File

@ -20,8 +20,8 @@ export const adminRoutes = [
}, },
{ {
path: '/history', path: '/history',
name: 'test_history', name: 'evaluation_history',
component: ()=>import('../pages/test/History'), component: ()=>import('../pages/evaluation/History'),
icon: 'file' icon: 'file'
}, },
]; ];

View File

@ -6,6 +6,18 @@ import {
stringify stringify
} from 'qs'; } from 'qs';
/**
* 用户登录
* @param params
* @returns {Promise<void>}
*/
export async function adminLogin(params = {}) {
return post(`/admin/login`,params);
}
export async function evaluationSearch(params = {}) {
return get(`/admin/searchEvaluation?${stringify(params)}`);
}
export async function queryNews(params = {}) { export async function queryNews(params = {}) {
return get(`/news/index?${stringify(params)}`); return get(`/news/index?${stringify(params)}`);
} }
@ -23,6 +35,7 @@ export async function queryComments(params = {}) {
return get(`/comments/query?${stringify(params)}`); return get(`/comments/query?${stringify(params)}`);
} }
export default { export default {
adminLogin,
queryNews, queryNews,
queryHotNews, queryHotNews,
queryComments, queryComments,

View File

@ -1,8 +1,26 @@
let currentUserData = null;
export default { export default {
apiUrl:'//home.xiaoyan.me:10086/api/v1', // apiUrl:'//home.xiaoyan.me:10086/api/v1',
// apiUrl:'//127.0.0.1:10086', apiUrl: '//127.0.0.1:8000',
/** /**
* h呵呵呵 * h呵呵呵
*/ */
userSessionName: 'ms_username', userSessionName: 'ms_username',
getUserData() {
return currentUserData;
},
setUserData(userData) {
currentUserData = userData;
sessionStorage.setItem('ms_username',userData.username);
return true;
},
getUserToken() {
return sessionStorage.getItem('user_token');
},
setUserToken(token) {
sessionStorage.setItem('user_token',token);
return true;
}
} }

View File

@ -17,10 +17,12 @@ const codeMessage = {
503: '服务不可用,服务器暂时过载或维护。', 503: '服务不可用,服务器暂时过载或维护。',
504: '网关超时。', 504: '网关超时。',
}; };
export function get(api) { export function get(api) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
api += (api.search(/\?/) === -1 ? '?' : '&') + 'token=' + appConfig.getUserToken();
fetch(appConfig.apiUrl + api, { fetch(appConfig.apiUrl + api, {
method: 'GET' method: 'GET',
}).then(res => { }).then(res => {
return res.json(); return res.json();
}).then(data => { }).then(data => {
@ -30,6 +32,7 @@ export function get(api) {
}) })
}) })
} }
/** /**
* 发送post请求 * 发送post请求
* @param {string} api * @param {string} api
@ -37,6 +40,7 @@ export function get(api) {
*/ */
export function post(api, postData) { export function post(api, postData) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
api += (api.search(/\?/) === -1 ? '?' : '&') + 'token=' + appConfig.getUserToken();
let formData = new FormData(); let formData = new FormData();
for (var k in postData) { for (var k in postData) {
formData.append(k, postData[k]); formData.append(k, postData[k]);
@ -57,6 +61,7 @@ export function post(api, postData) {
}) })
}) })
} }
export default { export default {
get, post get, post
} }

View File

@ -15,7 +15,7 @@ export default {
navs: { navs: {
dashboard: '概览', dashboard: '概览',
user_index: '用户信息', user_index: '用户信息',
test_history: '评估记录', evaluation_history: '评估记录',
category: '分类管理', category: '分类管理',
student: '学生信息', student: '学生信息',
} }