detail.vue 23 KB

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