特易招,招聘小程序
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.

350 lines
7.4 KiB

7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
5 months ago
7 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
  1. <template>
  2. <view class="page">
  3. <navbar title="工作详情" leftClick @leftClick="$utils.navigateBack" />
  4. <view class="box">
  5. <view class="title">
  6. {{ detail.title }}
  7. </view>
  8. <view class="price">
  9. {{ detail.salaryLow }}-{{ detail.salaryUp }}
  10. </view>
  11. <view class="line">
  12. <!-- <view>
  13. <image src="../static/work/address.png" mode=""></image>
  14. {{ detail.workAge }}
  15. </view> -->
  16. <view>
  17. <image src="../static/work/g.png" mode=""></image>
  18. {{ detail.workAge }}
  19. </view>
  20. <view>
  21. <image src="../static/work/x.png" mode=""></image>
  22. {{ detail.qulification }}
  23. </view>
  24. </view>
  25. <view class="line">
  26. 该职位发布{{ $dayjs(detail.createTime).format('YYYY-MM-DD') }}
  27. </view>
  28. <view class="userHead">
  29. <userHead :image="hanHaiMember.headImage" :tips="personInfo.phone"
  30. :name="personInfo.name" :phoneCall="personInfo.phone"/>
  31. </view>
  32. <view class="address">
  33. <view class="title2">
  34. 工作地址
  35. </view>
  36. <!--
  37. 深圳罗湖区深圳市百货广场大厦罗湖区百货广场大厦东深圳罗湖区深圳市百货广场大厦罗湖区百货广场大厦东
  38. -->
  39. <view class="line"
  40. style="justify-content: space-between;">
  41. {{ detail.workAddress }}
  42. <uv-icon
  43. size="30rpx"
  44. color="666"
  45. name="arrow-right"
  46. ></uv-icon>
  47. </view>
  48. <!-- <view class="tag-list">
  49. <view>
  50. 距您14.6千米
  51. </view>
  52. </view> -->
  53. </view>
  54. <view class="info">
  55. <view class="title2">
  56. <text>职位详情</text>
  57. <view v-if="collectionFlag == false" @click="addJobCollection">
  58. <uv-icon
  59. size="30rpx"
  60. color="666"
  61. name="star"
  62. ></uv-icon>
  63. 收藏
  64. </view>
  65. <view v-else
  66. @click="addJobCollection" style="color: red;">
  67. <uv-icon
  68. size="30rpx"
  69. color="666"
  70. name="star"
  71. ></uv-icon>
  72. 已收藏
  73. </view>
  74. </view>
  75. <view class="tag-list">
  76. <view
  77. :key="i"
  78. v-for="(t, i) in detail.tab && detail.tab.split('、')">
  79. {{ t }}
  80. </view>
  81. </view>
  82. <!-- <view
  83. class="text"
  84. v-html="text">
  85. </view> -->
  86. <view
  87. class="text">
  88. <uv-parse :content="detail.workDetail"></uv-parse>
  89. </view>
  90. </view>
  91. </view>
  92. <view class="boss-box"
  93. @click="$utils.navigateTo('/pages_order/work/bossDetail?id='+detail.id)">
  94. <view class="image">
  95. <image :src="companyInfo.logo" mode=""></image>
  96. </view>
  97. <view class="shop-box"
  98. >
  99. <view class="title">
  100. {{companyInfo.companyName}}
  101. </view>
  102. <view class="desc">
  103. {{companyInfo.financing}}*{{companyInfo.industry}}*{{companyInfo.number}}
  104. </view>
  105. </view>
  106. <view class="arrow-right">
  107. <uv-icon
  108. name="arrow-right"
  109. size="40rpx"
  110. color="#5baaff"
  111. ></uv-icon>
  112. </view>
  113. </view>
  114. <view class="list-work">
  115. <view class="text">
  116. 推荐职位<text>{{total}}</text>
  117. </view>
  118. <view style="margin: 20rpx;"
  119. @click="$utils.navigateTo('/pages_order/work/userDetail?id=' + item.id)"
  120. :key="index"
  121. v-for="(item, index) in list">
  122. <workItem :item="item"/>
  123. </view>
  124. </view>
  125. </view>
  126. </template>
  127. <script>
  128. let text = `岗位要求
  129. 1全日制大专以上学历艺术设计类相关专业;
  130. 2两年以上平面品牌视觉设计等相关工作经验能独立完成项目的设计工作 3C数码/个护健 类产品服务经验优先有乙方工作经验佳;
  131. 3具备一定的设计提案能力能完整的呈现设计思路与创意能清晰的表达设计逻辑与思考;
  132. 4热爱设计平面基本功扎实拥有优良的审美与创意想法对版式色彩把控能力强;对工作富有责任心具备团队沟通与协作能力;
  133. 5精通 PSAICDR 等平面设计软件能独立完成日常平面设计工作内容熟练使用 PPT/Keynote能完成提案内容的材料美化工作
  134. `
  135. import userHead from '../components/user/userHead.vue'
  136. import mixinList from '@/mixins/list.js'
  137. import workItem from '@/components/list/workList/workItem.vue'
  138. export default {
  139. mixins : [mixinList],
  140. components : {
  141. userHead,
  142. workItem,
  143. },
  144. data() {
  145. return {
  146. text : '',
  147. id : 0,
  148. detail : {},
  149. personInfo:{},
  150. companyInfo:{},
  151. hanHaiMember:{},
  152. total:0,
  153. collectionFlag : false,
  154. mixinsListApi : 'employeeQueryJobList',
  155. }
  156. },
  157. onLoad({id}) {
  158. this.id = id
  159. this.queryParams.id=id;
  160. },
  161. onShow() {
  162. this.text = this.$utils.stringFormatHtml(text)
  163. this.getDetail()
  164. },
  165. methods: {
  166. getDetail(){
  167. let data = {
  168. jobId : this.id
  169. }
  170. if(uni.getStorageSync('token')){
  171. data.token = uni.getStorageSync('token')
  172. }
  173. this.$api('employeeQueryJobById', data, res => {
  174. if(res.code == 200){
  175. this.detail = res.result.jobInfo
  176. this.collectionFlag = res.result.CollectionFlage
  177. this.personInfo = res.result.personInfo
  178. this.companyInfo = res.result.companyInfo
  179. this.hanHaiMember = res.result.hanHaiMember
  180. }
  181. })
  182. },
  183. addJobCollection(){
  184. let data = {
  185. jobId : this.id
  186. }
  187. if(uni.getStorageSync('token')){
  188. data.token = uni.getStorageSync('token')
  189. }
  190. this.$api('addJobCollection', data, res => {
  191. if(res.code == 200){
  192. uni.showToast({
  193. title: res.message,
  194. icon: 'none'
  195. })
  196. }
  197. })
  198. this.getDetail();
  199. }
  200. }
  201. }
  202. </script>
  203. <style scoped lang="scss">
  204. .page{
  205. min-height: 100vh;
  206. .box{
  207. padding: 30rpx;
  208. background-color: #fff;
  209. .title{
  210. font-size: 34rpx;
  211. font-weight: 900;
  212. padding-bottom: 20rpx;
  213. }
  214. .title2{
  215. font-size: 28rpx;
  216. font-weight: 900;
  217. display: flex;
  218. justify-content: space-between;
  219. align-items: center;
  220. view{
  221. display: flex;
  222. align-items: center;
  223. justify-content: center;
  224. }
  225. }
  226. .price{
  227. font-size: 30rpx;
  228. font-weight: 900;
  229. color: $uni-color;
  230. }
  231. .line{
  232. display: flex;
  233. font-size: 24rpx;
  234. color: #666666;
  235. margin-top: 30rpx;
  236. image{
  237. width: 30rpx;
  238. height: 30rpx;
  239. }
  240. &>view{
  241. margin-right: 50rpx;
  242. display: flex;
  243. justify-content: center;
  244. align-items: center;
  245. }
  246. }
  247. .userHead{
  248. padding: 50rpx 0;
  249. border-bottom: 1px solid #00000011;
  250. }
  251. .address{
  252. padding: 30rpx 0;
  253. .line{
  254. margin-top: 20rpx;
  255. }
  256. }
  257. .info{
  258. .text{
  259. font-size: 24rpx;
  260. color: #666666;
  261. line-height: 44rpx;
  262. }
  263. }
  264. }
  265. .boss-box{
  266. margin: 10rpx 0;
  267. padding: 30rpx;
  268. background-color: #fff;
  269. display: flex;
  270. align-items: center;
  271. .image{
  272. width: 90rpx;
  273. height: 90rpx;
  274. margin-right: 10rpx;
  275. flex-shrink: 0;
  276. image{
  277. width: 100%;
  278. height: 100%;
  279. border-radius: 10rpx;
  280. }
  281. }
  282. .shop-box{
  283. flex: 1;
  284. width: calc(100% - 220rpx);
  285. .title{
  286. font-size: 28rpx;
  287. overflow:hidden; //超出的文本隐藏
  288. text-overflow:ellipsis; //溢出用省略号显示
  289. white-space:nowrap; //溢出不换行
  290. }
  291. .desc{
  292. margin-top: 10rpx;
  293. font-size: 24rpx;
  294. overflow:hidden; //超出的文本隐藏
  295. text-overflow:ellipsis; //溢出用省略号显示
  296. white-space:nowrap; //溢出不换行
  297. }
  298. }
  299. .arrow-right{
  300. flex-shrink: 0;
  301. margin-left: auto;
  302. display: flex;
  303. align-items: center;
  304. font-size: 26rpx;
  305. }
  306. }
  307. .list-work{
  308. .text{
  309. background-color: #fff;
  310. padding: 26rpx;
  311. font-weight: 900;
  312. text{
  313. font-weight: 500;
  314. color: #666666;
  315. font-size: 26rpx;
  316. margin-left: 20rpx;
  317. }
  318. }
  319. }
  320. }
  321. </style>