|
@@ -19,6 +19,7 @@
|
|
<span class="user-name" v-else @click="toLogin">请登录</span>
|
|
<span class="user-name" v-else @click="toLogin">请登录</span>
|
|
</div>
|
|
</div>
|
|
<el-dropdown-menu class="user-dropdown" slot="dropdown" v-if="user && user.userid">
|
|
<el-dropdown-menu class="user-dropdown" slot="dropdown" v-if="user && user.userid">
|
|
|
|
+ <el-dropdown-item :divided="true" command="weixin"> <img :src="weixin" style="zoom:0.1" /> 绑定/更绑微信 </el-dropdown-item>
|
|
<el-dropdown-item :divided="true" icon="el-icon-key" command="passwd">
|
|
<el-dropdown-item :divided="true" icon="el-icon-key" command="passwd">
|
|
修改密码
|
|
修改密码
|
|
</el-dropdown-item>
|
|
</el-dropdown-item>
|
|
@@ -33,10 +34,18 @@
|
|
<el-dialog title="修改密码" :visible.sync="dialog" center @close="toClose" :destroy-on-close="true">
|
|
<el-dialog title="修改密码" :visible.sync="dialog" center @close="toClose" :destroy-on-close="true">
|
|
<data-form :data="info" :fields="fields" :rules="rules" @save="handleSave" :isNew="true"> </data-form>
|
|
<data-form :data="info" :fields="fields" :rules="rules" @save="handleSave" :isNew="true"> </data-form>
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
|
+ <el-dialog :visible.sync="wxDialog" title="绑定微信" width="30%" center :destroy-on-close="true">
|
|
|
|
+ <el-row type="flex" justify="center">
|
|
|
|
+ <el-col :span="24" style="text-align:center">
|
|
|
|
+ <img :src="dataUrl" />
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-dialog>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+import QRCode from 'qrcode';
|
|
import dataForm from '@frame/components/form';
|
|
import dataForm from '@frame/components/form';
|
|
import { mapState, mapMutations, createNamespacedHelpers } from 'vuex';
|
|
import { mapState, mapMutations, createNamespacedHelpers } from 'vuex';
|
|
import _ from 'lodash';
|
|
import _ from 'lodash';
|
|
@@ -46,8 +55,11 @@ export default {
|
|
props: {},
|
|
props: {},
|
|
components: { dataForm },
|
|
components: { dataForm },
|
|
data: () => ({
|
|
data: () => ({
|
|
|
|
+ weixin: require('@frame/assets/wechat.png'),
|
|
|
|
+ dataUrl: '',
|
|
info: {},
|
|
info: {},
|
|
dialog: false,
|
|
dialog: false,
|
|
|
|
+ wxDialog: false,
|
|
fields: [{ label: '密码', required: true, model: 'passwd', type: 'password', tip: '密码至少6位' }],
|
|
fields: [{ label: '密码', required: true, model: 'passwd', type: 'password', tip: '密码至少6位' }],
|
|
rules: {
|
|
rules: {
|
|
passwd: [
|
|
passwd: [
|
|
@@ -74,6 +86,7 @@ export default {
|
|
handleCommand(type) {
|
|
handleCommand(type) {
|
|
if (type === 'logout') this.toLogout();
|
|
if (type === 'logout') this.toLogout();
|
|
if (type === 'passwd') this.toPasswd();
|
|
if (type === 'passwd') this.toPasswd();
|
|
|
|
+ if (type === 'weixin') this.bind();
|
|
},
|
|
},
|
|
async toLogin() {
|
|
async toLogin() {
|
|
this.$router.push({ name: 'login' });
|
|
this.$router.push({ name: 'login' });
|
|
@@ -90,6 +103,11 @@ export default {
|
|
let res = await this.update(data);
|
|
let res = await this.update(data);
|
|
if (this.$checkRes(res, '修改成功', '修改失败')) this.toClose();
|
|
if (this.$checkRes(res, '修改成功', '修改失败')) this.toClose();
|
|
},
|
|
},
|
|
|
|
+ async bind() {
|
|
|
|
+ let uri = `http://free.liaoningdoupo.com/api/train/authtest?redirect_uri=http://10.16.10.7:8001/confirm&uid=${this.user.id}&type=1`;
|
|
|
|
+ this.dataUrl = await QRCode.toDataURL(uri);
|
|
|
|
+ this.wxDialog = true;
|
|
|
|
+ },
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|