Commit 908275905391fa3b730cc4b8a6362960173fa79a
1 parent
d4851694
Exists in
master
app-wx(v0.1.0 build 5)
1. F 调整订单列表,调整评论界面的文件名
Showing
15 changed files
with
282 additions
and
180 deletions
Show diff stats
app-wx/config/params.php
app-wx/modules/order/controllers/DefaultController.php
... | ... | @@ -42,4 +42,59 @@ class DefaultController extends BaseController |
42 | 42 | $e->success = true; |
43 | 43 | return $this->renderJson($e); |
44 | 44 | } |
45 | + | |
46 | + /** | |
47 | + * @return string | |
48 | + */ | |
49 | + public function actionOrderList() | |
50 | + { | |
51 | + $e = new stdClass(); | |
52 | + $e->success = false; | |
53 | + $e->page = null; | |
54 | + $e->page_count = null; | |
55 | + $e->items = []; | |
56 | + | |
57 | + $page = $this->request->get('page'); | |
58 | + $status = $this->request->get('status'); | |
59 | + | |
60 | + if (empty($page)) { | |
61 | + $page = 1; | |
62 | + } | |
63 | + $allItemList = [0, 0, 0]; | |
64 | + if ('working' == $status || '' == $status) { | |
65 | + $allItemList = $this->getOrderList($page, 1); | |
66 | + } else { | |
67 | + $allItemList = $this->getOrderList($page, 0); | |
68 | + } | |
69 | + | |
70 | + $e->page_count = $allItemList[1]; | |
71 | + $e->page = $page ; | |
72 | + $e->items = $allItemList[2]; | |
73 | + $e->success = true; | |
74 | + | |
75 | + return $this->renderJson($e); | |
76 | + } | |
77 | + | |
78 | + /** | |
79 | + * @param $page | |
80 | + * @param $status | |
81 | + */ | |
82 | + private function getOrderList($page, $status) | |
83 | + { | |
84 | + $pageSize = 5 ; | |
85 | + $pager_offset = ($page -1) * $pageSize; | |
86 | + $limitPage = $pageSize; | |
87 | + $count = 15; | |
88 | + $items = []; | |
89 | + $pageCount = ceil(($count*1) / $pageSize); | |
90 | + $carModelList = ['宝马X3','宝马X4','宝马X5','宝马X6','奔驰c200l','奔驰E260','奔驰E260','奔驰E300']; | |
91 | + $customerList = ['张先生','李先生','王先生','赵先生','刘先生','宝先生','好先生','费先生']; | |
92 | + for ($i = $pager_offset; $i < ($pager_offset+$limitPage); $i++ ) { | |
93 | + $carModel = $carModelList[mt_rand(0,7)]; | |
94 | + $customer = $customerList[mt_rand(0,7)]; | |
95 | + $items[] = ['id'=> $i ,'carNo' => 'XA'.mt_rand(10000,99999), 'carModel' => $carModel, 'status' => $status, 'customer' => $customer ,'createdTime' => date('Y-m-d H:i')]; | |
96 | + } | |
97 | + | |
98 | + return [$count, $pageCount, $items]; | |
99 | + } | |
45 | 100 | } |
46 | 101 | \ No newline at end of file | ... | ... |
app-wx/modules/order/views/default/index.php
... | ... | @@ -21,7 +21,7 @@ function img($file, $path = '/i/') |
21 | 21 | </div> |
22 | 22 | |
23 | 23 | <?=$this->render('pages/index-template', ['asset' => $asset])?> |
24 | -<?=$this->render('pages/rank-template', ['asset' => $asset])?> | |
24 | +<?=$this->render('pages/rate-template', ['asset' => $asset])?> | |
25 | 25 | <?=$this->render('pages/submit-template', ['asset' => $asset])?> |
26 | 26 | <?=$this->render('pages/cost-list-template', ['asset' => $asset])?> |
27 | 27 | <?=$this->render('pages/repairing-template', ['asset' => $asset])?> | ... | ... |
app-wx/modules/order/views/default/pages/index-template.php
... | ... | @@ -10,7 +10,7 @@ $baseUrl = Url::base(true); |
10 | 10 | #index .navbar-cls{height: 46px;} |
11 | 11 | #index .top-tab{width:100%;display:flex;justify-content: center;align-content: center;box-sizing: border-box;background: #FFFFFF;height:2.75rem;} |
12 | 12 | #index .inner-plus {padding:0;background:initial;;box-shadow: 0 1px 2px 0 rgba(179,179,181,0.38);} |
13 | - #index .top-tab .tab-cls{width:33%;display: inline-grid;text-align:center;color:#A9A9A9;position: relative; font-size: 1.06rem} | |
13 | + #index .top-tab .tab-cls{width:50%;display: inline-grid;text-align:center;color:#A9A9A9;position: relative; font-size: 1.06rem} | |
14 | 14 | #index .top-tab .tab-a{font-size: 0.88rem;line-height:0.88rem;padding:0.6875rem 0;box-sizing: border-box;display: flex;flex-direction: row;justify-content: center;font-weight: 400} |
15 | 15 | #index .top-tab .active{color:#FF8728;position:relative; border-bottom: 0.19rem solid #ff8728; padding: 0 0 0.6875rem 0;} |
16 | 16 | #index .tab-b { width: 100%; border-left: 2px solid #E4E7E9; border-right: 2px solid #E4E7E9;} |
... | ... | @@ -22,120 +22,66 @@ $baseUrl = Url::base(true); |
22 | 22 | #index .order-list{width:100%;margin-top:0;margin-bottom:5rem} |
23 | 23 | #index .content-time { font-size:0.81rem;font-weight:400;color:rgba(146,146,146,1);line-height:0.75rem;} |
24 | 24 | #index .order-done {font-size:1rem; font-weight:400; color:rgba(193,193,193,1); line-height:0.75rem; float: right} |
25 | + #index .add-btn-cls{position: absolute;bottom:4rem;right:1rem;width:4rem;border-radius: 2rem;z-index:2} | |
25 | 26 | </style> |
26 | 27 | <script id="index-template" type="text/template"> |
27 | - <div class="pages" id="index"> | |
28 | - <div class="page navbar-fixed"> | |
28 | + <div class="pages"> | |
29 | + <div class="page navbar-fixed" id="index"> | |
29 | 30 | <div class="navbar navbar-cls"> |
30 | 31 | <div class="navbar-inner inner-plus"> |
31 | 32 | <div class="top-tab g-block-set"> |
32 | 33 | <div data-href="<?=$baseUrl?>/order#index" class="tab-cls"> |
33 | - <span id="all-device-btn" class="tab-a"> | |
34 | - <span class="active">全部</span> | |
34 | + <span id="working" class="tab-a"> | |
35 | + {{#js_compare "'' == this.tab || null == this.tab || 'working' == this.tab"}} | |
36 | + <span class="active">进行中</span> | |
37 | + {{else}} | |
38 | + <span>进行中</span> | |
39 | + {{/js_compare}} | |
35 | 40 | </span> |
36 | 41 | </div> |
37 | - <div data-href="<?=$baseUrl?>/order#index/self" class="tab-cls"> | |
38 | - <span id="selfOrder" class="tab-a"> | |
39 | - <span class="tab-b">已完成</span> | |
40 | - </span> | |
41 | - </div> | |
42 | - <div data-href="<?=$baseUrl?>/order#index/forward" class="tab-cls"> | |
43 | - <span id="forwardOrder" class="tab-a"> | |
44 | - <span class="">进行中</span> | |
42 | + <div data-href="<?=$baseUrl?>/order#index/finish" class="tab-cls"> | |
43 | + <span id="finish" class="tab-a"> | |
44 | + {{#js_compare "'finish' == this.tab"}} | |
45 | + <span class="active">已完成</span> | |
46 | + {{else}} | |
47 | + <span>已完成</span> | |
48 | + {{/js_compare}} | |
45 | 49 | </span> |
46 | 50 | </div> |
47 | 51 | </div> |
48 | 52 | </div> |
49 | 53 | </div> |
50 | - <div class="page-content" > | |
51 | - <div class="order-list" id="index-order-list-box"> | |
52 | - <div class="order-item"> | |
53 | - <div class="order-item-content"> | |
54 | - <span class="title-left">车牌号码:粤A95582</span> | |
55 | - <span class="title-right"> | |
56 | - <img src="<?=$baseUrl . "/i/order/order_timer.png"?>" class="order-doing-img"/>进行中 | |
57 | - </span> | |
58 | - </div> | |
59 | - <div class="order-item-content"> | |
60 | - <span class="title-left">车辆型号:宝马X6</span> | |
61 | - </div> | |
62 | - <div class="order-item-content"> | |
63 | - <span class="title-left">客户名称:李先生</span> | |
64 | - </div> | |
65 | - <div class="order-item-content"> | |
66 | - <span class="content-time">创建时间: 2019-10-01 11:42</span> | |
67 | - </div> | |
68 | - </div> | |
69 | - <div class="order-item"> | |
70 | - <div class="order-item-content"> | |
71 | - <span class="title-left">车牌号码:粤A95582</span> | |
72 | - <span class="title-right"> | |
73 | - <img src="<?=$baseUrl . "/i/order/order_timer.png"?>" class="order-doing-img"/>进行中 | |
74 | - </span> | |
75 | - </div> | |
76 | - <div class="order-item-content"> | |
77 | - <span class="title-left">车辆型号:宝马X6</span> | |
78 | - </div> | |
79 | - <div class="order-item-content"> | |
80 | - <span class="title-left">客户名称:李先生</span> | |
81 | - </div> | |
82 | - <div class="order-item-content"> | |
83 | - <span class="content-time">创建时间: 2019-10-01 11:42</span> | |
84 | - </div> | |
85 | - </div> | |
86 | - <div class="order-item"> | |
87 | - <div class="order-item-content"> | |
88 | - <span class="title-left">车牌号码:粤A95582</span> | |
89 | - <span class="order-done"> | |
90 | - 已完成 | |
91 | - </span> | |
92 | - </div> | |
93 | - <div class="order-item-content"> | |
94 | - <span class="title-left">车辆型号:宝马X6</span> | |
95 | - </div> | |
96 | - <div class="order-item-content"> | |
97 | - <span class="title-left">客户名称:李先生</span> | |
98 | - </div> | |
99 | - <div class="order-item-content"> | |
100 | - <span class="content-time">创建时间: 2019-10-01 11:42</span> | |
101 | - </div> | |
102 | - </div> | |
103 | - <div class="order-item"> | |
104 | - <div class="order-item-content"> | |
105 | - <span class="title-left">车牌号码:粤A95582</span> | |
106 | - <span class="order-done"> | |
107 | - 已完成 | |
108 | - </span> | |
109 | - </div> | |
110 | - <div class="order-item-content"> | |
111 | - <span class="title-left">车辆型号:宝马X6</span> | |
112 | - </div> | |
113 | - <div class="order-item-content"> | |
114 | - <span class="title-left">客户名称:李先生</span> | |
115 | - </div> | |
116 | - <div class="order-item-content"> | |
117 | - <span class="content-time">创建时间: 2019-10-01 11:42</span> | |
118 | - </div> | |
119 | - </div> | |
120 | - <div class="order-item"> | |
121 | - <div class="order-item-content"> | |
122 | - <span class="title-left">车牌号码:粤A95582</span> | |
123 | - <span class="order-done"> | |
124 | - 已完成 | |
125 | - </span> | |
126 | - </div> | |
127 | - <div class="order-item-content"> | |
128 | - <span class="title-left">车辆型号:宝马X6</span> | |
129 | - </div> | |
130 | - <div class="order-item-content"> | |
131 | - <span class="title-left">客户名称:李先生</span> | |
132 | - </div> | |
133 | - <div class="order-item-content"> | |
134 | - <span class="content-time">创建时间: 2019-10-01 11:42</span> | |
135 | - </div> | |
136 | - </div> | |
137 | - </div> | |
54 | + <div class="page-content infinite-scroll" > | |
55 | + <div class="order-list" id="index-order-list-box"></div> | |
138 | 56 | </div> |
57 | + <div class="add-btn-cls"><img style="width:4rem;" src="<?=$baseUrl?>/i/order/order_enter.png" /></div> | |
139 | 58 | </div> |
140 | 59 | </div> |
141 | 60 | </script> |
61 | +<script id="order-item-template" type="text/template"> | |
62 | + {{#each list}} | |
63 | + <div class="order-item"> | |
64 | + <div class="order-item-content"> | |
65 | + <span class="title-left">车牌号码:{{carNo}}</span> | |
66 | + | |
67 | + {{#js_compare "1 == this.status"}} | |
68 | + <span class="title-right"> | |
69 | + <img src="<?=$baseUrl . "/i/order/order_timer.png"?>" class="order-doing-img"/>进行中 | |
70 | + </span> | |
71 | + {{else}} | |
72 | + <span class="order-done">已完成</span> | |
73 | + {{/js_compare}} | |
74 | + | |
75 | + </div> | |
76 | + <div class="order-item-content"> | |
77 | + <span class="title-left">车辆型号:{{carModel}}</span> | |
78 | + </div> | |
79 | + <div class="order-item-content"> | |
80 | + <span class="title-left">客户名称:{{customer}}</span> | |
81 | + </div> | |
82 | + <div class="order-item-content"> | |
83 | + <span class="content-time">创建时间: {{createdTime}}</span> | |
84 | + </div> | |
85 | + </div> | |
86 | + {{/each}} | |
87 | +</script> | |
142 | 88 | \ No newline at end of file | ... | ... |
app-wx/modules/order/views/default/pages/rank-template.php
... | ... | @@ -1,39 +0,0 @@ |
1 | -<?php | |
2 | -use yii\helpers\Url; | |
3 | -$baseUrl = Url::base(true); | |
4 | -?> | |
5 | -<style> | |
6 | - body,div,p,span,input{padding: 0;margin: 0} | |
7 | - input{-webkit-appearance: none;} | |
8 | - #rank .content-div { background: #fff; height: auto;padding: 1rem} | |
9 | - #rank .page-content{ background-color: #ECF0F2 } | |
10 | - #rank .rank-title { height:1.06rem; font-size:1.06rem; font-weight:400; color:rgba(9,9,9,1); line-height:0.75rem;} | |
11 | - #rank .rank-title-two { height:1.06rem; font-size:1.06rem; font-weight:400; color:rgba(9,9,9,1); line-height:0.75rem; padding-top: 2rem;} | |
12 | - #rank .star-div {margin-top: 1rem;display: flex;} | |
13 | - #rank .img-start {width: 1.47rem; height: 1.47rem; float: left; vertical-align: middle; margin-right: 1rem} | |
14 | - #rank .text-content {width: 100%;height: 7.5rem; resize: none;line-height: 1.2rem;padding: 0.5rem} | |
15 | - #rank .rank-text { font-size:0.94rem; font-weight:400; color:rgba(0,0,0,1); line-height:1.75rem;} | |
16 | -</style> | |
17 | -<script id="rank-template" type="text/template"> | |
18 | - <div class="pages"> | |
19 | - <div class="page" id="rank" style="background: #fff"> | |
20 | - <div class="page-content"> | |
21 | - <div class="content-div"> | |
22 | - <div class="rank-title">服务评价</div> | |
23 | - <div class="star-div"> | |
24 | - <img src="<?= $baseUrl . "/i/order/rank/rank_star.png"?>" class="img-start"> | |
25 | - <img src="<?= $baseUrl . "/i/order/rank/rank_star.png"?>" class="img-start"> | |
26 | - <img src="<?= $baseUrl . "/i/order/rank/rank_star.png"?>" class="img-start"> | |
27 | - <img src="<?= $baseUrl . "/i/order/rank/rank_star.png"?>" class="img-start"> | |
28 | - <img src="<?= $baseUrl . "/i/order/rank/rank_no_select.png"?>" class="img-start"> | |
29 | - <span class="rank-text">一般</span> | |
30 | - </div> | |
31 | - <div class="rank-title-two">说说你的感受</div> | |
32 | - <div class="star-div"> | |
33 | - <textarea class="text-content" placeholder="说说此次服务的优点和不足的地方吧"></textarea> | |
34 | - </div> | |
35 | - </div> | |
36 | - </div> | |
37 | - </div> | |
38 | - </div> | |
39 | -</script> |
app-wx/modules/order/views/default/pages/rate-template.php
0 → 100644
... | ... | @@ -0,0 +1,39 @@ |
1 | +<?php | |
2 | +use yii\helpers\Url; | |
3 | +$baseUrl = Url::base(true); | |
4 | +?> | |
5 | +<style> | |
6 | + body,div,p,span,input{padding: 0;margin: 0} | |
7 | + input{-webkit-appearance: none;} | |
8 | + #rate .content-div { background: #fff; height: auto;padding: 1rem} | |
9 | + #rate .page-content{ background-color: #ECF0F2 } | |
10 | + #rate .rate-title { height:1.06rem; font-size:1.06rem; font-weight:400; color:rgba(9,9,9,1); line-height:0.75rem;} | |
11 | + #rate .rate-title-two { height:1.06rem; font-size:1.06rem; font-weight:400; color:rgba(9,9,9,1); line-height:0.75rem; padding-top: 2rem;} | |
12 | + #rate .star-div {margin-top: 1rem;display: flex;} | |
13 | + #rate .img-start {width: 1.47rem; height: 1.47rem; float: left; vertical-align: middle; margin-right: 1rem} | |
14 | + #rate .text-content {width: 100%;height: 7.5rem; resize: none;line-height: 1.2rem;padding: 0.5rem} | |
15 | + #rate .rate-text { font-size:0.94rem; font-weight:400; color:rgba(0,0,0,1); line-height:1.75rem;} | |
16 | +</style> | |
17 | +<script id="rate-template" type="text/template"> | |
18 | + <div class="pages"> | |
19 | + <div class="page" id="rate" style="background: #fff"> | |
20 | + <div class="page-content"> | |
21 | + <div class="content-div"> | |
22 | + <div class="rate-title">服务评价</div> | |
23 | + <div class="star-div"> | |
24 | + <img src="<?= $baseUrl . "/i/order/rate/rate_star.png"?>" class="img-start"> | |
25 | + <img src="<?= $baseUrl . "/i/order/rate/rate_star.png"?>" class="img-start"> | |
26 | + <img src="<?= $baseUrl . "/i/order/rate/rate_star.png"?>" class="img-start"> | |
27 | + <img src="<?= $baseUrl . "/i/order/rate/rate_star.png"?>" class="img-start"> | |
28 | + <img src="<?= $baseUrl . "/i/order/rate/rate_no_select.png"?>" class="img-start"> | |
29 | + <span class="rate-text">一般</span> | |
30 | + </div> | |
31 | + <div class="rate-title-two">说说你的感受</div> | |
32 | + <div class="star-div"> | |
33 | + <textarea class="text-content" placeholder="说说此次服务的优点和不足的地方吧"></textarea> | |
34 | + </div> | |
35 | + </div> | |
36 | + </div> | |
37 | + </div> | |
38 | + </div> | |
39 | +</script> | ... | ... |
web/dist/js/order-app.js
1 | -define("order-app",["mk7/app"],function(t){var n=Dom7,e=function(){var t=n(".ui-loading-block");0==t.length&&(n(".view-main").html('<div class="ui-loading-block" id="ui-loading"><div class="ui-loading-cnt"><div class="spinner"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div><div id="loader-inner"><p></p></div> </div> </div>'),window.waitingTime=1e4,window.loaderTimer&&clearTimeout(window.loaderTimer),window.loaderTimer=setTimeout(function(){var t=document.getElementById("loader-inner"),n=document.createElement("p");n.className="notice",t&&(n.innerHTML='加载速度太慢?试试<a class="link" href="#" onclick="javascript:location.reload();return false;">重新加载</a>',t.appendChild(n))},window.waitingTime))},i=!0;return t.name="order",t.routes={index:function(){return i=!1,e(),t.runController("index")},rank:function(){return i=!1,e(),t.runController("rank")},submit:function(){return i=!1,e(),t.runController("submit")},"*":function(){return t.runController("index")}},t}),define("order/cost-list-controller",["mk7/controller","mk7/url","mk7/utils"],function(t,n,e){var t=(Dom7,Template7,new t);return t.run=function(){var t=this;t.setPageTitle("费用列表"),t.render()},t.bindEvents=function(){console.log("bindEvents")},t}),define("order/index-controller",["mk7/controller","mk7/url","mk7/utils"],function(t,n,e){var t=(Dom7,Template7,new t);return t.run=function(){var t=this;t.setPageTitle("订单列表"),t.hideAllNonBaseMenuItem(window.$site),t.render()},t.bindEvents=function(){console.log("bindEvents")},t}),define("order/rank-controller",["mk7/controller","mk7/url","mk7/utils"],function(t,n,e){var t=(Dom7,Template7,new t);return t.run=function(){var t=this;t.setPageTitle("评价"),t.render()},t.bindEvents=function(){console.log("bindEvents")},t}),define("order/repairing-controller",["mk7/controller","mk7/url","mk7/utils"],function(t,n,e){var t=(Dom7,Template7,new t);return t.run=function(){var t=this;t.setPageTitle("维修单"),t.render()},t.bindEvents=function(){console.log("bindEvents")},t}),define("order/submit-controller",["mk7/controller","mk7/url","mk7/utils","mk7/uploadjs"],function(t,n,e,i){var r=Dom7,t=(Template7,new t),o="/user/default/upload-file",l="/order/default/submit",s=!0;return t.run=function(){var t=this;t.setPageTitle("录入维修单"),t.imgLimit=9,t.render()},t.bindEvents=function(){var t=this;console.log("bindEvents"),t.uploadImgEvent(),t.submitEvent()},t.uploadImgEvent=function(){var t=this;r("#submit #upload-btn").change(function(){if(""!=r(this).val()&&null!=r(this).val()){var l=r(this).parents("li");i.uploadFile({selector:"#upload-btn",url:n.to(o),processAppendTo:"#submit",success:function(n,i){try{if(n.success){var o=n.tmpUrl;r('<li class="upload-li up-img"><div data="'+n.tmpFile+'" data-url="'+o+'" class="upload-item" style="background-image:url('+n.tmpMinUrl+')"></div><span class="del-img"></span></li>').insertBefore(l),t.imgLimit==r("#submit #image-list").find(".up-img").length&&r("#submit .upload-btn-li").hide()}else e.toast({content:n.message,closeDelay:5e3})}catch(s){console.log(s),e.toast({content:"出错",closeDelay:5e3})}}})}}),r("#submit #image-list").on("click",".del-img",function(n){r(this).parent().remove(),t.imgLimit>=r("#submit #image-list").find(".up-img").length&&r("#submit .upload-btn-li").show()})},t.submitEvent=function(){var t=this;r("#submit .submit-btn-cls").click(function(i){var o=e.trim(r("#submit .carNo").val()),a=e.trim(r("#submit .carModel").val()),u=e.trim(r("#submit .customer").val()),c=e.trim(r("#submit .phone").val()),m=e.trim(r("#submit .preRepair").val()),d=e.trim(r("#submit .repairPrice").val()),v=e.trim(r("#submit .finishDate").val());if(0==s)return!1;if(""==o)return e.toast({content:"车牌号必填"}),!1;if(""==a)return e.toast({content:"车辆型号必填"}),!1;if(""==u)return e.toast({content:"客户名称必填"}),!1;if(""==c)return e.toast({content:"客联系电话必填"}),!1;if(!e.isMobile(c)&&!uitls.isTelephone(c))return e.toast({content:"客联系电话有误"}),!1;if(""==m)return e.toast({content:"预估维修内容必填"}),!1;if(""==d)return e.toast({content:"预估维修费用必填"}),!1;if(""==v)return e.toast({content:"预估完成时间必填"}),!1;var f=t.getUploadImgs();if(0==f.length)return e.toast({content:"请上传图片"}),!1;s=!1;var p=t.csrf({carNo:o,carModel:a,customer:u,phone:c,preRepair:m,repairPrice:d,finishDate:v,images:f});e.httpPost(l,p,function(t){return s=!0,t.success?void(window.location.href=n.to("/")):(e.toast({content:message}),!1)},!0)})},t.getUploadImgs=function(){var t=r("#submit #image-list").find(".up-img"),n=[];return 0==t.length?[]:(r.each(t,function(t,e){var i=r(e).find(".upload-item");n.push(i.attr("data"))}),n)},t}); | |
2 | 1 | \ No newline at end of file |
2 | +define("order-app",["mk7/app"],function(t){var n=Dom7,e=function(){var t=n(".ui-loading-block");0==t.length&&(n(".view-main").html('<div class="ui-loading-block" id="ui-loading"><div class="ui-loading-cnt"><div class="spinner"><div class="bounce1"></div><div class="bounce2"></div><div class="bounce3"></div></div><div id="loader-inner"><p></p></div> </div> </div>'),window.waitingTime=1e4,window.loaderTimer&&clearTimeout(window.loaderTimer),window.loaderTimer=setTimeout(function(){var t=document.getElementById("loader-inner"),n=document.createElement("p");n.className="notice",t&&(n.innerHTML='加载速度太慢?试试<a class="link" href="#" onclick="javascript:location.reload();return false;">重新加载</a>',t.appendChild(n))},window.waitingTime))},i=!0;return t.name="order",t.routes={index:function(){return i=!1,e(),t.runController("index")},"index/:tab":function(n){i=!1,e();var r={tab:n};return t.runController("index",r)},rate:function(){return i=!1,e(),t.runController("rate")},submit:function(){return i=!1,e(),t.runController("submit")},"*":function(){return t.runController("index")}},t}),define("order/cost-list-controller",["mk7/controller","mk7/url","mk7/utils"],function(t,n,e){var t=(Dom7,Template7,new t);return t.run=function(){var t=this;t.setPageTitle("费用列表"),t.render()},t.bindEvents=function(){console.log("bindEvents")},t}),define("order/index-controller",["mk7/controller","mk7/url","mk7/utils"],function(t,n,e){var i=Dom7,r=Template7,t=new t,o="order/default/order-list";return t.run=function(){var t=this;t.setPageTitle("订单列表"),t.tab=t.params.tab,t.page=0,t.nodata="",t.loading=!1,t.pageCount=1,t.render({tab:t.tab}),t.loadPage()},t.bindEvents=function(){var t=this;console.log("bindEvents"),t.tabEvent(),t.bindScrollEvent(),t.addEvent()},t.tabEvent=function(){i(".tab-cls").click(function(t){var n=i(this).attr("data-href");window.location.replace(n)})},t.handleNodata=function(){var t=this;t.nodata="没有数据了";var n=i(".nodata");0==n.length&&i("#index .order-list").append('<div class="nodata">'+t.nodata+"</div>"),t.app.detachInfiniteScroll(".infinite-scroll"),i("#index .infinite-scroll-preloader").remove()},t.loadPage=function(){var t=this;if(t.loading=!0,t.page>=t.pageCount)return void t.handleNodata();var r={status:t.tab};r.page=t.page+1,r=t.csrf(r),i.ajax({method:"GET",url:n.to(o),data:r,dataType:"json",beforeSend:function(){t.showIndicator()},success:function(n){1==n.success&&(e.isDefined(n.page)&&(t.page=parseInt(n.page)),e.isDefined(n.page_count)&&(t.pageCount=parseInt(n.page_count)),t.renderItems(n.items,!0))},error:function(t){},complete:function(n){t.hideIndicator(),t.loading=!1}})},t.bindScrollEvent=function(){var t=this;t.app.attachInfiniteScroll("#index .infinite-scroll"),i("#index .infinite-scroll").on("infinite",function(){t.loading||t.nodata||t.loadPage()})},t.renderItems=function(t,n){var e=i("#index .order-list"),o=i("script#order-item-template"),a=r.compile(o.html()),l=a({list:t});0==n&&(e.html(""),e.append(l)),e.append(l)},t.addEvent=function(){i("#index .add-btn-cls").click(function(t){window.location.href=n.to("order/#submit")})},t}),define("order/rate-controller",["mk7/controller","mk7/url","mk7/utils"],function(t,n,e){var t=(Dom7,Template7,new t);return t.run=function(){var t=this;t.setPageTitle("评价"),t.render()},t.bindEvents=function(){console.log("bindEvents")},t}),define("order/repairing-controller",["mk7/controller","mk7/url","mk7/utils"],function(t,n,e){var t=(Dom7,Template7,new t);return t.run=function(){var t=this;t.setPageTitle("维修单"),t.render()},t.bindEvents=function(){console.log("bindEvents")},t}),define("order/submit-controller",["mk7/controller","mk7/url","mk7/utils","mk7/uploadjs"],function(t,n,e,i){var r=Dom7,t=(Template7,new t),o="/user/default/upload-file",a="/order/default/submit",l=!0;return t.run=function(){var t=this;t.setPageTitle("录入维修单"),t.imgLimit=9,t.render()},t.bindEvents=function(){var t=this;console.log("bindEvents"),t.uploadImgEvent(),t.submitEvent()},t.uploadImgEvent=function(){var t=this;r("#submit #upload-btn").change(function(){if(""!=r(this).val()&&null!=r(this).val()){var a=r(this).parents("li");i.uploadFile({selector:"#upload-btn",url:n.to(o),processAppendTo:"#submit",success:function(n,i){try{if(n.success){var o=n.tmpUrl;r('<li class="upload-li up-img"><div data="'+n.tmpFile+'" data-url="'+o+'" class="upload-item" style="background-image:url('+n.tmpMinUrl+')"></div><span class="del-img"></span></li>').insertBefore(a),t.imgLimit==r("#submit #image-list").find(".up-img").length&&r("#submit .upload-btn-li").hide()}else e.toast({content:n.message,closeDelay:5e3})}catch(l){console.log(l),e.toast({content:"出错",closeDelay:5e3})}}})}}),r("#submit #image-list").on("click",".del-img",function(n){r(this).parent().remove(),t.imgLimit>=r("#submit #image-list").find(".up-img").length&&r("#submit .upload-btn-li").show()})},t.submitEvent=function(){var t=this;r("#submit .submit-btn-cls").click(function(i){var o=e.trim(r("#submit .carNo").val()),s=e.trim(r("#submit .carModel").val()),u=e.trim(r("#submit .customer").val()),d=e.trim(r("#submit .phone").val()),c=e.trim(r("#submit .preRepair").val()),m=e.trim(r("#submit .repairPrice").val()),f=e.trim(r("#submit .finishDate").val());if(0==l)return!1;if(""==o)return e.toast({content:"车牌号必填"}),!1;if(""==s)return e.toast({content:"车辆型号必填"}),!1;if(""==u)return e.toast({content:"客户名称必填"}),!1;if(""==d)return e.toast({content:"客联系电话必填"}),!1;if(!e.isMobile(d)&&!uitls.isTelephone(d))return e.toast({content:"客联系电话有误"}),!1;if(""==c)return e.toast({content:"预估维修内容必填"}),!1;if(""==m)return e.toast({content:"预估维修费用必填"}),!1;if(""==f)return e.toast({content:"预估完成时间必填"}),!1;var p=t.getUploadImgs();if(0==p.length)return e.toast({content:"请上传车损照"}),!1;l=!1;var v=t.csrf({carNo:o,carModel:s,customer:u,phone:d,preRepair:c,repairPrice:m,finishDate:f,images:p});e.httpPost(a,v,function(t){return l=!0,t.success?void(window.location.href=n.to("/")):(e.toast({content:message}),!1)},!0)})},t.getUploadImgs=function(){var t=r("#submit #image-list").find(".up-img"),n=[];return 0==t.length?[]:(r.each(t,function(t,e){var i=r(e).find(".upload-item");n.push(i.attr("data"))}),n)},t}); | |
3 | 3 | \ No newline at end of file | ... | ... |
web/i/order/rank/rank_no_select.png
2.25 KB
web/i/order/rank/rank_star.png
1.44 KB
2.25 KB
1.44 KB
web/src/js/order/app.js
... | ... | @@ -39,10 +39,18 @@ define( |
39 | 39 | _autoLoading(); |
40 | 40 | return app.runController('index'); |
41 | 41 | }, |
42 | - 'rank': function () { | |
42 | + 'index/:tab': function (tab) { | |
43 | 43 | fromOutside = false; |
44 | 44 | _autoLoading(); |
45 | - return app.runController('rank'); | |
45 | + var params = { | |
46 | + tab:tab | |
47 | + } | |
48 | + return app.runController('index',params); | |
49 | + }, | |
50 | + 'rate': function () { | |
51 | + fromOutside = false; | |
52 | + _autoLoading(); | |
53 | + return app.runController('rate'); | |
46 | 54 | }, |
47 | 55 | 'submit': function () { |
48 | 56 | fromOutside = false; | ... | ... |
web/src/js/order/index-controller.js
... | ... | @@ -15,22 +15,115 @@ define( |
15 | 15 | var t7 = Template7; |
16 | 16 | var ctrl = new ctrl(); |
17 | 17 | |
18 | - | |
18 | + var pageURL = 'order/default/order-list'; | |
19 | 19 | ctrl.run = function () { |
20 | 20 | var me = this; |
21 | 21 | me.setPageTitle("订单列表"); |
22 | - me.hideAllNonBaseMenuItem(window.$site); | |
23 | - | |
24 | - me.render(); | |
25 | - | |
22 | + me.tab = me.params.tab; | |
26 | 23 | |
24 | + me.page = 0; | |
25 | + me.nodata = ''; | |
26 | + me.loading = false; | |
27 | + me.pageCount = 1; | |
28 | + me.render({tab:me.tab}); | |
29 | + me.loadPage() | |
27 | 30 | } |
28 | 31 | ctrl.bindEvents = function () { |
29 | 32 | var me = this; |
30 | 33 | console.log("bindEvents"); |
34 | + me.tabEvent(); | |
35 | + me.bindScrollEvent(); | |
36 | + me.addEvent(); | |
37 | + } | |
31 | 38 | |
39 | + ctrl.tabEvent = function() { | |
40 | + $$('.tab-cls').click(function(e) { | |
41 | + var url = $$(this).attr('data-href'); | |
42 | + window.location.replace(url); | |
43 | + }) | |
32 | 44 | } |
45 | + ctrl.handleNodata = function(){ | |
46 | + var me = this; | |
47 | + me.nodata = '没有数据了'; | |
48 | + var e = $$('.nodata'); | |
49 | + if(0 == e.length){ | |
50 | + $$('#index .order-list').append('<div class="nodata">'+me.nodata+'</div>'); | |
51 | + } | |
52 | + me.app.detachInfiniteScroll('.infinite-scroll'); | |
53 | + $$('#index .infinite-scroll-preloader').remove(); | |
54 | + return; | |
55 | + } | |
56 | + ctrl.loadPage = function () { | |
57 | + var me = this; | |
58 | + me.loading = true; | |
33 | 59 | |
60 | + if (me.page >= me.pageCount){ | |
61 | + me.handleNodata(); | |
62 | + return ; | |
63 | + } | |
64 | + var data = {status:me.tab} | |
65 | + data.page = me.page + 1; | |
66 | + data = me.csrf(data); | |
67 | + $$.ajax({ | |
68 | + method : "GET", | |
69 | + url: url.to(pageURL), | |
70 | + data : data, | |
71 | + dataType : "json", | |
72 | + beforeSend : function(){ | |
73 | + me.showIndicator(); | |
74 | + }, | |
75 | + success : function(e){ | |
76 | + if(true == e.success){ | |
77 | + if(utils.isDefined(e.page)){ | |
78 | + me.page = parseInt(e.page); | |
79 | + } | |
80 | + if(utils.isDefined(e.page_count)){ | |
81 | + me.pageCount = parseInt(e.page_count); | |
82 | + } | |
83 | + me.renderItems(e.items, true); | |
84 | + } | |
85 | + }, | |
86 | + error : function(e){}, | |
87 | + complete : function(e){ | |
88 | + me.hideIndicator(); | |
89 | + me.loading = false; | |
90 | + }, | |
91 | + }); | |
92 | + } | |
93 | + ctrl.bindScrollEvent = function() { | |
94 | + var me = this; | |
95 | + me.app.attachInfiniteScroll('#index .infinite-scroll'); | |
96 | + $$('#index .infinite-scroll').on('infinite', function () { | |
97 | + // 如果正在加载,则退出 | |
98 | + //console.log(me.loading); | |
99 | + if (me.loading) { | |
100 | + return; | |
101 | + } | |
102 | + if (me.nodata) { | |
103 | + | |
104 | + return; | |
105 | + } | |
106 | + me.loadPage(); | |
107 | + }); | |
108 | + } | |
109 | + ctrl.renderItems = function(items, append){ | |
110 | + var me = this; | |
111 | + var list = $$('#index .order-list'); | |
112 | + var ele = $$('script#order-item-template'); | |
113 | + var compiled = t7.compile(ele.html()); | |
114 | + | |
115 | + var doms = compiled({'list':items}); | |
116 | + if( false == append){//填充还是重置数据 | |
117 | + list.html(''); | |
118 | + list.append(doms); | |
119 | + } | |
120 | + list.append(doms); | |
121 | + } | |
122 | + ctrl.addEvent = function() { | |
123 | + $$('#index .add-btn-cls').click(function(e) { | |
124 | + window.location.href = url.to('order/#submit'); | |
125 | + }) | |
126 | + } | |
34 | 127 | return ctrl; |
35 | 128 | } |
36 | 129 | ); | ... | ... |
web/src/js/order/rank-controller.js
... | ... | @@ -1,30 +0,0 @@ |
1 | -/** | |
2 | - * 订单评价-首页 | |
3 | - */ | |
4 | -define( | |
5 | - "order/rank-controller", | |
6 | - [ | |
7 | - 'mk7/controller', | |
8 | - 'mk7/url', | |
9 | - 'mk7/utils', | |
10 | - ], | |
11 | - | |
12 | - function(ctrl, url, utils) { | |
13 | - | |
14 | - var $$ = Dom7; | |
15 | - var t7 = Template7; | |
16 | - var ctrl = new ctrl(); | |
17 | - | |
18 | - ctrl.run = function () { | |
19 | - var me = this; | |
20 | - me.setPageTitle("评价"); | |
21 | - me.render(); | |
22 | - } | |
23 | - ctrl.bindEvents = function () { | |
24 | - var me = this; | |
25 | - console.log("bindEvents"); | |
26 | - } | |
27 | - | |
28 | - return ctrl; | |
29 | - } | |
30 | -); |
... | ... | @@ -0,0 +1,30 @@ |
1 | +/** | |
2 | + * 订单评价-首页 | |
3 | + */ | |
4 | +define( | |
5 | + "order/rate-controller", | |
6 | + [ | |
7 | + 'mk7/controller', | |
8 | + 'mk7/url', | |
9 | + 'mk7/utils', | |
10 | + ], | |
11 | + | |
12 | + function(ctrl, url, utils) { | |
13 | + | |
14 | + var $$ = Dom7; | |
15 | + var t7 = Template7; | |
16 | + var ctrl = new ctrl(); | |
17 | + | |
18 | + ctrl.run = function () { | |
19 | + var me = this; | |
20 | + me.setPageTitle("评价"); | |
21 | + me.render(); | |
22 | + } | |
23 | + ctrl.bindEvents = function () { | |
24 | + var me = this; | |
25 | + console.log("bindEvents"); | |
26 | + } | |
27 | + | |
28 | + return ctrl; | |
29 | + } | |
30 | +); | ... | ... |