update user

This commit is contained in:
LittleBoy 2019-06-21 10:26:39 +08:00
parent 896d3ee607
commit f026e0448e
5 changed files with 138 additions and 101 deletions

View File

@ -26,6 +26,12 @@ html, body {
height: 100%; height: 100%;
} }
.table-border{
border: solid 1px #ddd;
margin-bottom: 20px;
width: 100%;
}
body { body {
font-family: 'Helvetica Neue',Helvetica,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',SimSun,sans-serif; font-family: 'Helvetica Neue',Helvetica,'PingFang SC','Hiragino Sans GB','Microsoft YaHei',SimSun,sans-serif;
} }

View File

@ -143,11 +143,11 @@
formatter: '.0%' formatter: '.0%'
}]; }];
const hotNewsData = [ const hotNewsData = [
// {title:'',views:'332,201',create_time:'2019-4-22 12:30'}, {title:'国乒包揽世乒五冠',views:'332,201',create_time:'2019-4-22 12:30'},
// {title:'怀',views:'120,030',create_time:'2019-4-22 12:30'}, {title:'章子怡被曝怀二胎',views:'120,030',create_time:'2019-4-22 12:30'},
// {title:'',views:'92,000',create_time:'2019-4-22 12:30'}, {title:'中国风机器人乐队',views:'92,000',create_time:'2019-4-22 12:30'},
// {title:':',views:'82,000',create_time:'2019-4-22 12:30'}, {title:'交通运输部:“五一”假期四天收费公路小客车免费通行',views:'82,000',create_time:'2019-4-22 12:30'},
// {title:'?',views:'3,000',create_time:'2019-4-22 12:30'}, {title:'小米有品签“军令状”放弃年终奖?',views:'3,000',create_time:'2019-4-22 12:30'},
]; ];
export default { export default {
components: { components: {
@ -167,15 +167,15 @@
}; };
}, },
async mounted(){ async mounted(){
this.hotNewsData = await api.queryHotNews(); this.hotNewsData = hotNewsData;
var o = new DataSet.View().source(await api.categoryCount()); // var o = new DataSet.View().source(await api.categoryCount());
o.transform({ // o.transform({
type: 'percent', // type: 'percent',
field: 'count', // field: 'count',
dimension: 'item', // dimension: 'item',
as: 'percent' // as: 'percent'
}) // })
this.pieData = o.rows; // this.pieData = o.rows;
} }
}; };

View File

@ -27,9 +27,8 @@
<strong>王小虎</strong> <strong>王小虎</strong>
</div> </div>
<el-dropdown-menu slot="dropdown" style="min-width: 120px"> <el-dropdown-menu slot="dropdown" style="min-width: 120px">
<el-dropdown-item command="person">个人中心</el-dropdown-item> <el-dropdown-item command="updatePwd">修改密码</el-dropdown-item>
<el-dropdown-item command="setting">个人设置</el-dropdown-item> <el-dropdown-item command="logout">退出</el-dropdown-item>
<el-dropdown-item command="logout" divided>退出</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
</li> </li>
@ -82,6 +81,24 @@
<router-view></router-view> <router-view></router-view>
</el-main> </el-main>
</el-container> </el-container>
<el-dialog title="修改密码" :visible.sync="dialogUpdatePwdVisible" width="400px">
<el-form name="dialog" :model="updateModel">
<el-form-item>
<el-input placeholder="请输入原始密码" v-model="updateModel.origin" show-password></el-input>
</el-form-item>
<el-form-item>
<el-input placeholder="请输入新密码" v-model="updateModel.origin" show-password></el-input>
</el-form-item>
<el-form-item>
<el-input placeholder="请再次输入新密码" v-model="updateModel.origin" show-password></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogUpdatePwdVisible = false"> </el-button>
<el-button type="primary" @click="dialogUpdatePwdVisible = false">确定修改</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="helpDialogVisible" :title="langData.help.title"> <el-dialog :visible.sync="helpDialogVisible" :title="langData.help.title">
<div v-html="langData.help.content" class="help"></div> <div v-html="langData.help.content" class="help"></div>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
@ -100,6 +117,15 @@
export default { export default {
data() { data() {
const currentLang = "zh-cn"; const currentLang = "zh-cn";
var validatePass = (rule, value, callback) => {
if (value === '') {
callback(new Error('请再次输入密码'));
} else if (value !== this.updateModel.new_pwd) {
callback(new Error('两次输入密码不一致!'));
} else {
callback();
}
}
return { return {
activeMenu: "/dashboard", activeMenu: "/dashboard",
routes: adminRoutes, routes: adminRoutes,
@ -124,6 +150,27 @@
query: { query: {
name: "", name: "",
date: [] date: []
},
dialogUpdatePwdVisible:false,
updateModel:{
origin:'',
new_pwd:'',
new_pwd2:'',
},
updateRules: {
origin: [
{required: true, message: '请输入新密码', trigger: 'blur'},
{min: 6, max: 16, message: '长度在 6 到 16 个字符', trigger: 'blur'}
],
new_pwd: [
{required: true, message: '请输入新密码', trigger: 'blur'},
{min: 6, max: 16, message: '长度在 6 到 16 个字符', trigger: 'blur'}
],
new_pwd2: [
{required: true, message: '请再次输入新密码', trigger: 'blur'},
{min: 6, max: 16, message: '长度在 6 到 16 个字符', trigger: 'blur'},
{validator:validatePass,trigger: 'blur'}
]
} }
}; };
}, },
@ -153,9 +200,12 @@
sessionStorage.removeItem('ms_username'); sessionStorage.removeItem('ms_username');
this.$router.push('login'); this.$router.push('login');
}, 1000); }, 1000);
return; break;
case 'updatePwd':
this.dialogUpdatePwdVisible = true;
break;
} }
this.$message('功能尚在开发中...'); // this.$message('...');
}, },
updateActiveMenuIndex() { updateActiveMenuIndex() {
if (this.$route.meta.text) { if (this.$route.meta.text) {

View File

@ -31,9 +31,7 @@
</el-form> </el-form>
</div> </div>
<div class="data-list"> <div class="data-list">
<el-table <el-table :data="dataList" class="table-border">
:data="dataList"
style="width: 100%">
<el-table-column prop="create_time" label="自评时间" width="180" /> <el-table-column prop="create_time" label="自评时间" width="180" />
<el-table-column width="100" prop="realname" label="姓名"/> <el-table-column width="100" prop="realname" label="姓名"/>
<el-table-column prop="headache" label="头痛症状"/> <el-table-column prop="headache" label="头痛症状"/>
@ -55,7 +53,7 @@
:total="totalCount"> :total="totalCount">
</el-pagination> </el-pagination>
</div> </div>
<el-dialog title="导出记录" :visible.sync="dialogExportVisible"> <el-dialog title="导出记录" :visible.sync="dialogExportVisible" class="el-dialog-export">
<el-form name="dialog" :model="exportModel"> <el-form name="dialog" :model="exportModel">
<p><b>导出数据</b></p> <p><b>导出数据</b></p>
<el-form-item> <el-form-item>
@ -160,10 +158,6 @@
@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;
@ -176,7 +170,7 @@
width: 90px; width: 90px;
} }
} }
.el-dialog{ .el-dialog-export{
width:795px; width:795px;
} }
.el-checkbox-group{ .el-checkbox-group{

View File

@ -27,7 +27,7 @@
<template v-if="cities.length > 0"> <template v-if="cities.length > 0">
<el-option v-for="c in cities" :key="c.code" :label="c.name" :value="c.code"></el-option> <el-option v-for="c in cities" :key="c.code" :label="c.name" :value="c.code"></el-option>
</template> </template>
<el-option v-else label="asdfasd城市" value=""></el-option> <el-option v-else label="城市" value=""></el-option>
</el-select> </el-select>
@ -41,15 +41,13 @@
</el-form> </el-form>
</div> </div>
<div class="data-list"> <div class="data-list">
<el-table <el-table :data="userList" class="table-border">
:data="userList" <el-table-column label="微信" width="230">
style="width: 100%">
<el-table-column
label="微信"
width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="user-head-name"> <div class="user-head-name">
<div class="img">
<img src="../../assets/imgs/avatar.jpg" alt=""> <img src="../../assets/imgs/avatar.jpg" alt="">
</div>
<div class="info"> <div class="info">
<p>昵称:{{ scope.row.nickname }}</p> <p>昵称:{{ scope.row.nickname }}</p>
<p>OpenId:{{ scope.row.open_id }}</p> <p>OpenId:{{ scope.row.open_id }}</p>
@ -57,57 +55,30 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="realname" label="姓名"/>
prop="realname" <el-table-column label="性别">
label="姓名"> <template slot-scope="scope">{{scope.row.gender | formatGender}}</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="age" label="年龄"/>
prop="gender" <el-table-column label="身高">
label="性别"> <template slot-scope="scope">{{scope.row.height | formatHeight}}</template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="体重">
prop="age" <template slot-scope="scope">{{scope.row.weight | formatWeight}}</template>
label="年龄">
</el-table-column> </el-table-column>
<el-table-column <el-table-column prop="address" label="久居城市"/>
prop="height" <el-table-column prop="smoke" label="抽烟量"/>
label="身高"> <el-table-column prop="drink" label="饮酒量"/>
</el-table-column> <el-table-column label="首次进藏">
<el-table-column <template slot-scope="scope">{{scope.row.is_first_to_tibet | firstToTibet}}</template>
prop="weight"
label="体重">
</el-table-column>
<el-table-column
prop="address"
label="久居城市">
</el-table-column>
<el-table-column
prop="smoke"
label="抽烟量">
</el-table-column>
<el-table-column
prop="drink"
label="饮酒量">
</el-table-column>
<el-table-column
prop="is_first_to_tibet"
label="首次进藏">
</el-table-column>
<el-table-column width="280"
prop="medical_history_data"
label="既往病史">
</el-table-column> </el-table-column>
<el-table-column width="320" prop="medical_history_data" label="既往病史"/>
</el-table> </el-table>
</div> </div>
<div class="data-page text-right"> <div class="data-page text-right">
<el-pagination <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
@size-change="handleSizeChange" :current-page="currentPage" :page-sizes="[20, 50, 100, 200]" :page-size="20"
@current-change="handleCurrentChange" layout="total, prev, pager, next,sizes, jumper" :total="totalCount">
:current-page="currentPage"
:page-sizes="[100, 200, 300, 400]"
:page-size="100"
layout="total, prev, pager, next,sizes, jumper"
:total="totalCount">
</el-pagination> </el-pagination>
</div> </div>
</div> </div>
@ -127,9 +98,10 @@
drink: '北京', drink: '北京',
is_first_to_tibet: 1, is_first_to_tibet: 1,
medical_history: 1, medical_history: 1,
medical_history_data: '反流性食道炎、慢性胃炎、胃溃疡、慢性胰腺炎、肠易激惹综合征、结肠炎', medical_history_data: '反流性食道炎、、结肠炎',
} }
import cities from '../../utils/distpicker'; import cities from '../../utils/distpicker';
export default { export default {
name: "Index", name: "Index",
data() { data() {
@ -146,6 +118,20 @@
totalCount: 401 totalCount: 401
} }
}, },
filters: {
firstToTibet(v) {
return v == 1 ? "是" : "否";
},
formatGender(v) {
return v == 1 ? "男" : "女";
},
formatHeight(v) {
return v + 'cm';
},
formatWeight(v) {
return v + 'kg';
}
},
methods: { methods: {
handleProvinceChange(provinceId) { handleProvinceChange(provinceId) {
for (var i = 0; i < cities.length; i++) { for (var i = 0; i < cities.length; i++) {
@ -182,17 +168,18 @@
display: block; display: block;
clear: both; clear: both;
} }
img { .img {
float: left; float: left;
}
img {
width: 80px; width: 80px;
height: 80px; height: 80px;
border-radius: 50%; border-radius: 50%;
} }
.info { .info {
float: left; float: left;
display: table-cell;
vertical-align: middle; vertical-align: middle;
padding-top:10px;
padding-left: 10px; padding-left: 10px;
p { p {
height: 30px; height: 30px;