Browse Source

编辑用户>更新头像

XMTT 8 years ago
parent
commit
6847ee6756
3 changed files with 111 additions and 73 deletions
  1. 9 11
      css/model/sys/user.css
  2. 42 39
      html/model/sys/user/edit.html
  3. 60 23
      js/model/sys/user/edit.js

+ 9 - 11
css/model/sys/user.css

@ -7,16 +7,16 @@
7 7
    width: 35px;
8 8
}
9 9

10
.sys_user_new,.sys_user_role,.sys_user_right,.sys_user_menu {
10
.sys_user_new,.sys_user_role,.sys_user_right,.sys_user_menu,.sys_user_edit {
11 11
    width: 800px;
12 12
    padding: 0 20px 10px;
13 13
}
14 14

15
.sys_user_new .newForm {
15
.sys_user_new .newForm,.sys_user_edit .newForm {
16 16
    position: relative;
17 17
}
18 18

19
.sys_user_new .newForm .head-ctn {
19
.sys_user_new .newForm .head-ctn,.sys_user_edit .newForm .head-ctn {
20 20
    position: absolute;
21 21
    top: 3px;
22 22
    right: 30px;
@ -24,7 +24,7 @@
24 24
    height: 190px;
25 25
}
26 26

27
.sys_user_new .newForm .head-ctn .upload-btn {
27
.sys_user_new .newForm .head-ctn .upload-btn,.sys_user_edit .newForm .head-ctn .upload-btn {
28 28
    position: absolute;
29 29
    bottom: 10px;
30 30
    left: 40px;
@ -37,21 +37,21 @@
37 37
    padding-top: 6px;
38 38
}
39 39

40
.sys_user_new .newForm .head-ctn .upload-btn i {
40
.sys_user_new .newForm .head-ctn .upload-btn i,.sys_user_edit .newForm .head-ctn .upload-btn i {
41 41
    font-size: 16px;
42 42
    color: rgb(95,184,120);
43 43
}
44
.sys_user_new .newForm .head-ctn img {
44
.sys_user_new .newForm .head-ctn img,.sys_user_edit .newForm .head-ctn img {
45 45
    width: 100%;
46 46
   height: 100%;
47 47
}
48
.sys_user_new .upload-item{
48
.sys_user_new .upload-item,.sys_user_edit .upload-item{
49 49
	position: absolute;
50 50
	width: 100%;
51 51
	top:50%;
52 52
	transform: translateY(-50%);
53 53
}
54
.sys_user_new .upload-item .progress{
54
.sys_user_new .upload-item .progress,.sys_user_edit .upload-item .progress{
55 55
	width: 1px;
56 56
	height: 30px;
57 57
	background-color: #3280FC;
@ -59,7 +59,5 @@
59 59
.sys_user_menu .nav ul{
60 60
	padding-left: 20px;
61 61
}
62
.sys_user_edit{
63
    width:800px;
64
}
62

65 63


+ 42 - 39
html/model/sys/user/edit.html

@ -1,41 +1,44 @@
1 1
<div class="sys_user_edit centerModal">
2
	<div class="modal-ctrl">
3
		<i class="icon icon-times"></i>
4
	</div>
5
	<div class="container newForm">
6
		<div class="row">
7
			<div class="col-2 item-caption">用户NAME</div>
8
			<div class="col-10">
9
				<div class="form-item text" defVal="" name="name"></div>
10
			</div>
11
		</div>
12
		<div class="row">
13
			<div class="col-2 item-caption">电话</div>
14
			<div class="col-10">
15
				<div class="form-item text" defVal="" name="mobile"></div>
16
			</div>
17
		</div>
18
		<div class="row">
19
			<div class="col-2 item-caption">邮箱</div>
20
			<div class="col-10">
21
				<div class="form-item text" defVal="" name="email"></div>
22
			</div>
23
		</div>
24
		<div class="row">
25
			<div class="col-2 item-caption">备注</div>
26
			<div class="col-10">
27
				<div class="form-item textarea" defVal="" name="descp"></div>
28
			</div>
29
		</div>
30
		<div class="row">
31
			<div class="col-10"></div>
32
			<div class="col-2">
33
				<div class="btn pull-right opt-save">
34
					<i class="icon-check"></i> SAVE
35
				</div>
36
37
			</div>
38
39
		</div>
40
	</div>
2
    <div class="modal-ctrl">
3
        <i class="icon icon-times"></i>
4
    </div>
5
    <div class="container newForm">
6
        <div class="row">
7
            <div class="col-2 item-caption">用户姓名</div>
8
            <div class="col-6">
9
                <div class="form-item text" defVal="" name="name"></div>
10
            </div>
11
        </div>
12
        <div class="row">
13
            <div class="col-2 item-caption">电话</div>
14
            <div class="col-6">
15
                <div class="form-item text" defVal="" name="mobile"></div>
16
            </div>
17
        </div>
18
        <div class="row">
19
            <div class="col-2 item-caption">邮箱</div>
20
            <div class="col-6">
21
                <div class="form-item text" defVal="" name="email"></div>
22
            </div>
23
        </div>
24
        <div class="row">
25
            <div class="col-2 item-caption">备注</div>
26
            <div class="col-6">
27
                <div class="form-item textarea" defVal="" name="descp"></div>
28
            </div>
29
        </div>
30
        <div class="row">
31
            <div class="col-10"></div>
32
            <div class="col-2">
33
                <div class="btn pull-right opt-save">
34
                    <i class="icon-check"></i> SAVE
35
                </div>
36
            </div>
37
        </div>
38
        <div class="head-ctn">
39
            <div class="upload-btn">
40
                <i class="icon icon-upload"></i>&nbsp;上传新头像
41
            </div>
42
        </div>
43
    </div>
41 44
</div>

+ 60 - 23
js/model/sys/user/edit.js

@ -1,25 +1,62 @@
1 1
;
2
spa_define(function(spa) {
3
4
	return {
5
		modal: function(data) {
6
			var modalCtn = spa.getLastModalCtn();
7
			var root = modalCtn = modalCtn.children();
8
			var form = root.find(".newForm").form();
9
			root.find(".modal-ctrl .icon-times").on("click", function() {
10
				spa.closeModal();
11
			});
12
			var handler = data.hand;
13
			var closeThis = function() {
14
				spa.closeModal();
15
				if(handler) {
16
					handler();
17
				}
18
			};
19
			form.val(data.data);
20
			root.find(".opt-save").on("click", function() {
21
				form.doPut("../ajax/sys/user", closeThis, {});
22
			});
23
		}
24
	};
2
spa_define(function() {
3
	return $.use(["spa","util","form","upload"],function (spa,util,fb,upload) {
4
        return {
5
            modal: function(data) {
6
                var root = spa.findInModal(".sys_user_edit");
7
                var form = fb.build(root.find(".newForm"));
8
                var saveBtn = root.find(".opt-save"),
9
                    headArea = root.find(".head-ctn"),
10
                    save = function () {
11
                        form.doPut("../ajax/sys/user", closeThis, {});
12
                    };
13
                root.find(".modal-ctrl .icon-times").on("click", function() {
14
                    spa.closeModal();
15
                });
16
                var handler = data.hand;
17
                var closeThis = function() {
18
                    spa.closeModal();
19
                    if(handler) {
20
                        handler();
21
                    }
22
                };
23
                form.val(data.data);
24
                upload.build({
25
                    render: root.find(".upload-btn"),
26
                    accept: "image/gif, image/jpeg",
27
                    fail: function(errType, errData) {
28
						/*this ={id,name,size,type,abort=function}*/
29
                        util.errMsg(this.name + "上传文件错误:" + errType);
30
                        this.ele.remove();
31
                        saveBtn.on("click", save);
32
                    },
33
                    async: false,
34
                    maxSize: 1024 * 1024 * 10,
35
                    done: function(data) {
36
						/*this ={id,name,size,type,abort=function}*/
37
                        this.ele.remove();
38
                        headArea.find("img").remove();
39
                        $("<img></img>").attr("src", "../data/" + data.uri).appendTo(headArea);
40
                        form.val({"head":data.uri});
41
                        saveBtn.on("click", save);
42
                    },
43
                    start: function() {
44
						/*this ={id,name,size,type,abort=function}*/
45
                        this.ele = $("<div class='upload-item'><div class='progress'></div><span>" + this.name + "</span><div>");
46
                        this.ele.appendTo(headArea);
47
                        this.progress = this.ele.find(".progress");
48
                        saveBtn.off("click");
49
                    },
50
                    notity: function(total, loaded) {
51
						/*this ={id,name,size,type,abort=function}*/
52
                        var vv =  ""+Math.ceil(loaded * 100 / total) + "%;"
53
                        this.progress.attr("style", "width:" +vv);
54
                        this.progress.text(vv);
55
                    },
56
                    uri: "../ajax/sys/user/head"
57
                });
58
                saveBtn.on("click", save);
59
            }
60
        };
61
    })
25 62
});