recruit_detail.html 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. {extend name="public/base"/}
  2. {block name="css"}
  3. <style>
  4. .base-content .header {background-image:url("__MIMAGES__/detail_header.jpg");background-repeat:no-repeat;background-size:100% 70px;width:100%;height:70px;display:flex;align-items:center;justify-content:center;padding:0 20px;}
  5. .base-content .header .left {flex:1;display:flex;flex-direction:column;}
  6. .base-content .header .salary-box {line-height:24px;height:24px;flex:1;}
  7. .base-content .header .salary-box .salary {color:white;font-size:24px;font-weight:bold;}
  8. .base-content .header .salary-box .text {color:white;font-size:14px;margin-left:5px;}
  9. .base-content .header .company-name {color:white;font-size:14px;}
  10. .base-content .header .phone-box {display:flex;flex-direction:column;}
  11. .base-content .header .phone-box .text{color:white;}
  12. .base-content .title {background:white;padding:10px 20px;color:#000;font-size:18px;}
  13. .base-content .tags {background:white;padding:0 20px 10px 20px;}
  14. .base-content .tags .van-tag {margin-right:5px;}
  15. .base-content .introduce {background:white;}
  16. .base-content .introduce .introduce-item {border-top:1px solid #f0f0f0;padding:5px 20px;display:flex;align-items:center;}
  17. .base-content .introduce .introduce-item .van-image{margin-right:5px;}
  18. .base-content .introduce .introduce-item .split{margin:0 15px;}
  19. .describe {margin-top:10px;background:white;}
  20. .describe .header {padding:10px 20px;font-size:16px;border-bottom:1px solid #f0f0f0;}
  21. .describe .content {padding:10px 20px;}
  22. .describe .content pre {font-size: 14px;line-height: 20px;padding: 0;margin: 0;font-family: "Microsoft Yahei",arial,"Hiragino Sans GB","Hiragino Sans GB W3",宋体,simsun;}
  23. .footer .van-button {width:50%;border-radius:0;}
  24. </style>
  25. {/block}
  26. {block name="body"}
  27. <van-nav-bar
  28. class="nav-theme"
  29. :fixed="true"
  30. :placeholder="true"
  31. left-text="返回"
  32. left-arrow
  33. @click-left="onBack"
  34. >
  35. <template #title>
  36. <span class="text-white">详情</span>
  37. </template>
  38. </van-nav-bar>
  39. <div class="base-content">
  40. <div class="header">
  41. <div class="left">
  42. <div class="salary-box">
  43. <van-image
  44. width="15px"
  45. src="__MIMAGES__/icon_salary_white.png"
  46. ></van-image>
  47. <span class="text">工资:</span>
  48. <span class="salary">{{info.salary}}</span>
  49. </div>
  50. <div class="company-name">{{info.company_name}}</div>
  51. </div>
  52. </div>
  53. <div class="title">{{info.title}}</div>
  54. <div class="tags" v-if="info.tags.length > 0">
  55. <van-tag type="primary" size="large" v-for="tag in info.tags">{{tag}}</van-tag>
  56. </div>
  57. <div class="introduce">
  58. <div class="introduce-item">
  59. <van-image
  60. width="15px"
  61. src="__MIMAGES__/icon_num.png"
  62. ></van-image>
  63. <span>招聘人数:{{info.num}}</span>
  64. <span class="split">|</span>
  65. <van-image
  66. width="15px"
  67. src="__MIMAGES__/icon_age.png"
  68. ></van-image>
  69. <span>年龄:{{info.agegroup}}</span>
  70. </div>
  71. <div class="introduce-item">
  72. <van-image
  73. width="15px"
  74. src="__MIMAGES__/icon_address.png"
  75. ></van-image>
  76. <span>{{info.province}}{{info.city}}{{info.district}}{{info.address}}</span>
  77. </div>
  78. </div>
  79. </div>
  80. <div class="describe" v-if="info.requirement">
  81. <div class="header">
  82. 岗位要求
  83. </div>
  84. <div class="content">
  85. <pre>{{info.requirement}}</pre>
  86. </div>
  87. </div>
  88. <div class="describe" v-if="info.comdetails">
  89. <div class="header">
  90. 企业简介
  91. </div>
  92. <div class="content">
  93. <pre>{{info.comdetails}}</pre>
  94. </div>
  95. </div>
  96. <div class="describe" v-if="info.picall.length > 0">
  97. <div class="header">
  98. 相册
  99. </div>
  100. <div class="content">
  101. <van-grid :border="false">
  102. <van-grid-item v-for="(image,index) in info.picall">
  103. <van-image
  104. :src="image"
  105. @click="showImage(index)"
  106. ></van-image>
  107. </van-grid-item>
  108. </van-grid>
  109. </div>
  110. </div>
  111. <div class="describe" v-if="info.remark">
  112. <div class="header">
  113. 补充说明
  114. </div>
  115. <div class="content">
  116. <pre>{{info.remark}}</pre>
  117. </div>
  118. </div>
  119. <div style="width:100%;height:44px;"></div>
  120. <div style="width:100%;position:fixed;left:0;bottom:0;" class="footer">
  121. <van-button type="danger" @click="showQrcode">联系客服</van-button>
  122. <van-button @click="onReport" type="primary">报备</van-button>
  123. </div>
  124. <van-popup v-model:show="qrcodeShow" :style="{ padding: '32px' }">
  125. <van-image width="100%" src="__STATIC__/images/applet/qrcode_contact.png"></van-image>
  126. <p style="text-align:center;">长按二维码添加客服</p>
  127. </van-popup>
  128. {/block}
  129. {block name="script"}
  130. <script>
  131. function v_setup() {
  132. let base = {};
  133. base.active = Vue.ref(0);
  134. base.info = Vue.reactive({$info});
  135. base.onPhone = () => {
  136. location.href = 'tel:' + base.info.telephone;
  137. };
  138. base.showImage = (index) => {
  139. vant.showImagePreview({
  140. images: base.info.picall,
  141. startPosition: index,
  142. loop:false,
  143. });
  144. };
  145. base.qrcodeShow = Vue.ref(false);
  146. base.showQrcode = () => {
  147. base.qrcodeShow.value = true;
  148. };
  149. base.onReport = () => {
  150. location.href = "{:url('worker/report')}?id=" + base.info.id;
  151. };
  152. base.onBack = () => {
  153. location.href = "{:url('worker/index')}";
  154. };
  155. return base;
  156. }
  157. </script>
  158. {/block}