submit-controller.js
5.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
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
/**
* 录入维修单
*/
define(
"order/submit-controller",
[
'mk7/controller',
'mk7/url',
'mk7/utils',
'mk7/uploadjs',
],
function(ctrl, url, utils, uploadjs) {
var $$ = Dom7;
var t7 = Template7;
var ctrl = new ctrl();
var uploadURL = '/user/default/upload-file';
var submitURL = '/order/default/submit';
var canSubmit = true;
ctrl.run = function () {
var me = this;
me.setPageTitle("录入维修单");
me.imgLimit = 9;
me.render();
}
ctrl.bindEvents = function () {
var me = this;
console.log("bindEvents");
me.uploadImgEvent();
me.submitEvent();
}
ctrl.uploadImgEvent = function() {
var me = this;
$$('#submit #upload-btn').change(function () {
if ('' == $$(this).val() || null == $$(this).val()) {
return;
}
var uploadParent = $$(this).parents('li');
uploadjs.uploadFile({
selector: '#upload-btn',
url: url.to(uploadURL),
processAppendTo: '#submit',
success: function (response, e) {
try {
if (response.success) {
var imgUrl = response.tmpUrl;
$$('<li class="upload-li up-img"><div data="' + response.tmpFile + '" data-url="' + imgUrl + '" class="upload-item" style="background-image:url(' + response.tmpMinUrl + ')">' + '</div><span class="del-img"></span></li>').insertBefore(uploadParent);
if (me.imgLimit == $$('#submit #image-list').find('.up-img').length) {
$$('#submit .upload-btn-li').hide();
}
} else {
utils.toast({content: response.message, closeDelay: 5000});
}
} catch (ex) {
console.log(ex)
utils.toast({content: '出错', closeDelay: 5000});
}
}
});
})
$$('#submit #image-list').on('click', '.del-img', function(e){
$$(this).parent().remove();
if (me.imgLimit >= $$('#submit #image-list').find('.up-img').length) {
$$('#submit .upload-btn-li').show();
}
})
}
ctrl.submitEvent = function() {
var me = this;
$$('#submit .submit-btn-cls').click(function(e) {
var carNo = utils.trim($$('#submit .carNo').val());
var carModel = utils.trim($$('#submit .carModel').val());
var customer = utils.trim($$('#submit .customer').val());
var phone = utils.trim($$('#submit .phone').val());
var preRepair = utils.trim($$('#submit .preRepair').val());
var repairPrice = utils.trim($$('#submit .repairPrice').val());
var finishDate = utils.trim($$('#submit .finishDate').val());
if (false == canSubmit) {
return false;
}
if ('' == carNo) {
utils.toast({content:'车牌号必填'});
return false;
}
if ('' == carModel) {
utils.toast({content:'车辆型号必填'});
return false;
}
if ('' == customer) {
utils.toast({content:'客户名称必填'});
return false;
}
if ('' == phone) {
utils.toast({content:'客联系电话必填'});
return false;
}
if (!utils.isMobile(phone) && !uitls.isTelephone(phone)) {
utils.toast({content:'客联系电话有误'});
return false;
}
if ('' == preRepair) {
utils.toast({content:'预估维修内容必填'});
return false;
}
if ('' == repairPrice) {
utils.toast({content:'预估维修费用必填'});
return false;
}
if ('' == finishDate) {
utils.toast({content:'预估完成时间必填'});
return false;
}
var imgs = me.getUploadImgs();
if (0 == imgs.length) {
utils.toast({content:'请上传车损照'});
return false;
}
canSubmit = false;
var sData = me.csrf({
carNo:carNo, carModel:carModel,customer:customer,phone:phone,
preRepair:preRepair, repairPrice:repairPrice,finishDate:finishDate, images:imgs
})
utils.httpPost(submitURL, sData, function(res) {
canSubmit = true;
if (!res.success) {
utils.toast({content:message});
return false;
} else {
window.location.href = url.to('/');
}
}, true);
})
}
ctrl.getUploadImgs = function() {
var images = $$('#submit #image-list').find('.up-img');
var returnImg = [];
if (images.length == 0 ) {
return [];
}
$$.each(images, function(i, n){
var img = $$(n).find('.upload-item');
returnImg.push(img.attr('data'))
})
return returnImg;
}
return ctrl;
}
);