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

344 lines
12 KiB

  1. <template>
  2. <view class="u-page">
  3. <view class="se-px-20 se-pt-40 se-flex-v-c">
  4. <template v-if="stepsIndex==0">
  5. <view class="se-flex se-flex-h-c">
  6. <image class="se-a-50" src="@/static/image/46524.png" mode=""></image>
  7. <text class="se-c-orange se-fs-30 se-ml-10">招聘发布-师傅接单-等待企业确认</text>
  8. </view>
  9. <text class="se-c-orange se-mt-20 se-fs-24">124530有效</text>
  10. </template>
  11. <template v-if="stepsIndex==1">
  12. <view class="se-flex se-flex-h-c">
  13. <image class="se-a-50" src="@/static/image/46524.png" mode=""></image>
  14. <text class="se-c-orange se-fs-30 se-ml-10">订单进行中</text>
  15. </view>
  16. <text class="se-c-orange se-mt-20 se-fs-24">124530有效</text>
  17. </template>
  18. <template v-if="stepsIndex==2">
  19. <view class="se-flex se-flex-h-c">
  20. <image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
  21. <text class="se-c-orange se-fs-30 se-ml-10">试工完成</text>
  22. </view>
  23. <text class="se-c-orange se-mt-20 se-fs-24">124530有效</text>
  24. </template>
  25. <template v-if="stepsIndex==3">
  26. <view class="se-flex se-flex-h-c">
  27. <image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
  28. <text class="se-c-orange se-fs-30 se-ml-10">企业待支付</text>
  29. </view>
  30. <text class="se-c-orange se-mt-20 se-fs-24">124530有效</text>
  31. </template>
  32. <template v-if="stepsIndex==4">
  33. <view class="se-flex se-flex-h-c">
  34. <image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
  35. <text class="se-c-orange se-fs-30 se-ml-10">订单待完成</text>
  36. </view>
  37. <text class="se-c-orange se-mt-20 se-fs-24">124530有效</text>
  38. </template>
  39. <template v-if="stepsIndex==5">
  40. <view class="se-flex se-flex-h-c">
  41. <image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
  42. <text class="se-c-orange se-fs-30 se-ml-10">订单已完成</text>
  43. </view>
  44. <text class="se-c-orange se-mt-20 se-fs-24">124530有效</text>
  45. </template>
  46. <template v-if="stepsIndex==6">
  47. <view class="se-flex se-flex-h-c">
  48. <image class="se-a-50" src="@/static/image/46525.png" mode=""></image>
  49. <text class="se-c-orange se-fs-30 se-ml-10">订单已取消</text>
  50. </view>
  51. </template>
  52. </view>
  53. <view class="se-px-20 se-py-40" v-if="stepsIndex != 6">
  54. <u-steps activeColor="#FF7A31" :current="stepsIndex" dot>
  55. <u-steps-item class="se-fs-22" v-for="(items,indexs) in stepsList" :key="indexs" :title="items.title">
  56. <!-- <text class="se-fs-22" slot="title">{{items.title}}</text> -->
  57. </u-steps-item>
  58. </u-steps>
  59. </view>
  60. <view class="se-px-20">
  61. <view class="se-px-220 se-pb-30 se-fs-20 se-flex se-flex-h-c">
  62. <template>
  63. <view @click="onService()"
  64. class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
  65. <text>联系客服</text>
  66. </view>
  67. </template>
  68. <template v-if="stepsIndex == 2">
  69. <view @click="confirmOrderTryCompany()"
  70. class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
  71. <text>企业确认</text>
  72. </view>
  73. </template>
  74. <template v-if="stepsIndex==3">
  75. <view @click="onPay()"
  76. class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
  77. <text>去支付</text>
  78. </view>
  79. </template>
  80. </view>
  81. </view>
  82. <view class="se-px-40 se-py-20">
  83. <view class="se-flex se-flex-ai-c se-pb-10">
  84. <view class="line-orange"></view>
  85. <view class="se-ml-10 se-fs-32 se-c-black se-fw-6">
  86. 招聘工作详情
  87. </view>
  88. </view>
  89. <view class="se-flex se-flex-v-sa se-flex-ai-fs se-py-20">
  90. <view class="se-flex">
  91. <view class="se-w-160 se-h-160">
  92. <image class="se-w-160 se-h-160 se-br-10" :src="obj.workHeadImg" mode=""></image>
  93. </view>
  94. <view class="se-ml-20 se-flex se-flex-v-sa se-flex-ai-fs">
  95. <view class="se-fw-6 se-c-black se-fs-30 se-display-ib">工作职位:{{obj.title}}</view>
  96. <view class="se-fs-24 se-c-text-third se-display-ib">所属行业:{{obj.categoryOne}}</view>
  97. <!-- <view class="se-fs-24 se-c-text-third se-display-ib">所属工种:{{obj.title}}</view> -->
  98. <view class="se-fs-24 se-c-text-third se-display-ib">所属工种:{{obj.categoryTwo}}</view>
  99. </view>
  100. </view>
  101. <view class="se-flex se-flex-h-sb se-w-p-100 se-pt-20">
  102. <view class="se-fs-24 se-display-ib">日薪</view>
  103. <view class="se-c-orange se-fs-32 se-fw-6 se-display-ib">{{obj.employJob.salaryDay}}</view>
  104. </view>
  105. </view>
  106. <u-line dashed></u-line>
  107. <view class="se-py-10 se-pb-30">
  108. <view class="se-mt-30">
  109. <text class="se-fs-28 se-c-black se-fw5">招聘公司名称:{{obj.workName}}</text>
  110. <text class="se-fs-28 se-c-black se-fw5">招聘联系人:{{obj.employAuthenticationPerson.name}}</text>
  111. <text class="se-fs-24 se-c-text-third se-ml-40">联系方式:{{obj.employAuthenticationPerson.phone}}</text>
  112. <view class="se-bgc-orange se-c-white se-fs-20 se-display-ib se-px-10 se-py-5 se-br-10 se-ml-10"
  113. @click="copyText(obj.phone)">
  114. 复制
  115. </view>
  116. </view>
  117. <view class="se-mt-10">
  118. <text class="se-fs-24 se-c-33">工作地址:{{obj.workAddress}}</text>
  119. <view class="se-bgc-orange se-c-white se-fs-20 se-display-ib se-px-10 se-py-5 se-br-10 se-ml-10"
  120. @click="copyText(obj.workAddress)">
  121. 复制
  122. </view>
  123. </view>
  124. </view>
  125. <u-line dashed></u-line>
  126. <view class="se-mt-20 se-pt-20 se-pb-30">
  127. <view class="se-fw-6 se-fs-32 se-c-black">
  128. 订单信息
  129. </view>
  130. <view class="se-flex se-pt-30 se-flex-h-sb">
  131. <view class="se-fs-24 se-display-ib">支付方式</view>
  132. <view class="se-fs-24 se-display-ib" v-if="obj.payType==0">提前支付</view>
  133. <view class="se-fs-24 se-display-ib" v-if="obj.payType==1">试用后支付</view>
  134. </view>
  135. <view class="se-flex se-pt-30 se-flex-h-sb">
  136. <view class="se-fs-24 se-display-ib">工作时间</view>
  137. <view class="se-fs-24 se-display-ib">{{obj.employJob.startTime}} - {{obj.employJob.endTime}}</view>
  138. </view>
  139. </view>
  140. <u-line dashed></u-line>
  141. <view class="se-mt-20 se-pt-20 se-pb-30">
  142. <view class="se-fw-6 se-fs-32 se-c-black">
  143. 工作内容
  144. </view>
  145. <view class="se-fs-24 se-pt-20 se-pb-20 se-lh-40">
  146. <u-parse :content="obj.details"></u-parse>
  147. </view>
  148. </view>
  149. <view class="se-px-220 se-pb-30 se-fs-20 se-flex se-flex-h-c">
  150. <view @click="onService()"
  151. class="se-mx-10 se-w-200 se-br-40 se-flex-h-c se-h-50 se-lh-50 se-ta-c se-fs-24 se-c-white se-bgc-orange">
  152. <text>联系客服</text>
  153. </view>
  154. </view>
  155. </view>
  156. <view class="se-mt-10">
  157. <view class="se-m-20 se-br-20 se-bs-b se-bgc-white se-py-20 se-px-30" v-for="(items,indexs) in [obj]"
  158. :key="indexs">
  159. <view class="se-flex se-flex-h-sb">
  160. <view class="se-flex">
  161. <view class="se-a-100">
  162. <image class="se-a-100 se-br-p-50 se-bgc-f5" :src="items.employResume.headImage" mode="">
  163. </image>
  164. </view>
  165. <view class="se-ml-20 se-flex se-flex-v-c se-flex-ai-fs">
  166. <text
  167. class="se-fw-6 se-c-black se-fs-30">{{items.employResume.name?items.employResume.name:items.hanHaiMember.nickName}}<text
  168. class="se-mx-10 se-b-l"></text></text>
  169. <text
  170. class="se-fs-24 se-c-text-third">{{items.employResume.sex==1?"男":"女"}}-{{items.employResume.nation?items.employResume.nation:"未知"}}-{{items.employResume.age}}</text>
  171. </view>
  172. </view>
  173. <view @click.capture="onCustomerService(items.employAuthenticationPerson.phone)"
  174. v-if="stepsIndex != 6"
  175. class="se-flex se-flex-h-c se-py-10 se-px-20 se-br-12 se-fs-22 se-c-orange se-bgc-ffd se-fw-6">
  176. <u-icon color="#FF7A31" name="phone-fill"></u-icon>
  177. <text class="se-ml-5">联系他</text>
  178. </view>
  179. </view>
  180. <view v-if="stepsIndex == 0">
  181. <text class="se-c-text-third se-fs-22 se-mt-10">{{items.createTime}}</text>
  182. <view @click.capture="confirmOrder(items.employAuthenticationPerson.phone)"
  183. style="padding: 20rpx 0;"
  184. class="se-flex se-flex-h-c se-py-10 se-px-20 se-br-12 se-fs-22 se-c-orange se-bgc-ffd se-fw-6">
  185. <text class="se-ml-5">确认</text>
  186. </view>
  187. </view>
  188. </view>
  189. </view>
  190. </view>
  191. </template>
  192. <script>
  193. import {
  194. orderDetail,
  195. deleteOrder,
  196. confirmOrder,
  197. confirmOrderTryCompany,
  198. } from "@/common/api.js"
  199. export default {
  200. data() {
  201. return {
  202. stepsIndex: 1,
  203. stepsList: [{
  204. title: "接单",
  205. date: "10:21"
  206. },
  207. {
  208. title: "进行",
  209. date: "10:22"
  210. },
  211. {
  212. title: "试工完成",
  213. date: "10:23"
  214. },
  215. {
  216. title: "企业确认",
  217. date: "10:24"
  218. },
  219. {
  220. title: "企业支付",
  221. date: "10:25"
  222. },
  223. {
  224. title: "企业完成",
  225. date: "10:26"
  226. }
  227. ],
  228. detail: `<p>
  229. 1全日制大专以上学历艺术设计类相关专业;<br/>
  230. 2两年以上平面品牌视觉设计等相关工作经验能独立完成项目的设计工作 3C数码/个护健 类产品服务经验优先有乙方工作经验佳;<br/>
  231. 3具备一定的设计提案能力能完整的呈现设计思路与创意能清晰的表达设计逻辑与思考;<br/>
  232. 4热爱设计平面基本功扎实拥有优良的审美与创意想法对版式色彩把控能力强;对工作富有责任心具备团队沟通与协作能力;<br/>
  233. 5精通 PSAICDR 等平面设计软件能独立完成日常平面设计工作内容熟练使用 PPT/Keynote能完成提案内容的材料美化工作<br/>
  234. </p>`,
  235. obj: {}
  236. }
  237. },
  238. onLoad(options) {
  239. this.orderId = options.orderId
  240. },
  241. onShow() {
  242. this.onOrderDetail()
  243. },
  244. methods: {
  245. onOrderDetail() {
  246. let that = this
  247. let params = {
  248. orderId: that.orderId
  249. }
  250. orderDetail(params).then(response => {
  251. that.obj = response.result
  252. that.stepsIndex = response.result.status;
  253. }).catch(error => {
  254. })
  255. },
  256. copyText(event) {
  257. uni.setClipboardData({
  258. data: event,
  259. success: () => {
  260. uni.showToast({
  261. title: "复制成功",
  262. icon: "none",
  263. });
  264. },
  265. fail: (err) => {
  266. console.error("复制失败", err);
  267. },
  268. })
  269. },
  270. onCancel() {
  271. deleteOrder(this.orderId).then(res => {
  272. if (res.code == 200) {
  273. uni.navigateBack(-1)
  274. }
  275. })
  276. },
  277. onCustomerService(phone) {
  278. uni.makePhoneCall({
  279. phoneNumber: phone,
  280. success: () => {
  281. console.log("拨打成功");
  282. },
  283. fail: (err) => {
  284. console.error("拨打失败", err);
  285. },
  286. })
  287. },
  288. onService() {
  289. console.info(`联系客服`)
  290. uni.makePhoneCall({
  291. phoneNumber: this.obj.workPhone,
  292. success: () => {
  293. console.log("拨打成功");
  294. },
  295. fail: (err) => {
  296. console.error("拨打失败", err);
  297. },
  298. })
  299. },
  300. // 订单信息-企业确认试工完成
  301. confirmOrderTryCompany(){
  302. confirmOrderTryCompany(this.orderId)
  303. .then(res => {
  304. if(res.code == 200){
  305. uni.showToast({
  306. title: '确认成功',
  307. icon: 'none'
  308. })
  309. this.onOrderDetail()
  310. }
  311. })
  312. },
  313. // 订单信息-企业确认订单
  314. confirmOrder() {
  315. confirmOrder(this.orderId)
  316. .then(res => {
  317. if(res.code == 200){
  318. uni.showToast({
  319. title: '确认成功',
  320. icon: 'none'
  321. })
  322. this.onOrderDetail()
  323. }
  324. })
  325. },
  326. onPay() {
  327. uni.navigateTo({
  328. url: "/pages_subpack/pay/index?orderId=" + this.orderId
  329. })
  330. },
  331. onDel() {
  332. console.info(`删除`)
  333. }
  334. }
  335. }
  336. </script>
  337. <style lang="scss" scoped>
  338. </style>