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

211 lines
6.9 KiB

1 year ago
1 year ago
11 months ago
11 months ago
1 year ago
1 year ago
11 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
1 year ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
1 year ago
11 months ago
10 months ago
11 months ago
1 year ago
10 months ago
11 months ago
10 months ago
10 months ago
11 months ago
1 year ago
10 months ago
1 year ago
11 months ago
11 months ago
10 months ago
11 months ago
1 year ago
10 months ago
11 months ago
10 months ago
10 months ago
11 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
1 year ago
10 months ago
1 year 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. uni.requestPayment({
  174. provider: "wxpay",
  175. nonceStr: response.result.nonceStr,
  176. package: response.result.package,
  177. timeStamp: response.result.timeStamp,
  178. signType: response.result.signType,
  179. paySign: response.result.paySign,
  180. success(res) {
  181. that.$u.toast("付款成功!")
  182. that.onDetail();
  183. },
  184. fail(e) {
  185. console.info(e)
  186. }
  187. })
  188. }).catch(error=>{
  189. })
  190. }
  191. },
  192. onDetail(){
  193. uni.navigateTo({
  194. url:"/pages_subpack/order-detail/index?orderId="+this.id
  195. })
  196. }
  197. }
  198. }
  199. </script>
  200. <style>
  201. page{
  202. background-color: #f5f5f5;
  203. }
  204. </style>