用工小程序前端代码
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.

204 lines
6.7 KiB

7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
  1. <template>
  2. <view class="se-p-40 se-bgc-f5">
  3. <view class="se-flex se-flex-v-sa se-flex-ai-fs se-py-20 se-px-30 se-bs se-bgc-white se-br-20">
  4. <view class="se-flex">
  5. <view class="se-w-160 se-h-160">
  6. <image class="se-w-160 se-h-160 se-br-10" :src="detail.employJob.image || detail.jobHeadImg" mode="">
  7. </image>
  8. </view>
  9. <view class="se-ml-20 se-flex se-flex-v-sa se-flex-ai-fs">
  10. <view class="se-fw-6 se-c-black se-fs-30 se-display-ib">{{ detail.title }}</view>
  11. <view class="se-fs-24 se-c-text-third se-display-ib">所属行业:{{ detail.categoryOne }}</view>
  12. <view class="se-fs-24 se-c-text-third se-display-ib">所属工种:{{ detail.categoryTwo }}</view>
  13. <!-- <view class="se-fs-24 se-c-text-third se-display-ib">工作时间:3h</view> -->
  14. </view>
  15. </view>
  16. </view>
  17. <view class="se-flex se-flex-h-fs se-mt-30 se-py-20 se-px-30 se-bs se-bgc-white se-br-20">
  18. <image class="se-a-30" src="@/static/image/46502.png" mode=""></image>
  19. <text class="se-c-black se-fs-32 se-ml-20">{{ detail.workUser }}</text>
  20. <text class="se-c-black se-fs-32 se-ml-20">{{ detail.workPhone }}</text>
  21. </view>
  22. <view class="se-mt-30 se-py-20 se-px-30 se-bs se-bgc-white se-br-20">
  23. <view class="se-flex se-flex-h-sb se-pb-20 se-b-b">
  24. <view class="se-flex se-flex-h-fs">
  25. <image class="se-w-30 se-h-40" src="@/static/image/47961.png" mode=""></image>
  26. <text class="se-c-black se-fs-32 se-ml-20">{{ detail.workUser }}</text>
  27. </view>
  28. <view>
  29. <text class="se-c-orange se-fs-32 se-ml-20">$ {{ detail.orderNoMoney }}</text>
  30. </view>
  31. </view>
  32. <view class="se-flex se-flex-h-sb se-pt-20" v-if="detail.employSeek">
  33. <view class="se-flex se-flex-h-fs">
  34. <image class="se-w-30 se-h-40" src="@/static/image/47961.png" mode=""></image>
  35. <text class="se-c-black se-fs-32 se-ml-20">师傅试工交通费用</text>
  36. </view>
  37. <view class="se-flex se-flex-ai-c">
  38. <view class="se-bgc-orange se-display-ib se-br-10 se-py-5 se-px-20 se-c-white se-fs-20">
  39. {{ detail.employSeek.selectGo }}
  40. </view>
  41. <text class="se-c-orange se-fs-32 se-ml-20">$10</text>
  42. </view>
  43. </view>
  44. <view class="se-c-black se-p-20 se-fs-24 se-flex se-flex-ai-c se-mt-20"
  45. style="background-color:rgba(255,164,113,0.48);">
  46. <view class="se-w-10 se-h-10 se-br-5 se-bgc-orange se-mr-10"></view>
  47. <text>全程共</text>
  48. <text class="se-c-orange se-px-5 se-fw-6">5</text>
  49. <text>公里</text>
  50. </view>
  51. <view class="se-p-20 se-fs-24 se-flex se-flex-ai-c" style="background-color:rgba(255,164,113,0.18);">
  52. 从师傅出发地到用工目的地总全程为5公里5公里x2=10
  53. </view>
  54. <view class="se-fs-22 se-lh-50 se-flex se-flex-v se-mt-10">
  55. <text>1.公交/地铁出行费用按站xxxxxxxxx</text>
  56. <text>2.出租车出行费用按公里xxxxxxxxx</text>
  57. <text>3.网约车出行费用按xxxxxxxxxxxxxx</text>
  58. </view>
  59. </view>
  60. <view class="se-mt-30 se-py-30 se-px-30 se-bs se-bgc-white se-br-20">
  61. <u-radio-group size="18" v-model="payRadio" iconPlacement="right">
  62. <view class="se-flex-v-sb se-w-p-100" style="align-items: unset;">
  63. <u-radio name="1" activeColor="#ff7a31">
  64. <view class="se-flex se-flex-ai-c se-pb-20">
  65. <image class="se-w-30 se-h-25 se-mt-5" src="@/static/image/46518.png" mode=""></image>
  66. <text class="se-c-black se-fs-30 se-ml-15">账户余额</text>
  67. <text class="se-c-text-third se-fs-28 se-ml-15">(余额{{ amount }})</text>
  68. </view>
  69. </u-radio>
  70. <u-radio name="2" activeColor="#ff7a31">
  71. <view class="se-flex se-flex-ai-c se-pt-20">
  72. <image class="se-w-35 se-h-30 se-mt-5" src="@/static/image/46662.png" mode=""></image>
  73. <text class="se-c-black se-fs-30 se-ml-15">微信支付</text>
  74. </view>
  75. </u-radio>
  76. </view>
  77. </u-radio-group>
  78. </view>
  79. <view class="se-mt-10 se-py-10 se-br-20"
  80. style="display: flex;flex-direction: column;align-items: center;">
  81. <text class="se-c-66 se-fs-22">温馨提示下单前请仔细查看下单需知</text>
  82. <view class="se-flex-h-fs se-br-40 se-mt-20 se-flex-ai-fs se-h-80 se-lh-80 se-ta-c se-fs-24 se-c-33"
  83. style="align-items: unset;">
  84. <u-checkbox :checked="checked" activeColor="#ff7a31" label-size="12" shape="circle"
  85. label="阅读并同意"></u-checkbox>
  86. <text class="se-c-orange" @click="show=true">用户使用协议</text>
  87. </view>
  88. </view>
  89. <view class="se-pos-fixed se-pos-lb se-bs-t se-flex se-flex-h-sb se-pb-60 se-pt-20 se-bgc-white se-w-vw-100">
  90. <view class="se-fs-32 se-c-black se-ml-30">
  91. <text class="se-fs-24">合计</text>
  92. <text class="se-c-orange">{{price}}</text>
  93. </view>
  94. <view @click="payOrderCompany"
  95. class="se-mr-30 se-w-240 se-h-80 se-lh-80 se-ta-c se-c-white se-fs-32 se-br-40 se-bgc-orange">
  96. 立即支付
  97. </view>
  98. </view>
  99. </view>
  100. </template>
  101. <script>
  102. import {
  103. orderDetail,
  104. deleteOrder,
  105. confirmOrder,
  106. payOrderCompany,
  107. userInfo,
  108. } from "@/common/api.js"
  109. export default {
  110. data() {
  111. return {
  112. amount: 0,
  113. payRadio: "1",
  114. orderId : 0,
  115. checked : 0,
  116. detail : {},
  117. }
  118. },
  119. computed : {
  120. price(){
  121. return 440
  122. },
  123. },
  124. onLoad(options) {
  125. this.orderId = options.orderId
  126. },
  127. onShow() {
  128. this.onOrderDetail()
  129. this.onUserInfo()
  130. },
  131. methods: {
  132. onUserInfo(){
  133. let params={}
  134. userInfo(params).then(response=>{
  135. this.amount=response.result.amount?response.result.amount:0
  136. }).catch(error=>{
  137. })
  138. },
  139. onOrderDetail() {
  140. let that = this
  141. let params = {
  142. orderId: that.orderId
  143. }
  144. orderDetail(params).then(response => {
  145. that.detail = response.result
  146. }).catch(error => {
  147. })
  148. },
  149. onDetail() {
  150. uni.navigateTo({
  151. url: "/pages_subpack/order-detail/index"
  152. })
  153. },
  154. payOrderCompany() {
  155. let that = this
  156. if(that.checked.length==0){
  157. return uni.showToast({
  158. icon: "none",
  159. title: "请勾选隐私协议"
  160. })
  161. }
  162. let data = {
  163. orderId: this.orderId,
  164. payType: this.payRadio,
  165. }
  166. payOrderCompany(data)
  167. .then(res => {
  168. if (res.code == 200) {
  169. if (data.payType == '2') {
  170. uni.requestPayment({
  171. provider: 'wxpay', // 服务提提供商
  172. timeStamp: res.result.timeStamp, // 时间戳
  173. nonceStr: res.result.nonceStr, // 随机字符串
  174. package: res.result.packageValue,
  175. signType: res.result.signType, // 签名算法
  176. paySign: res.result.paySign, // 签名
  177. success: function(res) {
  178. uni.navigateBack(-1)
  179. },
  180. fail: function(err) {
  181. uni.showToast({
  182. icon: 'none',
  183. title: "支付失败"
  184. })
  185. }
  186. });
  187. } else if (res.code == 200) {
  188. uni.navigateBack(-1)
  189. }
  190. }
  191. })
  192. },
  193. }
  194. }
  195. </script>
  196. <style>
  197. </style>