Blame view

src/views/information/index.vue 6.64 KB
613d2a9c   Andy   add icon
1
  <template>
c0534536   Andy   add 个人资料 前端页面
2
    <div class="">
61f89c44   王富生   提交登陆
3
4
5
      <!--卡片-->
      <el-row :gutter="16" class="">
        <el-col :span="8">
52ef4112   王富生   提交登陆
6
          <el-card class="box-card" style="height: 364px">
61f89c44   王富生   提交登陆
7
8
9
10
11
12
13
14
15
16
17
18
19
20
            <el-form status-icon :rules="rules" ref="fileUploadForm">
              <el-upload
                class="avatar-uploader text-center"
                action="#"
                :show-file-list="false"
                :on-success="handleAvatarSuccess"
                :on-remove="handleRemove"
                :before-upload="beforeAvatarUpload">
                <img v-if="imageUrl" :src="imageUrl" class="avatar">
                <i v-else class="el-icon-plus avatar-uploader-icon"></i>
              </el-upload>
            </el-form>
            <!--<el-button  class="text-center" size="small" type="primary">点击上传</el-button>-->
            <!--<div slot="tip" class="el-upload__tip"></div>-->
52ef4112   王富生   提交登陆
21
            <div class="common-color text-center" style="line-height: 60px;font-size: 24px">{{userPhone}}</div>
61f89c44   王富生   提交登陆
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  
            <div class="font-size12 text-center" style="line-height: 30px">支持JPG格式且小于5MB</div>
            <div class="font-size12 text-center" style="height: 146px"></div>
          </el-card>
        </el-col>
        <el-col :span="16">
          <el-card class="box-card">
            <!-- <div slot="header" class="clearfix" style="line-height: 32px;">
               <span>个人资料</span>
             </div>-->
            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="80px">
              <el-form-item label="姓名" class="margin-bottom30" prop="username">
                <el-input v-model="ruleForm.username" style="width: 300px"></el-input>
              </el-form-item>
              <el-form-item label="性别" class="margin-bottom30" prop="sex">
                <el-select v-model="ruleForm.sex" style="width: 300px">
                  <el-option label="男" value="1"/>
                  <el-option label="女" value="2"/>
                  <el-option label="未知" value="3"/>
                </el-select>
              </el-form-item>
              <el-form-item label="生日" class="margin-bottom30" prop="birthday">
                <el-date-picker
                  v-model="ruleForm.birthday"
                  type="date"
                  placeholder="选择日期" style="width: 300px">
                </el-date-picker>
              </el-form-item>
              <el-form-item label="位置" class="margin-bottom30" prop="address">
                <el-input type="text" v-model="ruleForm.address" style="width: 300px"></el-input>
              </el-form-item>
  
              <el-form-item>
                <el-button type="primary" @click="submitForm('ruleForm')">提交</el-button>
              </el-form-item>
            </el-form>
          </el-card>
        </el-col>
      </el-row>
613d2a9c   Andy   add icon
61
62
63
64
    </div>
  </template>
  
  <script>
61f89c44   王富生   提交登陆
65
66
    import {uploadUserPic,updatePersonByCustId} from '@/api/user.js';
  
613d2a9c   Andy   add icon
67
    export default {
613d2a9c   Andy   add icon
68
69
      data() {
        return {
c0534536   Andy   add 个人资料 前端页面
70
71
          imageUrl: '',
          ruleForm: {
61f89c44   王富生   提交登陆
72
73
74
75
76
77
            username: '',
            num: '',
            sex: '',
            birthday: '',
            address: '',
            custId: '',
c0534536   Andy   add 个人资料 前端页面
78
          },
61f89c44   王富生   提交登陆
79
          userPhone:'',
c0534536   Andy   add 个人资料 前端页面
80
81
          rules: {
            username: [
61f89c44   王富生   提交登陆
82
83
              {required: true, message: '请输入用户名', trigger: 'blur'},
              {min: 1, max: 10, message: '长度在 3  10 个字符', trigger: 'blur'}
c0534536   Andy   add 个人资料 前端页面
84
            ],
c0534536   Andy   add 个人资料 前端页面
85
            birthday: [
61f89c44   王富生   提交登陆
86
              {required: true, message: '请输入日期', trigger: 'blur'}
c0534536   Andy   add 个人资料 前端页面
87
            ],
c0534536   Andy   add 个人资料 前端页面
88
            address: [
61f89c44   王富生   提交登陆
89
90
              {required: true, message: '请输入地址信息', trigger: 'blur'},
              {min: 1, max: 30, message: '长度在 1  30 个字符', trigger: 'blur'}
c0534536   Andy   add 个人资料 前端页面
91
            ],
613d2a9c   Andy   add icon
92
          }
c0534536   Andy   add 个人资料 前端页面
93
        };
613d2a9c   Andy   add icon
94
      },
613d2a9c   Andy   add icon
95
      methods: {
c0534536   Andy   add 个人资料 前端页面
96
97
98
99
100
        handleRemove(res, file) {
          console.log(res, file);
        },
        handleAvatarSuccess(res, file) {
          this.imageUrl = URL.createObjectURL(file.raw);
61f89c44   王富生   提交登陆
101
          debugger
c0534536   Andy   add 个人资料 前端页面
102
103
        },
        beforeAvatarUpload(file) {
61f89c44   王富生   提交登陆
104
         let that = this;
c0534536   Andy   add 个人资料 前端页面
105
106
107
108
109
110
111
112
113
          const isJPG = file.type === 'image/jpeg';
          const isLt5M = file.size / 1024 / 1024 < 5;
  
          if (!isJPG) {
            this.$message.error('上传头像图片只能是 JPG 格式!');
          }
          if (!isLt5M) {
            this.$message.error('上传头像图片大小不能超过 5MB!');
          }
61f89c44   王富生   提交登陆
114
115
116
117
118
119
120
121
122
123
124
125
126
          let userInfo = this.$store.state.user.userInfo;
          let fd = new FormData();
          fd.append('custId', userInfo.custId)
          fd.append('file', file)
          uploadUserPic(fd).then(response => {
             if(response.code ='8888'){
               that.imageUrl=response.data;
             }
  
  
          });
  
  
c0534536   Andy   add 个人资料 前端页面
127
          return isJPG && isLt5M;
7efbb9fb   Andy   add 个人资料 前端页面
128
        },
61f89c44   王富生   提交登陆
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
        submitForm: function (formName) {
          let username = this.ruleForm.username;
          let sex = this.ruleForm.sex;
          let birthday = this.ruleForm.birthday
          let address = this.ruleForm.address;
          let custId = this.ruleForm.custId;
  
          this.$refs[formName].validate((valid) => {
            if (valid) {
                let req ={
                  custName:username,
                  sex:sex,
                  birthDate:birthday,
                  address:address,
                  custId:custId
                };
              updatePersonByCustId(req).then(response =>{
                 if(response.code ='8888'){
                   debugger
                   let userInfo = this.$store.state.user.userInfo;
                   userInfo.custName=username;
                   userInfo.sex=sex;
                   userInfo.birthDate=birthday;
                   userInfo.address=address;
                   this.$message({
                     type: 'success',
                     message: '更新用户信息成功!'
                   });
                 }
              });
            }
          });
        },
7efbb9fb   Andy   add 个人资料 前端页面
162
163
        resetForm(formName) {
          this.$refs[formName].resetFields();
61f89c44   王富生   提交登陆
164
165
166
167
168
169
170
171
172
173
174
175
        },
        queryUserInfo: function () {
          let userInfo = this.$store.state.user.userInfo;
            this.userPhone=userInfo.userPhone;
          this.ruleForm = {
            username: userInfo.custName,
            //num: '',
            sex: userInfo.sex + "",
            birthday: userInfo.birthDate,
            address: userInfo.address,
            custId: userInfo.custId
          }
613d2a9c   Andy   add icon
176
        }
61f89c44   王富生   提交登陆
177
178
179
      },
      mounted: function () {
        this.queryUserInfo();
613d2a9c   Andy   add icon
180
181
182
      }
    }
  </script>
61f89c44   王富生   提交登陆
183
  <style lang="scss">
c0534536   Andy   add 个人资料 前端页面
184
185
186
  
    .avatar-uploader .el-upload {
      border: 1px dashed #d9d9d9;
7efbb9fb   Andy   add 个人资料 前端页面
187
      border-radius: 50%;
c0534536   Andy   add 个人资料 前端页面
188
189
190
191
      cursor: pointer;
      position: relative;
      overflow: hidden;
    }
61f89c44   王富生   提交登陆
192
  
c0534536   Andy   add 个人资料 前端页面
193
194
195
    .avatar-uploader .el-upload:hover {
      border-color: #409EFF;
    }
61f89c44   王富生   提交登陆
196
  
c0534536   Andy   add 个人资料 前端页面
197
198
199
200
201
202
203
204
    .avatar-uploader-icon {
      font-size: 28px;
      color: #8c939d;
      width: 178px;
      height: 178px;
      line-height: 178px;
      text-align: center;
    }
61f89c44   王富生   提交登陆
205
  
c0534536   Andy   add 个人资料 前端页面
206
207
208
209
210
    .avatar {
      width: 178px;
      height: 178px;
      display: block;
    }
61f89c44   王富生   提交登陆
211
212
  
    .margin-bottom30 {
c0534536   Andy   add 个人资料 前端页面
213
214
215
      margin-bottom: 30px;
    }
  </style>
613d2a9c   Andy   add icon