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

330 lines
6.5 KiB

6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
6 months ago
6 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
4 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
4 months ago
6 months ago
4 months ago
4 months ago
4 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
6 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
4 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" :name="personInfo.name"
  30. :phoneCall="personInfo.phone" />
  31. </view>
  32. <view class="address">
  33. <view class="title2">
  34. 工作地址
  35. </view>
  36. <!--
  37. 深圳罗湖区深圳市百货广场大厦罗湖区百货广场大厦东深圳罗湖区深圳市百货广场大厦罗湖区百货广场大厦东
  38. -->
  39. <view class="line" style="justify-content: space-between;">
  40. {{ detail.workAddress }}
  41. <uv-icon size="30rpx" color="666" name="arrow-right"></uv-icon>
  42. </view>
  43. <!-- <view class="tag-list">
  44. <view>
  45. 距您14.6千米
  46. </view>
  47. </view> -->
  48. </view>
  49. <view class="info">
  50. <view class="title2">
  51. <text>职位详情</text>
  52. <view v-if="collectionFlag == false" @click="addJobCollection">
  53. <uv-icon size="30rpx" color="666" name="star"></uv-icon>
  54. 收藏
  55. </view>
  56. <view v-else @click="addJobCollection" style="color: red;">
  57. <uv-icon size="30rpx" color="666" name="star"></uv-icon>
  58. 已收藏
  59. </view>
  60. </view>
  61. <view class="tag-list">
  62. <view :key="i" v-for="(t, i) in detail.tab && detail.tab.split('、')">
  63. {{ t }}
  64. </view>
  65. </view>
  66. <view class="text">
  67. <uv-parse :content="detail.workDetail"></uv-parse>
  68. </view>
  69. </view>
  70. </view>
  71. <view class="boss-box" @click="$utils.navigateTo('/pages_order/work/bossDetail?id='+detail.id)">
  72. <view class="image">
  73. <image :src="companyInfo.logo" mode=""></image>
  74. </view>
  75. <view class="shop-box">
  76. <view class="title">
  77. {{companyInfo.companyName}}
  78. </view>
  79. <view class="desc">
  80. {{companyInfo.financing}}*{{companyInfo.industry}}*{{companyInfo.number}}
  81. </view>
  82. </view>
  83. <view class="arrow-right">
  84. <uv-icon name="arrow-right" size="40rpx" color="#5baaff"></uv-icon>
  85. </view>
  86. </view>
  87. <view class="list-work">
  88. <view class="text">
  89. 推荐职位<text>{{total}}</text>
  90. </view>
  91. <view style="margin: 20rpx;"
  92. @click="$utils.navigateTo('/pages_order/work/workDetail?id=' + item.id)"
  93. :key="index" v-for="(item, index) in list">
  94. <workItem :item="item" />
  95. </view>
  96. </view>
  97. </view>
  98. </template>
  99. <script>
  100. import userHead from '../components/user/userHead.vue'
  101. import mixinList from '@/mixins/list.js'
  102. import workItem from '@/components/list/workList/workItem.vue'
  103. export default {
  104. mixins: [mixinList],
  105. components: {
  106. userHead,
  107. workItem,
  108. },
  109. data() {
  110. return {
  111. text: '',
  112. id: 0,
  113. detail: {},
  114. personInfo: {},
  115. companyInfo: {},
  116. hanHaiMember: {},
  117. total: 0,
  118. collectionFlag: false,
  119. mixinsListApi: 'employeeQueryJobList',
  120. }
  121. },
  122. onLoad({
  123. id
  124. }) {
  125. this.id = id
  126. this.queryParams.id = id;
  127. },
  128. onShow() {
  129. this.getDetail()
  130. },
  131. methods: {
  132. getDetail() {
  133. let data = {
  134. jobId: this.id
  135. }
  136. if (uni.getStorageSync('token')) {
  137. data.token = uni.getStorageSync('token')
  138. }
  139. this.$api('employeeQueryJobById', data, res => {
  140. if (res.code == 200) {
  141. this.detail = res.result.jobInfo
  142. this.collectionFlag = res.result.collectionFlag
  143. this.personInfo = res.result.personInfo
  144. this.companyInfo = res.result.companyInfo
  145. this.hanHaiMember = res.result.hanHaiMember
  146. }
  147. })
  148. },
  149. addJobCollection() {
  150. let data = {
  151. jobId: this.id
  152. }
  153. if (uni.getStorageSync('token')) {
  154. data.token = uni.getStorageSync('token')
  155. }
  156. this.$api('addJobCollection', data, res => {
  157. if (res.code == 200) {
  158. uni.showToast({
  159. title: res.message,
  160. icon: 'none'
  161. })
  162. }
  163. })
  164. this.getDetail();
  165. }
  166. }
  167. }
  168. </script>
  169. <style scoped lang="scss">
  170. .page {
  171. min-height: 100vh;
  172. .box {
  173. padding: 30rpx;
  174. background-color: #fff;
  175. .title {
  176. font-size: 34rpx;
  177. font-weight: 900;
  178. padding-bottom: 20rpx;
  179. }
  180. .title2 {
  181. font-size: 28rpx;
  182. font-weight: 900;
  183. display: flex;
  184. justify-content: space-between;
  185. align-items: center;
  186. view {
  187. display: flex;
  188. align-items: center;
  189. justify-content: center;
  190. }
  191. }
  192. .price {
  193. font-size: 30rpx;
  194. font-weight: 900;
  195. color: $uni-color;
  196. }
  197. .line {
  198. display: flex;
  199. font-size: 24rpx;
  200. color: #666666;
  201. margin-top: 30rpx;
  202. image {
  203. width: 30rpx;
  204. height: 30rpx;
  205. }
  206. &>view {
  207. margin-right: 50rpx;
  208. display: flex;
  209. justify-content: center;
  210. align-items: center;
  211. }
  212. }
  213. .userHead {
  214. padding: 50rpx 0;
  215. border-bottom: 1px solid #00000011;
  216. }
  217. .address {
  218. padding: 30rpx 0;
  219. .line {
  220. margin-top: 20rpx;
  221. }
  222. }
  223. .info {
  224. .text {
  225. font-size: 24rpx;
  226. color: #666666;
  227. line-height: 44rpx;
  228. }
  229. }
  230. }
  231. .boss-box {
  232. margin: 10rpx 0;
  233. padding: 30rpx;
  234. background-color: #fff;
  235. display: flex;
  236. align-items: center;
  237. .image {
  238. width: 90rpx;
  239. height: 90rpx;
  240. margin-right: 10rpx;
  241. flex-shrink: 0;
  242. image {
  243. width: 100%;
  244. height: 100%;
  245. border-radius: 10rpx;
  246. }
  247. }
  248. .shop-box {
  249. flex: 1;
  250. width: calc(100% - 220rpx);
  251. .title {
  252. font-size: 28rpx;
  253. overflow: hidden; //超出的文本隐藏
  254. text-overflow: ellipsis; //溢出用省略号显示
  255. white-space: nowrap; //溢出不换行
  256. }
  257. .desc {
  258. margin-top: 10rpx;
  259. font-size: 24rpx;
  260. overflow: hidden; //超出的文本隐藏
  261. text-overflow: ellipsis; //溢出用省略号显示
  262. white-space: nowrap; //溢出不换行
  263. }
  264. }
  265. .arrow-right {
  266. flex-shrink: 0;
  267. margin-left: auto;
  268. display: flex;
  269. align-items: center;
  270. font-size: 26rpx;
  271. }
  272. }
  273. .list-work {
  274. .text {
  275. background-color: #fff;
  276. padding: 26rpx;
  277. font-weight: 900;
  278. text {
  279. font-weight: 500;
  280. color: #666666;
  281. font-size: 26rpx;
  282. margin-left: 20rpx;
  283. }
  284. }
  285. }
  286. }
  287. </style>