猫妈狗爸伴宠师小程序前端代码
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.

373 lines
7.6 KiB

3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
  1. <template>
  2. <view>
  3. <view class="containers po-r">
  4. <image src="" mode="" class="mainBg"></image>
  5. <view class="w-100 po-a content">
  6. <stepProgress :step="3"></stepProgress>
  7. <view class="step mt24">
  8. <view class="li flex-rowl">
  9. <view class="num flex-rowc">
  10. 1
  11. </view>
  12. <view class="item">
  13. <view class="flex-between mb10">
  14. <view class="flex-rowl">
  15. <image class="img" src="@/static/images/ydd/end12.png" mode=""></image>
  16. <text class="size-30 color-000 fw700">实名认证</text>
  17. </view>
  18. <view class="size-22 color-ffb">
  19. 已完成
  20. </view>
  21. </view>
  22. <view class="info">
  23. <!-- todo: 实名认证 -->
  24. <view class="size-22 color-777">
  25. {{ `真实姓名:${form.name}` }}
  26. </view>
  27. <view class="size-22 color-777">
  28. {{ `身份证号码:${form.idCard}` }}
  29. </view>
  30. </view>
  31. </view>
  32. </view>
  33. <view class="li flex-rowl po-r">
  34. <view class="line po-a">
  35. </view>
  36. <view class="num flex-rowc">
  37. 2
  38. </view>
  39. <view class="item">
  40. <view class="flex-between mb10">
  41. <view class="flex-rowl">
  42. <image class="img" src="@/static/images/ydd/end13.png" mode="widthFix"></image>
  43. <text class="size-30 color-000 fw700">履约保证金缴纳</text>
  44. </view>
  45. <view class="size-22 color-ffb jiao" @click="jumpToBond">
  46. 去缴纳
  47. </view>
  48. <!-- todo -->
  49. <!-- <view class="size-22 highlight">
  50. 已完成
  51. </view> -->
  52. </view>
  53. <view class="info color-777 size-22">
  54. 请缴纳履约保证金保证金注销时可申请退还
  55. </view>
  56. </view>
  57. </view>
  58. <view class="li flex-rowl po-r">
  59. <view class="line po-a" style="height: 150rpx;">
  60. </view>
  61. <view class="num flex-rowc">
  62. 3
  63. </view>
  64. <view class="item">
  65. <view class="flex-between mb10">
  66. <view class="flex-rowl">
  67. <image class="img" src="@/static/images/ydd/end1(4).png" mode="widthFix"></image>
  68. <text class="size-30 color-000 fw700">添加客服微信</text>
  69. </view>
  70. <view class="size-22 highlight">
  71. 请自行添加
  72. </view>
  73. </view>
  74. <view class="info color-777 size-22 flex-rowl">
  75. <text class="size-22 color-777">微信二维码</text>
  76. <image src="" mode="" style="width: 150rpx;height: 150rpx;"></image>
  77. </view>
  78. </view>
  79. </view>
  80. <view class="li flex-rowl po-r">
  81. <view class="line po-a" style="height: 150rpx;">
  82. </view>
  83. <view class="num flex-rowc">
  84. 4
  85. </view>
  86. <view class="item">
  87. <view class="flex-between mb10">
  88. <view class="flex-rowl">
  89. <image class="img" src="@/static/images/ydd/end13.png" mode="widthFix"></image>
  90. <text class="size-30 color-000 fw700">服务工具准备</text>
  91. </view>
  92. <!-- todo -->
  93. <view class="size-22 flex-rowr">
  94. <text>查看工具包</text>
  95. <up-icon name="arrow-down" color="#7F7F7F" size="17rpx" style="margin-left: 5rpx;"></up-icon>
  96. </view>
  97. </view>
  98. <view class="info color-777 size-22">
  99. <view class="flex-between">
  100. <text class="size-22">所在地区:</text>
  101. <view plain class="flex-rowr" @click="selectAddr">
  102. <text>{{ form.area ? form.area : '请选择' }}</text>
  103. <up-icon style="margin-left: 22rpx;" name="arrow-down" color="#7F7F7F" size="21rpx"></up-icon>
  104. </view>
  105. </view>
  106. </view>
  107. <view class="info color-777 size-22 mt20">
  108. <view class="flex-between">
  109. <text class="size-22">详细地址:</text>
  110. <input v-model="form.address" type="text" placeholder="请输入道路、小区、门牌号等" />
  111. </view>
  112. </view>
  113. </view>
  114. </view>
  115. </view>
  116. <view class="footer-btn" @click="onClick">
  117. <view class="btn">
  118. 提交审核
  119. </view>
  120. </view>
  121. </view>
  122. </view>
  123. <button plain class="chat" open-type="contact">
  124. <image src="@/static/images/ydd/chat.png" mode="widthFix"></image>
  125. </button>
  126. </view>
  127. </template>
  128. <script setup>
  129. import { reactive } from "vue";
  130. import { onShow } from '@dcloudio/uni-app'
  131. import stepProgress from '../components/stepProgress.vue';
  132. const form = reactive({
  133. name: null,
  134. idCard: null,
  135. area: null,
  136. latitude: null,
  137. longitude: null,
  138. address: null,
  139. })
  140. onShow(() => {
  141. // todo: delete test data
  142. form.name = '李*乐'
  143. form.idCard = '4211********5624'
  144. })
  145. const jumpToBond = () => {
  146. uni.navigateTo({
  147. url: "/otherPages/myOrdersManage/bond/index"
  148. })
  149. }
  150. const setAddress = (res) => {
  151. //经纬度信息
  152. form.latitude = res.latitude
  153. form.longitude = res.longitude
  154. if (!res.address && res.name) { //用户直接选择城市的逻辑
  155. return form.area = res.name
  156. }
  157. if (res.address || res.name) {
  158. return form.area = res.address + res.name
  159. }
  160. form.area = '' //用户啥都没选就点击勾选
  161. }
  162. const selectAddr = () => {
  163. console.log('--selectAddr')
  164. uni.chooseLocation({
  165. success: function(res) {
  166. setAddress(res)
  167. }
  168. })
  169. }
  170. const onClick = () => {
  171. // todo
  172. }
  173. </script>
  174. <style lang="scss" scoped>
  175. .chat {
  176. position: fixed;
  177. right: 20rpx;
  178. bottom: 400rpx;
  179. z-index: 9999;
  180. border: none;
  181. padding: 0;
  182. width: 97rpx;
  183. height: auto;
  184. image {
  185. width: 100%;
  186. }
  187. }
  188. .line {
  189. width: 3rpx;
  190. height: 100rpx;
  191. background-color: #BDBDBD;
  192. left: 25rpx;
  193. top: -50rpx;
  194. }
  195. .jiao {
  196. padding: 5px 20rpx;
  197. border-radius: 30rpx;
  198. background-color: #FFBF60;
  199. color: #fff;
  200. }
  201. .li {
  202. width: 710rpx;
  203. .num {
  204. width: 50rpx;
  205. height: 50rpx;
  206. border-radius: 50%;
  207. background-color: #FFBF60;
  208. color: #fff;
  209. font-weight: 700;
  210. font-size: 26rpx;
  211. margin-right: 20rpx;
  212. }
  213. }
  214. .item {
  215. padding: 26rpx 36rpx;
  216. border-radius: 24rpx;
  217. background-color: #fff;
  218. margin-bottom: 24rpx;
  219. width: 590rpx;
  220. .info {
  221. padding: 16rpx;
  222. background-color: #f3f3f3;
  223. border-radius: 16rpx;
  224. }
  225. }
  226. .img {
  227. width: 40rpx;
  228. height: 40rpx;
  229. margin-right: 8rpx;
  230. }
  231. .bt120 {
  232. margin-bottom: 120rpx;
  233. width: 716rpx;
  234. box-sizing: border-box;
  235. }
  236. .footer-btn {
  237. z-index: 9999;
  238. width: 100vw;
  239. height: 144rpx;
  240. background-color: #fff;
  241. display: flex;
  242. justify-content: center;
  243. position: fixed;
  244. bottom: 0;
  245. left: 0;
  246. align-items: center;
  247. .btn {
  248. font-size: 30rpx;
  249. color: #fff;
  250. display: flex;
  251. justify-content: center;
  252. align-items: center;
  253. width: 574rpx;
  254. height: 94rpx;
  255. border-radius: 94rpx;
  256. background-color: #FFBF60;
  257. }
  258. }
  259. .type {
  260. width: 190rpx;
  261. margin-bottom: 74rpx;
  262. }
  263. .form {
  264. padding: 40rpx 32rpx;
  265. box-sizing: border-box;
  266. width: 716rpx;
  267. }
  268. .title {
  269. &::before {
  270. content: "";
  271. display: block;
  272. width: 9rpx;
  273. height: 33rpx;
  274. background-color: #FFBF60;
  275. margin-right: 7rpx;
  276. }
  277. }
  278. .mb6 {
  279. margin-bottom: 6rpx;
  280. }
  281. .containers {
  282. .neir {
  283. padding: 47rpx 27rpx 36rpx 27rpx;
  284. border-radius: 16rpx;
  285. box-sizing: border-box;
  286. width: 716rpx;
  287. .steps {
  288. .line {
  289. width: 163rpx;
  290. height: 3rpx;
  291. background-color: #BDBDBD;
  292. margin-bottom: 30rpx;
  293. }
  294. .num {
  295. width: 50rpx;
  296. height: 50rpx;
  297. background-color: #FFBF60;
  298. border-radius: 50%;
  299. }
  300. }
  301. }
  302. .mainBg {
  303. width: 100vw;
  304. height: 442rpx;
  305. background-image: linear-gradient(to bottom, #FFBF60, #f5f5f5);
  306. }
  307. .content {
  308. top: 0;
  309. left: 0;
  310. padding: 16rpx;
  311. padding-bottom: 200rpx;
  312. .logo {
  313. width: 194rpx;
  314. height: 70rpx;
  315. }
  316. .renz {
  317. image {
  318. width: 26rpx;
  319. height: 26rpx;
  320. }
  321. }
  322. }
  323. }
  324. .highlight {
  325. color: #FFBF60;
  326. }
  327. </style>