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",
"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": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-7.1.0.tgz",

View File

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

View File

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

View File

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

View File

@ -6,6 +6,18 @@ import {
stringify
} 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 = {}) {
return get(`/news/index?${stringify(params)}`);
}
@ -23,6 +35,7 @@ export async function queryComments(params = {}) {
return get(`/comments/query?${stringify(params)}`);
}
export default {
adminLogin,
queryNews,
queryHotNews,
queryComments,

View File

@ -1,8 +1,26 @@
let currentUserData = null;
export default {
apiUrl:'//home.xiaoyan.me:10086/api/v1',
// apiUrl:'//127.0.0.1:10086',
// apiUrl:'//home.xiaoyan.me:10086/api/v1',
apiUrl: '//127.0.0.1:8000',
/**
* h呵呵呵
*/
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: '服务不可用,服务器暂时过载或维护。',
504: '网关超时。',
};
export function get(api) {
return new Promise((resolve, reject) => {
api += (api.search(/\?/) === -1 ? '?' : '&') + 'token=' + appConfig.getUserToken();
fetch(appConfig.apiUrl + api, {
method: 'GET'
method: 'GET',
}).then(res => {
return res.json();
}).then(data => {
@ -30,6 +32,7 @@ export function get(api) {
})
})
}
/**
* 发送post请求
* @param {string} api
@ -37,6 +40,7 @@ export function get(api) {
*/
export function post(api, postData) {
return new Promise((resolve, reject) => {
api += (api.search(/\?/) === -1 ? '?' : '&') + 'token=' + appConfig.getUserToken();
let formData = new FormData();
for (var k in postData) {
formData.append(k, postData[k]);
@ -57,6 +61,7 @@ export function post(api, postData) {
})
})
}
export default {
get, post
}

View File

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