Commit 908275905391fa3b730cc4b8a6362960173fa79a

Authored by xu
1 parent d4851694
Exists in master

app-wx(v0.1.0 build 5)

1. F 调整订单列表,调整评论界面的文件名
app-wx/config/params.php
1 <?php 1 <?php
2 return [ 2 return [
3 'adminEmail' => 'admin@example.com', 3 'adminEmail' => 'admin@example.com',
4 - 'VERSION' => 'v0.1.0 build 4', // 当前发布版本号: v0.1.0 是版本号 | build 1 是编译次数 4 + 'VERSION' => 'v0.1.0 build 5', // 当前发布版本号: v0.1.0 是版本号 | build 1 是编译次数
5 ]; 5 ];
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 = &#39;/i/&#39;) @@ -21,7 +21,7 @@ function img($file, $path = &#39;/i/&#39;)
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

web/i/order/rate/rate_no_select.png 0 → 100644

2.25 KB

web/i/order/rate/rate_star.png 0 → 100644

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 -);  
web/src/js/order/rate-controller.js 0 → 100644
@@ -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 +);