瑶都万能墙
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.

243 lines
4.5 KiB

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
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
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.minPrice }}-{{ detail.maxPrice }}
  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.workYear }}
  19. </view>
  20. <view>
  21. <!-- <image src="../static/work/x.png" mode=""></image> -->
  22. {{ detail.school }}
  23. </view>
  24. </view>
  25. <view class="line">
  26. 该职位位于{{ $dayjs(detail.createTime).format('YYYY-MM-DD') }}
  27. </view>
  28. <!-- <view class="userHead">
  29. <userHead :headImage="detail.headImage"
  30. :name="detail.name" :phoneCall="detail.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.address }}
  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>
  58. <uv-icon
  59. size="30rpx"
  60. color="666"
  61. name="star"
  62. ></uv-icon>
  63. 收藏
  64. </view>
  65. </view>
  66. <view class="tag-list">
  67. <view v-for="(t, i) in detail.iconText && detail.iconText.split('、')">
  68. {{ t }}
  69. </view>
  70. </view>
  71. <view
  72. class="text"
  73. v-html="detail.jobDetails">
  74. </view>
  75. <!-- <view
  76. class="text">
  77. <uv-parse :content="detail.workDetail"></uv-parse>
  78. </view> -->
  79. </view>
  80. </view>
  81. <commentList
  82. @getData="getData"
  83. :list="list"
  84. :params="params"
  85. />
  86. </view>
  87. </template>
  88. <script>
  89. import mixinsList from '@/mixins/list.js'
  90. import commentList from '../components/list/comment/commentList.vue'
  91. export default {
  92. mixins: [mixinsList],
  93. components : {
  94. commentList,
  95. },
  96. data() {
  97. return {
  98. id : 0,
  99. detail : {},
  100. collectionFlag : false,
  101. mixinsListApi : 'getCommentPage',
  102. params : {
  103. type : '2',
  104. orderId : '',
  105. name : '',
  106. },
  107. }
  108. },
  109. onLoad(options) {
  110. this.id = options.id
  111. this.queryParams.type = this.params.type
  112. this.queryParams.orderId = options.id
  113. this.params.orderId = options.id
  114. },
  115. onPullDownRefresh() {
  116. this.getDetail()
  117. },
  118. onShow() {
  119. this.getDetail()
  120. },
  121. onShareAppMessage(res) {
  122. return {
  123. title: this.detail.title,
  124. path: '/pages_order/work/workDetail?id=' + this.id
  125. }
  126. },
  127. methods: {
  128. getDetail(){
  129. let data = {
  130. id : this.id
  131. }
  132. if(uni.getStorageSync('token')){
  133. data.token = uni.getStorageSync('token')
  134. }
  135. this.$api('getJobDetail', data, res => {
  136. if(res.code == 200){
  137. this.params.name = res.result.title
  138. this.detail = res.result
  139. this.detail.jobDetails = this.$utils.stringFormatHtml(res.result.jobDetails)
  140. this.collectionFlag = res.result.collectionFlag
  141. }
  142. })
  143. },
  144. }
  145. }
  146. </script>
  147. <style scoped lang="scss">
  148. .page{
  149. .box{
  150. padding: 30rpx;
  151. background-color: #fff;
  152. .title{
  153. font-size: 34rpx;
  154. font-weight: 900;
  155. padding-bottom: 20rpx;
  156. }
  157. .title2{
  158. font-size: 28rpx;
  159. font-weight: 900;
  160. display: flex;
  161. justify-content: space-between;
  162. align-items: center;
  163. view{
  164. display: flex;
  165. align-items: center;
  166. justify-content: center;
  167. }
  168. }
  169. .price{
  170. font-size: 30rpx;
  171. font-weight: 900;
  172. color: $uni-color;
  173. }
  174. .line{
  175. display: flex;
  176. font-size: 24rpx;
  177. color: #666666;
  178. margin-top: 30rpx;
  179. image{
  180. width: 30rpx;
  181. height: 30rpx;
  182. }
  183. &>view{
  184. margin-right: 50rpx;
  185. display: flex;
  186. justify-content: center;
  187. align-items: center;
  188. }
  189. }
  190. .userHead{
  191. padding: 50rpx 0;
  192. border-bottom: 1px solid #00000011;
  193. }
  194. .address{
  195. padding: 30rpx 0;
  196. .line{
  197. margin-top: 20rpx;
  198. }
  199. }
  200. .info{
  201. .text{
  202. font-size: 24rpx;
  203. color: #666666;
  204. line-height: 44rpx;
  205. }
  206. }
  207. }
  208. }
  209. .tag-list{
  210. display: flex;
  211. flex-wrap: wrap;
  212. }
  213. .tag-list > view{
  214. margin: 10rpx;
  215. padding: 10rpx;
  216. background-color: #EFF2F1;
  217. font-size: 24rpx;
  218. border-radius: 10rpx;
  219. }
  220. </style>