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.

vehicle-change-chepai.vue 6.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <template>
  2. <view class="bg">
  3. <view class="title_wrap"><text class="title">基本信息</text></view>
  4. <u-form label-width="230" :model="state.form" ref="uForm" :label-style='labelStyle'>
  5. <u-form-item label="车牌号码" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
  6. borderBottom>
  7. <u-input v-model="state.form.vehiclePlateColorStr" input-align='right'disabled/>
  8. </u-form-item>
  9. <u-form-item label="车牌颜色" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
  10. borderBottom>
  11. <u-input v-model="state.form.vehiclePlateColorStr" input-align='right'disabled/>
  12. </u-form-item>
  13. <u-form-item label="ETC卡状态" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
  14. borderBottom>
  15. <u-input v-model="state.form.customerName" inputAlign="right" disabled/>
  16. </u-form-item>
  17. <u-form-item label="OBU卡状态" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
  18. borderBottom>
  19. <u-input v-model="state.form.customerTel" inputAlign="right" disabled/>
  20. </u-form-item>
  21. <u-form-item label="ETC卡状态" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
  22. borderBottom>
  23. </u-form-item>
  24. <view class="card">
  25. <image :src='`${$imgUrl}issuance/obuPicture.png`' mode=""></image>
  26. <view class="details">
  27. <view>储蓄卡</view>
  28. <view>卡号:100101010101</view>
  29. </view>
  30. </view>
  31. <u-form-item label="OBU卡状态" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
  32. borderBottom>
  33. </u-form-item>
  34. <view class="card">
  35. <image :src='`${$imgUrl}issuance/obuPicture.png`' mode=""></image>
  36. <view class="details">
  37. <view>OBU信息</view>
  38. <view>序列号:100101010101</view>
  39. </view>
  40. </view>
  41. </u-form>
  42. </view>
  43. <view class="bg">
  44. <view class="title" style="margin-bottom: 30rpx;">请输入需要变更ETC车牌号码</view>
  45. <car-number-input :defaultStr="state.form.vehiclePlate"></car-number-input>
  46. <u-form label-width="230" :model="state.form" ref="uForm" :label-style='labelStyle' borderBottom>
  47. <u-form-item label="车牌颜色" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
  48. borderBottom>
  49. <u-input v-model="state.form.vehiclePlateColorStr" type="select" @click="show1 = true" input-align='right'/>
  50. </u-form-item>
  51. <u-form-item label="车牌类型" :left-icon='`${$imgUrl}issuance/point-form.png`' :left-icon-style='leftIcon'
  52. borderBottom>
  53. <u-input v-model="state.form.vehiclePlateColorStr" type="select" @click="show1 = true" input-align='right'/>
  54. </u-form-item>
  55. </u-form>
  56. </view>
  57. <view class="tips">
  58. <view class="hint">
  59. <image :src="`${$imgUrl}common/icon-hint.png`" class="icon"></image>
  60. <view>注意事项</view>
  61. </view>
  62. <view class="item">1、非蓝牙设备不支持该功能。</view>
  63. <view class="item">2、单位用户请到线下网点进行办理。</view>
  64. <view class="item">3、车牌变更成功后需重新绑定票根信息工行。</view>
  65. <view class="item">4、工行、建行渠道的储值卡不支持该功能。</view>
  66. </view>
  67. <view class="action">
  68. <button type="default" class="ui-btn" @click="savaHandle()">
  69. 提交
  70. </button>
  71. </view>
  72. <!-- 选择车牌颜色 -->
  73. <u-select v-model="show1" :list="state.colorRange" @confirm="changeColor"></u-select>
  74. </template>
  75. <script setup lang="ts">
  76. import { navTo,uploadFile,strReplace,msg} from "@/utils/utils";
  77. import { reactive,ref } from "vue";
  78. import carNumberInput from "@/components/car-number-input/car-number-input.vue";
  79. import { onLoad } from "@dcloudio/uni-app";
  80. import { getItem } from "@/utils/storage.ts"
  81. import {selfServiceView,selfServiceUserUpload} from "@/utils/network/api.js";
  82. import {requestNew} from "@/utils/network/request.js";
  83. const labelStyle = {
  84. color: "#004576",
  85. fontSize: "28rpx",
  86. }
  87. const leftIcon = {
  88. height: '100%',
  89. width: '8rpx',
  90. display: 'flex',
  91. 'align-items': 'center',
  92. 'margin-right': '4rpx',
  93. }
  94. const show1 = ref(false)
  95. const show2 = ref(false)
  96. const state = reactive({
  97. form: {
  98. customerName: "",
  99. customerTel: "",
  100. vehiclePlate: "",
  101. vehiclePlateColor: "",
  102. vehiclePlateColorStr:"",//车牌颜色中文
  103. questionType:"",
  104. questionTypeStr:"",
  105. etcUser:"",
  106. etcUserStr:"",
  107. eventOccurrenceDate:"",//2016-09-01 00:00:00
  108. supportingMaterialsUrlShow:[],
  109. insertTime:"",
  110. },
  111. colorRange: [],
  112. questionTypeRange:[
  113. {value: 1, label: "工单1"},
  114. {value: 2, label: "工单2"},
  115. ],
  116. etcUserRange:[
  117. {value: 1, label: "是"},
  118. {value: 0, label: "否"},
  119. ],
  120. })
  121. onLoad((option : any) => {
  122. let getColor = getItem('key')['VEHICLE_COLOR_TYPE'];
  123. for (var k = 0; k < getColor.length; k++) {
  124. let obj = {};
  125. obj['value'] = getColor[k]['code']
  126. obj['label'] = getColor[k]['name']
  127. state.colorRange.push(obj)
  128. }
  129. console.log("state.colorRange",state.colorRange,option)
  130. });
  131. //车牌号输入
  132. const carNumber = (val : any) => {
  133. state.form.vehiclePlate = val.trim();
  134. };
  135. const savaHandle = () => {
  136. }
  137. const changeColor = (item) => {
  138. state.form.vehiclePlateColor = item[0].value
  139. state.form.vehiclePlateColorStr = item[0].label
  140. console.log(item)
  141. }
  142. </script>
  143. <style lang="scss" scoped>
  144. .bg {
  145. background-color: white;
  146. width: 90%;
  147. margin: 0 auto;
  148. margin-top: 20rpx;
  149. border-radius: 12px;
  150. border: 1px solid #FFFFFF;
  151. padding: 30rpx 20rpx;
  152. overflow: hidden;
  153. box-sizing: border-box;
  154. .title_wrap {
  155. display: flex;
  156. font-weight: 400;
  157. margin-bottom: 40rpx;
  158. justify-content: space-between;
  159. .title {
  160. font-size: 30rpx;
  161. color: #01243A;
  162. }
  163. }
  164. .des {
  165. font-weight: 400;
  166. font-size: 28rpx;
  167. color: #01243A;
  168. line-height: 56rpx;
  169. margin-top: 10rpx;
  170. text-indent: 1rem;
  171. }
  172. }
  173. .action {
  174. position: absolute;
  175. left: 0;
  176. height: 160rpx;
  177. background-color: #fff;
  178. border-radius: 30rpx 30rpx 0 0;
  179. width: 100vw;
  180. display: flex;
  181. align-items: center;
  182. justify-content: center;
  183. flex-direction: column;
  184. margin-top: 20rpx;
  185. }
  186. .card{
  187. display: flex;
  188. align-items: center;
  189. image{
  190. width: 120rpx;
  191. height: 120rpx;
  192. margin-right: 20rpx;
  193. }
  194. .details view:first-child{
  195. margin-bottom: 10rpx;
  196. }
  197. }
  198. .tips{
  199. width: 90%;
  200. padding: 20rpx 0;
  201. box-sizing: border-box;
  202. margin: 20rpx auto;
  203. .hint{
  204. display: flex;
  205. align-items: center;
  206. .icon{
  207. width: 30rpx;
  208. height: 30rpx;
  209. margin-right: 10rpx;
  210. }
  211. }
  212. .item{
  213. margin: 10rpx 0;
  214. text-indent: 1rem;
  215. }
  216. }
  217. </style>