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 1 <?php
2 2 return [
3 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 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 = &#39;/i/&#39;)
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

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