buildList.vue 23 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094
  1. <template >
  2. <view>
  3. <view :class="['custom-header', { 'is-back': isBack }, bgColor]">
  4. <view class="back-container" @click="handleBack">
  5. <view class="back-text">返回</view>
  6. </view>
  7. <view class="content-container">
  8. <view class="content-text">{{title}}</view>
  9. </view>
  10. </view>
  11. <!-- <swiper class="swiper" circular :indicator-dots="true" :autoplay="true" :interval="3000" :duration="800">
  12. <swiper-item>
  13. <image src="../../static/img/titlebg.jpg" class="swiper-item"></image>
  14. </swiper-item>
  15. <swiper-item>
  16. <image src="../../static/img/titlebg.jpg" class="swiper-item"></image>
  17. </swiper-item>
  18. </swiper> -->
  19. <swiper class="swiper" circular :indicator-dots="true" :autoplay="true" :interval="3000" :duration="800">
  20. <swiper-item v-for="(item, index) in picture2" :key="index">
  21. <image :src="item" class="swiper-item"></image>
  22. </swiper-item>
  23. </swiper>
  24. <view class="line-box">
  25. <!-- <view class="center-box">
  26. <view class="center-left-box">
  27. <view class="btn-box-1 mart-t">
  28. {{pageInfo.enterprisec}}
  29. </view>
  30. <view class="btn-box-2 mart-t">
  31. {{pageInfo.todayc}}
  32. </view>
  33. <view class="btn-box-3 mart-t">
  34. {{pageInfo.samemonthc}}
  35. </view>
  36. <view class="btn-box-4 mart-t">
  37. {{pageInfo.industryc}}
  38. </view>
  39. </view>
  40. <view class="center-left-box">
  41. <view class="btn-box-text mart-t">
  42. 入库企业数
  43. </view>
  44. <view class="btn-box-text mart-t">
  45. 当日活跃数
  46. </view>
  47. <view class="btn-box-text mart-t">
  48. 当月活跃数
  49. </view>
  50. <view class="btn-box-text mart-t">
  51. 企业行业数
  52. </view>
  53. </view>
  54. </view> -->
  55. <!-- <view class="center-box">
  56. <view class="kuai-text">快捷入口</view>
  57. <view class="center-left-box">
  58. <!-- <view class="btn-Imbox" @click="totongxunlu2">
  59. <image class="center-img" src="/static/img/icon4.png"></image>
  60. <p>新增企业</p>
  61. </view>
  62. <view class="btn-Imbox" @click="totongxunlu">
  63. <image class="center-img" src="/static/img/icon3.png"></image>
  64. <p>企业通讯录</p>
  65. </view>
  66. <view class="btn-Imbox" v-if="isLogin!=null" @click="outlogin">
  67. <image class="center-img2" src="/static/img/icon_logout.png"></image>
  68. <p>退出登录</p>
  69. </view>
  70. <view class="btn-Imbox">
  71. </view>
  72. </view>
  73. </view> -->
  74. <view :style="[{top:CustomBar + 'px'}]">
  75. <view class="tabs" v-if="md=='1'">
  76. <view
  77. v-for="(tab, index) in tabs"
  78. :key="index"
  79. class="tab-item"
  80. :class="{ active: activeTab === index }"
  81. @click="switchTab(index)"
  82. >
  83. {{ tab.name }}
  84. </view>
  85. </view>
  86. <view class="tabs" v-if="md=='2'">
  87. <view
  88. v-for="(tab, index) in tabs2"
  89. :key="index"
  90. class="tab-item"
  91. :class="{ active: activeTab === index }"
  92. @click="switchTab2(index)"
  93. >
  94. {{ tab.name }}
  95. </view>
  96. </view>
  97. <view @click="showMoreFilters = !showMoreFilters" style="width: 100%;text-align: center;" v-if="isshowMoreFilters">
  98. {{ showMoreFilters ? '收起' : '点击展示更多筛选' }}
  99. </view>
  100. <view class="search-box" v-if="showMoreFilters" >
  101. <view class="search-box1">
  102. <view class="choose-box">
  103. <input type="text" placeholder="输入或选择属地" v-model="searchForm.des1" confirm-type="search" style="padding-left: 28rpx;"
  104. ></input>
  105. <jp-picker class="choose-boxp" v-model="searchForm.des1" rangeKey="label" rangeValue="value"
  106. :range="parkList2" >
  107. </jp-picker>
  108. </view>
  109. <view class="choose-box">
  110. <input type="text" placeholder="输入或选择行业" v-model="searchForm.industry" confirm-type="search" style="padding-left: 28rpx;"
  111. ></input>
  112. <jp-picker class="choose-boxp" v-model="searchForm.industry" rangeKey="label" rangeValue="value"
  113. :range="parkList" >
  114. </jp-picker>
  115. </view>
  116. </view>
  117. <view class="choose-box2" style="margin-top: 20rpx;">
  118. <view class="choose-box3">
  119. <!-- <view style="width: 520rpx;">
  120. <input type="text" placeholder="输入或选择产业链环节关键词" v-model="searchForm.bz2" confirm-type="search"
  121. ></input>
  122. </view> -->
  123. <!-- <jp-picker style="width: 120rpx;" v-model="searchForm.bz2" rangeKey="label" rangeValue="value"
  124. :range="parkList3" >
  125. </jp-picker> -->
  126. <view style="width: 300rpx;display: flex;align-items: center;color: #666666;font-size: 33rpx;">
  127. 产业链环节:
  128. </view>
  129. <DoublePicker
  130. :column1Label="''"
  131. :column2Label="''"
  132. :column1Data="parkList3"
  133. :column2Data="parkList4"
  134. v-model="ddd1"
  135. @update:column2Data="updateCities"
  136. />
  137. </view>
  138. </view>
  139. <view class="choose-box2" style="margin-top: 20rpx;">
  140. <view style="width: 520rpx;">
  141. <input type="text" placeholder="输入关键词产品或企业名称" v-model="searchForm.name" confirm-type="search"
  142. ></input>
  143. </view>
  144. <text style="padding-left: 40rpx;flex: 1;" class="cuIcon-search color-white" @click="doSearch"></text>
  145. </view>
  146. </view>
  147. <mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" :up="upOption" @up="upCallback">
  148. <view class="cu-item" :class="modalName=='move-box-'+ index?'move-cur':''"
  149. v-for="(item, index) in dataList" :key="index" @touchstart="ListTouchStart"
  150. @touchmove="ListTouchMove" @touchend="ListTouchEnd" :data-target="'move-box-' + index">
  151. <view class="item-box" @click="gotoBuildInfo(item.id)">
  152. <view class="item-title">
  153. <view>
  154. {{item.name}}
  155. </view>
  156. </view>
  157. <view class="item-line">
  158. <view v-if="item.bz3!=''&&item.bz3!=undefined" class="item-name">{{item.bz1}}、{{item.bz3}}</view>
  159. <view v-if="item.bz3==''||item.bz3==undefined" class="item-name">{{item.bz1}}</view>
  160. </view>
  161. <view class="item-line">
  162. <view class="item-name2">{{item.industry}}</view>
  163. <view class="item-name3">{{item.des1}}</view>
  164. </view>
  165. </view>
  166. </view>
  167. </mescroll-body>
  168. <uni-fab :pattern=" {
  169. color: '#7A7E83',
  170. backgroundColor: '#fff',
  171. selectedColor: '#007AFF',
  172. buttonColor: '#007AFF'
  173. }" horizontal="right" vertical="bottom" @fabClick="add" v-if="stype == 5"></uni-fab>
  174. <!-- <view @click="outlogin" class="fixed-bottom-right" v-if="isLogin!=null">
  175. <image class="center-img2" src="/static/img/icon_logout.png"></image>
  176. </view> -->
  177. </view>
  178. </view>
  179. </view>
  180. </template>
  181. <script>
  182. import loginService from "@/api/auth/loginService";
  183. import uniFab from '@/components/uni-fab/uni-fab.vue';
  184. import DoublePicker from '@/components/DoublePicker/DoublePicker.vue'
  185. import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins.js";
  186. import MescrollMoreItemMixin from "@/components/mescroll-uni/mixins/mescroll-more-item.js";
  187. import {mapActions} from 'vuex'
  188. export default {
  189. mixins: [MescrollMixin, MescrollMoreItemMixin], // 使用mixin (在main.js注册全局组件)
  190. name: "apps",
  191. components: {
  192. uniFab,
  193. DoublePicker
  194. },
  195. data() {
  196. return {
  197. isBack: true, // 是否显示返回按钮
  198. backText: '返回', // 返回按钮的文本
  199. bgColor: 'bg-blue', // 背景颜色
  200. title: '',
  201. picture2:["https://miniapp.huidutech.com.cn/yd_qycpfbH5/bg1.jpg",
  202. "https://miniapp.huidutech.com.cn/yd_qycpfbH5/bg2.jpg",
  203. "https://miniapp.huidutech.com.cn/yd_qycpfbH5/bg3.jpg",
  204. "https://miniapp.huidutech.com.cn/yd_qycpfbH5/bg4.jpg"],
  205. isLogin:"",
  206. pageInfo: {},
  207. loginid:"",
  208. showMoreFilters: false,
  209. isshowMoreFilters: true,
  210. tabs: [
  211. { name: '全部' },
  212. { name: '三大新兴产业' },
  213. { name: '三大未来产业' },
  214. { name: 'N个特色产业' }
  215. ],
  216. tabs2: [
  217. { name: '东山系' },
  218. { name: '长盈系' },
  219. { name: '融和系' },
  220. { name: '其他链主企业' }
  221. ],
  222. activeTab: 0,
  223. stype: "", // 企业 => 3 楼宇 => 2 园区 => 1 zfadmin => 4 admin=> 5
  224. md:"1",
  225. searchForm: {
  226. des1:"",
  227. industry:"",
  228. name:"",
  229. des7:"",
  230. des8:"",
  231. },
  232. curWord: "", //当前搜索关键词
  233. dataList: [], // 数据列表
  234. modalName: null,
  235. tablePage: {
  236. total: 0,
  237. currentPage: 1,
  238. pageSize: 10,
  239. orders: []
  240. },
  241. loading: false,
  242. parkId: '',
  243. parkList: [],
  244. parkList2: [{label: "全部",value: ""},{label: "高新区",value: "高新区"},{label: "盐渎",value: "盐渎"},{label: "潘黄",value: "潘黄"},{label: "龙冈",value: "龙冈"},{label: "张庄",value: "张庄"}
  245. ,{label: "大冈",value: "大冈"},{label: "郭猛",value: "郭猛"},{label: "大纵湖",value: "大纵湖"},{label: "秦南",value: "秦南"},{label: "学富",value: "学富"},{label: "楼王",value: "楼王"},
  246. {label: "尚庄",value: "尚庄"},{label: "台创园",value: "台创园"}],
  247. parkList3: [],
  248. parkList4: [],
  249. ddd1:"" ,
  250. };
  251. },
  252. onLoad(query) {
  253. if(query!=undefined&&query!=null&&query!=''){
  254. if(query.loginid!=undefined){
  255. this.loginid=query.loginid
  256. this.autoLogin();
  257. }
  258. if (query && query.w=='1' ) {
  259. this.md = "1";
  260. this.searchForm.des7="";
  261. this.title="产品分布";
  262. //隐藏三个分类,直接展示筛选
  263. this.md = "3";
  264. this.isshowMoreFilters=false;
  265. this.showMoreFilters=true;
  266. }else if(query && query.w=='2'){
  267. this.md = "2";
  268. this.searchForm.des8="1";
  269. this.isshowMoreFilters=false;
  270. this.title="链主企业";
  271. }
  272. }
  273. },
  274. onShow() {
  275. this.isLogin=this.$auth.checkisLogin();
  276. },
  277. created() {
  278. //this.getPageInfo();
  279. this.getParkList()
  280. //this.getParkList2()
  281. this.getParkList3()
  282. },
  283. methods: {
  284. ...mapActions(['refreshUserInfo']),
  285. //选择产业链环节
  286. getParkList3() {
  287. loginService.getIndustryChainList({
  288. }).then(({
  289. data
  290. }) => {
  291. // this.parkList3 = data.map((item) => {
  292. // return {
  293. // label: item.bz2,
  294. // value: item.bz2
  295. // }
  296. // });
  297. this.parkList3=[{label: '上游',value: '上游'},{label: '中游',value: '中游'},{label: '下游',value: '下游'}]
  298. this.parkList4 = data
  299. .map((item) => {
  300. const match = item.bz2.match(/\((.*?)\)/); // 匹配括号内的内容
  301. if (match) {
  302. return {
  303. label: match[1], // 括号内的内容
  304. value: match[1] // 括号内的内容
  305. };
  306. }
  307. return null; // 如果没有括号,返回 null
  308. })
  309. .filter((item) => item !== null) // 过滤掉 null 值
  310. .reduce((acc, current) => {
  311. // 使用 Set 去重
  312. const existingItem = acc.find((item) => item.value === current.value);
  313. if (!existingItem) {
  314. acc.push(current);
  315. }
  316. return acc;
  317. }, []);
  318. this.parkList3.unshift({
  319. label: "全部",
  320. value: ""
  321. });
  322. this.parkList4.unshift({
  323. label: "全部",
  324. value: ""
  325. });
  326. }).catch(e => {
  327. console.log(e)
  328. })
  329. },
  330. //选择属地
  331. getParkList2() {
  332. loginService.getAreaList({
  333. }).then(({
  334. data
  335. }) => {
  336. this.parkList2 = data.map((item) => {
  337. return {
  338. label: item.des1,
  339. value: item.des1
  340. }
  341. })
  342. this.parkList2.unshift({
  343. label: "盐都区",
  344. value: ""
  345. });
  346. }).catch(e => {
  347. console.log(e)
  348. })
  349. },
  350. //选择行业
  351. getParkList() {
  352. loginService.getHyList({
  353. }).then(({
  354. data
  355. }) => {
  356. this.parkList = data.map((item) => {
  357. return {
  358. label: item.industry,
  359. value: item.industry
  360. }
  361. })
  362. this.parkList.unshift({
  363. label: "全部",
  364. value: ""
  365. });
  366. }).catch(e => {
  367. console.log(e)
  368. })
  369. },
  370. /*获取数据列表 */
  371. upCallback(page) {
  372. this.loading = true
  373. loginService.comlist({
  374. current: page.num,
  375. size: page.size,
  376. name: this.curWord,
  377. des1: this.parkId,
  378. orders: [{ column: 'a.create_date', asc: false }],
  379. ...this.searchForm
  380. }).then(({
  381. data
  382. }) => {
  383. let curPageData = data.records
  384. this.mescroll.endBySize(curPageData.length, data.total);
  385. //如果是第一页需手动制空列表
  386. if (page.num == 1)
  387. this.dataList = [];
  388. //追加新数据
  389. this.dataList = this.dataList.concat(curPageData);
  390. }).catch(e => {
  391. //联网失败, 结束加载
  392. this.mescroll.endErr();
  393. })
  394. },
  395. gotoBuildInfo(id) {
  396. // uni.navigateTo({
  397. // url: `/pages/comEdit/comEdit?id=${id}&ischeck=1`
  398. // })
  399. window.location.href=`/yd_qycpfbH5/#/pages/comEdit/comEdit?id=${id}&ischeck=1`
  400. },
  401. updateCities(newCities) {
  402. this.cities = newCities;
  403. },
  404. // 搜索
  405. doSearch() {
  406. if(this.ddd1.column2!=''&&this.ddd1!=''){
  407. this.searchForm.bz2=this.ddd1.column1+'('+this.ddd1.column2+')';
  408. }else if(this.ddd1!=''){
  409. this.searchForm.bz2=this.ddd1.column1;
  410. }
  411. this.dataList = []; // 先清空列表,显示加载进度
  412. this.mescroll.resetUpScroll();
  413. },
  414. totongxunlu(){
  415. uni.navigateTo({
  416. url: '/pages/comList/comList'
  417. })
  418. },
  419. totongxunlu2(){
  420. uni.showModal({
  421. title: '功能暂未开放,请至后台导入!',
  422. showCancel: true,
  423. success: (res) => {
  424. }
  425. });
  426. },
  427. getPageInfo() {
  428. loginService.InfoStatistics({}).then(({ data }) => {
  429. this.pageInfo = data;
  430. });
  431. },
  432. autoLogin(){
  433. console.log("登录id"+this.loginid);
  434. loginService.loginid( this.loginid).then(({data}) => {
  435. this.$store.commit('SET_TOKEN',data.token);
  436. this.refreshUserInfo();
  437. }).catch(e => {
  438. console.error(e)
  439. })
  440. },
  441. getRole() {
  442. let userInfo = uni.getStorageSync('WMS-userinfo')
  443. var officeId = userInfo.officeDTO.id;
  444. var roleIds = userInfo.roleIds;
  445. if (roleIds.indexOf("17bac1f980264e3e8193bc965538e2c6") != -1) {
  446. //// 管理员
  447. this.stype = 5
  448. uni.setStorageSync('stype', this.stype);
  449. } else if (roleIds.indexOf("ade960e8f02544998b07397304c059c1") != -1) {
  450. // 政府管理员
  451. this.stype = 4
  452. uni.setStorageSync('stype', this.stype);
  453. } else {
  454. console.log('==================>这里走了么','================>存一个stape')
  455. loginService
  456. .getOtherIdByOffceid({
  457. officeid: officeId,
  458. })
  459. .then(({
  460. data
  461. }) => {
  462. console.log(data, "====================>getOtherIdByOffceid");
  463. this.stype = data.stype;
  464. uni.setStorageSync('stype', this.stype);
  465. });
  466. }
  467. },
  468. outloginset(){
  469. loginService.logout().then(({
  470. data
  471. }) => {
  472. this.$store.commit('logout');
  473. uni.clearStorage();
  474. })
  475. this.$store.commit('logout');
  476. uni.clearStorage();
  477. this.isLogin=this.$auth.checkisLogin();
  478. uni.hideLoading()
  479. },
  480. outlogin() {
  481. uni.showModal({
  482. title: '您确认退出么?',
  483. showCancel: true,
  484. success: (res) => {
  485. if (res.confirm) {
  486. uni.showLoading()
  487. this.outloginset();
  488. // uni.reLaunch({
  489. // url: '/pages/login/login'
  490. // })
  491. }
  492. }
  493. });
  494. },
  495. tces() {
  496. uni.navigateTo({
  497. url: '/pages/index/AudioToWord'
  498. })
  499. },
  500. // ListTouch触摸开始
  501. ListTouchStart(e) {
  502. this.listTouchStart = e.touches[0].pageX
  503. },
  504. // ListTouch计算方向
  505. ListTouchMove(e) {
  506. this.listTouchDirection = e.touches[0].pageX - this.listTouchStart > -60 ? 'right' : 'left'
  507. },
  508. // ListTouch计算滚动
  509. ListTouchEnd(e) {
  510. if (this.listTouchDirection == 'left') {
  511. this.modalName = e.currentTarget.dataset.target
  512. } else {
  513. this.modalName = null
  514. }
  515. this.listTouchDirection = null
  516. },
  517. switchTab(index) {
  518. this.activeTab = index;
  519. if(index==0){
  520. this.searchForm.des7="";
  521. }else{
  522. this.searchForm.des7=this.activeTab;
  523. }
  524. this.doSearch();
  525. },
  526. switchTab2(index) {
  527. this.activeTab = index;
  528. // if(index==0){
  529. // this.searchForm.des8="";
  530. // }else{
  531. // this.searchForm.des8=this.activeTab;
  532. // }
  533. this.searchForm.des8=this.activeTab+1;
  534. this.doSearch();
  535. },
  536. handleBack() {
  537. // 返回逻辑,比如跳转至上一页
  538. this.$router.go(-1);
  539. console.log('返回按钮被点击');
  540. }
  541. }
  542. }
  543. </script>
  544. <style>
  545. .page {
  546. height: 100vh;
  547. }
  548. .line-box {
  549. padding-left: 20rpx;
  550. padding-right: 20rpx;
  551. margin-top: 20rpx;
  552. }
  553. .mart-t {
  554. margin-top: 30rpx;
  555. }
  556. .center-box{
  557. margin-top: 20rpx;
  558. width: 100%;
  559. border-radius: 25rpx;
  560. border-radius: 25rpx;
  561. background: #fff;
  562. box-shadow: 0px 8px 16px 2px rgba(101, 101, 101, 0.2);
  563. padding-bottom: 30rpx;
  564. display: flex;
  565. flex-wrap: wrap;
  566. }
  567. .center-left-box {
  568. width: 100%;
  569. padding-bottom: 30rpx;
  570. display: flex;
  571. flex-wrap: wrap;
  572. }
  573. .btn-box-text {
  574. flex:1;
  575. height: 20rpx;
  576. text-align: center;
  577. color: #000000;
  578. font-size: 14px;
  579. font-weight: 700;
  580. }
  581. .btn-box-1 {
  582. flex:1;
  583. height: 30rpx;
  584. text-align: center;
  585. color: #36A7F3;
  586. font-size: x-large;
  587. font-weight: 700;
  588. }
  589. .btn-box-2 {
  590. flex:1;
  591. height: 30rpx;
  592. text-align: center;
  593. color:#F3365A;
  594. font-size: x-large;
  595. font-weight: 700;
  596. }
  597. .btn-box-3 {
  598. flex:1;
  599. height: 30rpx;
  600. text-align: center;
  601. color:#15D578;
  602. font-size: x-large;
  603. font-weight: 700;
  604. }
  605. .btn-box-4 {
  606. flex:1;
  607. height: 30rpx;
  608. text-align: center;
  609. color:#F1A31B;
  610. font-size: x-large;
  611. font-weight: 700;
  612. }
  613. .btn-Imbox {
  614. flex:1;
  615. height: 150rpx;
  616. padding-top: 8rpx;
  617. text-align: center;
  618. display: flex;
  619. flex-direction: column;
  620. justify-content: center; /* 子元素内部内容竖向居中 */
  621. align-items: center; /* 子元素内部内容水平居中 */
  622. text-align: center; /* 文字居中 */
  623. }
  624. .btn-Imbox p {
  625. font-size: 14px; /* 文字大小,可根据需要调整 */
  626. margin: 0; /* 去掉默认的外边距 */
  627. font-weight: 700;
  628. }
  629. .center-img{
  630. width: 90rpx;
  631. height: 90rpx;
  632. margin-bottom: 10rpx;
  633. text-align: center;
  634. }
  635. .center-img2{
  636. width: 70rpx;
  637. height: 70rpx;
  638. margin-top: 10rpx;
  639. margin-bottom: 20rpx;
  640. text-align: center;
  641. }
  642. .kuai-text{
  643. color: #000000;
  644. font-weight: 900;
  645. font-size: 34rpx;
  646. padding-top: 20rpx;
  647. padding-left: 20rpx;
  648. }
  649. .btn-box-5 {
  650. width: 337rpx;
  651. height: 200rpx;
  652. background-image: url('../../static/img/btn3.png');
  653. background-size: 100% 100%;
  654. }
  655. .btn-box-6 {
  656. width: 337rpx;
  657. height: 200rpx;
  658. background-image: url('../../static/img/btn6.png');
  659. background-size: 100% 100%;
  660. }
  661. .h-200 {
  662. height: 200rpx;
  663. }
  664. .swiper {
  665. width: 750rpx;
  666. height: 310rpx;
  667. }
  668. .swiper-item {
  669. width: 750rpx;
  670. height: 310rpx;
  671. background-color: aliceblue;
  672. }
  673. .font-size-35 {
  674. font-size: 35px !important;
  675. }
  676. .img-size {
  677. width: 80rpx;
  678. height: 80rpx;
  679. }
  680. .content-box {
  681. width: 437rpx;
  682. height: 200rpx;
  683. }
  684. .my-app .padding-sm {
  685. padding: 6px;
  686. }
  687. .grid .padding-sm .bg-white {
  688. box-shadow: 0 1px 4px #f9f9f9, 1px 1px 40px rgba(0, 0, 0, .06);
  689. }
  690. .bg-blue {
  691. background: #fff;
  692. color: #0081ff !important;
  693. }
  694. .text-white,
  695. .line-white,
  696. .lines-white {
  697. color: #0081ff !important;
  698. }
  699. .cu-bar .search-form {
  700. background-color: white;
  701. }
  702. .item-box{
  703. width: 710rpx;
  704. background: #FFFFFF;
  705. box-shadow: 0px 1px 3px 0px rgba(9,2,4,0.1);
  706. border-radius: 10px;
  707. padding-top: 20rpx;
  708. padding-left: 38rpx;
  709. padding-right: 10rpx;
  710. margin-top: 20rpx;
  711. }
  712. .item-title{
  713. position: relative;
  714. display: flex;
  715. justify-content: space-between;
  716. font-size: 30rpx;
  717. color: #010101;
  718. font-weight: bold;
  719. align-items: center;
  720. }
  721. .item-line{
  722. display: flex;
  723. height: 48rpx;
  724. margin-top: 20rpx;
  725. }
  726. .item-line2{
  727. height: 48rpx;
  728. margin-top: 20rpx;
  729. }
  730. .subtitle{
  731. color: #E5880E;
  732. }
  733. .item-name{
  734. margin-top: 5rpx;
  735. font-size: 29rpx;
  736. color: #666666;
  737. }
  738. .item-name2{
  739. font-size: 29rpx;
  740. color: #676D99;
  741. }
  742. .item-name3{
  743. display: flex;
  744. width: 100%;
  745. padding-right: 30rpx;
  746. flex: 1;
  747. justify-content: flex-end;
  748. font-size: 29rpx;
  749. color: #676D99;
  750. }
  751. .item-content{
  752. color: #1497EF;
  753. font-size: 30rpx;
  754. }
  755. .btn-box{
  756. display: flex;
  757. }
  758. .line-zs{
  759. width: 2rpx;
  760. height: 30rpx;
  761. background: #36A7F3;
  762. }
  763. .edit-botton{
  764. width: 100rpx;
  765. height: 48rpx;
  766. line-height: 48rpx;
  767. color: #fff;
  768. font-size: 28rpx;
  769. margin-right: 20rpx;
  770. border-radius: 10rpx;
  771. background: #5A9EE9;
  772. text-align: center;
  773. }
  774. .del-botton{
  775. width: 100rpx;
  776. height: 48rpx;
  777. line-height: 48rpx;
  778. color: #fff;
  779. font-size: 28rpx;
  780. margin-right: 20rpx;
  781. border-radius: 10rpx;
  782. background: #F27C85;
  783. text-align: center;
  784. }
  785. .color-white{
  786. color: #808080;
  787. font-size: 40rpx;
  788. line-height: 60rpx;
  789. }
  790. .search-box{
  791. padding-left: 20rpx;
  792. padding-right: 20rpx;
  793. padding-top: 20rpx;
  794. margin-top: 20rpx;
  795. width: 100%;
  796. border-radius: 25rpx;
  797. border-radius: 25rpx;
  798. background: #fff;
  799. box-shadow: 0px 8px 16px 2px rgba(101, 101, 101, 0.2);
  800. padding-bottom: 30rpx;
  801. display: flex;
  802. flex-wrap: wrap;
  803. }
  804. .search-box1{
  805. display: flex;
  806. }
  807. .input-box{
  808. background: #fff;
  809. height: 65rpx;
  810. width: 640rpx;
  811. display: flex;
  812. align-items: center;
  813. border-radius: 30rpx;
  814. padding-left: 30rpx;
  815. margin-right: 20rpx;
  816. }
  817. .input-boxinput{
  818. height: 75rpx;
  819. font-size: 15rpx;
  820. }
  821. .choose-box{
  822. background: #fff;
  823. width: 325rpx;
  824. border-radius: 23rpx;
  825. height: 70rpx;
  826. display: flex;
  827. align-items: center;
  828. justify-content: center;
  829. margin-right: 20rpx;
  830. border: 1rpx solid #808080;
  831. }
  832. .choose-box2{
  833. background: #fff;
  834. width: 100%;
  835. border-radius: 23rpx;
  836. height: 70rpx;
  837. display: flex;
  838. padding-left: 29rpx;
  839. align-items: center;
  840. border: 1rpx solid #808080;
  841. }
  842. .choose-box3{
  843. display: flex;
  844. }
  845. .choose-boxp{
  846. font-size: 32rpx;
  847. width: 80rpx;
  848. }
  849. .fixed-bottom-right {
  850. padding: 20rpx;
  851. position: fixed;
  852. bottom: 20px; /* 距离底部的距离 */
  853. right: 20px; /* 距离右侧的距离 */
  854. }
  855. .tabs {
  856. display: flex;
  857. justify-content: space-around;
  858. margin-bottom: 20px;
  859. }
  860. .tab-item {
  861. padding: 3px 3px;
  862. cursor: pointer;
  863. transition: all 0.3s;
  864. }
  865. .tab-item.active {
  866. color: #66b1ff;
  867. border-bottom: 2px solid #66b1ff;
  868. }
  869. .tab-content {
  870. padding: 20px;
  871. }
  872. .tab-item-content {
  873. display: none;
  874. }
  875. .tab-item-content.v-if {
  876. display: block;
  877. }
  878. /* 返回 */
  879. .item-img {
  880. width: 160rpx;
  881. height: 160rpx;
  882. }
  883. .custom-header {
  884. display: flex;
  885. align-items: center;
  886. justify-content: center;
  887. padding: 10px;
  888. width: 100%;
  889. }
  890. .is-back {
  891. position: relative;
  892. }
  893. .back-container {
  894. position: absolute;
  895. left: 10px;
  896. cursor: pointer;
  897. }
  898. .back-text {
  899. color: white; /* 返回按钮文本颜色 */
  900. }
  901. .back-text {
  902. color: white; /* 返回按钮文本颜色 */
  903. }
  904. .content-container {
  905. flex: 1;
  906. text-align: center;
  907. }
  908. .content-text {
  909. color: white; /* 标题文本颜色 */
  910. font-weight: bold;
  911. }
  912. /* 背景颜色 */
  913. .bg-blue {
  914. background-color: #4285f4; /* 假设这是一个蓝色背景 */
  915. }
  916. </style>