buildList.vue 21 KB

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