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,4 +42,59 @@ class DefaultController extends BaseController | ||
42 | $e->success = true; | 42 | $e->success = true; |
43 | return $this->renderJson($e); | 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 | \ No newline at end of file | 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,7 +21,7 @@ function img($file, $path = '/i/') | ||
21 | </div> | 21 | </div> |
22 | 22 | ||
23 | <?=$this->render('pages/index-template', ['asset' => $asset])?> | 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 | <?=$this->render('pages/submit-template', ['asset' => $asset])?> | 25 | <?=$this->render('pages/submit-template', ['asset' => $asset])?> |
26 | <?=$this->render('pages/cost-list-template', ['asset' => $asset])?> | 26 | <?=$this->render('pages/cost-list-template', ['asset' => $asset])?> |
27 | <?=$this->render('pages/repairing-template', ['asset' => $asset])?> | 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,7 +10,7 @@ $baseUrl = Url::base(true); | ||
10 | #index .navbar-cls{height: 46px;} | 10 | #index .navbar-cls{height: 46px;} |
11 | #index .top-tab{width:100%;display:flex;justify-content: center;align-content: center;box-sizing: border-box;background: #FFFFFF;height:2.75rem;} | 11 | #index .top-tab{width:100%;display:flex;justify-content: center;align-content: center;box-sizing: border-box;background: #FFFFFF;height:2.75rem;} |
12 | #index .inner-plus {padding:0;background:initial;;box-shadow: 0 1px 2px 0 rgba(179,179,181,0.38);} | 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 | #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} | 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 | #index .top-tab .active{color:#FF8728;position:relative; border-bottom: 0.19rem solid #ff8728; padding: 0 0 0.6875rem 0;} | 15 | #index .top-tab .active{color:#FF8728;position:relative; border-bottom: 0.19rem solid #ff8728; padding: 0 0 0.6875rem 0;} |
16 | #index .tab-b { width: 100%; border-left: 2px solid #E4E7E9; border-right: 2px solid #E4E7E9;} | 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,120 +22,66 @@ $baseUrl = Url::base(true); | ||
22 | #index .order-list{width:100%;margin-top:0;margin-bottom:5rem} | 22 | #index .order-list{width:100%;margin-top:0;margin-bottom:5rem} |
23 | #index .content-time { font-size:0.81rem;font-weight:400;color:rgba(146,146,146,1);line-height:0.75rem;} | 23 | #index .content-time { font-size:0.81rem;font-weight:400;color:rgba(146,146,146,1);line-height:0.75rem;} |
24 | #index .order-done {font-size:1rem; font-weight:400; color:rgba(193,193,193,1); line-height:0.75rem; float: right} | 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 | </style> | 26 | </style> |
26 | <script id="index-template" type="text/template"> | 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 | <div class="navbar navbar-cls"> | 30 | <div class="navbar navbar-cls"> |
30 | <div class="navbar-inner inner-plus"> | 31 | <div class="navbar-inner inner-plus"> |
31 | <div class="top-tab g-block-set"> | 32 | <div class="top-tab g-block-set"> |
32 | <div data-href="<?=$baseUrl?>/order#index" class="tab-cls"> | 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 | </span> | 40 | </span> |
36 | </div> | 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 | </span> | 49 | </span> |
46 | </div> | 50 | </div> |
47 | </div> | 51 | </div> |
48 | </div> | 52 | </div> |
49 | </div> | 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 | </div> | 56 | </div> |
57 | + <div class="add-btn-cls"><img style="width:4rem;" src="<?=$baseUrl?>/i/order/order_enter.png" /></div> | ||
139 | </div> | 58 | </div> |
140 | </div> | 59 | </div> |
141 | </script> | 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 | \ No newline at end of file | 88 | \ No newline at end of file |
app-wx/modules/order/views/default/pages/rank-template.php
@@ -1,39 +0,0 @@ | @@ -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 @@ | @@ -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 | \ No newline at end of file | 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 | \ No newline at end of file | 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,10 +39,18 @@ define( | ||
39 | _autoLoading(); | 39 | _autoLoading(); |
40 | return app.runController('index'); | 40 | return app.runController('index'); |
41 | }, | 41 | }, |
42 | - 'rank': function () { | 42 | + 'index/:tab': function (tab) { |
43 | fromOutside = false; | 43 | fromOutside = false; |
44 | _autoLoading(); | 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 | 'submit': function () { | 55 | 'submit': function () { |
48 | fromOutside = false; | 56 | fromOutside = false; |
web/src/js/order/index-controller.js
@@ -15,22 +15,115 @@ define( | @@ -15,22 +15,115 @@ define( | ||
15 | var t7 = Template7; | 15 | var t7 = Template7; |
16 | var ctrl = new ctrl(); | 16 | var ctrl = new ctrl(); |
17 | 17 | ||
18 | - | 18 | + var pageURL = 'order/default/order-list'; |
19 | ctrl.run = function () { | 19 | ctrl.run = function () { |
20 | var me = this; | 20 | var me = this; |
21 | me.setPageTitle("订单列表"); | 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 | ctrl.bindEvents = function () { | 31 | ctrl.bindEvents = function () { |
29 | var me = this; | 32 | var me = this; |
30 | console.log("bindEvents"); | 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 | return ctrl; | 127 | return ctrl; |
35 | } | 128 | } |
36 | ); | 129 | ); |
web/src/js/order/rank-controller.js
@@ -1,30 +0,0 @@ | @@ -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 @@ | @@ -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 | +); |