logs.wxml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. <loadToast id='loadToast' />
  2. <map id="map" longitude='{{longitude}}' latitude='{{latitude}}' scale='{{scale}}' markers="{{markers}}" bindmarkertap="marker" bindregionchange="regionchange"
  3. show-location="true" data-markers="{{markers}}" controls="{{controls}}" polygons="{{polygons}}" bindtap='controltap' bindlabeltap='marker' bindcallouttap='marker'></map>
  4. <view class="top">
  5. <van-dropdown-menu class="{{screenHeight=='xSeries' ? 'top2' : 'top1'}}">
  6. <van-dropdown-item id="menu" value="{{ area }}" options="{{ allArea }}" bind:change="change" />
  7. </van-dropdown-menu>
  8. <view class="flex">
  9. <van-dropdown-menu>
  10. <van-dropdown-item value="{{ ele }}" options="{{ allEle }}" bind:change="change2" />
  11. </van-dropdown-menu>
  12. <van-dropdown-menu>
  13. <van-dropdown-item value="{{ status }}" options="{{ allStatus }}" bind:change="change3" />
  14. </van-dropdown-menu>
  15. <van-dropdown-menu>
  16. <van-dropdown-item value="{{ day }}" options="{{ allDay }}" bind:change="change4" />
  17. </van-dropdown-menu>
  18. </view>
  19. </view>
  20. <!-- 还车点和禁停区 -->
  21. <view class="area">
  22. <view bindtap="parkShow">
  23. <image src="http://resource.bike.hanyiyun.com/yunwei/parkShow.png" style="width:48rpx;height:56rpx;"></image>
  24. <text style="color:{{parkAreaShow==true?'red':'black'}};padding-left:10rpx;">还车点</text>
  25. </view>
  26. <view bindtap="forbidShow">
  27. <image src="http://resource.bike.hanyiyun.com/yunwei/forbid.png" style="width:48rpx;height:56rpx;"></image>
  28. <text style="color:{{noParkAreaShow==true?'red':'black'}};padding-left:10rpx;">禁停区</text>
  29. </view>
  30. </view>
  31. <!-- 定位及刷新 -->
  32. <view class="iconHint">
  33. <view class="operate" bindtap="operate">
  34. <view style="height:60rpx;width:60rpx;background:#fff;border-radius:50%;" class="flexC">
  35. <image src="http://resource.bike.hanyiyun.com/yunwei/operation.png" style="width:46rpx;height:46rpx;"></image>
  36. </view>
  37. </view>
  38. <view class="flexB">
  39. <image src="http://resource.bike.hanyiyun.com/bike_yunwei/location.png" bindtap="posi"></image>
  40. <view bindtap="hintIcon" class="how">如何识别地图上的图标</view>
  41. <image src="http://resource.bike.hanyiyun.com/bike_yunwei/ref.png" bindtap="load"></image>
  42. </view>
  43. </view>
  44. <!-- 提示弹窗 -->
  45. <view class="cover" wx:if="{{hintShow}}" capture-catch:touchmove="preventdefault"></view>
  46. <view class="hintPop" wx:if="{{hintShow}}">
  47. <view class="hintCon">
  48. <view class="intr">提示说明:</view>
  49. <view class="icon">
  50. <view wx:for="{{iconList1}}" wx:key="key">
  51. <image src="{{item.icon}}"></image>
  52. <text>{{item.con}}</text>
  53. </view>
  54. </view>
  55. <view class="close" bindtap="closeHint">
  56. <image src="http://resource.bike.hanyiyun.com/common/closePop.png"></image>
  57. </view>
  58. </view>
  59. </view>
  60. <!-- 侧边栏 -->
  61. <view class="cover" wx:if="{{sideShow}}" capture-catch:touchmove="preventdefault" bindtap="closeSide"></view>
  62. <view class="side" wx:if="{{sideShow}}">
  63. <view class="record flexA">
  64. <view bindtap="modify">
  65. <image src="http://resource.bike.hanyiyun.com/yunwei/amend.png" style="width:40rpx;height:40rpx;"></image>
  66. <text>修改</text>
  67. </view>
  68. <view bindtap="reqair">
  69. <image src="http://resource.bike.hanyiyun.com/yunwei/maintain.png"></image>
  70. <text>报修</text>
  71. </view>
  72. <view bindtap="bike_detail">
  73. <image src="http://resource.bike.hanyiyun.com/yunwei/bikeDe.png" style="width:45rpx;height:45rpx;"></image>
  74. <text>详情</text>
  75. </view>
  76. </view>
  77. <view class="bikeNo flexA">
  78. <input placeholder="请输入车牌号" value="{{bikeDetail.bike_info.bike_no}}" bindinput="bindKeyInput"
  79. bindblur="bindKeyInput" placeholder-class="place" type="number"></input>
  80. <text bindtap="getBike_info">查找</text>
  81. <text bindtap="scanCode">扫描</text>
  82. </view>
  83. <view class="info"
  84. style="background:url('http://resource.bike.hanyiyun.com/bike_yunwei/sideBg.png') no-repeat;background-size:100% 100%;">
  85. <view class="infoCon">
  86. <view class="infoLeft">
  87. <view style="font-size: 30rpx;font-weight:bold;padding:10rpx 0;">车辆检测信息</view>
  88. <view style="margin-bottom:{{screenHeight=='xSeries' ? '12rpx' : '7rpx'}}">车牌号:{{bikeDetail.bike_info.bike_no}}
  89. </view>
  90. <view style="margin-bottom:{{screenHeight=='xSeries' ? '12rpx' : '7rpx'}}">
  91. 当前电量:{{bikeDetail.bike_info.battery_power}}%</view>
  92. <view style="margin-bottom:{{screenHeight=='xSeries' ? '12rpx' : '7rpx'}}">
  93. 车辆状态:{{bikeDetail.bike_info.tab_name}}</view>
  94. </view>
  95. <view class="infoRight">
  96. <image src="http://resource.bike.hanyiyun.com/bike_yunwei/sideRef.png" bindtap="refresh_power"></image>
  97. </view>
  98. </view>
  99. <view style="margin-bottom:{{screenHeight=='xSeries' ? '12rpx' : '7rpx'}}" class="last">
  100. {{bikeDetail.bike_info.tab_name=="中控离线"?'离线时间':'最后定位'}}:{{bikeDetail.bike_info.last_time}}</view>
  101. </view>
  102. <view class="position flexB" bindtap="bikePosition">
  103. <text>车辆位置</text>
  104. <van-icon name="arrow" color="#8A8A8A" />
  105. </view>
  106. <view class="order " bindtap="recentOrder">
  107. <view class="flexB recent">
  108. <text>最近订单</text>
  109. <van-icon name="arrow" color="#8A8A8A" size="16px" />
  110. </view>
  111. <view class="flex" style="color:#28282877;">
  112. <view wx:if="{{bikeDetail.bike_order[0].mobile}}">{{bikeDetail.bike_order[0].mobile}} </view>
  113. <view wx:if="{{bikeDetail.bike_order[0].mobile}}"
  114. style="width:287rpx;overflow: hidden;text-overflow:ellipsis;white-space: nowrap;margin-left:15rpx;">
  115. {{bikeDetail.bike_order[0].username}}</view>
  116. </view>
  117. <view wx:if="{{!bikeDetail.bike_order[0].mobile}}" style="color:#28282877;">暂无订单信息</view>
  118. <view>
  119. <text style="color:#28282877;margin-right:10rpx;">{{bikeDetail.bike_order[0].order_status}}</text>
  120. <text wx:if="{{bikeDetail.bike_order[0].mobile}}"
  121. style="color:#28282877;">{{bikeDetail.bike_order[0].start_use_bike_time_app}}-{{bikeDetail.bike_order[0].end_use_bike_time_app}}</text>
  122. </view>
  123. </view>
  124. <view class="directive">
  125. <view class="dire">
  126. <text style="font-size:32rpx;">车辆检测指令</text>
  127. 只开启蓝牙操控
  128. <switch checked="{{switch1Checked}}" bindchange="switch1Change" />
  129. </view>
  130. <view>
  131. <view class="flexA list" style="height:100%;">
  132. <view style="text-align:center;margin-top:10rpx;" bindtap="whistle">
  133. <image src="/img/whistle.png" style="width:58rpx;height:58rpx;"></image>
  134. <text style="margin:15rpx 0;">鸣笛</text>
  135. </view>
  136. <view style="text-align:center;margin-top:10rpx;" bindtap="unlock">
  137. <image src="/img/open-lock.png" style="width:58rpx;height:58rpx;"></image>
  138. <text style="margin:15rpx 0;">开电车锁</text>
  139. </view>
  140. <view style="text-align:center;margin-top:10rpx;" bindtap="close_lock">
  141. <image src="/img/close-lock.png" style="width:58rpx;height:58rpx;"></image>
  142. <text style="margin:15rpx 0;">关电车锁</text>
  143. </view>
  144. <view style="text-align:center;" bindtap="battery_load">
  145. <image src="/img/battery-load.png" style="width:58rpx;height:58rpx;"></image>
  146. <text style="margin:15rpx 0;">开电池锁</text>
  147. </view>
  148. <view bindtap="renewalPower">
  149. <image src="/img/renewalPower.png" style="width:62rpx;height:60rpx;"></image>
  150. <text style="margin:15rpx 0;">更新电量</text>
  151. </view>
  152. <!-- <view style="text-align:center;" bindtap="online">
  153. <image src="/img/online.png" style="width:62rpx;height:60rpx;"></image>
  154. <text style="margin:15rpx 0;">上线</text>
  155. </view> -->
  156. <view style="text-align:center;" bindtap="more">
  157. <image src="/img/more.png" style="width:62rpx;height:60rpx;"></image>
  158. <text style="margin:15rpx 0;">更多</text>
  159. </view>
  160. </view>
  161. </view>
  162. </view>
  163. <view class="workBtn">
  164. <view bindtap="showPop" data-idx="1" class="shelters {{typeName==1?'changeWork':''}}">
  165. <text>工单记录</text>
  166. <text class="count flexC" wx:if="{{workCount}}">{{workCount}}</text>
  167. </view>
  168. <view bindtap="showPop" data-idx="2" class="has {{typeName==2?'changeWork':''}}">
  169. <text>报修记录</text>
  170. <text class="count flexC" wx:if="{{repairsCount}}">{{repairsCount}}</text>
  171. </view>
  172. </view>
  173. <!-- <view class="amend flexC" bindtap="lookWork">查看工单</view> -->
  174. </view>
  175. <view class="background" wx:if="{{moreShow}}" bindtap="coverHidn" data-show="1" catchtouchmove="true"></view>
  176. <view class="more" wx:if="{{moreShow}}">
  177. <view bindtap="Offline">
  178. <image src="/img/offline.png" style="width:62rpx;height:60rpx;"></image>
  179. <text>下线</text>
  180. </view>
  181. <view style="text-align:center;" bindtap="online">
  182. <image src="/img/online.png" style="width:62rpx;height:60rpx;"></image>
  183. <text >上线</text>
  184. </view>
  185. <!-- <view bindtap="renewalPower">
  186. <image src="/img/renewalPower.png" style="width:62rpx;height:60rpx;"></image>
  187. <text>更新电量</text>
  188. </view> -->
  189. <view bindtap="renewalLocation">
  190. <image src="/img/renewalLocation.png" style="width:62rpx;height:60rpx;"></image>
  191. <text>更新位置</text>
  192. </view>
  193. <view bindtap="renewal">
  194. <image src="/img/renewal.png" style="width:62rpx;height:60rpx;"></image>
  195. <text>重启中控</text>
  196. </view>
  197. <view bindtap="recover">
  198. <image src="http://resource.bike.hanyiyun.com/bike_yunwei/park.png" style="width:50rpx;height:50rpx;"></image>
  199. <text>设为停车区</text>
  200. </view>
  201. </view>
  202. <!-- 工单记录 -->
  203. <view class="background" wx:if="{{workShow}}" bindtap="coverHidn" data-show="2" catchtouchmove="true"></view>
  204. <view class="work" wx:if="{{workShow}}">
  205. <view class="workTitle flexC">
  206. <text>{{bikeId}}</text>
  207. <text style="margin-left:15rpx;">工单记录</text>
  208. </view>
  209. <view class="workTab flexC">
  210. <view bindtap="workChoose" data-state="1" class="{{workState==1?'cur':''}}">待领工单</view>
  211. <view bindtap="workChoose" data-state="2" class="{{workState==2?'cur':''}}">已领工单</view>
  212. </view>
  213. <scroll-view class="wait" scroll-top='{{topNum}}' scroll-y="true" bindscrolltolower="moreWork"
  214. style="{{list.length>=2 ? 'background:#efefef':'background:#fff'}}">
  215. <view wx:for="{{list}}" wx:key="key" class="waitCon mead">
  216. <view bindtouchstart="touchS" bindtouchmove="touchM" bindtouchend="touchE" data-idx="{{index}}"
  217. style="{{item.txtStyle}}" class="content">
  218. <view style="font-size:28rpx;" class="title">
  219. <view class="left">{{item.type_name}}</view>
  220. <view class="right">{{item.planned}}</view>
  221. </view>
  222. <view class="body">
  223. <view class="left">
  224. <image style="width:90rpx;height:90rpx;" src="http://resource.bike.hanyiyun.com/yunwei/rescue.png"
  225. wx:if="{{item.type_name=='道路救援工单'}}"></image>
  226. <image style="width:80rpx;height:80rpx;" src="http://resource.bike.hanyiyun.com/yunwei/posi.png"
  227. wx:if="{{item.type_name=='车辆定位出现问题'}}"></image>
  228. <image style="width:100rpx;height:100rpx;" src="http://resource.bike.hanyiyun.com/bike_yunwei/outLi.png"
  229. wx:if="{{item.type_name=='离线工单'}}"></image>
  230. <image style="width:100rpx;height:100rpx;" src="http://resource.bike.hanyiyun.com/yunwei/fault.png"
  231. wx:if="{{item.type_name=='故障工单'}}"></image>
  232. <image style="width:90rpx;height:90rpx;" src="http://resource.bike.hanyiyun.com/yunwei/charge.png"
  233. wx:if="{{item.type_name=='充电工单'}}"></image>
  234. <image style="width:100rpx;height:100rpx;" src="http://resource.bike.hanyiyun.com/yunwei/steal.png"
  235. wx:if="{{item.type_name=='偷盗工单'}}"></image>
  236. <image style="width:90rpx;height:90rpx;" src="http://resource.bike.hanyiyun.com/yunwei/look1.png"
  237. wx:if="{{item.type_name=='查看工单'}}"></image>
  238. <image style="width:90rpx;height:90rpx;" src="http://resource.bike.hanyiyun.com/yunwei/otherWork.png"
  239. wx:if="{{item.type_name=='其他工单'}}"></image>
  240. <image style="width:100rpx;height:100rpx;" src="http://resource.bike.hanyiyun.com/yunwei/alarm1.png"
  241. wx:if="{{item.type_name=='警报工单'}}"></image>
  242. <image style="width:80rpx;height:80rpx;" src="http://resource.bike.hanyiyun.com/yunwei/leader.png"
  243. wx:if="{{item.type_name=='组长工单'}}"></image>
  244. <image style="width:100rpx;height:100rpx;" src="http://resource.bike.hanyiyun.com/yunwei/prepare.png"
  245. wx:if="{{item.type_name=='备用电池电量低报警'}}"></image>
  246. <image style="width:90rpx;height:90rpx;"
  247. src="http://resource.bike.hanyiyun.com/xiaobanma_yunwei/lowPower_xbm.png"
  248. wx:if="{{item.type_name=='断电工单'}}"></image>
  249. </view>
  250. <view class="right">
  251. <view class="reason"
  252. style="width:100%;color:#555;font-size:28rpx; white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
  253. 原因:{{item.reason?item.reason:item.type_name}}</view>
  254. <view class="reason" style="color:#999999;flex-grow:1;">来源:{{item.source}}</view>
  255. </view>
  256. </view>
  257. <view class="time">更新时间:{{item.updated_at}}</view>
  258. </view>
  259. <view class="del {{workState==1?'get':'finish'}}" data-id="{{item.id}}"
  260. bindtap="{{workState==1?'getWork':'finishWork'}}">{{workState == 1 ? '领取':'完成'}}
  261. </view>
  262. </view>
  263. <view class="no" wx:if="{{list.length == 0}}">
  264. <image src="http://resource.bike.hanyiyun.com/none.png"></image>
  265. <view>暂无相关数据~</view>
  266. </view>
  267. </scroll-view>
  268. </view>
  269. <!-- 报修记录 -->
  270. <view class="background" wx:if="{{repairsShow}}" bindtap="coverHidn" data-show="3" catchtouchmove="true"></view>
  271. <view class="work" wx:if="{{repairsShow}}">
  272. <view class="workTitle flexC">
  273. <text>{{bikeId}}</text>
  274. <text style="margin-left:15rpx;">报修记录</text>
  275. </view>
  276. <view class="workTab flexC">
  277. <view bindtap="repairsChoose" data-state="1" class="{{repairsState==1?'cur':''}}">未读</view>
  278. <view bindtap="repairsChoose" data-state="2" class="{{repairsState==2?'cur':''}}">已读</view>
  279. </view>
  280. <scroll-view class="wait" scroll-y="true" bindscrolltolower="morkRepairs"
  281. style="{{repairsList.length>=2 ? 'background:#efefef':'background:#fff'}}" scroll-top='{{topNum}}'>
  282. <view wx:for="{{repairsList}}" wx:key="key" class="waitCon mead">
  283. <view data-idx="{{index}}" style="{{item.txtStyle}}" class="content">
  284. <view style="font-size:28rpx;" class="title">
  285. <view class="left">{{item.trouble_part}}</view>
  286. <view class="right" wx:if="{{repairsState==1}}" bindtap="markRead" data-id="{{item.id}}">标为已读</view>
  287. </view>
  288. <view class="body">
  289. <view class="left">
  290. <image style="height:50rpx;width:112rpx" src="http://resource.bike.hanyiyun.com/yunwei/rep4.png"
  291. wx:if="{{item.trouble_part=='刹车'}}"></image>
  292. <image style="height:96rpx;width:96rpx" src="http://resource.bike.hanyiyun.com/yunwei/rep6.png"
  293. wx:if="{{item.trouble_part=='车胎'}}"></image>
  294. <image style="height:58rpx;width:116rpx" src="http://resource.bike.hanyiyun.com/yunwei/rep5.png"
  295. wx:if="{{item.trouble_part=='链条'}}"></image>
  296. <image style="height:66rpx;width:116rpx" src="http://resource.bike.hanyiyun.com/yunwei/rep1.png"
  297. wx:if="{{item.trouble_part=='车座'}}"></image>
  298. <image style="height:80rpx;width:60rpx" src="http://resource.bike.hanyiyun.com/yunwei/rep2.png"
  299. wx:if="{{item.trouble_part=='二维码'}}"></image>
  300. <image style="height:72rpx;width:64rpx" src="http://resource.bike.hanyiyun.com/yunwei/rep3.png"
  301. wx:if="{{item.trouble_part=='其他'}}"></image>
  302. </view>
  303. <view class="right">
  304. <view class="describe">问题描述:{{item.trouble_description}}</view>
  305. </view>
  306. </view>
  307. <view class="time">
  308. <text>创建时间:{{item.created_at}}</text>
  309. <text bindtap="phone" data-phone="{{item.users.mobile}}" hover-stop-propagation
  310. style="margin-left:40rpx;">手机号:{{item.users.mobile}}</text>
  311. </view>
  312. <!-- <view class="block"></view> -->
  313. </view>
  314. </view>
  315. <view class="no" wx:if="{{repairsList.length == 0}}">
  316. <image src="http://resource.bike.hanyiyun.com/none.png"></image>
  317. <view>暂无相关数据~</view>
  318. </view>
  319. </scroll-view>
  320. </view>
  321. <footer params="{{current}}" wx:if="{{footerShow}}" bind:scanCode="scanCode"></footer>