template.js 93 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916
  1. /*TMODJS:{"version":"1.0.0"}*/
  2. !function () {
  3. function template (filename, content) {
  4. return (
  5. /string|function/.test(typeof content)
  6. ? compile : renderFile
  7. )(filename, content);
  8. };
  9. var cache = template.cache = {};
  10. var String = this.String;
  11. function toString (value, type) {
  12. if (typeof value !== 'string') {
  13. type = typeof value;
  14. if (type === 'number') {
  15. value += '';
  16. } else if (type === 'function') {
  17. value = toString(value.call(value));
  18. } else {
  19. value = '';
  20. }
  21. }
  22. return value;
  23. };
  24. var escapeMap = {
  25. "<": "&#60;",
  26. ">": "&#62;",
  27. '"': "&#34;",
  28. "'": "&#39;",
  29. "&": "&#38;"
  30. };
  31. function escapeFn (s) {
  32. return escapeMap[s];
  33. }
  34. function escapeHTML (content) {
  35. return toString(content)
  36. .replace(/&(?![\w#]+;)|[<>"']/g, escapeFn);
  37. };
  38. var isArray = Array.isArray || function(obj) {
  39. return ({}).toString.call(obj) === '[object Array]';
  40. };
  41. function each (data, callback) {
  42. if (isArray(data)) {
  43. for (var i = 0, len = data.length; i < len; i++) {
  44. callback.call(data, data[i], i, data);
  45. }
  46. } else {
  47. for (i in data) {
  48. callback.call(data, data[i], i);
  49. }
  50. }
  51. };
  52. function resolve (from, to) {
  53. var DOUBLE_DOT_RE = /(\/)[^/]+\1\.\.\1/;
  54. var dirname = ('./' + from).replace(/[^/]+$/, "");
  55. var filename = dirname + to;
  56. filename = filename.replace(/\/\.\//g, "/");
  57. while (filename.match(DOUBLE_DOT_RE)) {
  58. filename = filename.replace(DOUBLE_DOT_RE, "/");
  59. }
  60. return filename;
  61. };
  62. var utils = template.utils = {
  63. $helpers: {},
  64. $include: function (filename, data, from) {
  65. filename = resolve(from, filename);
  66. return renderFile(filename, data);
  67. },
  68. $string: toString,
  69. $escape: escapeHTML,
  70. $each: each
  71. };
  72. var helpers = template.helpers = utils.$helpers;
  73. function renderFile (filename, data) {
  74. var fn = template.get(filename) || showDebugInfo({
  75. filename: filename,
  76. name: 'Render Error',
  77. message: 'Template not found'
  78. });
  79. return data ? fn(data) : fn;
  80. };
  81. function compile (filename, fn) {
  82. if (typeof fn === 'string') {
  83. var string = fn;
  84. fn = function () {
  85. return new String(string);
  86. };
  87. }
  88. var render = cache[filename] = function (data) {
  89. try {
  90. return new fn(data, filename) + '';
  91. } catch (e) {
  92. return showDebugInfo(e)();
  93. }
  94. };
  95. render.prototype = fn.prototype = utils;
  96. render.toString = function () {
  97. return fn + '';
  98. };
  99. return render;
  100. };
  101. function showDebugInfo (e) {
  102. var type = "{Template Error}";
  103. var message = e.stack || '';
  104. if (message) {
  105. // 利用报错堆栈信息
  106. message = message.split('\n').slice(0,2).join('\n');
  107. } else {
  108. // 调试版本,直接给出模板语句行
  109. for (var name in e) {
  110. message += "<" + name + ">\n" + e[name] + "\n\n";
  111. }
  112. }
  113. return function () {
  114. if (typeof console === "object") {
  115. console.error(type + "\n\n" + message);
  116. }
  117. return type;
  118. };
  119. };
  120. template.get = function (filename) {
  121. return cache[filename.replace(/^\.\//, '')];
  122. };
  123. template.helper = function (name, helper) {
  124. helpers[name] = helper;
  125. };
  126. if (typeof define === 'function') {define(function() {return template;});} else if (typeof exports !== 'undefined') {module.exports = template;} else {this.template = template;}
  127. /*v:1*/
  128. template('activities/alert',function($data,$filename
  129. /**/) {
  130. 'use strict';var $utils=this,$helpers=$utils.$helpers,$escape=$utils.$escape,content=$data.content,$out='';$out+='<div class="box-container box-center"> <div class="activity-body alert-body"> <img src="';
  131. $out+=$escape(content);
  132. $out+='" alt="" id="activity-content"> <div class="btn-close"></div> </div> </div> ';
  133. return new String($out);
  134. });/*v:1*/
  135. template('activities/cat',function($data,$filename
  136. /**/) {
  137. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,src=$data.src,$out='';if(showNavBar ){
  138. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">下单送爪币 壕礼抽不停</h1> </header> ';
  139. }
  140. $out+=' <div id="activities-scroll" class="content"> <div class="scroller"> <div class="box-container"> <div class="box-container box box-vertical" style="background: #fff"> <img src="';
  141. $out+=$escape(src);
  142. $out+='" alt="" style="width:100%"> </div> </div> </div> </div> </div> ';
  143. return new String($out);
  144. });/*v:2*/
  145. template('address/detail/index',function($data,$filename
  146. /**/) {
  147. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,add=$data.add,$escape=$utils.$escape,address=$data.address,title=$data.title,$each=$utils.$each,value=$data.value,index=$data.index,$out='';if(showNavBar){
  148. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> ';
  149. if(!add){
  150. $out+=' <a class="right-button btn-delete" data-id="';
  151. $out+=$escape(address.address_id);
  152. $out+='">删除</a> ';
  153. }
  154. $out+=' <h1 class="title">';
  155. $out+=$escape(title);
  156. $out+='</h1> </header> ';
  157. }
  158. $out+=' <div class="content"> <div class="box-container box box-vertical"> <div id="addressDetailScroll" class="scroll-container box-flex-1"> <div class="scroller"> <div class="page-content"> <form class="input-group"> <ul class="table-view"> ';
  159. if(!add){
  160. $out+=' <li> <input type="text" class="address-name" value="';
  161. $out+=$escape(address.name);
  162. $out+='" placeholder="怎么称呼您"> </li> <li> <input type="tel" placeholder="您的手机号" class="address-mobile" value="';
  163. $out+=$escape(address.mobile);
  164. $out+='"> </li> <li class="table-view-cell"> <a class="navigate-right select-poi test" ';
  165. if(address.address.poi){
  166. $out+=' data-poi-name="';
  167. $out+=$escape(address.address.poi.name);
  168. $out+='" ';
  169. }
  170. $out+=' data-province="';
  171. $out+=$escape(address.address.province);
  172. $out+='" data-city="';
  173. $out+=$escape(address.address.city);
  174. $out+='" data-area="';
  175. $out+=$escape(address.address.area);
  176. $out+='" ';
  177. $each(address.position,function(value,index){
  178. $out+=' data-position-';
  179. $out+=$escape(index);
  180. $out+='="';
  181. $out+=$escape(value);
  182. $out+='" ';
  183. });
  184. $out+='> ';
  185. if(address.address.poi){
  186. $out+=$escape(address.address.poi.name);
  187. $out+=' ';
  188. }else{
  189. $out+='请定位您的小区或者街道';
  190. }
  191. $out+=' </a> </li> <li> <input type="text" placeholder="填写详细地址如15号楼1单元201室" class="address-detail" value="';
  192. $out+=$escape(address.address.detail);
  193. $out+='"> </li> ';
  194. }else{
  195. $out+=' <li> <input type="text" placeholder="怎么称呼您" class="address-name"> </li> <li> <input type="tel" placeholder="您的手机号" class="address-mobile"> </li> <li class="table-view-cell"> <a class="navigate-right select-poi">请定位您的小区或者街道</a> </li> <li> <input type="text" class="address-detail" placeholder="填写详细地址如15号楼1单元201室"> </li> ';
  196. }
  197. $out+=' </ul> </form> </div> </div> </div> <div class="btn-container prevent-scroll"> ';
  198. if(!add){
  199. $out+=' <a class="btn btn-main btn-block btn-save">更新</a> ';
  200. }else{
  201. $out+=' <a class="btn btn-main btn-block btn-save">保存</a> ';
  202. }
  203. $out+=' </div> </div> </div> ';
  204. return new String($out);
  205. });/*v:1*/
  206. template('address/list/cell',function($data,$filename
  207. /**/) {
  208. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,addresses=$data.addresses,address=$data.address,i=$data.i,$escape=$utils.$escape,$out='';$each(addresses,function(address,i){
  209. $out+=' <li class="table-view-cell media"> <a class="address-item" data-id="';
  210. $out+=$escape(address.address_id);
  211. $out+='" data-index="';
  212. $out+=$escape(i);
  213. $out+='"> <div class="media-body"> <span class="username"> ';
  214. if(address ){
  215. $out+=' ';
  216. $out+=$escape(address.name);
  217. $out+=' ';
  218. }
  219. $out+=' </span> <span class="mobile"> ';
  220. if(address ){
  221. $out+=' ';
  222. $out+=$escape(address.mobile);
  223. $out+=' ';
  224. }
  225. $out+=' </span> <p class="detail"> ';
  226. if(address ){
  227. $out+=' ';
  228. if(address.address.poi ){
  229. $out+=' ';
  230. $out+=$escape(address.address.city);
  231. $out+=' ';
  232. $out+=$escape(address.address.area);
  233. $out+=' ';
  234. $out+=$escape(address.address.poi.name);
  235. $out+=' ';
  236. }else{
  237. $out+=' ';
  238. $out+=$escape(address.address.province);
  239. $out+=' ';
  240. $out+=$escape(address.address.city);
  241. $out+=' ';
  242. $out+=$escape(address.address.area);
  243. $out+=' ';
  244. $out+=$escape(address.address.detail);
  245. $out+=' ';
  246. }
  247. $out+=' ';
  248. }
  249. $out+=' </p> </div> </a> <button class="btn btn-edit" data-id="';
  250. $out+=$escape(address.address_id);
  251. $out+='" data-index="';
  252. $out+=$escape(i);
  253. $out+='">编辑</button> </li> ';
  254. });
  255. return new String($out);
  256. });/*v:1*/
  257. template('address/list/index',function($data,$filename
  258. /**/) {
  259. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},$escape=$utils.$escape,addText=$data.addText,$out='';if(showNavBar ){
  260. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">选择地址</h1> </header> ';
  261. }
  262. $out+=' <div class="content" > <div class="box-container box box-vertical"> <div id="addressListScroll" class="scroll-container box-flex-1"> <div class="page-content"> <ul class="table-view list-content"> ';
  263. include('./cell');
  264. $out+=' </ul> </div> </div> <div class="btn-container prevent-scroll"> <a class="btn btn-main btn-block btn-add">';
  265. $out+=$escape(addText);
  266. $out+='</a> </div> </div> </div>';
  267. return new String($out);
  268. });/*v:1*/
  269. template('address/position/cell',function($data,$filename
  270. /**/) {
  271. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,poiLists=$data.poiLists,poilist=$data.poilist,i=$data.i,$escape=$utils.$escape,$out='';$each(poiLists,function(poilist,i){
  272. $out+=' <li class="table-view-cell position-item" data-location-lat="';
  273. if(poilist.location){
  274. $out+=$escape(poilist.location.lat);
  275. }
  276. $out+='" data-location-lng="';
  277. if(poilist.location){
  278. $out+=$escape(poilist.location.lng);
  279. }
  280. $out+='" data-uid="';
  281. if(poilist.uid){
  282. $out+=$escape(poilist.uid);
  283. }
  284. $out+='" data-district="';
  285. if(poilist.district){
  286. $out+=$escape(poilist.district);
  287. }
  288. $out+='" data-city="';
  289. if(poilist.city){
  290. $out+=$escape(poilist.city);
  291. }
  292. $out+='"> <a class="set-poi">';
  293. if(poilist.name){
  294. $out+=$escape(poilist.name);
  295. }
  296. $out+='</a> <p> ';
  297. if(poilist.city){
  298. $out+=$escape(poilist.city);
  299. }
  300. $out+=' ';
  301. if(poilist.district){
  302. $out+=$escape(poilist.district);
  303. }
  304. $out+=' </p> </li> ';
  305. });
  306. $out+=' ';
  307. return new String($out);
  308. });/*v:1*/
  309. template('address/position/city','');/*v:1*/
  310. template('address/position/index',function($data,$filename
  311. /**/) {
  312. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},$out='';if(showNavBar){
  313. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">定位地点</h1> </header> ';
  314. }
  315. $out+=' <div class="content"> <div class="box-container box box-vertical"> <div id="addressPositionScroll" class="scroll-container box-flex-1"> <div class="scroller"> <div class="page-content"> <div class="table-view search-form"> <div class="search-city">上海</div> <input type="text" name="" id="search-text" placeholder="请搜索您的位置"> <button class="search-btn">搜索</button> </div> <ul class="table-view position-list"> ';
  316. include('./cell');
  317. $out+=' </ul> </div> </div> </div> </div> </div> ';
  318. return new String($out);
  319. });/*v:1*/
  320. template('agreement/index',function($data,$filename
  321. /**/) {
  322. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$out='';if(showNavBar ){
  323. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">用户服务协议</h1> </header> ';
  324. }
  325. $out+=' <div class="content" id="agreementScroll"> <div class="scroller"> <div class="page-content"> 1、阅读提示<br /> 如您阅读以下文件有困难,请通过您的移动设备致电<a class="service-telephone">400-032-8170</a>联系我们的客服,我们将为您详细解答。本协议系由用户与壹管家APP【上海灿通文化传播有限公司】提供的服务所达成的协议。<br /> 欢迎申请使用壹管家APP【上海灿通文化传播有限公司】(下列简称为“我们”或“服务人员”)提供的服务。请您(下列简称为“客户”)仔细阅读以下全部内容。如客户不同意本协议之任意内容,请勿支付相关订单费用。如客户进入我们的程序并勾选“我同意本协议的全部条款”,即表示客户与我们已达成协议,用户选择同意本协议,表明用户自愿承诺接受本协议,如发生纠纷,用户不得以未仔细阅读本协议为由实行抗辩。<br /> <br /> 2、下单前提示<br /> 2.1 为了确保我们能为宠物顺利进行服务。客户必须确保宠物没有任何攻击性,客户家里卫生间的空间足够让我们给宠物提供洗澡服务的操作;如空间不足,无法进行操作,我们有权取消订单并按照订单金额扣除50%的费用。<br /> 2.2 客户务必在我们提供服务之前与我们沟通您宠物的特殊性格与脾气秉性以及洗澡前身体状况等;客户保证其宠物是完全健康的,且没有任何疾病,否则因此造成的所有损失均由客户承担。<br /> 2.3 客户在订单约定的服务时间之前2小时取消订单的,我们将全额退款;客户在订单约定的服务时间2小时以内取消订单的,我们将按照订单额度退还客户50%的费用;<br /> 2.4 以下不在壹管家上门服务范围内:a.体重超过10kg的狗/猫;b.怀孕期的母狗/猫,c.疫苗未完成的幼犬/猫(最后一针疫苗完成后10天方可服务;免疫续证期间确认接种疫苗10天后可服务)d.高龄犬(10岁以上)不提供服务。e. 具有强烈攻击性的犬猫不提供服务。<br /> <br /> 3、服务进行时提示<br /> 3.1 如果宠物的品种/体重与订单存在较大差异,超出服务范围的,服务人员有权向<a class="service-telephone">400-032-8170</a>申请更改订单,如不愿接受,服务人员有权取消订单,并按照订单金额扣除50%的费用。<br /> 3.2 如果宠物因长期不打理造成毛发打结,我们将额外收取开结费,每小时收费60元。宠物毛发打结严重,客户拒绝支付开结费用的,我们有权放弃订单并按照订单金额扣除50%的费用;<br /> 3.3 如果我们的服务人员在工作时发现客户的宠物有主动攻击倾向,经过尝试无法服务的,我们有权停止工作并扣除50%订单金额;如发现宠物有健康隐患时(例如:心脏病,癫痫,明显外伤,以及传染病等)我们有权停止服务并扣除50%订单金额;如若客户仍坚持需要进行服务,须签订免责协议;<br /> 3.4因天气原因(根据气象台,橙色或者橙色以上预警)造成订单时间更改 ,给您造成的不变敬请谅解,如需取消订单,我方将全额退款。<br /> <br /> 4、双方的责任义务<br /> 4.1 我们的服务人员在服务过程中,因客户或宠物的原因导致服务人员受伤,服务人员有权立刻中止、终止工作,并联系公司相关负责人。公司会根据情况决定是否安排其他服务人员继续前往工作,同时服务人员的医疗费用(仅限于轻微伤的情况,医疗费用仅限于打狂犬疫苗,简单的缝合处理)由我方承担;如咬伤抓伤等情况达到轻伤及轻伤以上的情况下,客户需要承担全部的人身损害赔偿责任;<br /> 4.2 如果在洗澡过程中,因客户或其宠物的原因,使客户的宠物出现受伤、死亡等状况,我们会及时协助处理,产生的所有损失由客户承担。如果因为我们的服务人员的问题,导致客户的宠物受到严重的烫伤或划伤或死亡的,我们将配合客户予以救治,并赔偿因此给客户造成的直接损失(该损失仅包括因治疗产生的医疗费,不包括间接损失及其他任何名义的费用)。<br /> 4.3 在服务过程如果出现服务人员未按服务流程操作,客户有权直接拨打<a class="service-telephone">400-032-8170</a>进行投诉;<br /> 4.4 用户有权向壹管家APP提出合理化意见和建议,有权对壹管家APP的服务进行善意的监督;<br /> 4.5 凡客户以任何方式登陆壹管家APP并支付订单服务费用的,视为客户自愿接受我们的客户协议,客户应一并遵守;<br /> 4.6 本协议未涉及的问题可依据国家有关法律法规,当本条款与国家法律法规冲突时,依据国家法律法规为准;<br /> 4.7 因不可抗力的原因造成对宠物的伤害使服务终止。我们不承担任何责任,但将尽力减少因此而给用户造成的损失;<br /> <br /> 5、其他<br /> 5.1 本协议声明以及其修改权、更新权及最终解释权归上海灿通文化传播有限公司所有。<br /> 5.2 我们不行使、未能及时行使或者未充分行使本协议或者按照法律规定所享有的权利,不应被视为放弃该权利,也不影响我们在将来行使该权利。<br /> 5.3 如本协议中的任何条款无论因何种原因完全或部分无效或不具有执行力,本协议的其余条款仍应有效且具有约束力,我们及客户均应尽力使该条款设定的本意得到实现。<br /> 5.4 本协议中的标题仅为方便而设,不作为解释本条款的依据。 </div> </div> </div> ';
  326. return new String($out);
  327. });/*v:1*/
  328. template('beautician/comment',function($data,$filename
  329. /**/) {
  330. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,comments=$data.comments,comment=$data.comment,i=$data.i,$escape=$utils.$escape,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},imgW=$data.imgW,pic=$data.pic,review=$data.review,$out='';$each(comments,function(comment,i){
  331. $out+=' <li class="table-view-cell"> <div> <div class="user-info-container"> <div class="user-info-btn" data-id="';
  332. $out+=$escape(comment.user.id);
  333. $out+='"> <img class="user-avatar" src="';
  334. $out+=$escape(comment.user.avatar);
  335. $out+='?imageView2/2/w/60/h/60"/> <span class="user-name">';
  336. $out+=$escape(comment.user.user_name);
  337. $out+='</span> </div> </div> <div class="box"> <div class="box-flex-1"> <span class="star-label">评分:</span> ';
  338. include('../common/star',comment);
  339. $out+=' </div> <div class="box-flex-1 review-time"> ';
  340. $out+=$escape(comment.time_str);
  341. $out+=' </div> </div> <div class="review-content"> ';
  342. $out+=$escape(comment.content);
  343. $out+=' </div> <div class="img-preview-list" ';
  344. if(comment.pics.length > 0){
  345. $out+='style="height:';
  346. $out+=$escape(imgW);
  347. $out+='px"';
  348. }
  349. $out+='> ';
  350. if(comment.pics.length > 0){
  351. $out+=' ';
  352. $each(comment.pics,function(pic,i){
  353. $out+=' ';
  354. if(i < 3){
  355. $out+=' <div class="width-percent-33"> <div class="img-preview" data-src="';
  356. $out+=$escape(pic.url);
  357. $out+='" style="width: ';
  358. $out+=$escape(imgW);
  359. $out+='px"> <img src="';
  360. $out+=$escape(pic.url);
  361. $out+='?imageView2/5/w/';
  362. $out+=$escape(imgW * 2);
  363. $out+='/h/';
  364. $out+=$escape(imgW * 2);
  365. $out+='" alt="" class="img-preview-item"> ';
  366. if(comment.pics.length > 3 && i == 2){
  367. $out+=' <span class="img-count">';
  368. $out+=$escape(comment.pics.length);
  369. $out+='</span> ';
  370. }
  371. $out+=' </div> </div> ';
  372. }
  373. $out+=' ';
  374. });
  375. $out+=' ';
  376. }
  377. $out+=' </div> ';
  378. if(comment.reply !== ''){
  379. $out+=' <div class="reply-content"> 保洁师回复:';
  380. $out+=$escape(review.reply);
  381. $out+=' </div> ';
  382. }
  383. $out+=' </div> </li> ';
  384. });
  385. $out+=' ';
  386. return new String($out);
  387. });/*v:1*/
  388. template('beautician/detail',function($data,$filename
  389. /**/) {
  390. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,recommend=$data.recommend,$escape=$utils.$escape,avatar=$data.avatar,name=$data.name,favor=$data.favor,desc=$data.desc,$out='';if(showNavBar ){
  391. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">保洁师详情</h1> </header> ';
  392. }
  393. $out+=' <div class="content beautician-detail-content"> <div class="box-container box box-vertical"> <div id="beauticianDetailScroll" class="scroll-container box-flex-1"> <div class="page-content"> ';
  394. if(recommend !== ''){
  395. $out+=' <p class="recommend">当前时间段,该保洁师已被预约,推荐时间段&nbsp; ';
  396. $out+=$escape(recommend);
  397. $out+='</p> ';
  398. }
  399. $out+=' <div class="tech-info"> <img src="';
  400. $out+=$escape(avatar);
  401. $out+='?imageView2/0/w/400/h/400" alt=""> <p class="name">';
  402. $out+=$escape(name);
  403. $out+='</p> <p class="favor">好评数: ';
  404. $out+=$escape(favor);
  405. $out+='</p> <p class="desc">';
  406. $out+=$escape(desc);
  407. $out+='</p> </div> <div id="tech-comment"> <div class="extra-service-title">用户评价<span></span></div> <ul class="table-view"></ul> <div class="btn-more-container box-center hide"> <a class="btn btn-block btn-more-review">加载更多</a> </div> </div> </div> </div> </div> </div> ';
  408. return new String($out);
  409. });/*v:1*/
  410. template('beautician/index',function($data,$filename
  411. /**/) {
  412. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,can=$data.can,match=$data.match,$each=$utils.$each,canMatchTech=$data.canMatchTech,$index=$data.$index,$escape=$utils.$escape,canSelectTech=$data.canSelectTech,$out='';if(showNavBar ){
  413. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">选择保洁师</h1> </header> ';
  414. }
  415. $out+=' <div class="content beautician-content"> <div class="box-container box box-vertical"> <div id="beauticianScroll" class="scroll-container box-flex-1"> <div class="page-content"> <ul class="table-view"> ';
  416. if(can.length == 0){
  417. $out+=' <li class="table-view-divider">该时间段暂无推荐保洁师,请选择其他时间段</li> ';
  418. if(match.length > 0){
  419. $out+=' ';
  420. $each(match,function(canMatchTech,$index){
  421. $out+=' <li class="table-view-cell"> <a class="select-item disabled" data-name="';
  422. $out+=$escape(canMatchTech.name);
  423. $out+='" data-id="';
  424. $out+=$escape(canMatchTech.id);
  425. $out+='" data-desc="';
  426. $out+=$escape(canMatchTech.desc);
  427. $out+='" data-favor="';
  428. $out+=$escape(canMatchTech.favourable_count);
  429. $out+='" data-avatar="';
  430. $out+=$escape(canMatchTech.avatar);
  431. $out+='" data-recommend="';
  432. $out+=$escape(canMatchTech.next_free_time);
  433. $out+='"> <div class="media-object pull-left"> <img src="';
  434. $out+=$escape(canMatchTech.avatar);
  435. $out+='?imageView2/0/w/84"> </div> <div class="media-body"> <p>';
  436. $out+=$escape(canMatchTech.name);
  437. if(canMatchTech.favourable_count){
  438. $out+='<span class="favor-count">好评数:';
  439. $out+=$escape(canMatchTech.favourable_count);
  440. $out+='次</span>';
  441. }
  442. $out+='</p> ';
  443. if(canMatchTech.next_free_time){
  444. $out+=' <p class="recommend-time">推荐时间段&nbsp;';
  445. $out+=$escape(canMatchTech.next_free_time);
  446. $out+='</p> ';
  447. }
  448. $out+=' </div> </a> </li> ';
  449. });
  450. $out+=' ';
  451. }
  452. $out+=' ';
  453. }else{
  454. $out+=' ';
  455. if(can.length > 0){
  456. $out+=' ';
  457. $each(can,function(canSelectTech,$index){
  458. $out+=' <li class="table-view-cell"> <a class="select-item" data-name="';
  459. $out+=$escape(canSelectTech.name);
  460. $out+='" data-id="';
  461. $out+=$escape(canSelectTech.id);
  462. $out+='" data-desc="';
  463. $out+=$escape(canSelectTech.desc);
  464. $out+='" data-favor="';
  465. $out+=$escape(canSelectTech.favourable_count);
  466. $out+='" data-avatar="';
  467. $out+=$escape(canSelectTech.avatar);
  468. $out+='" data-recommend=""> <div class="media-object pull-left"> <img class="" src="';
  469. $out+=$escape(canSelectTech.avatar);
  470. $out+='?imageView2/0/w/84/h/84"> </div> <div class="media-body"> <p>';
  471. $out+=$escape(canSelectTech.name);
  472. $out+=' ';
  473. if(canSelectTech.favourable_count){
  474. $out+='<span class="favor-count">好评数:';
  475. $out+=$escape(canSelectTech.favourable_count);
  476. $out+='次</span>';
  477. }
  478. $out+='</p> ';
  479. if(canSelectTech.next_free_time){
  480. $out+=' <p class="recommend-time">推荐时间段&nbsp;';
  481. $out+=$escape(canSelectTech.next_free_time);
  482. $out+='</p> ';
  483. }
  484. $out+=' </div> <button class="btn btn-positive btn-check">选我</button> </a> </li> ';
  485. });
  486. $out+=' ';
  487. }
  488. $out+=' ';
  489. if(match.length > 0){
  490. $out+=' <li class="table-view-divider">以下保洁师该时段已被预约,请选择其他空闲时间</li> ';
  491. $each(match,function(canMatchTech,$index){
  492. $out+=' <li class="table-view-cell"> <a class="select-item disabled" data-name="';
  493. $out+=$escape(canMatchTech.name);
  494. $out+='" data-id="';
  495. $out+=$escape(canMatchTech.id);
  496. $out+='" data-desc="';
  497. $out+=$escape(canMatchTech.desc);
  498. $out+='" data-favor="';
  499. $out+=$escape(canMatchTech.favourable_count);
  500. $out+='" data-avatar="';
  501. $out+=$escape(canMatchTech.avatar);
  502. $out+='" data-recommend="';
  503. $out+=$escape(canMatchTech.next_free_time);
  504. $out+='"> <div class="media-object pull-left"> <img src="';
  505. $out+=$escape(canMatchTech.avatar);
  506. $out+='?imageView2/0/w/84"> </div> <div class="media-body"> <p>';
  507. $out+=$escape(canMatchTech.name);
  508. if(canMatchTech.favourable_count){
  509. $out+='<span class="favor-count">好评次数:';
  510. $out+=$escape(canMatchTech.favourable_count);
  511. $out+='次</span>';
  512. }
  513. $out+='</p> ';
  514. if(canMatchTech.next_free_time){
  515. $out+=' <p class="recommend-time">推荐时间段&nbsp;';
  516. $out+=$escape(canMatchTech.next_free_time);
  517. $out+='</p> ';
  518. }
  519. $out+=' </div> </a> </li> ';
  520. });
  521. $out+=' ';
  522. }
  523. $out+=' ';
  524. }
  525. $out+=' </ul> </div> </div> <div class="prevent-scroll"> <div class="recommend"> <div class="btn btn-block btn-positive btn-recommend">系统推荐保洁师</div> </div> </div> </div> </div> ';
  526. return new String($out);
  527. });/*v:1*/
  528. template('coming/index',function($data,$filename
  529. /**/) {
  530. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,prodcutTitle=$data.prodcutTitle,$out='';if(showNavBar ){
  531. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">';
  532. $out+=$escape(prodcutTitle.name);
  533. $out+='</h1> </header> ';
  534. }
  535. $out+=' <div class="content"> <div class="box-container"> <div class="box-container box box-vertical coming"> </div> </div> </div> </div>';
  536. return new String($out);
  537. });/*v:1*/
  538. template('common/actionSheet',function($data,$filename
  539. /**/) {
  540. 'use strict';var $utils=this,$helpers=$utils.$helpers,$escape=$utils.$escape,message=$data.message,$each=$utils.$each,buttons=$data.buttons,button=$data.button,i=$data.i,$out='';$out+='<div class="box box-container box-align-end"> <div class="action-sheet-body"> <p class="action-sheet-message"> ';
  541. $out+=$escape(message);
  542. $out+=' </p> <div> ';
  543. $each(buttons,function(button,i){
  544. $out+=' <a href="javascript:;" class="btn btn-block btn-action-sheet ';
  545. $out+=$escape(button.class);
  546. $out+='" data-button-index="';
  547. $out+=$escape(i);
  548. $out+='">';
  549. $out+=$escape(button.text);
  550. $out+='</a> ';
  551. });
  552. $out+=' </div> </div> </div>';
  553. return new String($out);
  554. });/*v:1*/
  555. template('common/alert',function($data,$filename
  556. /**/) {
  557. 'use strict';var $utils=this,$helpers=$utils.$helpers,$escape=$utils.$escape,title=$data.title,message=$data.message,$string=$utils.$string,html=$data.html,$each=$utils.$each,buttons=$data.buttons,button=$data.button,i=$data.i,$out='';$out+='<div class="box-container box-center"> <div class="card alert-body"> <h4>';
  558. $out+=$escape(title);
  559. $out+='</h4> <p class="alert-message">';
  560. $out+=$escape(message);
  561. $out+='</p> <p class="alert-message">';
  562. $out+=$string(html);
  563. $out+='</p> <div class="box"> ';
  564. $each(buttons,function(button,i){
  565. $out+=' <div class="alert-btn-box box-flex-1"><button class="btn btn-block btn-alert ';
  566. $out+=$escape(button.class);
  567. $out+='" data-button-index=';
  568. $out+=$escape(i);
  569. $out+='>';
  570. $out+=$escape(button.text);
  571. $out+='</button></div> ';
  572. });
  573. $out+=' </div> </div> </div> ';
  574. return new String($out);
  575. });/*v:1*/
  576. template('common/dataPicker',function($data,$filename
  577. /**/) {
  578. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,columns=$data.columns,option=$data.option,i=$data.i,$escape=$utils.$escape,$out='';$out+='<div class="box box-container box-align-end"> <div class="picker-body"> <div class="picker-day-box"> <div class=" picker-day"> <ul class="row"> ';
  579. $each(columns.columnDay,function(option,i){
  580. $out+=' ';
  581. if(option.selected){
  582. $out+=' <li class="col-md-3 day ';
  583. if(option.selectIndex > -1 ){
  584. $out+=' on ';
  585. }
  586. $out+='" data-value="';
  587. $out+=$escape(option.value);
  588. $out+='"> <span>';
  589. $out+=$escape(option.day);
  590. $out+='</span><br><small>';
  591. $out+=$escape(option.text);
  592. $out+='</small> </li> ';
  593. }else{
  594. $out+=' <li class="col-md-3 day ';
  595. if(i == 0 ){
  596. $out+=' on ';
  597. }
  598. $out+='" data-value="';
  599. $out+=$escape(option.value);
  600. $out+='"> <span>';
  601. $out+=$escape(option.day);
  602. $out+='</span><br><small>';
  603. $out+=$escape(option.text);
  604. $out+='</small> </li> ';
  605. }
  606. $out+=' ';
  607. });
  608. $out+=' </ul> </div> </div> <div class="container picker-time"> <ul class="row"> ';
  609. $each(columns.columnTime,function(option,i){
  610. $out+=' ';
  611. if(option.num > option.now ){
  612. $out+=' <li class="col-md-3 j-book-time ';
  613. if(option.selectIndex > -1 ){
  614. $out+=' on ';
  615. }
  616. $out+=' ';
  617. if(option.num - option.now <= 4 || (option.now > 18 || option.now < 9 && option.num <= 12) ){
  618. $out+=' current ';
  619. }
  620. $out+='" data-value="';
  621. $out+=$escape(option.value);
  622. $out+='" data-time="';
  623. $out+=$escape(option.min);
  624. $out+='" data-now="';
  625. $out+=$escape(option.now);
  626. $out+='"> <a href="javascript:;" class="time"> <span class="num">';
  627. $out+=$escape(option.text);
  628. $out+='</span> <span class="disable">不可预约</span> <span class="able">预约</span> </a> </li> ';
  629. }
  630. $out+=' ';
  631. });
  632. $out+=' </ul> <ul class="row hide"> ';
  633. $each(columns.columnTime,function(option,i){
  634. $out+=' <li class="col-md-3 j-book-time ';
  635. if(option.selectIndex > -1 ){
  636. $out+=' on ';
  637. }
  638. $out+=' ';
  639. if(option.now >= 18 && option.num < 12 ){
  640. $out+=' current ';
  641. }else if(option.now >= 19 && option.num <= 12 ){
  642. $out+=' current ';
  643. }
  644. $out+='" data-value="';
  645. $out+=$escape(option.value);
  646. $out+='" data-time="';
  647. $out+=$escape(option.min);
  648. $out+='"> <a href="javascript:;" class="time"> <span class="num">';
  649. $out+=$escape(option.text);
  650. $out+='</span> <span class="disable">不可预约</span> <span class="able">预约</span> </a> </li> ';
  651. });
  652. $out+=' </ul> <ul class="row hide"> ';
  653. $each(columns.columnTime,function(option,i){
  654. $out+=' <li class="col-md-3 j-book-time ';
  655. if(option.selectIndex > -1 ){
  656. $out+=' on ';
  657. }
  658. $out+='" data-value="';
  659. $out+=$escape(option.value);
  660. $out+='"> <a href="javascript:;" class="time"> <span class="num">';
  661. $out+=$escape(option.text);
  662. $out+='</span> <span class="disable">不可预约</span> <span class="able">预约</span> </a> </li> ';
  663. });
  664. $out+=' </ul> <ul class="row hide"> ';
  665. $each(columns.columnTime,function(option,i){
  666. $out+=' <li class="col-md-3 j-book-time ';
  667. if(option.selectIndex > -1 ){
  668. $out+=' on ';
  669. }
  670. $out+='" data-value="';
  671. $out+=$escape(option.value);
  672. $out+='"> <a href="javascript:;" class="time"> <span class="num">';
  673. $out+=$escape(option.text);
  674. $out+='</span> <span class="disable">不可预约</span> <span class="able">预约</span> </a> </li> ';
  675. });
  676. $out+=' </ul> <ul class="row hide"> ';
  677. $each(columns.columnTime,function(option,i){
  678. $out+=' <li class="col-md-3 j-book-time ';
  679. if(option.selectIndex > -1 ){
  680. $out+=' on ';
  681. }
  682. $out+='" data-value="';
  683. $out+=$escape(option.value);
  684. $out+='"> <a href="javascript:;" class="time"> <span class="num">';
  685. $out+=$escape(option.text);
  686. $out+='</span> <span class="disable">不可预约</span> <span class="able">预约</span> </a> </li> ';
  687. });
  688. $out+=' </ul> <ul class="row hide"> ';
  689. $each(columns.columnTime,function(option,i){
  690. $out+=' <li class="col-md-3 j-book-time ';
  691. if(option.selectIndex > -1 ){
  692. $out+=' on ';
  693. }
  694. $out+='" data-value="';
  695. $out+=$escape(option.value);
  696. $out+='"> <a href="javascript:;" class="time"> <span class="num">';
  697. $out+=$escape(option.text);
  698. $out+='</span> <span class="disable">不可预约</span> <span class="able">预约</span> </a> </li> ';
  699. });
  700. $out+=' </ul> <ul class="row hide"> ';
  701. $each(columns.columnTime,function(option,i){
  702. $out+=' <li class="col-md-3 j-book-time ';
  703. if(option.selectIndex > -1 ){
  704. $out+=' on ';
  705. }
  706. $out+='" data-value="';
  707. $out+=$escape(option.value);
  708. $out+='"> <a href="javascript:;" class="time"> <span class="num">';
  709. $out+=$escape(option.text);
  710. $out+='</span> <span class="disable">不可预约</span> <span class="able">预约</span> </a> </li> ';
  711. });
  712. $out+=' </ul> <ul class="row hide"> ';
  713. $each(columns.columnTime,function(option,i){
  714. $out+=' <li class="col-md-3 j-book-time ';
  715. if(option.selectIndex > -1 ){
  716. $out+=' on ';
  717. }
  718. $out+='" data-value="';
  719. $out+=$escape(option.value);
  720. $out+='"> <a href="javascript:;" class="time"> <span class="num">';
  721. $out+=$escape(option.text);
  722. $out+='</span> <span class="disable">不可预约</span> <span class="able">预约</span> </a> </li> ';
  723. });
  724. $out+=' </ul> <ul class="row hide"> ';
  725. $each(columns.columnTime,function(option,i){
  726. $out+=' <li class="col-md-3 j-book-time ';
  727. if(option.selectIndex > -1 ){
  728. $out+=' on ';
  729. }
  730. $out+='" data-value="';
  731. $out+=$escape(option.value);
  732. $out+='"> <a href="javascript:;" class="time"> <span class="num">';
  733. $out+=$escape(option.text);
  734. $out+='</span> <span class="disable">不可预约</span> <span class="able">预约</span> </a> </li> ';
  735. });
  736. $out+=' </ul> </div> </div> </div> ';
  737. return new String($out);
  738. });/*v:1*/
  739. template('common/star',function($data,$filename
  740. /**/) {
  741. 'use strict';var $utils=this,$helpers=$utils.$helpers,score=$data.score,$out='';$out+='<div class="star-container"> <div class="box-container box"> <div class="star-item ';
  742. if(score >=1 ){
  743. $out+='enable';
  744. }
  745. $out+='"></div> <div class="star-item ';
  746. if(score >=2 ){
  747. $out+='enable';
  748. }
  749. $out+='"></div> <div class="star-item ';
  750. if(score >=3 ){
  751. $out+='enable';
  752. }
  753. $out+='"></div> <div class="star-item ';
  754. if(score >=4 ){
  755. $out+='enable';
  756. }
  757. $out+='"></div> <div class="star-item ';
  758. if(score >=5 ){
  759. $out+='enable';
  760. }
  761. $out+='"></div> </div> </div>';
  762. return new String($out);
  763. });/*v:1*/
  764. template('desc/index',function($data,$filename
  765. /**/) {
  766. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$out='';if(showNavBar ){
  767. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">服务介绍</h1> </header> ';
  768. }
  769. $out+=' <div class="content" id="descScroll"> <div class="scroller"> <div> </div> </div>';
  770. return new String($out);
  771. });/*v:1*/
  772. template('hire/index',function($data,$filename
  773. /**/) {
  774. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$out='';if(showNavBar ){
  775. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">招贤纳士</h1> </header> ';
  776. }
  777. $out+=' <div class="content" id="placeOrderScroll"> <div class="top-content"> <p>招募上门宠物保洁师</p> </div> <div class="page-content"> <div class="logo-box"> <div class="logo"></div> <h2>壹管家宠物</h2> <h3>专业宠物服务平台</h3> </div> <div class="des"> <p>岗位职责</p> <p>资深保洁师:独立操作各种宠物造型的修剪工作。</p> <p>保洁师助理:独立完成宠物洗澡工作。</p> <br> <p class="bold">公司福利</p> <p class="bold">1.远高于传统美容店的底薪。</p> <p class="bold">2.全上海各区都有宿舍,就近安排住宿。</p> <p class="bold">3.完善的晋升机制,对业绩考评优秀的保洁师,公司将统一组织培训深造、考级。</p> <br> ';
  778. if(!showNavBar ){
  779. $out+=' <p class="bold">联系电话: <a href="tel:021-62109097">021-62109097</a> </p> ';
  780. }else{
  781. $out+=' <p class="bold">联系电话: <a class="service-telephone">021-62109097</a> </p> ';
  782. }
  783. $out+=' <br> </div> </div> </div> ';
  784. return new String($out);
  785. });/*v:22*/
  786. template('home/index',function($data,$filename
  787. /**/) {
  788. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$each=$utils.$each,productsa=$data.productsa,product=$data.product,$index=$data.$index,$escape=$utils.$escape,productsb=$data.productsb,productsc=$data.productsc,productsd=$data.productsd,$out='';if(showNavBar ){
  789. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <a class="right-button service-telephone"> <div></div> </a> <h1 class="title">壹管家</h1> </header> ';
  790. }
  791. $out+=' <div class="content"> <div class="box-container"> <div class="box-container box box-vertical"> <div id="homeScroll" class="scroll-container box-flex-1"> <div class="scroller"> <div class="home-content"> <div class="box main-service-box width-percent-100"> <div class="title-column-left box-container"> <div class="title-container-square"> <div class="the-main-figure"> <img src="http://odulvej8l.bkt.clouddn.com/Home_image%281%29.png" alt=""/> </div> </div> </div> </div> <div class="global-msg" style="display: flex;justify-content: space-between; padding: 15px;"> <div class="width-percent-25 btn-product-group global-msg-active" data-group-index="0">家庭保洁</div> <div class="width-percent-25 btn-product-group" data-group-index="1">月子服务</div> <div class="width-percent-25 btn-product-group" data-group-index="2">保姆服务</div> <div class="width-percent-25 btn-product-group" data-group-index="3">家庭产品</div> </div> <div> <div class="products-list" id="list0"> ';
  792. $each(productsa,function(product,$index){
  793. $out+=' <img src="';
  794. $out+=$escape(product.desc[0].content);
  795. $out+='" width="49%" class="btn-product" data-product-type="';
  796. $out+=$escape(product.type);
  797. $out+='"/> ';
  798. });
  799. $out+=' </div> <div class="products-list" id="list1" style="display: none"> ';
  800. $each(productsb,function(product,$index){
  801. $out+=' <img src="';
  802. $out+=$escape(product.desc[0].content);
  803. $out+='" width="49%" class="btn-product" data-product-type="';
  804. $out+=$escape(product.type);
  805. $out+='"/> ';
  806. });
  807. $out+=' </div> <div class="products-list" id="list2" style="display: none"> ';
  808. $each(productsc,function(product,$index){
  809. $out+=' <img src="';
  810. $out+=$escape(product.desc[0].content);
  811. $out+='" width="49%" class="btn-product" data-product-type="';
  812. $out+=$escape(product.type);
  813. $out+='"/> ';
  814. });
  815. $out+=' </div> <div class="products-list" id="list3" style="display: none"> ';
  816. $each(productsd,function(product,$index){
  817. $out+=' <img src="';
  818. $out+=$escape(product.desc[0].content);
  819. $out+='" width="49%" class="btn-product" data-product-type="';
  820. $out+=$escape(product.type);
  821. $out+='"/> ';
  822. });
  823. $out+=' </div> </div> </div> </div> </div> <div class="prevent-scroll"> <div class="box my-action"> <div class="width-percent-33"> <div class="title-container-square"> <a class="btn-home-action btn-action-my-order"> <div class="logo logo-my-order"></div> <div class="name">首页</div> </a> </div> </div> <div class="width-percent-33"> <div class="title-container-square"> <a class="btn-home-action btn-action-logo"> <div class="logo logo-my-logo"></div> </a> </div> </div> <div class="width-percent-33"> <div class="title-container-square"> <a class="btn-home-action btn-action-coupon"> <div class="logo logo-coupon"></div> <div class="name">我的</div> </a> </div> </div> </div> </div> </div> </div> </div> ';
  824. return new String($out);
  825. });/*v:40*/
  826. template('mine/index',function($data,$filename
  827. /**/) {
  828. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,title=$data.title,userName=$data.userName,userBalance=$data.userBalance,$out='';if(showNavBar ){
  829. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">';
  830. $out+=$escape(title);
  831. $out+='</h1> </header> ';
  832. }
  833. $out+=' <div class="content"> <div class="box-container box box-vertical"> <div id="mineScroll" class="scroll-container box-flex-1"> <div style="color: #59616c; font-size:18px;"> <div style="width: 100%;"> <img src="http://odulvej8l.bkt.clouddn.com/Home_image%281%29.png" style="width: 100%;"/> <div style="width: 100%; padding-top: 20px; padding-bottom: 20px; text-align: center;">';
  834. $out+=$escape(userName);
  835. $out+='</div> <div style="width: 100%; padding-bottom: 20px; text-align: center;">余额:';
  836. $out+=$escape(userBalance);
  837. $out+='元</div> </div> <ul class="table-view" style="margin-top: 10px;"> <li class="table-view-cell"> <a class="navigate-right btn-my-order"> <img src="http://odulvej8l.bkt.clouddn.com/tab_me_pre.png" width="18px" height="18px"/> 我的订单 </a> </li> <li class="table-view-cell"> <a class="navigate-right btn-address-list"> <img src="http://odulvej8l.bkt.clouddn.com/tab_me_pre.png" width="18px" height="18px"/> 常用地址 <span class="table-view-cell-right-label">上海市天平路徐家汇</span> </a> </li> <li class="table-view-cell"> <a class="navigate-right btn-recharge"> <img src="http://odulvej8l.bkt.clouddn.com/tab_me_pre.png" width="18px" height="18px"/> 充值卡 </a> </li> <li class="table-view-cell"> <a class="navigate-right btn-coupon"> <img src="http://odulvej8l.bkt.clouddn.com/tab_me_pre.png" width="18px" height="18px"/> 代金券 </a> </li> <li class="table-view-cell"> <a class="navigate-right btn-helper"> <img src="http://odulvej8l.bkt.clouddn.com/tab_me_pre.png" width="18px" height="18px"/> 帮助中心 </a> </li> <li class="table-view-cell"> <a class="navigate-right btn-about"> <img src="http://odulvej8l.bkt.clouddn.com/tab_me_pre.png" width="18px" height="18px"/> 关于壹管家 </a> </li> </ul> <div style="width: 100%; padding-top: 80px;text-align: center; color: #b6bbc2; font-size:16px;">专属管家 服务无忧</div> </div> </div> </div> </div>';
  838. return new String($out);
  839. });/*v:1*/
  840. template('myCoupon/cell',function($data,$filename
  841. /**/) {
  842. 'use strict';var $utils=this,$helpers=$utils.$helpers,$escape=$utils.$escape,coupon=$data.coupon,isRemind=$data.isRemind,start_time_str=$data.start_time_str,end_time_str=$data.end_time_str,selected=$data.selected,$out='';$out+='<div class="box"> <div class="coupon-left"> <div class="coupon-value-box box-center"> <div> ¥<span class="coupon-value">';
  843. $out+=$escape(coupon.value);
  844. $out+='</span> </div> </div> </div> <div class="coupon-right box box-vertical"> <div class="box box-align-center box-flex-1"> <div class="coupon-name">';
  845. $out+=$escape(coupon.name);
  846. $out+='</div> </div> <div class="box box-align-center box-flex-1"> <div class="coupon-desc"> ';
  847. if(coupon.type == '0'){
  848. $out+=' <div>满';
  849. $out+=$escape(coupon.min_price);
  850. $out+='元可用 不含附加项目</div> ';
  851. }else{
  852. $out+=' <div>仅限';
  853. $out+=$escape(coupon.type_str);
  854. $out+=' 满';
  855. $out+=$escape(coupon.min_price);
  856. $out+='元可用</div> ';
  857. }
  858. $out+=' <div class="';
  859. if(isRemind){
  860. $out+='coupon-remind';
  861. }
  862. $out+='">有效期:';
  863. $out+=$escape(start_time_str);
  864. $out+='-';
  865. $out+=$escape(end_time_str);
  866. $out+='</div> ';
  867. if(coupon.workday_limit !== 0){
  868. $out+=' <span class="limit">';
  869. $out+=$escape(coupon.workday_limit_str);
  870. $out+='</span> ';
  871. if(coupon.time_limit_start && coupon.time_limit_end){
  872. $out+=' <span class="limit">';
  873. $out+=$escape(coupon.time_limit_start);
  874. $out+='点 - ';
  875. $out+=$escape(coupon.time_limit_end);
  876. $out+='点使用</span> ';
  877. }else{
  878. $out+=' 使用 ';
  879. }
  880. $out+=' ';
  881. }else{
  882. $out+=' ';
  883. if(coupon.time_limit_start && coupon.time_limit_end){
  884. $out+=' <span class="limit">仅限每日';
  885. $out+=$escape(coupon.time_limit_start);
  886. $out+='点 - ';
  887. $out+=$escape(coupon.time_limit_end);
  888. $out+='点使用</span> ';
  889. }
  890. $out+=' ';
  891. }
  892. $out+=' </div> </div> </div> ';
  893. if(selected){
  894. $out+=' <div class="box box-flex-1 box-pack-end box-align-center coupon-selected"> <span class="icon icon-check"></span> </div> ';
  895. }
  896. $out+=' </div> ';
  897. return new String($out);
  898. });/*v:1*/
  899. template('myCoupon/exchange',function($data,$filename
  900. /**/) {
  901. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,coupons=$data.coupons,coupon=$data.coupon,i=$data.i,$escape=$utils.$escape,$out='';$out+='<p class="coupon-info">兑换码的获取请随时关注壹管家的优惠活动。</p> ';
  902. $each(coupons.useable_coupons,function(coupon,i){
  903. $out+=' <div class="card coupon-card"> <ul class="table-view"> <li class="table-view-cell coupon-cell"> <div class="box"> <div class="coupon-left"> <div class="coupon-value-box box-center"> <div> ¥<span class="coupon-value">';
  904. $out+=$escape(coupon.coupon.value);
  905. $out+='</span> </div> </div> </div> <div class="coupon-right box box-vertical"> <div class="box box-align-center box-flex-1"> <div class="coupon-name">';
  906. $out+=$escape(coupon.coupon.name);
  907. $out+='</div> </div> <div class="box box-align-center box-flex-1"> <div class="coupon-desc"> <div>';
  908. $out+=$escape(coupon.coupon.type_str);
  909. $out+=' 满';
  910. $out+=$escape(coupon.coupon.min_price);
  911. $out+='元可用</div> <div>截止日期:';
  912. $out+=$escape(coupon.end_time_str);
  913. $out+='</div> </div> </div> </div> </div> </li> </ul> </div> ';
  914. });
  915. $out+=' ';
  916. $each(coupons.used_coupons,function(coupon,i){
  917. $out+=' <div class="card coupon-card"> <ul class="table-view"> <li class="table-view-cell coupon-cell"> <div class="box"> <div class="coupon-left"> <div class="coupon-value-box box-center"> <div> ¥<span class="coupon-value">';
  918. $out+=$escape(coupon.coupon.value);
  919. $out+='</span> </div> </div> </div> <div class="coupon-right box box-vertical"> <div class="box box-align-center box-flex-1"> <div class="coupon-name">';
  920. $out+=$escape(coupon.coupon.name);
  921. $out+='</div> </div> <div class="box box-align-center box-flex-1"> <div class="coupon-desc"> <div>';
  922. $out+=$escape(coupon.coupon.type_str);
  923. $out+=' 满';
  924. $out+=$escape(coupon.coupon.min_price);
  925. $out+='元可用</div> <div>截止日期:';
  926. $out+=$escape(coupon.end_time_str);
  927. $out+='</div> </div> </div> </div> </div> </li> </ul> </div> ';
  928. });
  929. $out+=' ';
  930. $each(coupons.overtime_coupons,function(coupon,i){
  931. $out+=' <div class="card coupon-card"> <ul class="table-view"> <li class="table-view-cell coupon-cell"> <div class="box"> <div class="coupon-left"> <div class="coupon-value-box box-center"> <div> ¥<span class="coupon-value">';
  932. $out+=$escape(coupon.coupon.value);
  933. $out+='</span> </div> </div> </div> <div class="coupon-right box box-vertical"> <div class="box box-align-center box-flex-1"> <div class="coupon-name">';
  934. $out+=$escape(coupon.coupon.name);
  935. $out+='</div> </div> <div class="box box-align-center box-flex-1"> <div class="coupon-desc"> <div>';
  936. $out+=$escape(coupon.coupon.type_str);
  937. $out+=' 满';
  938. $out+=$escape(coupon.coupon.min_price);
  939. $out+='元可用</div> <div>截止日期:';
  940. $out+=$escape(coupon.end_time_str);
  941. $out+='</div> </div> </div> </div> </div> </li> </ul> </div> ';
  942. });
  943. return new String($out);
  944. });/*v:1*/
  945. template('myCoupon/index',function($data,$filename
  946. /**/) {
  947. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$each=$utils.$each,coupons=$data.coupons,coupon=$data.coupon,i=$data.i,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},$out='';if(showNavBar ){
  948. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">我的优惠券</h1> </header> ';
  949. }
  950. $out+=' <div class="content" id="myCouponScroll"> <div class="scroller"> <div class="page-content"> <div class="coupon-form"> <div class="coupon-code-item"> <input type="tel" name="coupon-code" id="coupon-code" placeholder="请输入兑换码"> </div> <button class="btn-coupon">兑换</button> </div> <div class="coupon-items"> <p class="coupon-info">兑换码的获取请随时关注壹管家的优惠活动。</p> ';
  951. $each(coupons.useable_coupons,function(coupon,i){
  952. $out+=' <div class="card coupon-card"> <ul class="table-view"> <li class="table-view-cell coupon-cell"> ';
  953. include('./cell',coupon);
  954. $out+=' </li> </ul> </div> ';
  955. });
  956. $out+=' ';
  957. $each(coupons.used_coupons,function(coupon,i){
  958. $out+=' <div class="card coupon-card used"> <ul class="table-view"> <li class="table-view-cell coupon-cell"> ';
  959. include('./cell',coupon);
  960. $out+=' </li> </ul> </div> ';
  961. });
  962. $out+=' ';
  963. $each(coupons.overtime_coupons,function(coupon,i){
  964. $out+=' <div class="card coupon-card disabled"> <ul class="table-view"> <li class="table-view-cell coupon-cell"> ';
  965. include('./cell',coupon);
  966. $out+=' </li> </ul> </div> ';
  967. });
  968. $out+=' </div> </div> </div> </div>';
  969. return new String($out);
  970. });/*v:1*/
  971. template('myOrder/detail',function($data,$filename
  972. /**/) {
  973. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,orderID=$data.orderID,order=$data.order,$each=$utils.$each,product=$data.product,i=$data.i,appendProduct=$data.appendProduct,appendOrder=$data.appendOrder,time=$data.time,$out='';if(showNavBar ){
  974. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <a class="right-button service-telephone"> <div></div> </a> <h1 class="title">订单详情</h1> </header> ';
  975. }
  976. $out+=' <div class="content box box-vertical"> <div id="myOrderDetailScroll';
  977. $out+=$escape(orderID);
  978. $out+='" class="box-flex-1 scroll-container"> <div class="scroller"> <div class="page-content list-content"> <ul class="table-view"> <li class="table-view-cell"> <div class="order-detail-item"> <span class="item-name">订单状态</span> <div class="item-detail">';
  979. $out+=$escape(order.status_str);
  980. $out+='</div> </div> <div class="order-detail-item"> <span class="item-name">订单编号</span> <div class="item-detail">';
  981. $out+=$escape(order.order_num);
  982. $out+='</div> </div> <div class="order-detail-item"> <span class="item-name">服务地点</span> <div class="item-detail"> ';
  983. $out+=$escape(order.address.city);
  984. $out+=$escape(order.address.area);
  985. $out+=$escape(order.address.poi.name);
  986. $out+=$escape(order.address.detail);
  987. $out+='</div> </div> <div class="order-detail-item"> <span class="item-name">联系电话</span> <div class="item-detail"><a href="javascript:;" class="j-phone">';
  988. $out+=$escape(order.address.mobile);
  989. $out+='</a></div> </div> <div class="order-detail-item"> <span class="item-name">预约时间</span> <div class="item-detail">';
  990. $out+=$escape(order.booking_time_str);
  991. $out+='</div> </div> <div class="order-detail-item"> <span class="item-name">下单时间</span> <div class="item-detail">';
  992. $out+=$escape(order.order_time_str);
  993. $out+='</div> </div> ';
  994. if(order.cancel_time){
  995. $out+=' <div class="order-detail-item"> <span class="item-name">取消时间</span> <div class="item-detail">';
  996. $out+=$escape(order.cancel_time_str);
  997. $out+='</div> </div> ';
  998. }
  999. $out+=' ';
  1000. if(order.finish_time){
  1001. $out+=' <div class="order-detail-item"> <span class="item-name">完成时间</span> <div class="item-detail">';
  1002. $out+=$escape(order.finish_time_str);
  1003. $out+='</div> </div> ';
  1004. }
  1005. $out+=' </li> <li class="table-view-divider"></li> ';
  1006. if(order.status == 4 && order.technician_name){
  1007. $out+=' <li class="table-view-cell"> <div class="order-label">';
  1008. $out+=$escape(order.technician_name);
  1009. $out+='已出发,电话:<a href="javascript:;" class="j-phone">';
  1010. $out+=$escape(order.tech_info.mobile);
  1011. $out+='</a></div> <div id="map-container-';
  1012. $out+=$escape(orderID);
  1013. $out+='" style="height: 200px;"> </div> </li> ';
  1014. }
  1015. $out+=' <li class="table-view-cell"> <div class="order-label"> <div class="label-name">订单明细</div> </div> </li> ';
  1016. $each(order.products,function(product,i){
  1017. $out+=' <li class="table-view-cell"> <div class="order-label"> <div class="label-name">';
  1018. $out+=$escape(product.name);
  1019. if(product.count > 1){
  1020. $out+='<span class="service-count">x';
  1021. $out+=$escape(product.count);
  1022. $out+='</span>';
  1023. }
  1024. $out+='</div> <div class="label-value">';
  1025. $out+=$escape(product.price);
  1026. $out+='元</div> </div> </li> ';
  1027. });
  1028. $out+=' ';
  1029. $each(order.append_orders,function(appendProduct,i){
  1030. $out+=' <li class="table-view-cell"> <div class="order-label append-order"> <div class="label-name">';
  1031. $out+=$escape(appendProduct.products_str);
  1032. $out+='</div> <div class="label-value">';
  1033. $out+=$escape(appendProduct.price);
  1034. $out+='元</div> </div> </li> ';
  1035. });
  1036. $out+=' <li class="table-view-cell"> <div class="order-label"> <div class="label-name">总价</div> <div class="label-value">';
  1037. $out+=$escape(order.sum_price);
  1038. $out+='元</div> </div> </li> <li class="table-view-cell"> <div class="order-label"> <div class="label-name">订单状态</div> <div class="label-value">';
  1039. $out+=$escape(order.status_str);
  1040. $out+='</div> </div> </li> ';
  1041. if(order.pay_channel !== ''){
  1042. $out+=' <li class="table-view-cell"> <div class="order-label"> <div class="label-name">支付方式</div> <div class="label-value">';
  1043. if(order.pay_channel == 'alipay'){
  1044. $out+='支付宝';
  1045. }else{
  1046. $out+='微信';
  1047. }
  1048. $each(order.append_orders,function(appendOrder,i){
  1049. $out+='+';
  1050. if(appendOrder.pay_channel == 'alipay'){
  1051. $out+='支付宝';
  1052. }else{
  1053. $out+='微信';
  1054. }
  1055. });
  1056. $out+='</div> </div> </li> ';
  1057. }
  1058. $out+=' <li class="table-view-divider"></li> <li class="table-view-cell"> <div class="order-label order-comment"> <span class="order-comment-label">订单备注</span> ';
  1059. if(order.memo !== ''){
  1060. $out+='(';
  1061. $out+=$escape(order.memo);
  1062. $out+=')';
  1063. }
  1064. $out+=' </div> </li> </ul> <div class="order-label btn-group"> ';
  1065. if(order.status == 0){
  1066. $out+=' <div class="table-cell-accessory"> <a class="order-btn btn-default order-btn-cancel" data-order-id="';
  1067. $out+=$escape(order.id);
  1068. $out+='" data-order-name="';
  1069. $out+=$escape(order.products[0].name);
  1070. $out+='" data-order-price="';
  1071. $out+=$escape(order.price);
  1072. $out+='">取消订单</a> <a class="order-btn btn-warning order-btn-pay" data-order-id="';
  1073. $out+=$escape(order.id);
  1074. $out+='" data-order-name="';
  1075. $out+=$escape(order.products[0].name);
  1076. $out+='" data-order-price="';
  1077. $out+=$escape(order.price);
  1078. $out+='">立即支付</a> </div> ';
  1079. }
  1080. $out+=' ';
  1081. if(order.status >= 1 && order.status <= 5){
  1082. $out+=' <div class="table-cell-accessory"> ';
  1083. if(order.booking_time > time && order.status == 1){
  1084. $out+=' <a class="order-btn btn-default order-btn-refund ';
  1085. if(order.booking_time - time <= 7200){
  1086. $out+='btn-alert-info';
  1087. }
  1088. $out+='" data-order-id="';
  1089. $out+=$escape(order.id);
  1090. $out+='" data-type="';
  1091. $out+=$escape(order.products[0].type);
  1092. $out+='" data-index="';
  1093. $out+=$escape(i);
  1094. $out+='">申请退款</a> ';
  1095. }
  1096. $out+=' ';
  1097. if(order.products[0].type !== '7' && order.products[0].type !== '6'){
  1098. $out+=' <a class="order-btn btn-default order-btn-append" data-order-id="';
  1099. $out+=$escape(order.id);
  1100. $out+='" data-order-name="';
  1101. $out+=$escape(order.products[0].pet_types[0].name);
  1102. $out+='" data-order-price="';
  1103. $out+=$escape(order.price);
  1104. $out+='" data-type="';
  1105. $out+=$escape(order.products[0].type);
  1106. $out+='">追加服务</a> ';
  1107. }
  1108. $out+=' ';
  1109. if(time > order.booking_time){
  1110. $out+=' <a class="order-btn btn-warning order-btn-done" data-order-id="';
  1111. $out+=$escape(order.id);
  1112. $out+='" data-order-name="';
  1113. $out+=$escape(order.products[0].name);
  1114. $out+='" data-order-price="';
  1115. $out+=$escape(order.price);
  1116. $out+='">确认完成</a> ';
  1117. }
  1118. $out+=' </div> ';
  1119. }
  1120. $out+=' ';
  1121. if(order.status == 6 && !order.have_comment){
  1122. $out+=' <div class="table-cell-accessory"> <a class="order-btn order-btn-review btn-main" data-order-id="';
  1123. $out+=$escape(order.id);
  1124. $out+='">立即评价</a> </div> ';
  1125. }
  1126. $out+=' </div> </div> </div> </div> </div> ';
  1127. return new String($out);
  1128. });/*v:1*/
  1129. template('myOrder/finish',function($data,$filename
  1130. /**/) {
  1131. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$out='';if(showNavBar ){
  1132. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">确认完成</h1> </header> ';
  1133. }
  1134. $out+=' <div class="content content-padding"> <div class="text-center"> <img src="http://wozhua-others.qiniudn.com/20160314-order-done.jpg?interlace/1" alt=""> </div> <div class="box"> <div class="box-flex-1"> <button class="btn btn-block btn-default back-button">我的预约</button> </div> <div class="box-flex-1"> <button class="btn btn-block btn-success to-order">立即评价</button> </div> </div> </div> ';
  1135. return new String($out);
  1136. });/*v:1*/
  1137. template('myOrder/index',function($data,$filename
  1138. /**/) {
  1139. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,type=$data.type,$out='';if(showNavBar ){
  1140. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">我的预约</h1> </header> ';
  1141. }
  1142. $out+=' <div class="content box box-vertical"> <div class="segmented-control order-type-control prevent-scroll"> <a class="control-item ';
  1143. if(type == '1'){
  1144. $out+='active';
  1145. }
  1146. $out+='" data-order-type="1">预约中</a> <a class="control-item ';
  1147. if(type == '2'){
  1148. $out+='active';
  1149. }
  1150. $out+='" data-order-type="3">已完成</a> <a class="control-item ';
  1151. if(type == '3'){
  1152. $out+='active';
  1153. }
  1154. $out+='" data-order-type="2">已取消</a> </div> <div id="myOrderScroll" class="box-flex-1 scroll-container"> <div class="scroller"> <div class="page-content list-content"> </div> <div class="btn-more-container box-center more-container hide"> <a class="btn btn-block btn-more-orders" data-type="1">加载更多</a> </div> </div> </div> </div> ';
  1155. return new String($out);
  1156. });/*v:1*/
  1157. template('myOrder/list',function($data,$filename
  1158. /**/) {
  1159. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,orders=$data.orders,order=$data.order,i=$data.i,$escape=$utils.$escape,append_order=$data.append_order,time=$data.time,chubao=$data.chubao,$out='';$each(orders,function(order,i){
  1160. $out+=' <ul class="table-view"> <li class="table-view-cell"> <span class="order-desc-title">预约时间</span> <span class="order-desc-more">';
  1161. $out+=$escape(order.booking_time_str);
  1162. $out+='</span> <span class="order-precedence-status">';
  1163. if(order.precedence){
  1164. $out+='(加急)';
  1165. }
  1166. $out+='</span> <div class="table-cell-accessory"> <span class="order-status ';
  1167. if(order.status == 0){
  1168. $out+='order-status-pay';
  1169. }
  1170. $out+='"> ';
  1171. if(order.have_comment){
  1172. $out+='已评价';
  1173. }else{
  1174. $out+=$escape(order.status_str);
  1175. }
  1176. $out+=' </span> </div> </li> <li class="table-view-cell btn-order-detail" data-order-id="';
  1177. $out+=$escape(order.id);
  1178. $out+='"> <div> <div class="order-desc-line order-number"> <span class="order-desc-title">编号</span><span class="order-desc-more">';
  1179. $out+=$escape(order.order_num);
  1180. $out+='</span> </div> <div class="order-desc-line order-service-name"> <span class="order-desc-title">服务</span><span class="order-desc-more">';
  1181. $out+=$escape(order.products_str);
  1182. if(order.products[0].count > 1){
  1183. $out+='(';
  1184. $out+=$escape(order.products[0].count);
  1185. $out+='只) ';
  1186. }
  1187. $out+='</span> </div> ';
  1188. if(order.append_orders){
  1189. $out+=' ';
  1190. $each(order.append_orders,function(append_order,i){
  1191. $out+=' <div class="order-desc-line order-service-name order-append"> <span class="order-desc-title">追加</span><span class="order-desc-more">';
  1192. $out+=$escape(append_order.products_str);
  1193. $out+='</span> </div> ';
  1194. });
  1195. $out+=' ';
  1196. }
  1197. $out+=' <div class="order-desc-line order-service-name"> <span class="order-desc-title">价格</span> <span class="order-desc-more">';
  1198. $out+=$escape(order.final_price.toFixed(2));
  1199. $out+='元</span> ';
  1200. if(order.append_orders){
  1201. $out+=' ';
  1202. $each(order.append_orders,function(append_order,i){
  1203. $out+=' <span class="order-append-price">&nbsp; + ';
  1204. $out+=$escape(append_order.price);
  1205. $out+='元 </span> ';
  1206. });
  1207. $out+=' ';
  1208. }
  1209. $out+=' ';
  1210. if(order.append_orders.length){
  1211. $out+=' <span class="order-append-price">&nbsp;=&nbsp;';
  1212. $out+=$escape(order.sum_price);
  1213. $out+='元</span> ';
  1214. }
  1215. $out+=' </div> </div> </li> ';
  1216. if(order.status == 0){
  1217. $out+=' <li class="table-view-cell brn-group"> &nbsp; <div class="table-cell-accessory"> <a class="order-btn btn-default order-btn-cancel" data-order-id="';
  1218. $out+=$escape(order.id);
  1219. $out+='" data-order-name="';
  1220. $out+=$escape(order.products[0].name);
  1221. $out+='" data-order-price="';
  1222. $out+=$escape(order.price);
  1223. $out+='">取消订单</a> <a class="order-btn btn-warning order-btn-pay" data-order-id="';
  1224. $out+=$escape(order.id);
  1225. $out+='" data-order-name="';
  1226. $out+=$escape(order.products[0].name);
  1227. $out+='" data-order-price="';
  1228. $out+=$escape(order.price);
  1229. $out+='">立即支付</a> </div> </li> ';
  1230. }
  1231. $out+=' ';
  1232. if(order.status >= 1 && order.status <= 5){
  1233. $out+=' <li class="table-view-cell brn-group"> &nbsp; <div class="table-cell-accessory"> ';
  1234. if(order.booking_time > time && order.status == 1){
  1235. $out+=' <a class="order-btn btn-default order-btn-refund ';
  1236. if(order.booking_time - time <= 7200){
  1237. $out+='btn-alert-info';
  1238. }
  1239. $out+='" data-order-id="';
  1240. $out+=$escape(order.id);
  1241. $out+='" data-type="';
  1242. $out+=$escape(order.products[0].type);
  1243. $out+='" data-index="';
  1244. $out+=$escape(i);
  1245. $out+='">申请退款</a> ';
  1246. }
  1247. $out+=' ';
  1248. if(!chubao && order.products[0].type !== '7' && order.products[0].type !== '6'){
  1249. $out+=' <a class="order-btn btn-default order-btn-append" data-order-id="';
  1250. $out+=$escape(order.id);
  1251. $out+='" data-order-name="';
  1252. $out+=$escape(order.products[0].pet_types[0].name);
  1253. $out+='" data-order-price="';
  1254. $out+=$escape(order.price);
  1255. $out+='" data-type="';
  1256. $out+=$escape(order.products[0].type);
  1257. $out+='">追加服务</a> ';
  1258. }
  1259. $out+=' ';
  1260. if(time > order.booking_time){
  1261. $out+=' <a class="order-btn btn-warning order-btn-done" data-order-id="';
  1262. $out+=$escape(order.id);
  1263. $out+='" data-order-name="';
  1264. $out+=$escape(order.products[0].name);
  1265. $out+='" data-order-price="';
  1266. $out+=$escape(order.price);
  1267. $out+='">确认完成</a> ';
  1268. }
  1269. $out+=' </div> </li> ';
  1270. }
  1271. $out+=' ';
  1272. if(order.status == 6 && !order.have_comment){
  1273. $out+=' <li class="table-view-cell brn-group"> &nbsp; <div class="table-cell-accessory"> <a class="order-btn order-btn-review btn-main" data-order-id="';
  1274. $out+=$escape(order.id);
  1275. $out+='">立即评价</a> </div> </li> ';
  1276. }
  1277. $out+=' </ul> ';
  1278. });
  1279. $out+=' ';
  1280. return new String($out);
  1281. });/*v:1*/
  1282. template('myOrder/refund',function($data,$filename
  1283. /**/) {
  1284. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,order=$data.order,$each=$utils.$each,append_order=$data.append_order,i=$data.i,$out='';if(showNavBar ){
  1285. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">申请退款</h1> </header> ';
  1286. }
  1287. $out+=' <div class="content box box-vertical"> <div id="refundScroll" class="box-flex-1 scroll-container"> <div class="scroller"> <div class="page-content list-content"> <ul class="table-view"> <li class="table-view-cell"> <span class="order-desc-title">预约时间</span> <span class="order-desc-more">';
  1288. $out+=$escape(order.booking_time_str);
  1289. $out+='</span> <span class="order-precedence-status">';
  1290. if(order.precedence ){
  1291. $out+=' (加急) ';
  1292. }
  1293. $out+='</span> </li> <li class="table-view-cell"> <div> <div class="order-desc-line"> <span class="order-desc-title">编号</span><span class="order-desc-more">';
  1294. $out+=$escape(order.order_num);
  1295. $out+='</span> </div> <div class="order-desc-line order-service-name"> <span class="order-desc-title">服务</span><span class="order-desc-more">';
  1296. $out+=$escape(order.products_str);
  1297. $out+='</span> </div> ';
  1298. if(order.append_orders){
  1299. $out+=' ';
  1300. $each(order.append_orders,function(append_order,i){
  1301. $out+=' <div class="order-desc-line order-service-name"> <span class="order-desc-title">追加</span><span class="order-desc-more">';
  1302. $out+=$escape(append_order.products_str);
  1303. $out+='</span> </div> ';
  1304. });
  1305. $out+=' ';
  1306. }
  1307. $out+=' <div class="order-desc-line"> <span class="order-desc-title">价格</span> <span class="order-desc-more">';
  1308. $out+=$escape(order.final_price.toFixed(2));
  1309. $out+='元</span> ';
  1310. if(order.append_orders){
  1311. $out+=' ';
  1312. $each(order.append_orders,function(append_order,i){
  1313. $out+=' <span class="order-append-price">&nbsp; + ';
  1314. $out+=$escape(append_order.price);
  1315. $out+='元</span> ';
  1316. });
  1317. $out+=' ';
  1318. }
  1319. $out+=' </div> </div> </li> <li class="table-view-cell tip">退款将退至您的支付账户(3-10个工作日内到账)</li> </ul> <div class="btn-box"> <div class="btn btn-refund" data-order-id="';
  1320. $out+=$escape(order.id);
  1321. $out+='">申请退款</div> </div> </div> </div> </div> </div> ';
  1322. return new String($out);
  1323. });/*v:6*/
  1324. template('pay/index',function($data,$filename
  1325. /**/) {
  1326. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,orderType=$data.orderType,orderPrice=$data.orderPrice,chubao=$data.chubao,wxPub=$data.wxPub,showWX=$data.showWX,$out='';if(showNavBar ){
  1327. $out+=' <header class="bar bar-nav"> <a class="cancel-button left-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">收银台</h1> </header> ';
  1328. }
  1329. $out+=' <div class="content"> <ul class="table-view "> <li class="table-view-cell order-info"> <a><span>订单类型:</span>';
  1330. $out+=$escape(orderType);
  1331. $out+='</a> <a><span>支付金额:</span>';
  1332. $out+=$escape(orderPrice);
  1333. $out+='元</a> </li> </ul> ';
  1334. if(chubao){
  1335. $out+=' ';
  1336. }else{
  1337. $out+=' <div class="content-padded "> 支付方式 </div> ';
  1338. if(wxPub){
  1339. $out+=' <ul class="table-view"> <li class="table-view-cell"> <a href="javascript:void(0) " class="pay-option checked" data-value="wx_pub"> <i class="icon-weixin"></i> 微信支付 </a> </li> </ul> ';
  1340. }else{
  1341. $out+=' <ul class="table-view"> <li class="table-view-cell"> <a href="javascript:void(0)" class="pay-option checked" data-value="alipay"> <i class="icon-alipay"></i> 支付宝 </a> </li> ';
  1342. if(showWX){
  1343. $out+=' <li class="table-view-cell"> <a href="javascript:void(0)" class="pay-option" data-value="wx"> <i class="icon-weixin"></i> 微信支付 </a> </li> ';
  1344. }
  1345. $out+=' </ul> ';
  1346. }
  1347. $out+=' ';
  1348. }
  1349. $out+=' <div class="content-padded "> <a class="btn btn-main btn-block btn-pay" data-pay-channel="';
  1350. if(wxPub){
  1351. $out+='wx_pub';
  1352. }else{
  1353. $out+='alipay';
  1354. }
  1355. $out+='">确认支付</a> </div> </div> ';
  1356. return new String($out);
  1357. });/*v:1*/
  1358. template('picker/cell',function($data,$filename
  1359. /**/) {
  1360. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,options=$data.options,option=$data.option,i=$data.i,$escape=$utils.$escape,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},$out='';$each(options,function(option,i){
  1361. $out+=' <div class="card coupon-card"> <ul class="table-view"> <li class="table-view-cell coupon-cell"> <a class="picker-option" data-value="';
  1362. $out+=$escape(option.id);
  1363. $out+='"> ';
  1364. include('../myCoupon/cell',option);
  1365. $out+=' </a> </li> </ul> </div> ';
  1366. });
  1367. return new String($out);
  1368. });/*v:1*/
  1369. template('picker/coupon',function($data,$filename
  1370. /**/) {
  1371. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,title=$data.title,$each=$utils.$each,options=$data.options,option=$data.option,i=$data.i,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},unuseables=$data.unuseables,$out='';if(showNavBar ){
  1372. $out+=' <header class="bar bar-nav"> <a href="javascript:void(0)" class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">';
  1373. $out+=$escape(title);
  1374. $out+='</h1> </header> ';
  1375. }
  1376. $out+=' <div class="content" id="pickerScroll"> <div class="scroller"> <div class="page-content"> <div class="coupon-form"> <div class="coupon-code-item"> <input type="tel" name="coupon-code" id="coupon-code" placeholder="请输入兑换码"> </div> <button class="btn-coupon">兑换</button> </div> <p class="coupon-info">兑换码的获取请随时关注壹管家的优惠活动。</p> <div class="card-list"> ';
  1377. $each(options,function(option,i){
  1378. $out+=' <div class="card coupon-card"> <ul class="table-view"> <li class="table-view-cell coupon-cell"> <a class="picker-option" data-value="';
  1379. $out+=$escape(option.id);
  1380. $out+='"> ';
  1381. include('../myCoupon/cell',option);
  1382. $out+=' </a> </li> </ul> </div> ';
  1383. });
  1384. $out+=' </div> ';
  1385. if(unuseables.length > 0){
  1386. $out+=' <div class="card-list"> <p class="coupon-line">当前时段不可用</p> ';
  1387. $each(unuseables,function(option,i){
  1388. $out+=' <div class="card coupon-card"> <ul class="table-view"> <li class="table-view-cell coupon-cell"> <a class="picker-option unable" data-value="';
  1389. $out+=$escape(option.id);
  1390. $out+='"> ';
  1391. include('../myCoupon/cell',option);
  1392. $out+=' </a> </li> </ul> </div> ';
  1393. });
  1394. $out+=' </div> ';
  1395. }
  1396. $out+=' <div class="card"> <ul class="table-view"> <li class="table-view-cell"> <a class="picker-option" data-value=""> 不使用优惠券 </a> </li> </ul> </div> </div> </div> </div>';
  1397. return new String($out);
  1398. });/*v:1*/
  1399. template('picker/index',function($data,$filename
  1400. /**/) {
  1401. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,title=$data.title,$each=$utils.$each,options=$data.options,option=$data.option,i=$data.i,$out='';if(showNavBar ){
  1402. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">';
  1403. $out+=$escape(title);
  1404. $out+='</h1> </header> ';
  1405. }
  1406. $out+=' <div class="content" id="pickerScroll"> <div class="scroller"> <div class="page-content"> <ul class="table-view"> ';
  1407. $each(options,function(option,i){
  1408. $out+=' <li class="table-view-cell"> <a class="picker-option" data-value="';
  1409. $out+=$escape(option.value);
  1410. $out+='"> ';
  1411. $out+=$escape(option.text);
  1412. $out+=' <span class="picker-option-more">';
  1413. $out+=$escape(option.more);
  1414. $out+='</span> ';
  1415. if(option.selected ){
  1416. $out+=' <span class="icon icon-check pull-right selected-option"></span> ';
  1417. }
  1418. $out+=' </a> </li> ';
  1419. });
  1420. $out+=' </ul> </div> </div> </div>';
  1421. return new String($out);
  1422. });/*v:1*/
  1423. template('placeOrder/append',function($data,$filename
  1424. /**/) {
  1425. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},$out='';if(showNavBar ){
  1426. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">追加服务</h1> </header> ';
  1427. }
  1428. $out+=' <div class="content"> <div class="box-container"> <div class="box-container box box-vertical"> <div id="appendOrderScroll" class="scroll-container box-flex-1"> <ul class="table-view extra-service-list"> ';
  1429. include('./list');
  1430. $out+=' </ul> </div> <div class="result-item btn-container prevent-scroll"> <div class="cost"> 总计 <span class="order-cost" data-pay="0">¥ 0</span> </div> <a class="btn btn-main btn-block btn-place">确认预约</a> </div> </div> </div> </div> ';
  1431. return new String($out);
  1432. });/*v:40*/
  1433. template('placeOrder/index',function($data,$filename
  1434. /**/) {
  1435. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,title=$data.title,showExtra=$data.showExtra,$each=$utils.$each,extra=$data.extra,e=$data.e,$index=$data.$index,type=$data.type,petName=$data.petName,petWeight=$data.petWeight,extraServiceType=$data.extraServiceType,extraService=$data.extraService,extraServiceList=$data.extraServiceList,i=$data.i,beauticianName=$data.beauticianName,showCoupon=$data.showCoupon,productType=$data.productType,petPrice=$data.petPrice,precedence=$data.precedence,couponVal=$data.couponVal,balance=$data.balance,$out='';if(showNavBar ){
  1436. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">';
  1437. $out+=$escape(title);
  1438. $out+='</h1> </header> ';
  1439. }
  1440. $out+=' <div class="content"> <div class="box-container"> <div class="box-container box box-vertical"> <div id="placeOrderScroll" class="scroll-container box-flex-1"> <div class="scroller"> <div class=""> <ul class="table-view"> <li id="product-pic-bg" class="table-view-cell"> <a class="navigate-right product-pic"> <div class="product-name">详情及评价 <span>&gt;&gt;&gt;</span></div> </a> </li> </ul> ';
  1441. if(showExtra){
  1442. $out+=' <div class="table-view main-service"> <p class="main-service-title">请选择</p> ';
  1443. $each(extra,function(e,$index){
  1444. $out+=' <div class="width-percent-50"> <div class="btn btn-main-service" data-extra-type="';
  1445. $out+=$escape(e.type);
  1446. $out+='" data-extra-price="';
  1447. $out+=$escape(e.price);
  1448. $out+='">';
  1449. $out+=$escape(e.type);
  1450. $out+='</div> </div> ';
  1451. });
  1452. $out+=' </div> ';
  1453. }
  1454. $out+=' <ul class="table-view"> <li class="table-view-cell"> <div class="link-label show-product-picker selected"> 购买数量 <div class="service-count"> <div class="btn btn-sub">-</div> <span class="num">1</span> <div class="btn btn-add">+</div> </div> </div> </li> <li class="table-view-cell"> <a class="navigate-right select-address" style="display: flex; justify-content:space-between; align-items: center; padding-right: 2rem"> 地址 <div class="table-view-cell-right-label media-body has-address" style="display: block; position: static;" > <span class="order-username"></span> <span class="order-mobile">添加服务地址</span> <p class="order-address"></p> </div> </a> </li> <!-- 不选宠物 <li class="table-view-cell"> ';
  1455. if(type == 7){
  1456. $out+=' <div class="link-label show-product-picker selected"> 狗狗数量 <div class="service-count"> <div class="btn btn-sub">-</div> <span class="num">1</span> <div class="btn btn-add">+</div> </div> </div> ';
  1457. }else if(type == 6){
  1458. $out+=' <div class="link-label show-product-picker selected"> 宠物 <span class="table-view-cell-right-label pet-info"> ';
  1459. if(petName == '' || petWeight == '' ){
  1460. $out+=' 选择宠物类型 ';
  1461. }else{
  1462. $out+=' ';
  1463. $out+=$escape(petName);
  1464. $out+=' (';
  1465. $out+=$escape(petWeight);
  1466. $out+=') ';
  1467. }
  1468. $out+=' </span> </div> ';
  1469. }else{
  1470. $out+=' <a class="navigate-right show-product-picker"> 宠物 <span class="table-view-cell-right-label pet-info"> ';
  1471. if(petName == '' || petWeight == ''){
  1472. $out+=' 选择宠物类型 ';
  1473. }else{
  1474. $out+=' ';
  1475. $out+=$escape(petName);
  1476. $out+=' (';
  1477. $out+=$escape(petWeight);
  1478. $out+=') ';
  1479. }
  1480. $out+=' </span> </a> ';
  1481. }
  1482. $out+=' </li> --> <li class="table-view-cell"> <a class="navigate-right show-time-picker"> 服务时间 <span class="table-view-cell-right-label booking-time">选择服务时间</span> </a> </li> <li class="table-view-cell memo"> <form class="input-group" id="order-form"> <input type="text" class="order-memo" id="order-memo" placeholder="(备注)可填写附加要求"> </form> </li> </ul> <!-- 附加服务 <div class="extra-service-title">附加服务</div> <ul class="table-view extra-service-list"> ';
  1483. if(extraServiceType == 11){
  1484. $out+=' <li class="table-view-cell"> <a class="navigate-right item-checkbox checked" data-name="体外驱虫"> 体外驱虫 (40元)</a> </li> <li class="table-view-cell"> <a class="navigate-right item-checkbox" data-name="体内驱虫"> 体内驱虫 (30元)</a> </li> <li class="table-view-cell"> <a class="navigate-right item-checkbox" data-name="药浴"> 药浴 (40元)</a> </li> <li class="table-view-cell"> <a class="navigate-right item-checkbox" data-name="一次性局部染色"> 一次性局部染色 (28元)</a> </li> ';
  1485. }else if(extraServiceType == 12){
  1486. $out+=' <li class="table-view-cell"> <a class="navigate-right item-checkbox" data-name="体外驱虫"> 体外驱虫 (40元)</a> </li> <li class="table-view-cell"> <a class="navigate-right item-checkbox" data-name="体内驱虫"> 体内驱虫 (30元)</a> </li> <li class="table-view-cell"> <a class="navigate-right item-checkbox checked" data-name="药浴"> 药浴 (40元)</a> </li> <li class="table-view-cell"> <a class="navigate-right item-checkbox" data-name="一次性局部染色"> 一次性局部染色 (28元)</a> </li> ';
  1487. }else if(extraServiceType == 13){
  1488. $out+=' <li class="table-view-cell"> <a class="navigate-right item-checkbox" data-name="体外驱虫"> 体外驱虫 (40元)</a> </li> <li class="table-view-cell"> <a class="navigate-right item-checkbox" data-name="体内驱虫"> 体内驱虫 (30元)</a> </li> <li class="table-view-cell"> <a class="navigate-right item-checkbox" data-name="药浴"> 药浴 (40元)</a> </li> <li class="table-view-cell"> <a class="navigate-right item-checkbox checked" data-name="一次性局部染色"> 一次性局部染色 (28元)</a> </li> ';
  1489. }
  1490. $out+=' ';
  1491. $each(extraService,function(extraServiceList,i){
  1492. $out+=' <li class="table-view-cell"> <a class="navigate-right item-checkbox" data-select="0" data-id="';
  1493. $out+=$escape(extraServiceList.id);
  1494. $out+='" data-price="';
  1495. $out+=$escape(extraServiceList.price);
  1496. $out+='" data-name="';
  1497. $out+=$escape(extraServiceList.name);
  1498. $out+='" data-serviceType="';
  1499. $out+=$escape(extraServiceList.serviceType);
  1500. $out+='"> ';
  1501. $out+=$escape(extraServiceList.name);
  1502. $out+=' (';
  1503. $out+=$escape(extraServiceList.price);
  1504. $out+='元) </a> </li> ';
  1505. });
  1506. $out+=' </ul> --> <!-- 选择保洁师 <ul class="table-view"> <li class="table-view-cell"> <a class="navigate-right show-beautician-picker"> 系统推荐保洁师 <span class="table-view-cell-right-label booking-people"> ';
  1507. if(beauticianName !== ''){
  1508. $out+=$escape(beauticianName);
  1509. }else{
  1510. $out+='请选择';
  1511. }
  1512. $out+=' </span> </a> </li> </ul> --> <ul class="table-view"> <li class="table-view-cell ';
  1513. if(!showCoupon ){
  1514. $out+='disabled';
  1515. }
  1516. $out+='"> <a class="navigate-right show-coupon-picker">优惠券 <span class="table-view-cell-right-label coupon-selected-name">选择优惠券</span> </a> </li> </ul> <!-- 订单详情 <ul class="table-view order-list"> <li class="table-view-cell select-pet ';
  1517. if(petName == ''){
  1518. $out+='hide';
  1519. }
  1520. $out+='"> <div class="link-label pet-type">';
  1521. $out+=$escape(petName);
  1522. $out+=' (';
  1523. $out+=$escape(petWeight);
  1524. $out+=')</div> <div class="link-label"> <span class="service-name">';
  1525. $out+=$escape(productType);
  1526. $out+='</span> <span class="table-view-cell-right-label total-cost">¥ ';
  1527. $out+=$escape(petPrice);
  1528. $out+='</span> </div> </li> <li class="table-view-cell calc-items hide"> ';
  1529. if(extraServiceType == 11){
  1530. $out+=' <div class="link-label select-extra-service" data-price="40">体外驱虫 <span class="table-view-cell-right-label precedence-cost">¥ 40</span> </div> ';
  1531. }else if(extraServiceType == 12){
  1532. $out+=' <div class="link-label select-extra-service" data-price="40">药浴 <span class="table-view-cell-right-label precedence-cost">¥ 40</span> </div> ';
  1533. }else if(extraServiceType == 13){
  1534. $out+=' <div class="link-label select-extra-service" data-price="28">一次性局部染色 <span class="table-view-cell-right-label precedence-cost">¥ 28</span> </div> ';
  1535. }
  1536. $out+=' ';
  1537. $each(extraService,function(extraServiceList,i){
  1538. $out+=' <div class="link-label select-extra-service" data-price="';
  1539. $out+=$escape(extraServiceList.price);
  1540. $out+='">';
  1541. $out+=$escape(extraServiceList.name);
  1542. $out+=' <span class="table-view-cell-right-label precedence-cost">¥';
  1543. $out+=$escape(extraServiceList.price);
  1544. $out+='</span> </div> ';
  1545. });
  1546. $out+=' </li> <li class="table-view-cell select-precedence ';
  1547. if(!precedence){
  1548. $out+='hide';
  1549. }
  1550. $out+='"> <div class="link-label select-precedence-label">加急 <span class="table-view-cell-right-label precedence-cost">¥ ';
  1551. $out+=$escape(precedence);
  1552. $out+='</span> </div> </li> <li class="table-view-cell select-coupon ';
  1553. if(!couponVal){
  1554. $out+='hide';
  1555. }
  1556. $out+='"> <div class="link-label select-coupon-label">优惠券 <span class="table-view-cell-right-label coupon-cost"> - ';
  1557. $out+=$escape(couponVal);
  1558. $out+=' </span> </div> </li> </ul> --> <div class="box bottom-box"> <div class="agreement-box"> <div class="agreement-touch-area"> </div> <input type="checkbox" class="agreement-checkbox" checked="checked" /> <span> 同意<a class="agreement">壹管家用户服务协议</a> </span> </div> </div> </div> </div> </div> <div class="result-item btn-container prevent-scroll" style="display: flex; justify-content: space-between; align-items: center"> <div style="padding-left: 15px; font-size: 14px"> 账户余额 <span style="font-size: 14px; color: #ec5330; text-align: right; display: inline" >¥ ';
  1559. $out+=$escape(balance);
  1560. $out+='</span> </div> <div style="padding-left: 15px; font-size: 14px"> 费用总计 <span class="order-cost" style="font-size: 14px; color: #ec5330; text-align: right; display: inline">¥ 0</span> </div> <a class="btn btn-main btn-block btn-place">确认预约</a> </div> </div> </div> </div> </div> ';
  1561. return new String($out);
  1562. });/*v:1*/
  1563. template('placeOrder/list',function($data,$filename
  1564. /**/) {
  1565. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,extraService=$data.extraService,extraServiceList=$data.extraServiceList,i=$data.i,$escape=$utils.$escape,$out='';$each(extraService,function(extraServiceList,i){
  1566. $out+=' <li class="table-view-cell"> <a class="navigate-right item-checkbox ';
  1567. if(extraServiceList.seleted){
  1568. $out+='checked';
  1569. }
  1570. $out+='" data-select="0" data-id="';
  1571. $out+=$escape(extraServiceList.id);
  1572. $out+='" data-price="';
  1573. $out+=$escape(extraServiceList.price);
  1574. $out+='" data-serviceType="';
  1575. $out+=$escape(extraServiceList.serviceType);
  1576. $out+='"> ';
  1577. $out+=$escape(extraServiceList.name);
  1578. $out+=' (';
  1579. $out+=$escape(extraServiceList.price);
  1580. $out+='元) </a> </li> ';
  1581. });
  1582. $out+=' ';
  1583. return new String($out);
  1584. });/*v:1*/
  1585. template('placeOrder/list2',function($data,$filename
  1586. /**/) {
  1587. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,extraService=$data.extraService,extraServiceList=$data.extraServiceList,i=$data.i,$escape=$utils.$escape,$out='';$each(extraService,function(extraServiceList,i){
  1588. $out+=' <div class="link-label select-extra-service ';
  1589. if(extraServiceList.seleted){
  1590. $out+='on';
  1591. }
  1592. $out+='" data-price="';
  1593. $out+=$escape(extraServiceList.price);
  1594. $out+='">';
  1595. $out+=$escape(extraServiceList.name);
  1596. $out+=' <span class="table-view-cell-right-label precedence-cost">¥';
  1597. $out+=$escape(extraServiceList.price);
  1598. $out+='</span> </div> ';
  1599. });
  1600. return new String($out);
  1601. });/*v:1*/
  1602. template('product/index',function($data,$filename
  1603. /**/) {
  1604. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,title=$data.title,type=$data.type,commentCounts=$data.commentCounts,isShowVideo=$data.isShowVideo,productClassName=$data.productClassName,$each=$utils.$each,picLists=$data.picLists,picList=$data.picList,$index=$data.$index,tips=$data.tips,desc=$data.desc,note=$data.note,fromHome=$data.fromHome,$out='';if(showNavBar ){
  1605. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">';
  1606. $out+=$escape(title);
  1607. $out+='</h1> </header> ';
  1608. }
  1609. $out+=' <div class="content"> <div class="control-bar box-center ';
  1610. if(type > 10){
  1611. $out+='hide';
  1612. }
  1613. $out+='"> <div class="segmented-control type-control prevent-scroll"> <a class="control-item active" data-type="1">详情</a> <a class="control-item" data-type="2">评价(';
  1614. $out+=$escape(commentCounts);
  1615. $out+=')</a> </div> </div> <div class="product-main-container" ';
  1616. if(type > 10){
  1617. $out+='style="top: 0"';
  1618. }
  1619. $out+='> <div class="box-container type-container" id="descContainer"> <div class="box-container box box-vertical"> <div id="productDescScroll" class="scroll-container box-flex-1"> <div class="scroller"> <div class="pad-b-1"> ';
  1620. if(isShowVideo){
  1621. $out+=' <div class="video" style="margin-bottom: -8px;"> <iframe src="/webapp/static/introduce.html" id="iframe-service-introduce" frameborder="0" style="width: 100%"></iframe> </div> ';
  1622. }
  1623. $out+=' <div class="img-list ';
  1624. $out+=$escape(productClassName.className);
  1625. $out+='"> <div class="img-list-container"> ';
  1626. $each(picLists.imglists,function(picList,$index){
  1627. $out+=' <img src="';
  1628. $out+=$escape(picLists.url);
  1629. $out+='/';
  1630. $out+=$escape(picList);
  1631. $out+='" alt=""> ';
  1632. });
  1633. $out+=' </div> </div> <div class="notes"> <div class="group-title-container"> <div class="group-title">注意事项</div> </div> <ul class="group-detail hide"> <li> <ul> ';
  1634. $each(tips.descs,function(desc,$index){
  1635. $out+=' <li> <p>';
  1636. $out+=$escape(desc);
  1637. $out+='</p> </li> ';
  1638. });
  1639. $out+=' </ul> </li> ';
  1640. $each(tips.notes,function(note,$index){
  1641. $out+=' <li> <p>';
  1642. $out+=$escape(note);
  1643. $out+='</p> </li> ';
  1644. });
  1645. $out+=' </ul> </div> </div> </div> </div> ';
  1646. if(fromHome){
  1647. $out+=' <div class="btn-container prevent-scroll"> <a class="btn btn-main btn-block btn-next">立即下单</a> </div> ';
  1648. }
  1649. $out+=' </div> </div> <div class="box-container hide type-container" id="reviewContainer"> <div class="box-container box box-vertical"> <div id="productReviewScroll" class="scroll-container box-flex-1"> <div class="scroller"> <ul class="table-view list-content"> </ul> <div class="btn-more-container box-center hide"> <a class="btn btn-block btn-more-review">加载更多</a> </div> </div> </div> </div> </div> <div class="box-container hide type-container" id="consultationContainer"> <div class="box-container box box-vertical"> <div id="productConsultationScroll" class="scroll-container box-flex-1"> <div class="scroller"> <div class="list-content"> </div> </div> </div> <div class="btn-container prevent-scroll"> <a class="btn btn-main btn-block btn-consult">提交</a> </div> </div> </div> </div> </div> ';
  1650. return new String($out);
  1651. });/*v:1*/
  1652. template('product/info',function($data,$filename
  1653. /**/) {
  1654. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$each=$utils.$each,tips=$data.tips,desc=$data.desc,$index=$data.$index,$escape=$utils.$escape,note=$data.note,$out='';if(showNavBar ){
  1655. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">注意事项</h1> </header> ';
  1656. }
  1657. $out+=' <div class="content"> <div class="box-container"> <div class="box-container box box-vertical"> <div id="productInfoScroll" class=" box-flex-1"> <div class="scroller"> <div> <div class="notes"> <ul class="group-detail"> <li> <ul> ';
  1658. $each(tips.descs,function(desc,$index){
  1659. $out+=' <li> <p>';
  1660. $out+=$escape(desc);
  1661. $out+='</p> </li> ';
  1662. });
  1663. $out+=' </ul> </li> ';
  1664. $each(tips.notes,function(note,$index){
  1665. $out+=' <li> <p>';
  1666. $out+=$escape(note);
  1667. $out+='</p> </li> ';
  1668. });
  1669. $out+=' </ul> </div> </div> </div> </div> </div> </div> </div> ';
  1670. return new String($out);
  1671. });/*v:1*/
  1672. template('product/option',function($data,$filename
  1673. /**/) {
  1674. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,pets=$data.pets,pet=$data.pet,$index=$data.$index,$escape=$utils.$escape,$out='';$out+='<div class="box box-container box-align-end"> <div class="product-option-container"> ';
  1675. $each(pets,function(pet,$index){
  1676. $out+=' <div class="option-group" data-id="';
  1677. $out+=$escape(pet.id);
  1678. $out+='" data-weight="';
  1679. $out+=$escape(pet.min_weight);
  1680. $out+='-';
  1681. $out+=$escape(pet.max_weight);
  1682. $out+='kg" data-name="';
  1683. $out+=$escape(pet.pet_types[0].name);
  1684. $out+='" data-price="';
  1685. $out+=$escape(pet.price);
  1686. $out+='" data-weight-max="';
  1687. $out+=$escape(pet.max_weight);
  1688. $out+='" data-weight-min="';
  1689. $out+=$escape(pet.min_weight);
  1690. $out+='"> ';
  1691. $out+=$escape(pet.pet_types[0].name);
  1692. $out+=' (';
  1693. $out+=$escape(pet.min_weight);
  1694. $out+='-';
  1695. $out+=$escape(pet.max_weight);
  1696. $out+='kg) </div> ';
  1697. });
  1698. $out+=' <div class="btn-container"> <a class="btn btn-cancle btn-block btn-next">取消</a> </div> </div> </div> ';
  1699. return new String($out);
  1700. });/*v:1*/
  1701. template('product/price',function($data,$filename
  1702. /**/) {
  1703. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,petTypes=$data.petTypes,petType=$data.petType,$index=$data.$index,$escape=$utils.$escape,$out='';$out+='<tr> <th>类型</th> ';
  1704. $each(petTypes,function(petType,$index){
  1705. $out+=' <th colspan="" class="pet-type">';
  1706. $out+=$escape(petType.pet_types[0].name);
  1707. $out+='</th> ';
  1708. });
  1709. $out+=' </tr> <tr> <th>体重</th> ';
  1710. $each(petTypes,function(petType,$index){
  1711. $out+=' <td>';
  1712. $out+=$escape(petType['min_weight']);
  1713. $out+=' ~ ';
  1714. $out+=$escape(petType['max_weight']);
  1715. $out+='kg</td> ';
  1716. });
  1717. $out+=' </tr> <tr> <th>价格</th> ';
  1718. $each(petTypes,function(petType,$index){
  1719. $out+=' <td>';
  1720. $out+=$escape(petType['price']);
  1721. $out+='元</td> ';
  1722. });
  1723. $out+=' </tr>';
  1724. return new String($out);
  1725. });/*v:1*/
  1726. template('product/reviewList',function($data,$filename
  1727. /**/) {
  1728. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,reviews=$data.reviews,review=$data.review,i=$data.i,$escape=$utils.$escape,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},imgW=$data.imgW,pic=$data.pic,$out='';$each(reviews,function(review,i){
  1729. $out+=' <li class="table-view-cell"> <div> <div class="user-info-container"> <div class="user-info-btn" data-id="';
  1730. $out+=$escape(review.user.id);
  1731. $out+='"> <img class="user-avatar" src="';
  1732. $out+=$escape(review.user.avatar);
  1733. $out+='?imageView2/2/w/60/h/60"/> <span class="user-name">';
  1734. $out+=$escape(review.user.user_name);
  1735. $out+='</span> </div> </div> <div class="box"> <div class="box-flex-1"> <span class="star-label">评分:</span> ';
  1736. include('../common/star',review);
  1737. $out+=' </div> <div class="box-flex-1 review-time"> ';
  1738. $out+=$escape(review.time_str);
  1739. $out+=' </div> </div> <div class="review-content"> ';
  1740. $out+=$escape(review.content);
  1741. $out+=' </div> <div class="img-preview-list" ';
  1742. if(review.pics.length > 0){
  1743. $out+='style="height:';
  1744. $out+=$escape(imgW);
  1745. $out+='px"';
  1746. }
  1747. $out+='> ';
  1748. if(review.pics.length > 0){
  1749. $out+=' ';
  1750. $each(review.pics,function(pic,i){
  1751. $out+=' ';
  1752. if(i < 3){
  1753. $out+=' <div class="width-percent-33"> <div class="img-preview" data-src="';
  1754. $out+=$escape(pic.url);
  1755. $out+='" style="width: ';
  1756. $out+=$escape(imgW);
  1757. $out+='px"> <img src="';
  1758. $out+=$escape(pic.url);
  1759. $out+='?imageView2/5/w/';
  1760. $out+=$escape(imgW * 2);
  1761. $out+='/h/';
  1762. $out+=$escape(imgW * 2);
  1763. $out+='" alt="" class="img-preview-item"> ';
  1764. if(review.pics.length > 3 && i == 2){
  1765. $out+=' <span class="img-count">';
  1766. $out+=$escape(review.pics.length);
  1767. $out+='</span> ';
  1768. }
  1769. $out+=' </div> </div> ';
  1770. }
  1771. $out+=' ';
  1772. });
  1773. $out+=' ';
  1774. }
  1775. $out+=' </div> ';
  1776. if(review.reply !== ''){
  1777. $out+=' <div class="reply-content"> 壹管家回复:';
  1778. $out+=$escape(review.reply);
  1779. $out+=' </div> ';
  1780. }
  1781. $out+=' </div> </li> ';
  1782. });
  1783. $out+=' ';
  1784. return new String($out);
  1785. });/*v:11*/
  1786. template('recharge/cell',function($data,$filename
  1787. /**/) {
  1788. 'use strict';var $utils=this,$helpers=$utils.$helpers,$each=$utils.$each,recharges=$data.recharges,recharge=$data.recharge,i=$data.i,$escape=$utils.$escape,$out='';$each(recharges,function(recharge,i){
  1789. $out+=' <li class="table-view-cell media"> <a class="address-item"> <div class="media-body"> <span class="denomination" style="font-size: 18px; color: #59616c">充值';
  1790. $out+=$escape(recharge.denomination);
  1791. $out+='元</span> <p class="detail"> ';
  1792. if(recharge.cash_back ){
  1793. $out+=' 返还';
  1794. $out+=$escape(recharge.cash_back);
  1795. $out+='现金 ';
  1796. }else if(recharge.coupons ){
  1797. $out+=' 赠送价值';
  1798. $out+=$escape(recharge.coupons);
  1799. $out+='元的优惠券 ';
  1800. }
  1801. $out+=' </p> </div> </a> <button class="btn btn-add-recharge" data-id="';
  1802. $out+=$escape(recharge.id);
  1803. $out+='" data-index="';
  1804. $out+=$escape(i);
  1805. $out+='">立即充值</button> </li> ';
  1806. });
  1807. return new String($out);
  1808. });/*v:7*/
  1809. template('recharge/index',function($data,$filename
  1810. /**/) {
  1811. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$escape=$utils.$escape,title=$data.title,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},$out='';if(showNavBar ){
  1812. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">';
  1813. $out+=$escape(title);
  1814. $out+='</h1> </header> ';
  1815. }
  1816. $out+=' <div class="content"> <div class="box-container box box-vertical"> <div id="rechargeScroll" class="scroll-container box-flex-1"> <ul class="table-view list-content"> ';
  1817. include('./cell');
  1818. $out+=' </ul> </div> </div> </div>';
  1819. return new String($out);
  1820. });/*v:1*/
  1821. template('review/post',function($data,$filename
  1822. /**/) {
  1823. 'use strict';var $utils=this,$helpers=$utils.$helpers,include=function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);$out+=text;return $out;},showUpload=$data.showUpload,showInput=$data.showInput,$escape=$utils.$escape,cacheReview=$data.cacheReview,$out='';$out+='<div class="box box-container box-align-end"> <div class="review-container"> <div class="review-star-container"> <span>满意度评分:</span> ';
  1824. include('../common/star');
  1825. $out+=' </div> ';
  1826. if(showUpload){
  1827. $out+=' <div class="review-star-container review-img-content"> <div class="width-percent-25 img-upload"> <div class="img-upload-btn"> ';
  1828. if(showInput){
  1829. $out+=' <input type="file" name="" id="wx-upload" multiple="multiple" accept="image/gif, image/png, image/jpeg, image/x-png, image.jpg"> ';
  1830. }
  1831. $out+=' </div> </div> </div> ';
  1832. }
  1833. $out+=' <div class="review-content-container"> <textarea class="review-content enable-scroll" placeholder="亲,五星好评,立返3~10元随机代金券哦!">';
  1834. $out+=$escape(cacheReview);
  1835. $out+='</textarea> <p>评论内容至少10个字~</p> </div> <a class="btn btn-main btn-block btn-main btn-post disable">发表评价</a> </div> </div> ';
  1836. return new String($out);
  1837. });/*v:16*/
  1838. template('success/index',function($data,$filename
  1839. /**/) {
  1840. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,WX=$data.WX,$out='';if(showNavBar ){
  1841. $out+=' <header class="bar bar-nav"> <h1 class="title">支付成功</h1> </header> ';
  1842. }
  1843. $out+=' ';
  1844. if(!WX){
  1845. $out+=' <div class="content content-padding"> <div class="box-center"> <p>订单支付成功,稍后会有壹管家工作人员联系你~</p> </div> <a class="btn btn-positive btn-block my-order">查看我的预约</a> </div> ';
  1846. }else{
  1847. $out+=' <div class="content content-padded"> <div class="padding-top-bottom"> <p> <svg version="1.1" id="icon-success" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="30px" height="30px" viewBox="0 0 30 30" enable-background="new 0 0 30 30" xml:space="preserve"> <circle fill="#87C34B" cx="15" cy="15" r="15"/> <polygon fill-rule="evenodd" clip-rule="evenodd" fill="#FFFFFF" points="12.791,18.624 6.604,12.437 4.571,14.469 10.758,20.656 12.791,22.689 14.824,20.656 25.828,9.652 23.795,7.619 "/> </svg> 支付完成,等待保洁师上门为您服务吧! </p> </div> <div class="border-top"> <p>服务:<span class="order-name">宠物洗澡(猫)</span></p> <p>时间:<span class="order-time">2015年7月10日 10:00</span></p> </div> <div class="border-top"> <p>实付: <span class="order-result">58元</span></p> </div> <div class="box-center btn-group"> <a class="btn btn-positive my-order">我的预约</a> <a class="btn btn-positive btn-home">继续购买</a> </div> </div> ';
  1848. }
  1849. return new String($out);
  1850. });/*v:1*/
  1851. template('success/refund',function($data,$filename
  1852. /**/) {
  1853. 'use strict';var $utils=this,$helpers=$utils.$helpers,showNavBar=$data.showNavBar,$out='';if(showNavBar ){
  1854. $out+=' <header class="bar bar-nav"> <a class="left-button back-button"> <div class="icon icon-left-nav"></div> </a> <h1 class="title">申请成功</h1> </header> ';
  1855. }
  1856. $out+=' <div class="content content-padding"> <div class="text-center"> <p class="title-msg text-danger">申请已提交成功</p> <p>预计在3-10工作日内到账</p> <p>如有疑问请拨打 ';
  1857. if(showNavBar ){
  1858. $out+=' <span class="service-telephone text-danger">400-032-8170</span> ';
  1859. }else{
  1860. $out+=' <a href="tel:400-032-8170">400-032-8170</a> ';
  1861. }
  1862. $out+=' </p> </div> <div class="btn-box"> <div class="btn btn-block back-button">返回首页</div> </div> </div> ';
  1863. return new String($out);
  1864. });
  1865. }()