detail.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841
  1. <template>
  2. <view v-if="pageloading">
  3. <view class="jobDesc">
  4. <view class="jobDesc-title">{{comjobs.title}}</view>
  5. <view class="jobDesc-salary">工资:{{comjobs.zwagall}}</view>
  6. <view class="jobDesc-tags">
  7. <view class="jobDesc-tags-item" v-if="comjobs.wtype==1">按月</view>
  8. <view class="jobDesc-tags-item" v-if="comjobs.wtype==2">按时</view>
  9. <view class="jobDesc-tags-item" v-if="comjobs.wtype==3">按件</view>
  10. <view class="jobDesc-tags-item" v-if="comjobs.wtype==4">按项目</view>
  11. <view class="jobDesc-tags-item">{{comjobs.recruit_num}}名</view>
  12. <view class="jobDesc-tags-item">{{sex_text}}</view>
  13. </view>
  14. <view class="jobDesc-tags">
  15. <view class="jobDesc-tags-item" v-for="(item,index) in comjobs.tags" :key="index">{{item}}</view>
  16. </view>
  17. <view class="jobDesc-date">截止日期:{{comjobs.enddate}}</view>
  18. </view>
  19. <!-- <view class="padding-lr padding-tb margin-bottom-sm bg-white">
  20. <view class="bg-white padding-top-sm text-xl text-black text-bold flex align-end">
  21. <view class="basis-lg">
  22. {{comjobs.title}}
  23. <text class="text-red text-sm" v-if="comjobs.wtype==1">(按月)</text>
  24. <text class="text-red text-sm" v-if="comjobs.wtype==2">(按时)</text>
  25. <text class="text-red text-sm" v-if="comjobs.wtype==3">(按件)</text>
  26. <text class="text-red text-sm" v-if="comjobs.wtype==4">(按项目)</text>
  27. <text class="text-sm">{{comjobs.recruit_num}}名</text>
  28. </view>
  29. <view class="basis-sm text-right text-df">
  30. <view><text class="text-red text-bold">{{comjobs.zwagall}}</text></view>
  31. </view>
  32. </view>
  33. <view class="bg-white padding-top text-gray">
  34. <view v-for="(item,index) in comjobs.tags" :key="index" class="cu-tag light bg-blue echo-tags-item">
  35. {{item}}</view>
  36. </view>
  37. <view class="text-gray padding-top-sm pad text-sm flex justify-between">
  38. <view class="text-red">{{sex_text}}</view>
  39. <view>截止日期:{{comjobs.enddate}}</view>
  40. </view>
  41. </view> -->
  42. <block v-if="comjobs.recruitment_cate==2">
  43. <view class="jobBrokerage">
  44. <view class="brokerage"
  45. :style="'background-image:url('+$getImageUrl('static/images/applet/other/recommend.png')+');'">
  46. <view class="jobBrokerage-money">{{comjobs.retmoney}}元<text class="money-tips"
  47. v-if="comjobs.is_pay == 1">(对方已支付悬赏金)</text></view>
  48. <view class="jobBrokerage-recommend" v-if="brokertol==0" @tap="gotoBroker"></view>
  49. <navigator class="jobBrokerage-recommend" :url="'/pages/comjobs/setreport?comjobsid='+comjobs.id"
  50. open-type="navigate" v-else>
  51. </navigator>
  52. </view>
  53. <view class="jobBrokerage-charge">平台将收取{{comjobs_commission}}%手续费</view>
  54. </view>
  55. <!-- <view class="cu-bar bg-white">
  56. <view class="action">
  57. <text class="cuIcon-titles text-themeRed"></text> 推广介绍
  58. </view>
  59. </view>
  60. <view class="echo-article-details bg-white solids-bottom flex justify-between" style="padding-top: 0rpx;">
  61. <view>
  62. <view class="text-lg">推荐一位朋友入职奖励:<text class="text-red">{{comjobs.retmoney}}</text></view>
  63. <view class="text-red" v-if="comjobs.is_pay == 1">对方已支付悬赏金</view>
  64. </view>
  65. <view v-if="brokertol==0" @tap="gotoBroker">
  66. <image :src="$getImageUrl('static/images/applet/retmoney.png')" mode="widthFix"
  67. style="width: 64rpx;"></image>
  68. </view>
  69. <navigator :url="'/pages/comjobs/setreport?comjobsid='+comjobs.id" open-type="navigate" v-else>
  70. <image :src="$getImageUrl('static/images/applet/retmoney.png')" mode="widthFix"
  71. style="width: 64rpx;"></image>
  72. </navigator>
  73. </view> -->
  74. </block>
  75. <view class="publisher">
  76. <view class="cu-bar bg-white">
  77. <view class="action">
  78. <text class="cuIcon-titles text-themeRed"></text> 信息发布方
  79. </view>
  80. </view>
  81. <view class="publisher-infor">
  82. <view class="infor-item">
  83. <view class="item-name" @tap="goShop(comjobs.workerid)">{{comjobs.worker.title}}</view>
  84. <image class="item-verified" :src="$getImageUrl('static/images/applet/other/verified.png')"></image>
  85. </view>
  86. <view class="infor-item infor-center" @tap="goShop(comjobs.workerid)">
  87. <image class="item-icon" :src="$getImageUrl('static/images/applet/other/shop.png')" mode="widthFix">
  88. </image>
  89. <view class="item-title">进店</view>
  90. </view>
  91. <view class="infor-item" @tap="setAddress()">
  92. <image class="item-icon" :src="$getImageUrl('static/images/applet/other/place.png')"
  93. mode="widthFix"></image>
  94. <view class="item-title">{{comjobs.worker.city}} {{comjobs.worker.district}}
  95. {{comjobs.worker.address}}
  96. </view>
  97. </view>
  98. </view>
  99. </view>
  100. <view class="cu-bar bg-white">
  101. <view class="action">
  102. <text class="cuIcon-titles text-themeRed"></text> 职位详情
  103. </view>
  104. </view>
  105. <view class="echo-article-details bg-white" style="padding-top: 0rpx;margin-bottom: 20rpx;">
  106. <text>{{comjobs.comdetails}}</text>
  107. </view>
  108. <view class="cu-bar bg-white">
  109. <view class="action">
  110. <text class="cuIcon-titles text-themeRed"></text> 任职要求
  111. </view>
  112. </view>
  113. <view class="echo-article-details bg-white" style="padding-top: 0rpx;margin-bottom: 20rpx;">
  114. <text>{{comjobs.requirement}}</text>
  115. </view>
  116. <view class="cu-bar bg-white">
  117. <view class="action">
  118. <text class="cuIcon-titles text-themeRed"></text> 环境图片
  119. </view>
  120. <view class="action" data-modalname="picallModal" @tap="showModal">
  121. <text class="text-df">查看全部 </text>
  122. <view class="cuIcon-right"></view>
  123. </view>
  124. </view>
  125. <view class="echo-article-details bg-white flex justify-between" v-if="comjobs.picall.length != 0"
  126. style="padding-top: 0rpx;" data-modalname="picallModal" @tap="showModal">
  127. <image class="picallitem" :src="comjobs.picall[0]" mode="aspectFill"></image>
  128. <image class="picallitem" :src="comjobs.picall[1]" mode="aspectFill"></image>
  129. </view>
  130. <view v-if="videosrc!==null" class="bg-white" style="padding: 0rpx 30rpx 30rpx 30rpx;"
  131. data-modalname="videoModal" @tap="showModal">
  132. <image style="width: 690rpx;" src="https://sc.laowushangcheng.com/static/images/videobtn.jpg"
  133. mode="widthFix"></image>
  134. </view>
  135. <!-- <view class="echo-article-details bg-white" style="padding-top: 0rpx;">
  136. <video v-if="videosrc!==null && modal.name==null" class="myVideo" poster="https://sc.laowushangcheng.com/static/images/videopic.jpg" :src="videosrc" enable-danmu :controls="true"></video>
  137. </view> -->
  138. <!-- <view class="cu-bar bg-white solids-top">
  139. <view class="action">
  140. <text class="cuIcon-titles text-themeRed"></text> 企业介绍
  141. </view>
  142. </view>
  143. <view class="echo-article-details bg-white" style="padding-top: 0rpx;">
  144. <text>{{comjobs.companydetails}}</text>
  145. </view>
  146. <view class="echo-article-details bg-white solids-bottom flex justify-start">
  147. <image class="solid margin-right-sm" :src="comjobs.worker.tilpic" style="width: 150rpx; height: 150rpx;">
  148. </image>
  149. <view>
  150. <view @tap="goShop(comjobs.workerid)">本信息由<text class="text-red">{{comjobs.worker.title}}</text>发布
  151. </view>
  152. <view class="flex align-center justify-between padding-bottom-xs align-center" style="width: 520rpx;">
  153. <view class="flex align-center">
  154. <image class="iconyrz" :src="$getImageUrl('static/images/applet/iconyrz.png')"
  155. mode="scaleToFill"></image>
  156. <image class="iconwyp" :src="$getImageUrl('static/images/applet/iconwyp.png')"
  157. mode="scaleToFill" v-if="comjobs.recruitment_cate==2"></image>
  158. </view>
  159. <view class="text-gray text-right basis-xs text-sm" @tap="goShop(comjobs.workerid)">
  160. <text class="cuIcon-shop margin-right-xs text-lg"></text>
  161. 进店
  162. </view>
  163. </view>
  164. <view class="text-gray" @tap="setAddress()"><text
  165. class="cuIcon-locationfill text-red margin-right-xs"></text> {{comjobs.worker.city}}
  166. {{comjobs.worker.district}} {{comjobs.worker.address}}
  167. </view>
  168. </view>
  169. </view> -->
  170. <view class="cu-bar bg-white" style="margin-top: 20rpx;">
  171. <view class="action">
  172. <text class="cuIcon-titles text-themeRed"></text> 服务流程
  173. </view>
  174. </view>
  175. <view class="echo-article-details bg-white solids-bottom" style="padding-top: 0rpx;">
  176. <image :src="$getImageUrl('static/images/applet/detaillc.png')" mode="widthFix" style="width: 100%;">
  177. </image>
  178. </view>
  179. <view class="padding"></view>
  180. <view class="padding"></view>
  181. <view class="cu-bar bg-white tabbar border shop foot">
  182. <button class="text-gray action" data-modalname="shareModal" @tap="showModal" v-if="appplatform!='ios'">
  183. <view class="padding-bottom-xs">
  184. <image style="width: 38rpx; height: 38rpx;"
  185. :src="$getImageUrl('static/images/applet/detshare.png')"></image>
  186. </view>
  187. 分享
  188. </button>
  189. <button class="text-gray action" @tap="setComjobsStar">
  190. <view class="padding-bottom-xs">
  191. <image style="width: 38rpx; height: 38rpx;" :src="$getImageUrl('static/images/applet/detstar.png')">
  192. </image>
  193. </view>
  194. {{comjobsstar==0 ? '收藏' : '已收藏'}}
  195. </button>
  196. <view class="botBtn" v-if="comjobs.status==3">
  197. <view class="botBtn-left bg-tags" v-if="comjobs.recruitment_cate==2">
  198. <view v-if="brokertol==0" @tap="gotoBroker">赚佣金</view>
  199. <navigator :url="'/pages/comjobs/setreport?comjobsid='+comjobs.id"
  200. open-type="navigate" v-else>赚佣金
  201. </navigator>
  202. </view>
  203. <view class="botBtn-right bg-themeBtn" @tap="setComjobsLog">立即报名</view>
  204. </view>
  205. <!-- <view class="bg-themeBtn submit echo-foot-button" @tap="setComjobsLog" v-if="comjobs.status==3">
  206. <text>立即报名</text>
  207. </view> -->
  208. <view class="bg-grey submit echo-foot-button" v-else> <text>已招满</text> </view>
  209. </view>
  210. <view class="cu-modal bottom-modal show" v-if="modal.name=='videoModal'" @tap="hideModal">
  211. <view class="cu-dialog" @tap.stop="">
  212. <view class="cu-bar bg-white">
  213. <view class="action text-black">视频</view>
  214. <view class="action text-blue" @tap="hideModal">取消</view>
  215. </view>
  216. <view class="solid-top" v-if="videosrc!==null">
  217. <video class="myVideo" :src="comjobs.video" enable-danmu :controls="true"></video>
  218. </view>
  219. </view>
  220. </view>
  221. <view class="cu-modal bottom-modal show" v-if="modal.name=='picallModal'" @tap="hideModal">
  222. <view class="cu-dialog" @tap.stop="">
  223. <view class="cu-bar bg-white">
  224. <view class="action text-black">环境图片</view>
  225. <view class="action text-blue" @tap="hideModal">取消</view>
  226. </view>
  227. <view class="solid-top">
  228. <scroll-view scroll-y="true" class="bg-white padding-tb padding-lr-sm solids-top echo-picalllist">
  229. <view class="flex justify-between">
  230. <view class="picitem">
  231. <block v-for="(item,index) in comjobs.picall" :key="index">
  232. <image class="solid" :data-current="index" @tap="previewImage" v-if="index%2==0"
  233. mode="widthFix" :src="item"></image>
  234. </block>
  235. </view>
  236. <view class="picitem">
  237. <block v-for="(item,index) in comjobs.picall" :key="index">
  238. <image class="solid" :data-current="index" @tap="previewImage" v-if="index%2==1"
  239. mode="widthFix" :src="item"></image>
  240. </block>
  241. </view>
  242. </view>
  243. </scroll-view>
  244. </view>
  245. </view>
  246. </view>
  247. <view class="cu-modal show" v-if="modal.name=='comjobspicModal'">
  248. <view class="cu-dialog picmodal">
  249. <view class="bg-img">
  250. <image mode="widthFix" :src="modal.comjobspic"></image>
  251. <view class="cu-bar justify-end text-white picmodalclose">
  252. <view class="action" @tap="hideModal">
  253. <text class="cuIcon-close "></text>
  254. </view>
  255. </view>
  256. </view>
  257. <view class="cu-bar bg-white margin-top-xs">
  258. <view class="action margin-0 flex-sub solid-left" @tap="saveImage">保存到相册</view>
  259. </view>
  260. </view>
  261. </view>
  262. <view class="cu-modal bottom-modal show" v-if="modal.name=='shareModal'" @tap="hideModal">
  263. <view class="cu-dialog" @tap.stop="">
  264. <view class="cu-bar bg-white">
  265. <view class="action text-black">点击海报</view>
  266. <view class="action text-blue" @tap="hideModal">取消</view>
  267. </view>
  268. <view class="solid-top">
  269. <scroll-view scroll-y="true" class="bg-white padding-tb padding-lr-sm solids-top echo-picalllist">
  270. <view class="cu-list grid col-2 no-border padding-lr">
  271. <block v-for="(item,index) in comjobsshare" :key="index">
  272. <view class="cu-item">
  273. <view class="padding-lr-sm" @tap="getComjobsImage(item.id)">
  274. <view class="bg-img" :style="'background-image:url(' + item.tilpic + ');'">
  275. </view>
  276. <view class="padding-tb-xs text-cut">{{item.title}}</view>
  277. </view>
  278. </view>
  279. </block>
  280. </view>
  281. </scroll-view>
  282. </view>
  283. </view>
  284. </view>
  285. <wxContact ref="wxContact"></wxContact>
  286. </skeleton>
  287. </view>
  288. </template>
  289. <script>
  290. var _this;
  291. export default {
  292. data() {
  293. return {
  294. appplatform: "",
  295. pageloading: false,
  296. userinfo: {},
  297. comjobs: null,
  298. videosrc: null,
  299. comjobslist: {},
  300. comjobsstar: 0,
  301. comjobsshare: {},
  302. brokertol: 0,
  303. modal: {
  304. name: null,
  305. comjobspic: ""
  306. },
  307. comjobs_commission: 0
  308. }
  309. },
  310. onLoad: function(option) {
  311. _this = this;
  312. //#ifdef APP-PLUS
  313. _this.appplatform = uni.getSystemInfoSync().platform;
  314. //#endif
  315. var comjobsid = option.comjobsid || 0;
  316. var parentid = option.parentid || 0;
  317. if (option.scene) {
  318. const scene = decodeURIComponent(option.scene);
  319. if (scene != "undefined") {
  320. comjobsid = scene.split("&")[0];
  321. parentid = scene.split('&')[1];
  322. }
  323. }
  324. if (option.q) {
  325. const q = decodeURIComponent(option.q);
  326. if (q != "undefined") {
  327. comjobsid = q.split("=")[1];
  328. }
  329. }
  330. uni.setStorageSync('parentid', parentid);
  331. _this.userinfo = uni.getStorageSync('userinfo') || null;
  332. _this.$req.ajax({
  333. path: "comjobs/getcomjobs",
  334. title: "加载中...",
  335. data: {
  336. comjobsid: comjobsid,
  337. userid: _this.userinfo == null ? 0 : _this.userinfo.id
  338. }
  339. }).then((data) => {
  340. console.log(data)
  341. _this.comjobs_commission = data.comjobs_commission;
  342. _this.comjobs = data.comjobs;
  343. _this.comjobslist = data.comjobslist;
  344. _this.comjobsstar = data.comjobsstar;
  345. _this.comjobsshare = data.comjobsshare;
  346. _this.brokertol = data.brokertol;
  347. setTimeout(function() {
  348. _this.videosrc = _this.comjobs.video == '' ? null : _this.comjobs.video;
  349. }, 1500);
  350. _this.pageloading = true;
  351. }).catch((err) => {
  352. uni.showModal({
  353. title: '信息提示',
  354. content: err,
  355. showCancel: false
  356. });
  357. });
  358. },
  359. onShareAppMessage: function(res) {
  360. _this.$req.ajax({
  361. path: "comjobs/shareComjobs",
  362. title: "分享中...",
  363. data: {
  364. userid: _this.userinfo.id
  365. }
  366. })
  367. return {
  368. title: _this.comjobs.title,
  369. path: "/pages/comjobs/detail?comjobsid=" + _this.comjobs.id + "&parentid=" + _this.userinfo == null ?
  370. 0 : _this.userinfo.id
  371. }
  372. },
  373. methods: {
  374. getComjobsImage: function(shareid) {
  375. _this.userinfo = _this.checkLogin("/pages/comjobs/detail?comjobsid=" + _this.comjobs.id);
  376. if (_this.userinfo === false) {
  377. return false;
  378. }
  379. _this.$req.ajax({
  380. title: "推广海报生成中...",
  381. path: "comjobs/getcomjobsimage",
  382. data: {
  383. shareid: shareid,
  384. userid: _this.userinfo.id,
  385. comjobsid: _this.comjobs.id
  386. }
  387. }).then((data) => {
  388. var t1 = Math.round(Math.random() * 100);
  389. _this.modal.comjobspic = data.comjobspic + '?' + t1;
  390. _this.modal.name = "comjobspicModal";
  391. }).catch((err) => {
  392. uni.showModal({
  393. title: '温馨提示',
  394. content: err,
  395. showCancel: false
  396. });
  397. });
  398. },
  399. getComjobsCode: function() {
  400. _this.userinfo = _this.checkLogin("/pages/comjobs/detail?comjobsid=" + _this.comjobs.id);
  401. if (_this.userinfo === false) {
  402. return false;
  403. }
  404. _this.$req.ajax({
  405. title: "招聘简章生成中...",
  406. path: "comjobs/getcomjobscode",
  407. data: {
  408. comjobsid: _this.comjobs.id,
  409. userid: _this.userinfo.id
  410. }
  411. }).then((data) => {
  412. _this.modal.comjobspic = data.comjobspic;
  413. _this.modal.isshow = "show";
  414. }).catch((err) => {
  415. uni.showModal({
  416. title: '温馨提示',
  417. content: err,
  418. showCancel: false
  419. });
  420. });
  421. },
  422. saveImage: function() {
  423. uni.downloadFile({
  424. url: _this.modal.comjobspic,
  425. success: (res) => {
  426. if (res.statusCode === 200) {
  427. uni.saveImageToPhotosAlbum({
  428. filePath: res.tempFilePath,
  429. success: function() {
  430. uni.showModal({
  431. title: '信息提示',
  432. content: "已保存到手机相册,注意查收。",
  433. showCancel: false
  434. });
  435. }
  436. });
  437. }
  438. }
  439. });
  440. },
  441. setComjobsLog: function() {
  442. _this.userinfo = _this.checkLogin("/pages/comjobs/detail?comjobsid=" + _this.comjobs.id);
  443. if (_this.userinfo === false) {
  444. uni.navigateTo({
  445. url: "/pages/my/myinfo?pageurl=/pages/comjobs/detail/comjobsid=" + _this.comjobs.id,
  446. });
  447. return false;
  448. }
  449. //检测用户信息是否完整
  450. if (_this.userinfo.education == "" || _this.userinfo.address == "" || _this.userinfo.workexperience ==
  451. "") {
  452. uni.navigateTo({
  453. url: "/pages/my/myinfo?pageurl=/pages/comjobs/detail/comjobsid=" + _this.comjobs.id,
  454. });
  455. return false;
  456. }
  457. _this.$req.ajax({
  458. title: "报名中",
  459. path: "comjobs/setcomjobslog",
  460. data: {
  461. comjobsid: _this.comjobs.id,
  462. userid: _this.userinfo.id
  463. }
  464. }).then((data) => {
  465. if (data.is_public == 1) {
  466. var confirmText = '联系对方';
  467. } else {
  468. var confirmText = '联系客服';
  469. }
  470. uni.showModal({
  471. title: '温馨提示',
  472. content: data.msg,
  473. confirmText: confirmText,
  474. cancelText: "好的",
  475. success: function(res) {
  476. if (res.confirm) {
  477. if (data.is_public == 1) {
  478. uni.makePhoneCall({
  479. phoneNumber: data.mobile
  480. });
  481. } else {
  482. _this.$refs.wxContact.showConcatModel();
  483. }
  484. }
  485. },
  486. });
  487. }).catch((err) => {
  488. uni.showModal({
  489. title: '温馨提示',
  490. content: err,
  491. showCancel: false
  492. });
  493. });
  494. },
  495. setComjobsStar: function() {
  496. _this.userinfo = _this.checkLogin("/pages/comjobs/detail?comjobsid=" + _this.comjobs.id);
  497. if (_this.userinfo === false) {
  498. return false;
  499. }
  500. _this.$req.ajax({
  501. path: "comjobs/setcomjobsstar",
  502. data: {
  503. comjobsid: _this.comjobs.id,
  504. userid: _this.userinfo.id
  505. }
  506. }).then((data) => {
  507. _this.comjobsstar = data.comjobsstar;
  508. }).catch((err) => {
  509. uni.showModal({
  510. title: '温馨提示',
  511. content: err,
  512. showCancel: true
  513. });
  514. });
  515. },
  516. goPage: function(pageurl) {
  517. uni.navigateTo({
  518. url: pageurl,
  519. fail: function() {
  520. uni.switchTab({
  521. url: pageurl
  522. });
  523. }
  524. });
  525. },
  526. gotoBroker: function() {
  527. uni.showModal({
  528. title: '温馨提示',
  529. content: '您还不是经纪人,请联系客服,申请成为经纪人',
  530. confirmColor: "#007aff",
  531. success: function(res) {
  532. if (res.confirm) {
  533. _this.$refs.wxContact.showConcatModel();
  534. // uni.redirectTo({
  535. // url: '/pages/form/form?formid=4'
  536. // });
  537. }
  538. }
  539. });
  540. },
  541. goDetail: function(comjobsid) {
  542. uni.navigateTo({
  543. url: '/pages/comjobs/detail?comjobsid=' + comjobsid
  544. });
  545. },
  546. goShop: function(workerid) {
  547. uni.navigateTo({
  548. url: '/pages/worker/shop?workerid=' + workerid
  549. });
  550. },
  551. navigate: function(href, e) {
  552. // #ifdef H5
  553. location.href = href;
  554. // #endif
  555. // #ifndef H5
  556. uni.navigateTo({
  557. url: '/pages/tool/webview?pagesrc=' + encodeURIComponent(href)
  558. });
  559. // #endif
  560. },
  561. setAddress: function() {
  562. uni.openLocation({
  563. latitude: parseFloat(_this.comjobs.worker.latitude),
  564. longitude: parseFloat(_this.comjobs.worker.longitude),
  565. name: _this.comjobs.worker.title,
  566. address: _this.comjobs.worker.city + " " + _this.comjobs.worker.district + " " + _this
  567. .comjobs.worker.address,
  568. success: function() {
  569. console.log('success');
  570. }
  571. });
  572. },
  573. makeTelephone: function(e) {
  574. var telephone = e.currentTarget.dataset.telephone;
  575. uni.makePhoneCall({
  576. phoneNumber: telephone
  577. });
  578. },
  579. showModal: function(e) {
  580. var modalname = e.currentTarget.dataset.modalname;
  581. _this.modal.name = modalname;
  582. },
  583. hideModal: function() {
  584. _this.modal.name = null;
  585. },
  586. previewImage: function(e) {
  587. var current = e.currentTarget.dataset.current;
  588. uni.previewImage({
  589. current: current,
  590. urls: _this.comjobs.picall
  591. });
  592. }
  593. },
  594. computed: {
  595. sex_text() {
  596. const arr = ['男女不限', '男', '女'];
  597. return arr[_this.comjobs.sex];
  598. }
  599. }
  600. }
  601. </script>
  602. <style lang="scss">
  603. .flex-1 {
  604. flex: 1;
  605. }
  606. .flex-6 {
  607. flex: 6;
  608. }
  609. .picmodal {
  610. width: 450rpx;
  611. background-color: transparent;
  612. }
  613. .picmodal image {
  614. width: 100%;
  615. }
  616. .picmodal .bg-img {
  617. position: relative;
  618. }
  619. .picmodalclose {
  620. position: absolute;
  621. top: 0rpx;
  622. right: 0rpx;
  623. }
  624. .picallitem {
  625. width: 340rpx;
  626. height: 260rpx;
  627. }
  628. .echo-picalllist {
  629. height: calc(100vh - 105rpx);
  630. }
  631. .echo-picalllist .picitem {
  632. width: 345rpx !important;
  633. }
  634. .echo-picalllist image {
  635. width: 345rpx;
  636. padding-bottom: 15rpx;
  637. }
  638. .cu-item .bg-img {
  639. width: 100%;
  640. height: 390rpx;
  641. background-position: center top;
  642. }
  643. .myVideo {
  644. width: 750rpx;
  645. height: calc(100vh - 130px);
  646. }
  647. .jobDesc {
  648. padding: 30rpx 30rpx;
  649. margin-bottom: 20rpx;
  650. background-color: #ffffff;
  651. .jobDesc-title {
  652. font-size: 36rpx;
  653. font-weight: 600;
  654. color: #383838;
  655. }
  656. .jobDesc-salary {
  657. margin-top: 10rpx;
  658. font-size: 24rpx;
  659. font-weight: 400;
  660. color: #CA151C;
  661. }
  662. .jobDesc-tags {
  663. display: flex;
  664. flex-wrap: wrap;
  665. .jobDesc-tags-item {
  666. margin-top: 20rpx;
  667. margin-right: 18rpx;
  668. padding: 5rpx 30rpx;
  669. background: #F9E2AC;
  670. border-radius: 20rpx;
  671. font-size: 24rpx;
  672. font-weight: 400;
  673. color: #CA151C;
  674. }
  675. }
  676. .jobDesc-date {
  677. margin-top: 30rpx;
  678. font-size: 24rpx;
  679. font-weight: 400;
  680. color: #747474;
  681. }
  682. }
  683. .jobBrokerage {
  684. margin-bottom: 20rpx;
  685. padding: 30rpx 30rpx;
  686. background-color: #ffffff;
  687. position: relative;
  688. .brokerage {
  689. width: 100%;
  690. height: 175rpx;
  691. background-size: cover;
  692. display: flex;
  693. .jobBrokerage-money {
  694. margin-top: 84rpx;
  695. margin-left: 110rpx;
  696. font-size: 40rpx;
  697. font-weight: 600;
  698. color: #CA151C;
  699. .money-tips {
  700. font-size: 22rpx;
  701. color: #CA151C;
  702. }
  703. }
  704. .jobBrokerage-recommend {
  705. position: absolute;
  706. right: 0;
  707. margin-top: 30rpx;
  708. margin-right: 68rpx;
  709. // margin-left: 105rpx;
  710. width: 115rpx;
  711. height: 115rpx;
  712. border-radius: 60rpx;
  713. }
  714. }
  715. .jobBrokerage-charge {
  716. margin-top: 20rpx;
  717. font-size: 30rpx;
  718. font-weight: 600;
  719. color: #CA151C;
  720. }
  721. }
  722. .publisher {
  723. margin-bottom: 20rpx;
  724. background-color: #ffffff;
  725. .publisher-infor {
  726. padding: 0 30rpx 30rpx;
  727. .infor-center {
  728. margin: 25rpx 0 20rpx;
  729. }
  730. .infor-item {
  731. display: flex;
  732. .item-name {
  733. flex: 1;
  734. font-size: 32rpx;
  735. font-weight: 600;
  736. color: #747474;
  737. }
  738. .item-verified {
  739. margin-left: 20rpx;
  740. margin-top: 10rpx;
  741. width: 110rpx;
  742. height: 28rpx;
  743. }
  744. .item-icon {
  745. margin-top: 5rpx;
  746. width: 32rpx;
  747. }
  748. .item-title {
  749. margin-left: 20rpx;
  750. flex: 1;
  751. font-size: 28rpx;
  752. font-weight: 400;
  753. color: #747474;
  754. }
  755. }
  756. }
  757. }
  758. .botBtn {
  759. flex: 2;
  760. height: 100%;
  761. display: flex;
  762. .botBtn-left {
  763. flex: 1;
  764. display: flex;
  765. align-items: center;
  766. justify-content: center;
  767. }
  768. .botBtn-right {
  769. flex: 1;
  770. display: flex;
  771. align-items: center;
  772. justify-content: center;
  773. }
  774. }
  775. </style>