detail.vue 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. <template>
  2. <view v-if="pageloading">
  3. <view class="bg-white padding-top padding-lr margin-bottom">
  4. <view class="flex">
  5. <view class="flex-sub flex-direction align-center padding-right">
  6. <view class="text-lg text-cut echo-comjobs-item-title">
  7. <text class="text-bold">{{info.nickname}}</text>
  8. <text class="text-gray text-df">({{info.jobintention_text || '不限'}})</text>
  9. </view>
  10. <view class="text-gray text-df padding-top-sm">
  11. <text class="padding-right-xs">{{sex[info.gender] || '性别未知'}} ·</text>
  12. <text class="padding-right-xs">{{info.age ? info.age+'岁' : '年龄未知' }} ·</text>
  13. <text class="padding-right-xs">{{info.education_text || '学历未知'}}</text>
  14. </view>
  15. </view>
  16. <view class="round" style="width: 110rpx;position: relative;">
  17. <image class="round" :src="info.avatar" mode="aspectFit" style="width: 110rpx;height: 110rpx;"></image>
  18. <text class="round cuIcon-male bg-blue text-sm genderIcon" v-if="info.gender == 1"></text>
  19. <text class="round cuIcon-female bg-pink text-sm genderIcon" v-else-if="info.gender == 2"></text>
  20. </view>
  21. </view>
  22. <view class="text-cut text-sm flex justify-between align-center padding-bottom-sm padding-top-xs">
  23. <view class="basis-xl text-sm text-cut text-red">
  24. 工作经验:{{info.worker_text}}
  25. </view>
  26. <view class="basis-xs text-cut text-right text-sm">
  27. 浏览量:{{info.volume}}
  28. </view>
  29. </view>
  30. </view>
  31. <block v-if="(info.com_cate_type == 1 && info.com_cate.length > 0) || (info.com_cate_type == 2 && info.com_cate_other.length > 0)">
  32. <view class="cu-bar bg-white">
  33. <view class="action">
  34. <text class="cuIcon-titles text-red"></text> 意向工种
  35. </view>
  36. </view>
  37. <view class="echo-article-details bg-white solids-bottom" style="padding-top: 0rpx;" v-if="info.com_cate_type == 1">
  38. <view class="bg-white padding-top text-gray">
  39. <view v-for="(item,index) in info.com_cate" :key="index" class="cu-tag light bg-red echo-tags-item">{{item}}</view>
  40. </view>
  41. </view>
  42. <view class="echo-article-details bg-white solids-bottom" style="padding-top: 0rpx;" v-if="info.com_cate_type == 2">
  43. <view class="bg-white padding-top text-gray">
  44. <view class="cu-tag light bg-red echo-tags-item">{{info.com_cate_other}}</view>
  45. </view>
  46. </view>
  47. </block>
  48. <view class="cu-bar bg-white" v-if="info.emp_time.length > 0">
  49. <view class="action">
  50. <text class="cuIcon-titles text-red"></text> 用工时间
  51. </view>
  52. </view>
  53. <view class="echo-article-details bg-white solids-bottom" style="padding-top: 0rpx;" v-if="info.emp_time.length > 0">
  54. <view class="bg-white padding-top text-gray">
  55. <view v-for="(item,index) in info.emp_time" :key="index" class="cu-tag light bg-red echo-tags-item">{{item}}</view>
  56. </view>
  57. </view>
  58. <view class="cu-bar bg-white" v-if="info.work_place.length > 0">
  59. <view class="action">
  60. <text class="cuIcon-titles text-red"></text> 工作地点
  61. </view>
  62. </view>
  63. <view class="echo-article-details bg-white solids-bottom" style="padding-top: 0rpx;" v-if="info.work_place.length > 0">
  64. <view class="bg-white padding-top text-gray">
  65. <view v-for="(item,index) in info.work_place" :key="index" class="cu-tag light bg-red echo-tags-item">{{item}}</view>
  66. </view>
  67. </view>
  68. <view class="cu-bar bg-white">
  69. <view class="action">
  70. <text class="cuIcon-titles text-red"></text> 个人描述
  71. </view>
  72. </view>
  73. <view class="echo-article-details bg-white solids-bottom" style="padding-top: 0rpx;">
  74. <text>{{info.eduexperience}}</text>
  75. </view>
  76. <view class="cu-bar bg-white">
  77. <view class="action">
  78. <text class="cuIcon-titles text-red"></text> 服务流程
  79. </view>
  80. </view>
  81. <view class="echo-article-details bg-white solids-bottom" style="padding-top: 0rpx;">
  82. <image :src="$getImageUrl('static/images/applet/detaillu.png')" mode="widthFix" style="width: 100%;"></image>
  83. </view>
  84. <view class="padding"></view>
  85. <view class="padding"></view>
  86. <view class="cu-bar bg-white tabbar border shop foot" v-if="workerinfo">
  87. <!-- <button class="text-gray action" @tap="setComjobsStar">
  88. <view class="padding-bottom-xs">
  89. <image style="width: 38rpx; height: 38rpx;" :src="$getImageUrl('static/images/applet/detstar.png')"></image>
  90. </view>
  91. {{comjobsstar==0 ? '收藏' : '已收藏'}}
  92. </button> -->
  93. <view class="bg-red submit echo-foot-button" @tap="resumeInvite()" v-if="!invite"> <text>发出邀请</text> </view>
  94. <view class="bg-grey submit echo-foot-button" @tap="contactUser()" v-if="invite && info.is_public == 1"> <text>联系对方</text> </view>
  95. <view class="bg-grey submit echo-foot-button" v-if="invite && info.is_public == 2"> <text>已邀请</text> </view>
  96. </view>
  97. <wxContact></wxContact>
  98. </skeleton>
  99. </view>
  100. </template>
  101. <script>
  102. var _this;
  103. export default {
  104. data() {
  105. return {
  106. appplatform: "",
  107. pageloading: false,
  108. userinfo: {},
  109. workerinfo: {},
  110. info: null,
  111. invite: null,
  112. comjobsstar: 0,
  113. modal: {
  114. name: null,
  115. comjobspic: ""
  116. },
  117. sex: ['未知','男','女'],
  118. }
  119. },
  120. onShareAppMessage: function(res) {
  121. return {
  122. title: _this.info.nickname,
  123. path: "/pages/resume/detail?id=" + _this.info.id + "&parentid=" + _this.userinfo == null ? 0 : _this.userinfo.id
  124. }
  125. },
  126. onLoad: function(option) {
  127. _this = this;
  128. //#ifdef APP-PLUS
  129. _this.appplatform = uni.getSystemInfoSync().platform;
  130. //#endif
  131. var id = option.id || 0;
  132. var parentid = option.parentid || 0;
  133. _this.userinfo = uni.getStorageSync('userinfo') || false;
  134. _this.workerinfo = uni.getStorageSync('workerinfo') || false;
  135. uni.setStorageSync('parentid', parentid);
  136. _this.$req.ajax({
  137. path: "resume/detail",
  138. title: "加载中...",
  139. data: {
  140. id: id,
  141. workerid: _this.workerinfo == null ? 0 : _this.workerinfo.id
  142. }
  143. }).then((data) => {
  144. _this.info = data.info;
  145. _this.invite = data.invite;
  146. _this.pageloading = true;
  147. }).catch((err) => {
  148. uni.showModal({
  149. title: '信息提示',
  150. content: err,
  151. showCancel: false
  152. });
  153. });
  154. },
  155. methods: {
  156. resumeInvite: function() {
  157. _this.$req.ajax({
  158. title: "邀请中",
  159. path: "resume/invite",
  160. data: {
  161. userid: _this.info.id,
  162. workerid: _this.workerinfo.id
  163. }
  164. }).then((data) => {
  165. if (_this.info.is_public == 1) {
  166. uni.showModal({
  167. title: '温馨提示',
  168. content: '恭喜您,邀请成功!!!。',
  169. confirmText: '联系对方',
  170. cancelText: "好的",
  171. success: function(res){
  172. if (res.confirm) {
  173. uni.makePhoneCall({
  174. phoneNumber:_this.info.mobile
  175. });
  176. }
  177. },
  178. });
  179. } else {
  180. uni.showModal({
  181. title: '温馨提示',
  182. content: "恭喜您,邀请成功!!!。",
  183. showCancel: false
  184. });
  185. }
  186. _this.invite = data;
  187. }).catch((err) => {
  188. uni.showModal({
  189. title: '温馨提示',
  190. content: err,
  191. showCancel: false
  192. });
  193. });
  194. },
  195. contactUser: function() {
  196. uni.makePhoneCall({
  197. phoneNumber: _this.info.mobile
  198. });
  199. },
  200. }
  201. }
  202. </script>
  203. <style lang="scss">
  204. .flex-1 {
  205. flex: 1;
  206. }
  207. .flex-6 {
  208. flex: 6;
  209. }
  210. .picmodal {
  211. width: 450rpx;
  212. background-color: transparent;
  213. }
  214. .picmodal image {
  215. width: 100%;
  216. }
  217. .picmodal .bg-img {
  218. position: relative;
  219. }
  220. .picmodalclose {
  221. position: absolute;
  222. top: 0rpx;
  223. right: 0rpx;
  224. }
  225. .picallitem{ width: 340rpx; height: 260rpx; }
  226. .echo-picalllist{ height: calc(100vh - 105rpx); }
  227. .echo-picalllist .picitem{ width: 345rpx !important; }
  228. .echo-picalllist image{ width: 345rpx; padding-bottom: 15rpx; }
  229. .cu-item .bg-img{ width: 100%; height: 390rpx; background-position: center top; }
  230. .myVideo{ width: 750rpx; height: calc(100vh - 130px); }
  231. </style>