index.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <template>
  2. <div id="index">
  3. <el-row>
  4. <el-col :span="24">
  5. <el-col :span="24" class="leftTop"> <span>|</span> <span>基本信息</span> </el-col>
  6. <el-col :span="24" class="info">
  7. <el-form :model="form" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
  8. <el-form-item label="用户名" prop="adminuser">
  9. <el-input v-model="form.adminuser" placeholder="请输入用户名"></el-input>
  10. </el-form-item>
  11. <el-form-item label="手机号" prop="phone">
  12. <el-input v-model="form.phone" placeholder="请输入用户名" disabled></el-input>
  13. </el-form-item>
  14. <el-form-item>
  15. <el-button type="primary" @click="submitForm('form')">保存</el-button>
  16. <el-button @click="resetForm('form')">重置</el-button>
  17. </el-form-item>
  18. </el-form>
  19. </el-col>
  20. </el-col>
  21. </el-row>
  22. </div>
  23. </template>
  24. <script>
  25. import { mapState, createNamespacedHelpers } from 'vuex';
  26. const { mapActions: dock } = createNamespacedHelpers('dock');
  27. const { mapActions: authUser } = createNamespacedHelpers('authUser');
  28. export default {
  29. name: 'index',
  30. props: {},
  31. components: {},
  32. data: function() {
  33. return {
  34. form: {},
  35. rules: {
  36. adminuser: [{ required: true, message: '请输入用户名', trigger: 'blur' }],
  37. phone: [{ required: true, message: '请输入手机号', trigger: 'blur' }],
  38. },
  39. };
  40. },
  41. created() {
  42. this.searchInfo();
  43. },
  44. methods: {
  45. ...dock({ dockQuery: 'query', dockFetch: 'fetch', dockUpdate: 'update' }),
  46. ...authUser({ authUserFetch: 'fetch', authUserUpdate: 'update' }),
  47. async searchInfo() {
  48. if (this.user.uid) {
  49. let res = await this.dockQuery(this.user.uid);
  50. if (this.$checkRes(res)) {
  51. for (const val of res.data) {
  52. this.$set(this, `form`, val);
  53. }
  54. }
  55. }
  56. },
  57. async submitForm() {
  58. let res = await this.dockUpdate(this.form);
  59. if (this.$checkRes(res)) {
  60. let data = {};
  61. data.id = this.user.uid;
  62. data.name = this.form.adminuser;
  63. let arr = await this.authUserUpdate(data);
  64. if (this.$checkRes(arr)) {
  65. this.$message({
  66. message: '修改信息成功',
  67. type: 'success',
  68. });
  69. } else {
  70. this.$message({
  71. message: '修改信息失败',
  72. type: 'error',
  73. });
  74. }
  75. }
  76. this.searchInfo();
  77. },
  78. resetForm() {
  79. this.form.adminuser = '';
  80. },
  81. },
  82. computed: {
  83. ...mapState(['user']),
  84. pageTitle() {
  85. return `${this.$route.meta.title}`;
  86. },
  87. },
  88. metaInfo() {
  89. return { title: this.$route.meta.title };
  90. },
  91. };
  92. </script>
  93. <style lang="less" scoped>
  94. .leftTop {
  95. font-size: 18px;
  96. width: 96%;
  97. height: 41px;
  98. line-height: 35px;
  99. border-bottom: 1px solid #e5e5e5;
  100. position: relative;
  101. bottom: 1px;
  102. margin: 10px;
  103. font-weight: 600;
  104. color: #22529a;
  105. }
  106. .info {
  107. padding: 0 40px 0 0;
  108. }
  109. </style>