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

218 lines
7.1 KiB

6 months ago
6 months ago
4 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
3 months ago
6 months ago
3 months ago
6 months ago
3 months ago
6 months ago
6 months ago
3 months ago
6 months ago
3 months ago
6 months ago
3 months ago
6 months ago
3 months ago
3 months ago
3 months ago
6 months ago
4 months ago
3 months ago
4 months ago
6 months ago
3 months ago
4 months ago
3 months ago
4 months ago
6 months ago
3 months ago
6 months ago
4 months ago
4 months ago
3 months ago
4 months ago
6 months ago
3 months ago
4 months ago
3 months ago
4 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
6 months ago
3 months ago
6 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="items.workHeadImg" mode=""></image>
  7. </view>
  8. <view class="se-ml-20 se-flex se-flex-v-sa se-flex-ai-fs">
  9. <view class="se-fw-6 se-c-black se-fs-30 se-display-ib">{{items.title}}</view>
  10. <view class="se-fs-24 se-c-text-third se-display-ib">所属行业:{{items.categoryOne}}</view>
  11. <!-- <view class="se-fs-24 se-c-text-third se-display-ib">所属工种:中午搬运</view> -->
  12. <view class="se-fs-24 se-c-text-third se-display-ib">所属工种:{{items.categoryTwo}}</view>
  13. </view>
  14. </view>
  15. </view>
  16. <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">
  17. <image class="se-a-30" src="@/static/image/46502.png" mode=""></image>
  18. <text class="se-c-black se-fs-32 se-ml-20">{{items.workName}}</text>
  19. <text class="se-c-black se-fs-32 se-ml-20">{{items.workPhone}}</text>
  20. </view>
  21. <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">
  22. <text class="se-c-black se-fs-28">联系地址{{items.workAddress}}</text>
  23. </view>
  24. <view class="se-py-20 se-mt-10">
  25. <view class="se-flex se-flex-ai-c se-pb-10">
  26. <view class="line-orange"></view>
  27. <view class="se-ml-10 se-fs-30 se-c-black se-fw-5">
  28. 购买保险(必买)
  29. </view>
  30. </view>
  31. </view>
  32. <view class="se-mt-10 se-py-30 se-px-30 se-bs se-bgc-white se-br-20">
  33. <u-radio-group
  34. size="18"
  35. v-model="payRadio"
  36. iconPlacement="right">
  37. <view class="se-flex-v-sb se-w-p-100" style="align-items: unset;">
  38. <u-radio name="1" activeColor="#ff7a31">
  39. <view class="se-flex se-flex-ai-c se-pb-20">
  40. <image class="se-w-30 se-h-25 se-mt-5" src="@/static/image/46518.png" mode=""></image>
  41. <text class="se-c-black se-fs-30 se-ml-15">账户余额</text>
  42. <text class="se-c-text-third se-fs-28 se-ml-15">(余额{{myMoney}})</text>
  43. </view>
  44. </u-radio>
  45. <u-radio name="2" activeColor="#ff7a31">
  46. <view class="se-flex se-flex-ai-c se-pt-20">
  47. <image class="se-w-35 se-h-30 se-mt-5" src="@/static/image/46662.png" mode=""></image>
  48. <text class="se-c-black se-fs-30 se-ml-15">微信支付</text>
  49. </view>
  50. </u-radio>
  51. </view>
  52. </u-radio-group>
  53. </view>
  54. <view class="se-mt-10 se-py-10 se-br-20">
  55. <text class="se-c-66 se-fs-22">温馨提示下单前请仔细查看下单需知</text>
  56. <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" style="align-items: unset;">
  57. <u-checkbox-group @change="checkboxChange" v-model="checked">
  58. <u-checkbox name="true" activeColor="#ff7a31" label-size="12" shape="circle" label="阅读并同意"></u-checkbox>
  59. </u-checkbox-group>
  60. <!-- <u-checkbox v-model="checked" activeColor="#ff7a31" label-size="12" shape="circle" label="阅读并同意"></u-checkbox> -->
  61. <text class="se-c-orange" @click="show=true">用户使用协议</text>
  62. </view>
  63. </view>
  64. <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">
  65. <view class="se-fs-32 se-c-black se-ml-30" @click="onDetail()">
  66. <text class="se-fs-24">合计</text>
  67. <text class="se-c-orange">{{items.payMoney}}</text>
  68. </view>
  69. <view @click="onPay()" 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">
  70. 立即支付
  71. </view>
  72. </view>
  73. <u-popup :show="show" :custom-style="{alignItems:'center'}" mode="center" bg-color="transparent">
  74. <view class="se-w-600 se-bgc-white se-br-40 se-p-40">
  75. <view class="se-flex se-flex-h-c se-fs-34 se-fw-6 se-c-black se-mt-0">
  76. 用户使用协议
  77. </view>
  78. <view class="se-lh-40 se-mt-40 se-fs-24 se-c-99">
  79. <u-parse :content="getValueByName('yhsyxx')"></u-parse>
  80. </view>
  81. <view class="se-flex se-flex-h-sb se-mt-40">
  82. <view @click="show=false" class="se-br-20 se-flex-1 se-flex-h-c se-h-80 se-lh-80 se-ta-c se-fs-32 se-c-white se-bgc-orange">
  83. <text>确认</text>
  84. </view>
  85. </view>
  86. </view>
  87. </u-popup>
  88. </view>
  89. </template>
  90. <script>
  91. import {
  92. getTaskById,orderTask,orderDetail,userInfo,payOrder
  93. } from "@/common/api.js"
  94. export default{
  95. data(){
  96. return{
  97. show:false,
  98. id:"",
  99. checked:[],
  100. myMoney:"",//账户余额
  101. items:{},
  102. amount:"9.9",
  103. payRadio:"1",
  104. sysList:[]
  105. }
  106. },
  107. onLoad(options) {
  108. // this.sysList = uni.getStorageSync('sysList')
  109. console.info(options)
  110. this.id = options.id
  111. this.getOrderDetail()
  112. this.onUserInfo()
  113. },
  114. methods:{
  115. getValueByName(name) {
  116. const item = this.sysList.find((item) => item.name == name);
  117. return item ? item.value : "";
  118. },
  119. onUserInfo(){
  120. let params={}
  121. userInfo(params).then(response=>{
  122. console.info("userInfo",response)
  123. this.myMoney=response.result.myMoney?response.result.myMoney:0
  124. }).catch(error=>{
  125. })
  126. },
  127. checkboxChange(n) {
  128. console.log('change', n);
  129. },
  130. getOrderDetail(){
  131. orderDetail({orderId:this.id}).then(response=>{
  132. console.info('orderDetail',response)
  133. this.items = response.result
  134. }).catch(error=>{
  135. })
  136. },
  137. onPay(){
  138. let that = this
  139. console.info(that.checked)
  140. if(that.checked.length==0){
  141. return uni.showToast({
  142. icon: "none",
  143. title: "请勾选隐私协议"
  144. })
  145. }
  146. console.info(that.payRadio)
  147. if(that.payRadio==1){
  148. payOrder({orderId:that.id}).then(res=>{
  149. uni.requestPayment({
  150. provider: 'wxpay', // 服务提提供商
  151. timeStamp: res.result.timeStamp, // 时间戳
  152. nonceStr: res.result.nonceStr, // 随机字符串
  153. package: res.result.packageValue,
  154. signType: res.result.signType, // 签名算法
  155. paySign: res.result.paySign, // 签名
  156. success: function (res) {
  157. console.log('支付成功',res);
  158. that.onDetail();
  159. },
  160. fail: function (err) {
  161. console.log('支付失败',err);
  162. error(err)
  163. uni.showToast({
  164. icon:'none',
  165. title:"支付失败"
  166. })
  167. }
  168. });
  169. }).catch(error=>{
  170. })
  171. }else if(that.payRadio==2){
  172. payOrder({orderId:that.id}).then(response=>{
  173. console.info("payOrder",response)
  174. uni.requestPayment({
  175. provider: "wxpay",
  176. nonceStr: response.result.nonceStr,
  177. package: response.result.package,
  178. timeStamp: response.result.timeStamp,
  179. signType: response.result.signType,
  180. paySign: response.result.paySign,
  181. success(res) {
  182. that.$u.toast("付款成功!")
  183. that.onDetail();
  184. },
  185. fail(err) {
  186. console.info(err)
  187. console.log('支付失败',err);
  188. uni.showToast({
  189. icon:'none',
  190. title:"支付失败"
  191. })
  192. }
  193. })
  194. }).catch(error=>{
  195. })
  196. }
  197. },
  198. onDetail(){
  199. uni.navigateTo({
  200. url:"/pages_subpack/order-detail/index?orderId="+this.id
  201. })
  202. }
  203. }
  204. }
  205. </script>
  206. <style>
  207. page{
  208. background-color: #f5f5f5;
  209. }
  210. </style>