search.vue 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125
  1. <template>
  2. <view class="nav">
  3. <!-- 胶囊 -->
  4. <mvBar :mysNavConfig="mysNavConfig"></mvBar>
  5. <view class="home" style="padding-top: 160rpx;">
  6. <view>
  7. <uni-search-bar @confirm="search" :focus="true" v-model="searchValue">
  8. </uni-search-bar>
  9. </view>
  10. <view class="commodity" style="margin-top: 3%;">
  11. <view class="project" v-for="(item,index) in projectList" :key="index" @tap="project(item)">
  12. <view class="projectdiagram" :style="{backgroundImage:`url(${item.coverphoto})`}">
  13. <view class="Mask" v-if="item.ddl">
  14. <image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home4.png" mode="">
  15. </image>
  16. </view>
  17. <view style="padding-left: 4%;padding-top: 2%;">
  18. </view>
  19. </view>
  20. <view class="projecttext">
  21. <image :src="item.project_imgper" mode=""></image>
  22. <span>{{item.project_name|ellipsis}}</span>
  23. </view>
  24. <view style="padding-left: 1%;">
  25. <view class="TitleText" v-if="item.isself===1">
  26. <p>自报价</p>
  27. </view>
  28. <view class="TitleText" v-if="item.isfixedfee===1">
  29. <p>固定稿费</p>
  30. </view>
  31. <view class="TitleText" v-if="item.project_form===3">
  32. <p>线下探店</p>
  33. </view>
  34. </view>
  35. <view class="introduction">
  36. <view class="rleft" style="">
  37. <p>商品价值: <span
  38. style="color: red;font-weight: 600;">¥{{item.ProductInfo.ProductPrice}}</span></p>
  39. </view>
  40. <view class="rright" style="display: flex;justify-content:space-between;">
  41. <p>招募人数: <span style="color: balck;font-weight: 600;">{{item.taskNum}}</span></p>
  42. <p>报名人数: <span style="color: balck;font-weight: 600;">{{item.apply_num}}</span>
  43. </p>
  44. </view>
  45. </view>
  46. </view>
  47. </view>
  48. </view>
  49. <!-- 普通弹窗 公众号-->
  50. <uni-popup ref="popup4" class="share" background-color="#fff" @change="change">
  51. <view class="popup-content" :class="{ 'popup-height': type === 'left' || type === 'right' }">
  52. <view class="sharepage">
  53. <view class="projecttext1">
  54. <image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/project15.png"
  55. style="width: 80rpx; height: 80rpx;" mode=""></image>
  56. <span>YoungGee</span>
  57. </view>
  58. <view class="" style="margin-top: 5%;">
  59. <p style='color: #333333;font-size: 28rpx;text-align: center;'>扫码联系</p>
  60. </view>
  61. <view class="sharemap">
  62. <image src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/kefu.png"
  63. style="width: 400rpx;height: 400rpx;" mode=""></image>
  64. </view>
  65. </view>
  66. </view>
  67. </uni-popup>
  68. <view class="contact" @click="toggle4('center')">
  69. <view class="contt">
  70. <!-- <image class="img2" src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home2.png" mode=""></image> -->
  71. <image class="img1"
  72. src="https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/kefu_20211124192542.png" mode="">
  73. </image>
  74. </view>
  75. </view>
  76. </view>
  77. </template>
  78. <script>
  79. import mvBar from "@/components/mys_navBar/mysNavBar";
  80. import request from '@/components/request.js'
  81. import searchVue from "./search.vue";
  82. /* 默认首页路径 */
  83. const homePath = "/pages/pupu/pupudao";
  84. /* 默认首页图标路径 */
  85. const homeIconPath = "/static/img/png4.png";
  86. /* 默认返回图标路径 */
  87. const backIconPath = "/static/img/png2.png";
  88. export default {
  89. props: {
  90. scrollTop: {
  91. type: Number,
  92. default: function() {
  93. return 0;
  94. },
  95. },
  96. },
  97. filters: {
  98. ellipsis(value) {
  99. if (!value) return "";
  100. if (value.length > 20) {
  101. return value.slice(0, 20) + "...";
  102. }
  103. return value;
  104. },
  105. },
  106. components: {
  107. mvBar,
  108. },
  109. data() {
  110. return {
  111. searchValue: "",
  112. mysNavConfig: {
  113. /* 开启单页显示首页图标 */
  114. isHome: true,
  115. /* 固定导航 */
  116. navFixed: true,
  117. /* 标题 (屏幕中心居中 两边图标中心居中使用slot center1) */
  118. navTitle: {
  119. text: "任务搜索",
  120. color: "",
  121. fontSize: "32rpx", // px upx rpx
  122. fontWeight: "normal", // 100 - 700
  123. },
  124. btnType: "type2",
  125. onLeftClick: "",
  126. /* type2 按钮 */
  127. type2Config: {
  128. // 左图标
  129. leftPath: "/static/img/png2.png",
  130. // 右图标
  131. rightPath: "/static/img/png4.png",
  132. // 圆角
  133. radius: "40rpx",
  134. },
  135. },
  136. token: '',
  137. per: 0,
  138. type4: 'center',
  139. //轮播图
  140. img: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home1.png',
  141. background: ['color1', 'color2', 'color3'],
  142. indicatorDots: true,
  143. autoplay: true,
  144. interval: 3000,
  145. duration: 1000,
  146. list1: [{
  147. img: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home1.png',
  148. name: '/pages/tasksquare/guide'
  149. },
  150. {
  151. img: 'https://horastar.obs.cn-east-3.myhuaweicloud.com/talent/home7.png',
  152. name: '/pages/tasksquare/cooperation'
  153. }
  154. ],
  155. //弹窗
  156. type: 'center',
  157. formData: {
  158. hobby: [],
  159. hobby1: [],
  160. hobby2: [],
  161. },
  162. hobby: [],
  163. hobby1: [{
  164. text: '产品置换',
  165. value: 1
  166. }, {
  167. text: '固定稿费',
  168. value: 2
  169. }, {
  170. text: '自报价',
  171. value: 3
  172. }],
  173. hobby2: [{
  174. text: '实体商品寄拍',
  175. value: 1
  176. }, {
  177. text: '虚拟产品测评',
  178. value: 2
  179. }, {
  180. text: '线下探店打卡',
  181. value: 3
  182. }],
  183. iconW: undefined,
  184. iconH: undefined,
  185. btnWidth: undefined,
  186. btnHeight: undefined,
  187. navBarTop: undefined,
  188. navBarHeight: undefined,
  189. navBarLeft: undefined,
  190. navBarRight: undefined,
  191. inputHeight: undefined,
  192. opacity: 0,
  193. isHome: false,
  194. homeIconPath: homeIconPath,
  195. backIconPath: backIconPath,
  196. img: '../../static/home/home.png',
  197. // 最多显示页数
  198. max_page: '',
  199. tupian: {
  200. wen: '原创图片',
  201. lin: 1,
  202. },
  203. projectList: [],
  204. img456: '../../static/home/home.png',
  205. platformList: [],
  206. filtCondition: '',
  207. };
  208. },
  209. computed: {
  210. isSharePage() {},
  211. },
  212. watch: {
  213. scrollTop(val) {
  214. if (!this.mysNavConfig.isOpacity) {
  215. return;
  216. }
  217. this.setOpacity(val, this.mysNavConfig.opacityTime);
  218. },
  219. },
  220. onShow() {
  221. this.isLogin()
  222. },
  223. onLoad() {
  224. this.getInfoList()
  225. this.per = 0
  226. this.getProjectListAPI()
  227. },
  228. //下拉刷新
  229. onPullDownRefresh() {
  230. this.per = 0
  231. this.getProjectListAPI()
  232. //停止下拉刷新
  233. uni.stopPullDownRefresh()
  234. },
  235. // 下拉懒加载
  236. async onReachBottom() {
  237. ++this.per;
  238. if (this.per >= this.max_page) {
  239. uni.showToast({
  240. title: "已加载全部"
  241. })
  242. } else {
  243. uni.showLoading({
  244. title: '加载中'
  245. })
  246. await this.$http.get('/youngee/c/g/get-project-list' +
  247. "?" +
  248. "idx" +
  249. "=" +
  250. this.per +
  251. "&cnt" +
  252. "=" +
  253. 20 + this.filtCondition
  254. ).then(res => {
  255. console.log(res)
  256. this.max_page = res.data.data.max_page
  257. for (var i = 0; i < res.data.data.ProjectInfos.length; i++) {
  258. // 封面图片
  259. res.data.data.ProjectInfos[i].ProductInfo = JSON.parse(res.data.data.ProjectInfos[i]
  260. .product_snap);
  261. // 封面图片
  262. let ProductPhoto = JSON.parse(res.data.data.ProjectInfos[i].product_photo_snap);
  263. for (let j = 0; j < ProductPhoto.length; ++j) {
  264. if (ProductPhoto[j].Symbol == 1) {
  265. res.data.data.ProjectInfos[i].coverphoto = ProductPhoto[j].PhotoUrl
  266. }
  267. }
  268. // 获取平台图片
  269. for (var j = 0; j < this.platformList.length; j++) {
  270. if (res.data.data.ProjectInfos[i].project_platform === this.platformList[j]
  271. .id) {
  272. res.data.data.ProjectInfos[i].project_imgper = this.platformList[j]
  273. .platform_icon
  274. }
  275. }
  276. // 任务数量&稿费形式
  277. res.data.data.ProjectInfos[i].taskNum = 0
  278. let lengthOfRecruitStrategys = res.data.data.ProjectInfos[i]
  279. .RecruitStrategys != null ? res.data.data.ProjectInfos[i]
  280. .RecruitStrategys
  281. .length : 0
  282. for (var j = 0; j < lengthOfRecruitStrategys; j++) {
  283. res.data.data.ProjectInfos[i].taskNum = Number(res.data.data
  284. .ProjectInfos[i]
  285. .taskNum) + Number(res.data.data.ProjectInfos[i]
  286. .RecruitStrategys[j]
  287. .recruit_number)
  288. res.data.data.ProjectInfos[i].isfixedfee = 0
  289. if (res.data.data.ProjectInfos[i].RecruitStrategys[j].fee_form === 2) {
  290. res.data.data.ProjectInfos[i].isfixedfee = 1
  291. }
  292. res.data.data.ProjectInfos[i].isself = 0
  293. if (res.data.data.ProjectInfos[i].RecruitStrategys[j].fee_form === 3) {
  294. res.data.data.ProjectInfos[i].isself = 1
  295. }
  296. }
  297. //结束时间
  298. var newdate = new Date()
  299. // console.log(newdate)
  300. var endTime = new Date(res.data.data.ProjectInfos[i].recruit_ddl.replace(
  301. /-/g, "/"));
  302. res.data.data.ProjectInfos[i].ddl = endTime - newdate < 0 ? 1 : 0
  303. res.data.data.ProjectInfos[i].recruit_ddl = this.thistime(res.data.data
  304. .ProjectInfos[i]
  305. .recruit_ddl)
  306. }
  307. this.projectList.push.apply(this.projectList, res.data.data.ProjectInfos);
  308. console.log(this.projectList)
  309. })
  310. uni.hideLoading();
  311. }
  312. },
  313. methods: {
  314. async search(res) {
  315. uni.showToast({
  316. title: '搜索:' + res.value,
  317. icon: 'none'
  318. })
  319. this.per = 0;
  320. this.filtCondition = ''
  321. if (res.value != "")
  322. this.filtCondition = "&searchvalue" + "=" + res.value
  323. uni.showLoading({
  324. title: '加载中'
  325. });
  326. await this.getProjectListAPI()
  327. uni.hideLoading();
  328. },
  329. getProjectListAPI() {
  330. return this.$http.get('/youngee/c/g/get-project-list' +
  331. "?" +
  332. "idx" +
  333. "=" +
  334. this.per +
  335. "&cnt" +
  336. "=" +
  337. 20 + this.filtCondition
  338. ).then(res => {
  339. console.log(res)
  340. if (res.data.code === 0) {
  341. for (var i = 0; i < res.data.data.ProjectInfos.length; i++) {
  342. // 封面图片
  343. res.data.data.ProjectInfos[i].ProductInfo = JSON.parse(res.data.data.ProjectInfos[i]
  344. .product_snap);
  345. // 封面图片
  346. let ProductPhoto = JSON.parse(res.data.data.ProjectInfos[i].product_photo_snap);
  347. for (let j = 0; j < ProductPhoto.length; ++j) {
  348. if (ProductPhoto[j].Symbol == 1) {
  349. res.data.data.ProjectInfos[i].coverphoto = ProductPhoto[j].PhotoUrl
  350. }
  351. }
  352. // 获取平台图片
  353. for (var j = 0; j < this.platformList.length; j++) {
  354. if (res.data.data.ProjectInfos[i].project_platform === this.platformList[j]
  355. .id) {
  356. res.data.data.ProjectInfos[i].project_imgper = this.platformList[j]
  357. .platform_icon
  358. }
  359. }
  360. // 任务数量&稿费形式
  361. res.data.data.ProjectInfos[i].taskNum = 0
  362. let lengthOfRecruitStrategys = res.data.data.ProjectInfos[i]
  363. .RecruitStrategys != null ? res.data.data.ProjectInfos[i]
  364. .RecruitStrategys
  365. .length : 0
  366. for (var j = 0; j < lengthOfRecruitStrategys; j++) {
  367. res.data.data.ProjectInfos[i].taskNum = Number(res.data.data
  368. .ProjectInfos[i]
  369. .taskNum) + Number(res.data.data.ProjectInfos[i]
  370. .RecruitStrategys[j]
  371. .recruit_number)
  372. res.data.data.ProjectInfos[i].isfixedfee = 0
  373. if (res.data.data.ProjectInfos[i].RecruitStrategys[j].fee_form === 2) {
  374. res.data.data.ProjectInfos[i].isfixedfee = 1
  375. }
  376. res.data.data.ProjectInfos[i].isself = 0
  377. if (res.data.data.ProjectInfos[i].RecruitStrategys[j].fee_form === 3) {
  378. res.data.data.ProjectInfos[i].isself = 1
  379. }
  380. }
  381. //结束时间
  382. var newdate = new Date()
  383. // console.log(newdate)
  384. var endTime = new Date(res.data.data.ProjectInfos[i].recruit_ddl.replace(
  385. /-/g, "/"));
  386. res.data.data.ProjectInfos[i].ddl = endTime - newdate < 0 || res.data.data
  387. .ProjectInfos[i]
  388. .project_status > 4 ? 1 : 0
  389. res.data.data.ProjectInfos[i].recruit_ddl = this.thistime(res.data.data
  390. .ProjectInfos[i]
  391. .recruit_ddl)
  392. }
  393. this.max_page = res.data.data.max_page
  394. this.projectList = res.data.data.ProjectInfos;
  395. } else if (res.data.code === -4) {
  396. uni.showToast({
  397. title: "暂无任务"
  398. })
  399. this.max_page = 1
  400. this.projectList = []
  401. } else {
  402. uni.showToast({
  403. title: res.data.msg
  404. })
  405. this.max_page = 1
  406. this.projectList = []
  407. }
  408. })
  409. },
  410. // 判断登陆是否过期
  411. isLogin() {
  412. return this.$https.get('/youngee/c/t/g/is-login')
  413. .then(res => {
  414. if (res.data.code === 403) {
  415. // 登陆已失效
  416. this.token = ""
  417. uni.clearStorage();
  418. } else {
  419. this.token = uni.getStorageSync('token')
  420. }
  421. })
  422. },
  423. // 信息表
  424. getInfoList() {
  425. return this.$http.get('/youngee/c/g/get-info-tables')
  426. .then(res => {
  427. this.hobby = []
  428. this.platformList = res.data.data.ThirdPlatform
  429. let l = this.platformList != null ? this.platformList.length : 0;
  430. for (var i = 0; i < l; i++) {
  431. var obj = {}
  432. obj.text = this.platformList[i].platform_name
  433. obj.value = this.platformList[i].id
  434. this.hobby.push(obj)
  435. }
  436. })
  437. },
  438. // 计算结束时间
  439. thistime(val) {
  440. // 转换格式
  441. var beginTime = new Date(val.replace(/-/g, "/"));
  442. // 当前时间
  443. var thisTime = new Date();
  444. // 相减
  445. var dateMiss = beginTime.getTime() - thisTime.getTime();
  446. // 天数
  447. var day = Math.floor(dateMiss / (24 * 3600 * 1000));
  448. // 减去天数剩下的毫秒数
  449. var backOne = dateMiss % (24 * 3600 * 1000);
  450. // 小时数
  451. var hours = Math.floor(backOne / (3600 * 1000));
  452. var deadline_time = '',
  453. deadline_time = day + '天' + hours + '时结束'
  454. return deadline_time
  455. },
  456. //弹出层
  457. change(e) {
  458. console.log('当前模式:' + e.type + ',状态:' + e.show);
  459. },
  460. toggle4(type) {
  461. this.type4 = type
  462. // open 方法传入参数 等同在 uni-popup 组件上绑定 type属性
  463. this.$refs.popup4.open(type)
  464. // this.$refs.popup1.close()
  465. },
  466. xieyi() {
  467. console.log('进入联系我们')
  468. },
  469. go(url) {
  470. uni.navigateTo({
  471. url: url,
  472. });
  473. },
  474. // 进入任务详情
  475. project(item) {
  476. // uni.navigateTo({
  477. // url: '/pages/test/test'
  478. // });
  479. console.log(item.project_id)
  480. if (item.project_type === 1) {
  481. uni.navigateTo({
  482. url: '/pages/tasksquare/taskdetail?id=' + item.project_id
  483. });
  484. } else {
  485. uni.navigateTo({
  486. url: '/pages/tasksquare/specialTask/specialTaskDetail?id=' + item.project_id
  487. });
  488. }
  489. // }
  490. },
  491. /**
  492. * @param scrollTop 页面顶部距离
  493. * @param down 滑动显示效果延时
  494. */
  495. setOpacity(scrollTop, down = 60) {
  496. if (scrollTop > 0) {
  497. if (scrollTop < down) {
  498. this.opacity = scrollTop / down;
  499. }
  500. if (scrollTop > down) {
  501. this.opacity = 1;
  502. }
  503. } else {
  504. this.opacity = 0;
  505. }
  506. },
  507. },
  508. created() {},
  509. onReady() {
  510. // setTimeout(() => {
  511. // // 改变手机状态栏颜色
  512. // uni.setNavigationBarColor({
  513. // frontColor: "#000000",
  514. // backgroundColor: "#FF4258",
  515. // });
  516. // }, 10);
  517. },
  518. };
  519. </script>
  520. <style>
  521. /deep/ .share .uni-popup .uni-popup__wrapper {
  522. width: 70% !important;
  523. border-radius: 15rpx !important;
  524. }
  525. </style>
  526. <style lang="scss" scoped>
  527. .option1 {
  528. padding: 5rpx 18rpx;
  529. /deep/.uni-data-checklist .checklist-group .checklist-box .checklist-content {
  530. width: 100rpx;
  531. text-align: center;
  532. }
  533. }
  534. .option2 {
  535. padding: 5rpx 18rpx;
  536. }
  537. .option3 {
  538. padding: 5rpx 18rpx;
  539. }
  540. //弹窗
  541. .sharepage {
  542. width: 90%;
  543. margin: 0 auto;
  544. // position: relative;
  545. }
  546. /deep/ .share.uni-popup .uni-popup__wrapper {
  547. width: 70%;
  548. border-radius: 15rpx;
  549. }
  550. .projecttext1 {
  551. // padding-top: 5%;
  552. padding: 0 0 0 1%;
  553. height: 80rpx;
  554. margin-top: 7%;
  555. text-align: center;
  556. }
  557. .projecttext1 span {
  558. color: #333333;
  559. font-size: 100%;
  560. font-weight: 550;
  561. text-indent: 2em;
  562. }
  563. .projecttext1 image {
  564. vertical-align: middle;
  565. width: 80rpx;
  566. height: 80rpx;
  567. display: inline-block;
  568. padding-right: 14rpx;
  569. }
  570. .sharemap {
  571. margin: 0 auto;
  572. text-align: center;
  573. margin-top: 15%;
  574. margin-bottom: 15%;
  575. }
  576. .sharemap image {
  577. width: 400rpx;
  578. height: 400rpx;
  579. }
  580. .butmin {
  581. height: 48rpx;
  582. background-color: #3397FA;
  583. color: #FFFFFF;
  584. line-height: 48rpx;
  585. }
  586. //弹出层
  587. /deep/ .uni-data-checklist .checklist-group .checklist-box {
  588. background-color: #FFFFFF !important;
  589. border-radius: 20rpx !important;
  590. padding: 8rpx 30rpx !important;
  591. border: 0 !important;
  592. }
  593. /deep/ .uni-data-checklist .checklist-group .checklist-box .checklist-content .checklist-text {
  594. font-size: 24rpx;
  595. color: #333333;
  596. }
  597. /deep/ .mini-btn {
  598. height: 70rpx;
  599. width: 250rpx;
  600. line-height: 70rpx;
  601. margin: 20rpx;
  602. letter-spacing: 4rpx;
  603. background-color: #FCCF41;
  604. }
  605. /deep/ .mini-btn1 {
  606. height: 70rpx;
  607. width: 400rpx;
  608. line-height: 70rpx;
  609. margin: 20rpx;
  610. letter-spacing: 4rpx;
  611. color: white;
  612. ;
  613. }
  614. /deep/ .uni-data-checklist .checklist-group .checklist-box.is--tag.is-checked {
  615. background-color: #FCCF41 !important;
  616. }
  617. .butto {
  618. text-align: center;
  619. }
  620. //其他
  621. .nav {
  622. position: relative;
  623. }
  624. .nv_padding {
  625. height: 88upx;
  626. background-color: transparent;
  627. }
  628. /* 图标默认大小 */
  629. .nv_icon {
  630. width: 16px;
  631. height: 16px;
  632. }
  633. .bg_box {
  634. position: absolute;
  635. width: 750upx;
  636. height: 88upx;
  637. z-index: 10;
  638. top: 0;
  639. background-color: transparent;
  640. /* #ifdef MP */
  641. box-sizing: border-box;
  642. /* #endif */
  643. /* #ifndef APP-PLUS-NVUE */
  644. background-size: cover;
  645. background-repeat: no-repeat;
  646. background-position: center center;
  647. /* #endif */
  648. }
  649. .mys_navBar {
  650. /* #ifndef APP-PLUS-NVUE */
  651. display: flex;
  652. height: 88upx;
  653. /* #endif */
  654. // #ifdef MP
  655. box-sizing: border-box;
  656. // #endif
  657. width: 750upx;
  658. flex-direction: row;
  659. background-color: transparent;
  660. position: absolute;
  661. z-index: 10;
  662. top: 0;
  663. }
  664. .fixed {
  665. position: fixed;
  666. }
  667. /*
  668. left 按钮
  669. */
  670. .btn_type {
  671. /* #ifndef APP-PLUS-NVUE */
  672. display: flex;
  673. /* #endif */
  674. /* #ifdef APP-PLUS-NVUE */
  675. margin-left: 16upx;
  676. /* #endif */
  677. // #ifndef MP
  678. align-items: center;
  679. // #endif
  680. flex: 1;
  681. flex-direction: row;
  682. // background-color: #fff;
  683. }
  684. .btn_box {
  685. /* #ifndef APP-PLUS-NVUE */
  686. display: flex;
  687. margin-left: 16upx;
  688. /* #endif */
  689. flex-direction: row;
  690. // #ifndef MP
  691. align-items: center;
  692. // #endif
  693. }
  694. .btn_back,
  695. .btn_home {
  696. /* #ifndef APP-PLUS-NVUE */
  697. display: flex;
  698. /* #endif */
  699. /* #ifndef APP-PLUS-NVUE */
  700. height: 100%;
  701. /* #endif */
  702. /* #ifdef APP-PLUS-NVUE */
  703. width: 76upx;
  704. height: 62upx;
  705. /* #endif */
  706. flex-direction: row;
  707. align-items: center;
  708. justify-content: center;
  709. flex: 1;
  710. }
  711. /* 按钮类型1 */
  712. .nav_btn_t1 {
  713. /* #ifndef APP-PLUS-NVUE */
  714. display: flex;
  715. /* #endif */
  716. // #ifdef MP
  717. box-sizing: border-box;
  718. // #endif
  719. flex-direction: row;
  720. align-items: center;
  721. border-style: solid;
  722. border-width: 1px;
  723. border-color: #C0C0C0;
  724. // background-color: rgba(0, 0, 0, 0.2);
  725. background-color: #FFFFFF;
  726. width: 130upx;
  727. height: 45upx;
  728. }
  729. .line {
  730. width: 1upx;
  731. height: 60%;
  732. /* #ifdef APP-PLUS-NVUE */
  733. height: 30upx;
  734. /* #endif */
  735. background-color: #C0C0C0;
  736. }
  737. /*
  738. 标题
  739. */
  740. .title_container {
  741. /* #ifndef APP-PLUS-NVUE */
  742. display: flex;
  743. /* #endif */
  744. position: absolute;
  745. left: 375upx;
  746. bottom: 0;
  747. transform: translateX(-50%);
  748. flex-direction: row;
  749. justify-content: center;
  750. align-items: center;
  751. }
  752. .title_text {
  753. // flex: 1;
  754. text-overflow: ellipsis;
  755. /* #ifndef APP-PLUS-NVUE */
  756. white-space: nowrap;
  757. overflow: hidden;
  758. font-weight: 550;
  759. /* #endif */
  760. /* #ifdef APP-PLUS-NVUE */
  761. lines: 1;
  762. /* #endif */
  763. }
  764. /*
  765. 左边自定义
  766. */
  767. .my_left_box {
  768. /* #ifndef APP-PLUS-NVUE */
  769. display: flex;
  770. /* #endif */
  771. flex-direction: row;
  772. align-items: center;
  773. }
  774. .my_left_icon {
  775. /* #ifndef APP-PLUS-NVUE */
  776. display: flex;
  777. /* #endif */
  778. flex-direction: row;
  779. align-items: center;
  780. justify-content: center;
  781. /* #ifndef MP */
  782. margin-left: 18upx;
  783. /* #endif */
  784. }
  785. .my_left_custom {
  786. /* #ifndef APP-PLUS-NVUE */
  787. display: flex;
  788. /* #endif */
  789. flex-direction: row;
  790. align-items: center;
  791. // justify-content: center;
  792. }
  793. /* 文字 */
  794. .leftText {
  795. /* #ifndef APP-PLUS-NVUE */
  796. display: flex;
  797. /* #endif */
  798. flex-direction: row;
  799. align-items: center;
  800. justify-content: center;
  801. padding-left: 4upx;
  802. font-size: 15px;
  803. }
  804. /*
  805. 中间
  806. */
  807. .my_custom_box {
  808. /* #ifndef APP-PLUS-NVUE */
  809. display: flex;
  810. /* #endif */
  811. flex-direction: row;
  812. align-items: center;
  813. justify-content: center;
  814. flex: 1;
  815. }
  816. /*
  817. 搜索框
  818. */
  819. .nv_search_box {
  820. /* #ifndef APP-PLUS-NVUE */
  821. display: flex;
  822. /* #endif */
  823. flex-direction: row;
  824. align-items: center;
  825. flex: 1;
  826. /* #ifndef MP */
  827. height: 60upx;
  828. /* #endif */
  829. background-color: #f8f8f8;
  830. padding-right: 20upx;
  831. padding-left: 20upx;
  832. border-radius: 60upx;
  833. margin-right: 15upx;
  834. margin-left: 15upx;
  835. }
  836. .nv_input {
  837. flex: 1;
  838. padding-left: 16upx;
  839. font-size: 13px;
  840. }
  841. .close {
  842. width: 50upx;
  843. /* #ifndef APP-PLUS-NVUE */
  844. display: flex;
  845. /* #endif */
  846. flex-direction: row;
  847. align-items: center;
  848. justify-content: center;
  849. /* #ifndef MP */
  850. height: 62upx;
  851. /* #endif */
  852. }
  853. /*
  854. 右边 自定义
  855. */
  856. .my_right_icon {
  857. /* #ifndef APP-PLUS-NVUE */
  858. display: flex;
  859. /* #endif */
  860. flex-direction: row;
  861. align-items: center;
  862. justify-content: center;
  863. /* #ifndef MP */
  864. // min-width: 70upx;
  865. /* #endif */
  866. padding-left: 6px;
  867. padding-right: 10px;
  868. }
  869. .imge image {
  870. width: 100%;
  871. height: 260rpx;
  872. }
  873. .commodity {
  874. margin-top: 10rpx;
  875. display: flex;
  876. flex-wrap: wrap;
  877. justify-content: space-between;
  878. }
  879. .share {
  880. text-align: center;
  881. line-height: 10rpx;
  882. margin-top: 10rpx;
  883. }
  884. .share image {
  885. vertical-align: middle;
  886. width: 25rpx;
  887. height: 25rpx;
  888. display: inline-block
  889. }
  890. .share p {
  891. display: inline-block;
  892. font-size: 24rpx;
  893. color: #333333;
  894. }
  895. .project {
  896. width: 49%;
  897. height: 550rpx;
  898. // background-color: #ccc;
  899. border-radius: 20rpx;
  900. // box-shadow: 0rpx 5rpx 5rpx #ccc;
  901. margin-bottom: 0%;
  902. }
  903. .projectdiagram {
  904. width: 100%;
  905. height: 61%;
  906. background-size: 100% 100%;
  907. position: relative;
  908. border-radius: 10rpx;
  909. ;
  910. }
  911. .TitleText1 {
  912. height: 30rpx;
  913. background-color: #FDD442;
  914. border-radius: 10rpx;
  915. display: inline-block;
  916. padding: 0rpx 20rpx 0rpx 20rpx;
  917. line-height: 30rpx;
  918. }
  919. .TitleText2 {
  920. opacity: 0.8;
  921. height: 30rpx;
  922. background-color: #FFFFFF;
  923. border-radius: 20rpx;
  924. display: inline-block;
  925. padding: 0rpx 20rpx 0rpx 20rpx;
  926. line-height: 30rpx;
  927. }
  928. .TitleText2 p {
  929. color: #464100;
  930. font-size: 24rpx;
  931. }
  932. .projecttext {
  933. // padding-top: 5%;
  934. padding: 0 0 0 1%;
  935. // height: 80rpx;
  936. }
  937. .projecttext span {
  938. color: #333333;
  939. font-size: 25rpx;
  940. font-weight: 550;
  941. text-indent: 2em;
  942. }
  943. .TitleText1 p {
  944. color: #333333;
  945. font-size: 18rpx;
  946. }
  947. .projecttext {
  948. // height: 70rpx;
  949. }
  950. .projecttext image {
  951. vertical-align: middle;
  952. width: 30rpx;
  953. height: 30rpx;
  954. display: inline-block;
  955. padding-right: 14rpx;
  956. }
  957. .TitleText {
  958. // height: 30rpx;
  959. background-color: #FDD442;
  960. border-radius: 10rpx;
  961. display: inline-block;
  962. padding: 0rpx 20rpx 0rpx 20rpx;
  963. line-height: 30rpx;
  964. margin-top: 0%;
  965. }
  966. .TitleText p {
  967. color: black;
  968. font-size: 18rpx;
  969. }
  970. .introduction {
  971. width: 100%;
  972. margin: 10rpx auto 0;
  973. }
  974. .rleft p {
  975. font-size: 18rpx;
  976. color: #999999;
  977. }
  978. .rright p {
  979. font-size: 18rpx;
  980. color: #999999;
  981. }
  982. .Mask {
  983. position: absolute;
  984. background-color: #000000;
  985. opacity: 0.6;
  986. width: 100%;
  987. height: 100%;
  988. // z-index: 999;
  989. text-align: center;
  990. border-radius: 20rpx;
  991. }
  992. .Mask image {
  993. width: 50%;
  994. height: 52%;
  995. padding-top: 25%;
  996. }
  997. .contt {
  998. position: relative;
  999. }
  1000. .contact {
  1001. position: fixed;
  1002. top: 80%;
  1003. right: 13%;
  1004. }
  1005. .img1 {
  1006. width: 84rpx;
  1007. height: 124rpx;
  1008. position: absolute;
  1009. }
  1010. .img2 {
  1011. width: 114rpx;
  1012. height: 40rpx;
  1013. position: absolute;
  1014. top: 130rpx;
  1015. left: -12rpx;
  1016. }
  1017. .swiper {
  1018. height: 300rpx;
  1019. }
  1020. .swiper-item {
  1021. display: block;
  1022. height: 300rpx;
  1023. line-height: 300rpx;
  1024. text-align: center;
  1025. }
  1026. .swiper-list {
  1027. margin-top: 40rpx;
  1028. margin-bottom: 0;
  1029. }
  1030. </style>