1. 修改个人信息

关键类:net.mingsoft.people.action.people.PeopleAction.java

关键方法:PeopleAction.update(...)

1.1. 范例:用户修改个人信息

实例中贴出了修改个人信息的完整代码

1.1.1. 实例: 修改个人信息

注意:若想直接操作并实现以下代码,请先登录

<html>
<head>
    <meta charset="utf-8">
    <title>修改个人信息</title>
    <meta http-equiv="content-type" content="text/html"/>
    <META HTTP-EQUIV="Pragma" CONTENT="no-cache"/>
    <meta name="viewport"
          content="initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no,width=device-width"/>
    <meta name="format-detection" content="telephone=no"/>
    <meta name="app-mobile-web-app-capable" content="yes"/>
    <meta name="app-mobile-web-app-status-bar-style" content="black-translucent"/>
    <!--引入Vue-->
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    <!--通用图标-->
    <link rel="stylesheet" href="https://cdn.mingsoft.net/iconfont/iconfont.css"/>
    <!-- 引入样式 -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
    <!-- 引入组件库 -->
    <script src="https://cdn.bootcss.com/qs/6.9.0/qs.min.js"></script>
    <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
    <script src="https://unpkg.com/element-ui/lib/index.js"></script>
    <script src="http://cdn.mingsoft.net/ms/1.0/ms.js"></script>
    <script src="http://cdn.mingsoft.net/ms/1.0/ms.http.js"></script>
    <script src="http://cdn.mingsoft.net/ms/1.0/ms.util.js"></script>
    <style>
        [v-cloak] {
            display: none;
        }

        .custom-body {
            width: 300px;
            margin: auto;
        }
    </style>
</head>
<body class="custom-body">
<div id="app" v-cloak>
    <div v-if="isLogin">
        <div class="class-31">
            <div class="class-32">
                <div class="class-33 ">基本信息</div>
            </div>
            <el-form ref="peopleInfo" :model="peopleInfo" :rules="rules" label-width="100px" size="medium">
                <el-form-item label="头像" prop="puIcon">
                    <el-upload
                            class="avatar-uploader"
                            :action="ms.base+'/file/upload.do'"
                            :show-file-list="false"
                            :on-success="puIconSuccess"
                    >
                        <img v-if="peopleInfo.puIcon" :src="ms.base + peopleInfo.puIcon" class="avatar"
                             @error="showdefaultimage($event)">
                        <i v-else class="el-icon-plus avatar-uploader-icon"></i>
                    </el-upload>
                </el-form-item>
                <el-form-item label="用户名" prop="peopleName">
                    <el-input v-model="peopleInfo.peopleName"
                              :disabled="true"
                              :style="{width:  '80%'}"
                              :clearable="true"
                              placeholder="请输入用户名">
                    </el-input>
                </el-form-item>
                <el-form-item label="昵称" prop="puNickname">
                    <el-input v-model="peopleInfo.puNickname"
                              :disabled="false"
                              :style="{width:  '80%'}"
                              :clearable="true"
                              placeholder="请输入昵称">
                    </el-input>
                </el-form-item>
                <el-form-item label="性别" prop="puSex">
                    <el-radio-group v-model="peopleInfo.puSex"
                                    :style="{width: ''}"
                                    :disabled="false">
                        <el-radio :style="{display: true ? 'inline-block' : 'block'}" :label="item.label"
                                  v-for='(item, index) in puSexOptions' :key="item.value">
                            {{item.value}}
                        </el-radio>
                    </el-radio-group>
                </el-form-item>
                <el-form-item label="生日" prop="puBirthday">
                    <el-date-picker
                            v-model="peopleInfo.puBirthday"
                            placeholder="请选择生日"
                            start-placeholder=""
                            end-placeholder=""
                            :readonly="false"
                            :disabled="false"
                            :editable="true"
                            :clearable="true"
                            format="yyyy-MM-dd"
                            value-format="yyyy-MM-dd"
                            :style="{width:'80%'}"
                            type="date">
                    </el-date-picker>
                </el-form-item>
            </el-form>
            <el-button @click="edit"
                       class="class-43 ">
                提交
            </el-button>
        </div>
    </div>
    <div v-else><span style="color: red;">请先登录!</span></div>
</div>
</body>
</html>
<script>
    var app = new Vue({
        el: '#app',
        watch: {},
        data: {
            errorImg: "//cdn.mingsoft.net/global/images/msheader.png",
            //是否登录
            isLogin: false,
            //表单数据
            peopleInfo: {
                // 头像
                puIcon: '',
                // 用户名
                peopleName: '',
                // 昵称
                puNickname: '',
                // 性别
                puSex: '',
                // 生日
                puBirthday: '',
            },
            puSexOptions: [{"value": "男", "label": 0}, {"value": "女", "label": 1}],
            rules: {
                puNickname: [
                    {required: true, message: '请输入昵称', trigger: 'blur'},
                    {pattern: /^.{4,20}$/, message: '长度为4-20个字符', trigger: 'blur'}
                ],
            },
        },
        methods: {
            info: function () {
                var that = this;
                ms.http.get("/people/user/info.do").then(function (data) {
                    if (data) {
                        data.peopleDateTime = ms.util.date.fmt(data.peopleDateTime, "yyyy-MM-dd hh:mm:ss");
                        data.puBirthday = ms.util.date.fmt(data.puBirthday, "yyyy-MM-dd");
                        that.peopleInfo = data;
                        if (data.puBirthday == "NaN-aN-aN") {
                            that.peopleInfo.puBirthday = "";
                        }
                    }
                });
            },
            //puIcon文件上传完成回调
            puIconSuccess: function (response, file, fileList) {
                this.peopleInfo.puIcon = response;
                this.$forceUpdate();
            },
            //修改
            edit: function () {
                var that = this;
                that.$refs.peopleInfo.validate((valid) => {
                    if(valid) {
                        that.$confirm('确认修改个人信息吗?', '提示', {
                            confirmButtonText: '确定',
                            cancelButtonText: '取消',
                            type: 'warning'
                        }).then(() => {
                            ms.http.post("/people/user/update.do", that.peopleInfo).then(function (data) {
                                if (data.result) {
                                    that.$notify.success("修改成功");
                                }
                            });
                    })
                        ;
                    }else{
                        that.$notify.error(fields[0].message);
            }
            })
                ;
            },
            showdefaultimage: function (event) {
                let img = event.srcElement;
                img.src = this.errorImg;
                img.onerror = null; //防止闪图
            }
        },
        created() {
            var that = this;
            that.info();
            ms.http.get('/people/user/info.do').then(function (data) {
                if (data.peopleId) {
                    that.isLogin = true;
                }
            })
        }
    })
</script>

Copyright © mingsoft.net 2019 all right reserved,powered by Gitbook该文件修订时间: 2020-02-21 18:21:56

results matching ""

    No results matching ""

    results matching ""

      No results matching ""