You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

service.vue 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394
  1. <template>
  2. <view class="wrapper">
  3. <navBar title="九州ETC"></navBar>
  4. <view class="search-box">
  5. <image :src="`${$imgUrl}service/icon-search.png`" class="icon"></image>
  6. <input class="search" placeholder="请输入业务名称" />
  7. </view>
  8. <view class="content">
  9. <view class="left">
  10. <view :class="activeTab === '业务服务' ? 'menu active' : 'menu'" @click="tabHandle('业务服务')">
  11. <view :class="activeTab === '业务服务' ?'border on':'border'"></view>
  12. <view class="menu-text">业务服务</view>
  13. </view>
  14. <view :class="activeTab === '资金服务' ? 'menu active' : 'menu'" @click="tabHandle('资金服务')">
  15. <view :class="activeTab === '资金服务' ?'border on':'border'"></view>
  16. <view class="menu-text">资金服务</view>
  17. </view>
  18. <view :class="activeTab === '查询服务' ? 'menu active' : 'menu'" @click="tabHandle('查询服务')">
  19. <view :class="activeTab === '查询服务' ?'border on':'border'"></view>
  20. <view class="menu-text">查询服务</view>
  21. </view>
  22. <view :class="activeTab === '信息管理' ? 'menu active' : 'menu'" @click="tabHandle('信息管理')">
  23. <view :class="activeTab === '信息管理' ?'border on':'border'"></view>
  24. <view class="menu-text">信息管理</view>
  25. </view>
  26. <view :class="activeTab === '其他服务' ? 'menu active' : 'menu'" @click="tabHandle('其他服务')">
  27. <view :class="activeTab === '其他服务' ?'border on':'border'"></view>
  28. <view class="menu-text">其他服务</view>
  29. </view>
  30. </view>
  31. <view class="right">
  32. <view class="right-content" v-if="activeTab === '业务服务'">
  33. <view class="item-box" @click="toNext('/after-sale/card-deactivation-activation/select-car')">
  34. <view class="item bg-blue" :style="{'--background':bgBlue}">
  35. <image :src="`${$imgUrl}service/imgs/kqty.png`" />
  36. </view>
  37. <view class="text">卡签停用</view>
  38. </view>
  39. <view class="item-box" @click="toNext('/after-sale/card-loss-reporting/select-car')">
  40. <view class="item bg-orange" :style="{'--background':bgOrange}">
  41. <image :src="`${$imgUrl}service/imgs/gs.png`" />
  42. </view>
  43. <view class="text text-orange">卡签挂失解除挂失</view>
  44. </view>
  45. <view class="item-box" @click="toNext('/after-sale/ETC-log-off/select-car')">
  46. <view class="item bg-blue" :style="{'--background':bgBlue}">
  47. <image :src="`${$imgUrl}service/imgs/zx.png`" />
  48. </view>
  49. <view class="text">卡签注销</view>
  50. </view>
  51. <view class="item-box">
  52. <view class="item bg-blue" :style="{'--background':bgBlue}">
  53. <image :src="`${$imgUrl}service/imgs/xxcx.png`" />
  54. </view>
  55. <view class="text">卡签信息重写</view>
  56. </view>
  57. <view class="item-box" @click="toNext('/after-sale/card-supplement/reissueForm')">
  58. <view class="item bg-blue" :style="{'--background':bgBlue}">
  59. <image :src="`${$imgUrl}service/imgs/hkhq.png`" />
  60. </view>
  61. <view class="text">补卡换卡补签换签</view>
  62. </view>
  63. <view class="item-box"
  64. @click="toNext('/after-sale/additional-equipment/additional-equipment-confirm')">
  65. <view class="item bg-blue" :style="{'--background':bgBlue}">
  66. <image :src="`${$imgUrl}service/imgs/zbOBUsb.png`" />
  67. </view>
  68. <view class="text">增补OBU设备</view>
  69. </view>
  70. <view class="item-box" @click="toNext('/after-sale/transfer-ownership/select-car-transfer')">
  71. <view class="item bg-blue" :style="{'--background':bgBlue}">
  72. <image :src="`${$imgUrl}service/imgs/etcgh.png`" />
  73. </view>
  74. <view class="text">ETC过户</view>
  75. </view>
  76. <view class="item-box" @click="toNext('/after-sale/pin-code-deblocking/select-car')">
  77. <view class="item bg-blue" :style="{'--background':bgBlue}">
  78. <image :src="`${$imgUrl}service/imgs/kpinjs.png`" />
  79. </view>
  80. <view class="text">卡Pin码解锁</view>
  81. </view>
  82. <view class="item-box" @click="toNext('/after-sale/equipment-upgrade/select-car')">
  83. <view class="item bg-blue" :style="{'--background':bgBlue}">
  84. <image :src="`${$imgUrl}service/imgs/kpinjs.png`" />
  85. </view>
  86. <view class="text">设备升级</view>
  87. </view>
  88. <view class="item-box" @click="toNext('/after-sale/card-Renewal/select-car')">
  89. <view class="item bg-blue" :style="{'--background':bgBlue}">
  90. <image :src="`${$imgUrl}service/imgs/kxq.png`" />
  91. </view>
  92. <view class="text">卡签续期</view>
  93. </view>
  94. <view class="item-box" @click="toNext('/after-sale/replace-equipment/select-car')">
  95. <view class="item bg-blue" :style="{'--background':bgBlue}">
  96. <image :src="`${$imgUrl}huan-icon.png`" />
  97. </view>
  98. <view class="text">更换设备</view>
  99. </view>
  100. <view class="item-box" @click="toNext('/after-sale/account-change/select-car')">
  101. <view class="item bg-blue" :style="{'--background':bgBlue}">
  102. <image :src='`${$imgUrl}huan-icon.png`' />
  103. </view>
  104. <view class="text">扣款账户变更</view>
  105. </view>
  106. <view class="item-box" @click="$util.navTo('/invoice/Invoice-mannager',true)">
  107. <view class="item bg-blue" :style="{'--background':bgBlue}">
  108. <image :src='`${$imgUrl}fa-icon.png`' />
  109. </view>
  110. <view class="text">发票管理</view>
  111. </view>
  112. <view class="item-box" @click="toNext('/after-sale/rescind-carId/rescind-carId-select')">
  113. <view class="item bg-blue" :style="{'--background':bgBlue}">
  114. <image :src="`${$imgUrl}service/imgs/jcclzy.png`" />
  115. </view>
  116. <view class="text">解除车牌占用</view>
  117. </view>
  118. <view class="item-box" @click="toNext('/after-sale/card-release-pending/select-car')">
  119. <view class="item bg-blue" :style="{'--background':bgBlue}">
  120. <image :src="`${$imgUrl}service/imgs/jcgq.png`" />
  121. </view>
  122. <view class="text">卡签解除挂起</view>
  123. </view>
  124. <view class="item-box" @click="toNext('/after-sale/activation-once-again/select-car')">
  125. <view class="item bg-blue" :style="{'--background':bgBlue}">
  126. <image :src="`${$imgUrl}service/imgs/obucxjh.png`" />
  127. </view>
  128. <view class="text">OBU重新激活</view>
  129. </view>
  130. <view class="item-box" @click="$util.navTo('/issueActivation/install-activation-order',true)">
  131. <view class="item bg-blue" :style="{'--background':bgBlue}">
  132. <image :src="`${$imgUrl}service/imgs/sbjh.png`" />
  133. </view>
  134. <view class="text">设备激活</view>
  135. </view>
  136. <view class="item-box" @click="$util.navTo('/issueActivation/old-user',true)">
  137. <view class="item bg-blue" :style="{'--background':bgBlue}">
  138. <image :src="`${$imgUrl}service/imgs/gwcfx.png`" />
  139. </view>
  140. <view class="text">公务车发行</view>
  141. </view>
  142. <view class="item-box" @click="$util.navTo('/after-sale/to-bookkeeping-card/select-car')">
  143. <view class="item bg-blue" :style="{'--background':bgBlue}">
  144. <image :src="`${$imgUrl}service/imgs/czkzjzk.png`" />
  145. </view>
  146. <view class="text">储值卡转记账卡</view>
  147. </view>
  148. </view>
  149. <view class="right-content" v-if="activeTab === '资金服务'">
  150. <view class="item-box">
  151. <view class="item bg-blue" :style="{'--background':bgBlue}">
  152. <image :src="`${$imgUrl}service/imgs/ktf.png`" />
  153. </view>
  154. <view class="text">卡退费</view>
  155. </view>
  156. <view class="item-box">
  157. <view class="item bg-blue" :style="{'--background':bgBlue}">
  158. <image :src="`${$imgUrl}service/imgs/qctf.png`" />
  159. </view>
  160. <view class="text">圈存退费</view>
  161. </view>
  162. <view class="item-box" @click="$util.navTo(`/pages/recharge/recharge`)">
  163. <view class="item bg-blue" :style="{'--background':bgBlue}">
  164. <image :src="`${$imgUrl}service/imgs/czkqc.png`" />
  165. </view>
  166. <view class="text">储值卡圈存</view>
  167. </view>
  168. <view class="item-box" @click="$util.navTo('/after-sale/arrears/arrears')">
  169. <view class="item bg-blue" :style="{'--background':bgBlue}">
  170. <image :src="`${$imgUrl}service/imgs/qfbj.png`" />
  171. </view>
  172. <view class="text">欠费补缴</view>
  173. </view>
  174. <view class="item-box" @click="$util.navTo('/after-sale/refund-order-balance/select-car')">
  175. <view class="item bg-blue" :style="{'--background':bgBlue}">
  176. <image :src="`${$imgUrl}service/imgs/yebl.png`" />
  177. </view>
  178. <view class="text">余额补领</view>
  179. </view>
  180. <view class="item-box" @click="toNext('/orders/flowingWater')">
  181. <view class="item bg-blue" :style="{'--background':bgBlue}">
  182. <image :src="`${$imgUrl}service/imgs/bukae.png`" />
  183. </view>
  184. <view class="text">补卡额</view>
  185. </view>
  186. </view>
  187. <view class="right-content" v-if="activeTab === '查询服务'">
  188. <view class="item-box" @click="toNext('/service/search/etcFlowingWater')">
  189. <view class="item bg-blue" :style="{'--background':bgBlue}">
  190. <image :src="`${$imgUrl}service/imgs/etctxls.png`" />
  191. </view>
  192. <view class="text">ETC通行流水记录</view>
  193. </view>
  194. </view>
  195. <view class="right-content" v-if="activeTab === '信息管理'">
  196. <view class="item-box" @click="$util.navTo('/pages/bluetooth/bluetooth?routeType=4',true)">
  197. <view class="item bg-blue" :style="{'--background':bgBlue}">
  198. <image :src="`${$imgUrl}service/imgs/pj.png`" />
  199. </view>
  200. <view class="text">卡签信息</view>
  201. </view>
  202. </view>
  203. <view class="right-content" v-if="activeTab === '其他服务'">
  204. <view class="item-box" @click="$util.navTo('/service/remind/satisfaction-evaluate',true)">
  205. <view class="item bg-blue" :style="{'--background':bgBlue}">
  206. <image :src="`${$imgUrl}service/imgs/pj.png`" />
  207. </view>
  208. <view class="text">满意度评价</view>
  209. </view>
  210. <view class="item-box" @click="$util.navTo('/invoice/Invoice-mannager')">
  211. <view class="item bg-blue" :style="{'--background':bgBlue}">
  212. <image :src="`${$imgUrl}service/imgs/etctxls.png`" />
  213. </view>
  214. <view class="text">发票服务</view>
  215. </view>
  216. </view>
  217. </view>
  218. </view>
  219. </view>
  220. </template>
  221. <script lang="ts" setup>
  222. import navBar from "@/components/nav-bar/nav-bar.vue";
  223. import {
  224. ref
  225. } from "vue"
  226. import {
  227. onLoad
  228. } from "@dcloudio/uni-app";
  229. import {
  230. fileURL
  231. } from "@/datas/fileURL.js";
  232. import {
  233. msg,
  234. } from "@/utils/utils";
  235. const bgOrange = `url(${fileURL}image/service/bg-orange.png) center center no-repeat`;
  236. const bgBlue = `url(${fileURL}image/service/bg-blue.png) center center no-repeat`;
  237. const activeTab = ref("业务服务");
  238. // 切换
  239. function tabHandle(val) {
  240. activeTab.value = val;
  241. }
  242. function toNext(url) {
  243. uni.navigateTo({
  244. url: url
  245. });
  246. // msg("该功能正在开发中,敬请期待!")
  247. }
  248. </script>
  249. <style>
  250. page {
  251. height: 100%;
  252. }
  253. .wrapper {
  254. display: flex;
  255. background: linear-gradient(to left, #43A1E0 0%, #13E7C1 100%);
  256. flex-direction: column;
  257. height: 100%;
  258. }
  259. .search-box {
  260. margin: 50rpx 40rpx;
  261. height: 72rpx;
  262. border-radius: 36rpx;
  263. background: #F7F7F7;
  264. display: flex;
  265. justify-content: center;
  266. align-items: center;
  267. }
  268. .search-box .icon {
  269. width: 48rpx;
  270. height: 48rpx;
  271. margin: 0 20rpx;
  272. }
  273. .search-box .search {
  274. flex: 1;
  275. margin-right: 20rpx;
  276. height: 100%;
  277. padding: 0 10rpx;
  278. font-size: 28rpx;
  279. color: #00B38B;
  280. }
  281. .content {
  282. display: flex;
  283. flex: 1;
  284. flex-grow: 1;
  285. background: #fff;
  286. border-radius: 30rpx 30rpx 0 0;
  287. padding-top: 40rpx;
  288. }
  289. .left {
  290. width: 180rpx;
  291. border-right: 1px solid #DCDCDC;
  292. margin-right: 29rpx;
  293. }
  294. .left .menu-text {
  295. font-size: 26rpx;
  296. color: #666666;
  297. width: 120rpx;
  298. }
  299. .left .menu {
  300. padding-left: 15rpx;
  301. display: flex;
  302. align-items: center;
  303. margin: 20rpx 0 60rpx 0;
  304. }
  305. .left .active .menu-text {
  306. font-weight: bold;
  307. color: #00B38B;
  308. font-size: 28rpx;
  309. line-height: 32rpx;
  310. }
  311. .left .border {
  312. width: 9rpx;
  313. height: 26rpx;
  314. border-radius: 4rpx;
  315. margin-right: 20rpx;
  316. }
  317. .left .on {
  318. background: linear-gradient(0deg, #43A1E0 0%, #13E7C1 100%);
  319. font-size: 28rpx;
  320. }
  321. .right {
  322. flex: 1;
  323. }
  324. .right-content {
  325. display: flex;
  326. flex-wrap: wrap;
  327. }
  328. .right .item-box {
  329. display: flex;
  330. flex-direction: column;
  331. justify-content: center;
  332. align-items: center;
  333. margin-right: 30rpx;
  334. margin-bottom: 39rpx;
  335. }
  336. .item {
  337. width: 105rpx;
  338. height: 105rpx;
  339. display: flex;
  340. justify-content: center;
  341. align-items: center;
  342. border-radius: 20rpx;
  343. }
  344. .item image {
  345. width: 64rpx;
  346. height: 64rpx;
  347. }
  348. .right .text {
  349. width: 105rpx;
  350. font-size: 22rpx;
  351. text-align: center;
  352. height: 60rpx;
  353. display: flex;
  354. justify-content: center;
  355. align-items: center;
  356. margin-top: 19rpx;
  357. color: #666666
  358. }
  359. .bg-blue {
  360. background: var(--background);
  361. }
  362. .bg-orange {
  363. background: var(--background);
  364. }
  365. .right .text-orange {
  366. color: #FD8362
  367. }
  368. </style>