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

375 lines
7.7 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="configList.wx_image.paramValueImage" mode="widthFix" 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 { store } from '@/store'
  132. import stepProgress from '../components/stepProgress.vue';
  133. const configList = store.state.system.configList
  134. const form = reactive({
  135. name: null,
  136. idCard: null,
  137. area: null,
  138. latitude: null,
  139. longitude: null,
  140. address: null,
  141. })
  142. onShow(() => {
  143. // todo: delete test data
  144. form.name = '李*乐'
  145. form.idCard = '4211********5624'
  146. })
  147. const jumpToBond = () => {
  148. uni.navigateTo({
  149. url: "/otherPages/myOrdersManage/bond/index"
  150. })
  151. }
  152. const setAddress = (res) => {
  153. //经纬度信息
  154. form.latitude = res.latitude
  155. form.longitude = res.longitude
  156. if (!res.address && res.name) { //用户直接选择城市的逻辑
  157. return form.area = res.name
  158. }
  159. if (res.address || res.name) {
  160. return form.area = res.address + res.name
  161. }
  162. form.area = '' //用户啥都没选就点击勾选
  163. }
  164. const selectAddr = () => {
  165. uni.chooseLocation({
  166. success: function(res) {
  167. setAddress(res)
  168. }
  169. })
  170. }
  171. const onClick = () => {
  172. // todo
  173. }
  174. </script>
  175. <style lang="scss" scoped>
  176. .chat {
  177. position: fixed;
  178. right: 20rpx;
  179. bottom: 400rpx;
  180. z-index: 9999;
  181. border: none;
  182. padding: 0;
  183. width: 97rpx;
  184. height: auto;
  185. image {
  186. width: 100%;
  187. }
  188. }
  189. .line {
  190. width: 3rpx;
  191. height: 100rpx;
  192. background-color: #BDBDBD;
  193. left: 25rpx;
  194. top: -50rpx;
  195. }
  196. .jiao {
  197. padding: 5px 20rpx;
  198. border-radius: 30rpx;
  199. background-color: #FFBF60;
  200. color: #fff;
  201. }
  202. .li {
  203. width: 710rpx;
  204. .num {
  205. width: 50rpx;
  206. height: 50rpx;
  207. border-radius: 50%;
  208. background-color: #FFBF60;
  209. color: #fff;
  210. font-weight: 700;
  211. font-size: 26rpx;
  212. margin-right: 20rpx;
  213. }
  214. }
  215. .item {
  216. padding: 26rpx 36rpx;
  217. border-radius: 24rpx;
  218. background-color: #fff;
  219. margin-bottom: 24rpx;
  220. width: 590rpx;
  221. .info {
  222. padding: 16rpx;
  223. background-color: #f3f3f3;
  224. border-radius: 16rpx;
  225. }
  226. }
  227. .img {
  228. width: 40rpx;
  229. height: 40rpx;
  230. margin-right: 8rpx;
  231. }
  232. .bt120 {
  233. margin-bottom: 120rpx;
  234. width: 716rpx;
  235. box-sizing: border-box;
  236. }
  237. .footer-btn {
  238. z-index: 9999;
  239. width: 100vw;
  240. height: 144rpx;
  241. background-color: #fff;
  242. display: flex;
  243. justify-content: center;
  244. position: fixed;
  245. bottom: 0;
  246. left: 0;
  247. align-items: center;
  248. .btn {
  249. font-size: 30rpx;
  250. color: #fff;
  251. display: flex;
  252. justify-content: center;
  253. align-items: center;
  254. width: 574rpx;
  255. height: 94rpx;
  256. border-radius: 94rpx;
  257. background-color: #FFBF60;
  258. }
  259. }
  260. .type {
  261. width: 190rpx;
  262. margin-bottom: 74rpx;
  263. }
  264. .form {
  265. padding: 40rpx 32rpx;
  266. box-sizing: border-box;
  267. width: 716rpx;
  268. }
  269. .title {
  270. &::before {
  271. content: "";
  272. display: block;
  273. width: 9rpx;
  274. height: 33rpx;
  275. background-color: #FFBF60;
  276. margin-right: 7rpx;
  277. }
  278. }
  279. .mb6 {
  280. margin-bottom: 6rpx;
  281. }
  282. .containers {
  283. .neir {
  284. padding: 47rpx 27rpx 36rpx 27rpx;
  285. border-radius: 16rpx;
  286. box-sizing: border-box;
  287. width: 716rpx;
  288. .steps {
  289. .line {
  290. width: 163rpx;
  291. height: 3rpx;
  292. background-color: #BDBDBD;
  293. margin-bottom: 30rpx;
  294. }
  295. .num {
  296. width: 50rpx;
  297. height: 50rpx;
  298. background-color: #FFBF60;
  299. border-radius: 50%;
  300. }
  301. }
  302. }
  303. .mainBg {
  304. width: 100vw;
  305. height: 442rpx;
  306. background-image: linear-gradient(to bottom, #FFBF60, #f5f5f5);
  307. }
  308. .content {
  309. top: 0;
  310. left: 0;
  311. padding: 16rpx;
  312. padding-bottom: 200rpx;
  313. .logo {
  314. width: 194rpx;
  315. height: 70rpx;
  316. }
  317. .renz {
  318. image {
  319. width: 26rpx;
  320. height: 26rpx;
  321. }
  322. }
  323. }
  324. }
  325. .highlight {
  326. color: #FFBF60;
  327. }
  328. </style>