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

229 lines
7.4 KiB

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