workbench.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978
  1. <template>
  2. <view>
  3. <block v-if="loginStyle == 0">
  4. <view style="width:100vw;height:500upx;display:flex;align-items:center;justify-content:center;">
  5. <button class="admin-button-com big blue" @click="pageTo({url:'/admin/home/login'})">点我登录</button>
  6. <view style="position:absolute;top:360upx;font-size:30upx;">
  7. <text style="color:red;font-weight:bold;">伙伴和员工</text>
  8. 需要登录,请联系批发店添加员工
  9. </view>
  10. </view>
  11. </block>
  12. <block v-else>
  13. <div class="app-main app-content" v-if="loginStyle == 2">
  14. <template v-if="lookMoney == 1">
  15. <div class="user-wrap" :style="{ backgroundImage: `url(${constant.imgUrl}/home/bg_hd_home.png)` }">
  16. <div class="user-top">
  17. <div class="app-size-28">今日概况</div>
  18. </div>
  19. <div class="income-amount" @click="pageTo({url:'/admin/stat/kdIncome'})">
  20. <div>收入</div>
  21. <div class="price">{{ $util.numberFormat(data.todayData.income) }}</div>
  22. </div>
  23. <div class="user-bottom">
  24. <div class="info-list" @click="goToKindStat">
  25. <div class="info-list-name">花束</div>
  26. <div class="info-list-value">
  27. {{ $util.numberFormat(data.todayData.bouquet) || 0 }}
  28. </div>
  29. </div>
  30. <navigator url="/admin/home/order" open-type="switchTab" class="info-list">
  31. <div class="info-list-name">订单</div>
  32. <div class="info-list-value">
  33. {{ $util.numberFormat(data.todayData.order) || 0 }}
  34. </div>
  35. </navigator>
  36. <div class="info-list">
  37. <div class="info-list-name">访客</div>
  38. <div class="info-list-value">
  39. {{ $util.numberFormat(data.todayData.visit) || 0 }}
  40. </div>
  41. </div>
  42. </div>
  43. </div>
  44. <div class="module-com order-wrap" @click="pageTo({url:'/admin/stat/kdIncome'})">
  45. <div class="total-blo">
  46. <div class="total-list2">
  47. <div class="app-color-3">系统收款</div>
  48. <div class="list-num">
  49. <view>{{countStat.systemCount||0}}</view>
  50. <view>{{countStat.systemIncome?parseFloat(countStat.systemIncome):0}}</view>
  51. </div>
  52. </div>
  53. <div class="total-list2">
  54. <div class="app-color-3">线下微信</div>
  55. <div class="list-num">
  56. <view>{{countStat.kfWxCount||0}}</view>
  57. <view>{{countStat.kfWxIncome?parseFloat(countStat.kfWxIncome):0}}</view>
  58. </div>
  59. </div>
  60. <div class="total-list2">
  61. <div class="app-color-3">现金</div>
  62. <div class="list-num">
  63. <view>{{countStat.cashCount||0}}</view>
  64. <view>{{countStat.cashIncome?parseFloat(countStat.cashIncome):0}}</view>
  65. </div>
  66. </div>
  67. <div class="total-list2">
  68. <div class="app-color-3">赊账</div>
  69. <div class="list-num">
  70. <view>{{countStat.debtCount||0}}</view>
  71. <view>{{countStat.debtIncome?parseFloat(countStat.debtIncome):0}}</view>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. </template>
  77. <div class="module-com news-wrap">
  78. <div class="news-list" v-for="(item, index) in data.notice" :key="index" @click="noticeFn(item)" >
  79. <div class="news-left">
  80. <i class="iconfont iconxiaoxi2 ling"></i>
  81. <span>{{ item.title }}</span>
  82. </div>
  83. <div class="news-right">
  84. <span>{{ item.action }}</span>
  85. <i class="iconfont iconxiangyou"></i>
  86. </div>
  87. </div>
  88. </div>
  89. <view class="module-com">
  90. <view class="tabs-head_bx">
  91. <image @click="goGd()" :src="kdSrc" mode="widthFix" ></image>
  92. <image @click="goShKd()" :src="shSrc" mode="widthFix"></image>
  93. </view>
  94. <div class="tabs-wrap">
  95. <div class="tabs-list" v-for="(item, index) in tabsData" :key="index" >
  96. <div @click="goPage(item)">
  97. <div class="tabs-img">
  98. <img :src="`${constant.imgUrl}/${item.img}`" alt mode="widthFix" />
  99. </div>
  100. <div class="tabs-name">{{ item.name }}</div>
  101. </div>
  102. </div>
  103. </div>
  104. </view>
  105. <template v-if="lookMoney == 1">
  106. <div class="module-com total-wrap">
  107. <div class="total-tit">总览</div>
  108. <div class="total-blo">
  109. <div class="total-list" v-for="(item, index) in overview" :key="index" @click="pageTo(item)">
  110. <div class="list-num">{{ $util.numberFormat(item.value) }}</div>
  111. <div class="app-color-3">{{ item.name }}</div>
  112. </div>
  113. </div>
  114. </div>
  115. </template>
  116. </div>
  117. <view class="order-page" v-else>
  118. <view class="ghs_list_page flex-col">
  119. <view style="background-color:white;margin-bottom:20upx;">
  120. <button class="admin-button-com mini-btn blue" style="margin-left:12upx;padding-top:17upx;padding-bottom:17upx;" @click="pageTo({url:'/admin/shop/myShop'})">我的门店</button>
  121. <button class="admin-button-com mini-btn blue" style="margin-left:12upx;padding-top:17upx;padding-bottom:17upx;" @click="pageTo({url:'/admin/staff/list'})">我的员工</button>
  122. <button class="admin-button-com mini-btn blue" style="margin-left:12upx;padding-top:17upx;padding-bottom:17upx;" @click="pageTo({url:'/admin/shop/add?id='+loginInfo.shopId})">我的地址</button>
  123. <button class="admin-button-com mini-btn blue" style="margin-left:12upx;padding-top:17upx;padding-bottom:17upx;" @click="pageTo({url:'/admin/stat/cgItem'})">采购统计</button>
  124. <button class="admin-button-com mini-btn blue" style="margin-left:12upx;padding-top:17upx;padding-bottom:17upx;" @click="goMore()">更多</button>
  125. </view>
  126. <template v-if="!$util.isEmpty(ad)">
  127. <block v-for="(adInfo, adIndex) in ad" :key="adIndex">
  128. <view style="text-align:center;" @click.stop="pageTo({url:adInfo.url})">
  129. <image :src="adInfo.banner" mode="widthFix" style="width:97%;margin:0 auto;"></image>
  130. </view>
  131. </block>
  132. </template>
  133. <template v-if="!$util.isEmpty(supplierList)">
  134. <view class="ghs_list_area flex-col justify-end">
  135. <view class="ghs_box flex-col justify-end" v-for="(ghsInfo, index) in supplierList" :key="index">
  136. <view class="image-text_7 flex-row justify-between">
  137. <view class="section_1 flex-col">
  138. <image class="logo" :src="ghsInfo.avatar" @click="enterShop(ghsInfo)" />
  139. </view>
  140. <view class="text-group_7 flex-col justify-between" @click="enterShop(ghsInfo)">
  141. <text class="text_8">{{ghsInfo.name}}</text>
  142. <text class="text_9"></text>
  143. </view>
  144. </view>
  145. <view class="box_4 flex-col"></view>
  146. <view class="box_9">
  147. <view class="tag_2" @click="pageTo({ url: '/admin/ghs/debtChange?ghsId='+ghsInfo.id})"> <text>欠款变动记录</text> </view>
  148. <view class="tag_2" @click="pageTo({ url: '/admin/clear/list?ghsId='+ghsInfo.id})"> <text>结账记录</text> </view>
  149. <view class="tag_2" @click="pageTo({url:'/pagesPurchase/shopping'})"> <text>买花记录</text> </view>
  150. </view>
  151. <view class="box_6 flex-row" @click="settleAccounts(ghsInfo)" v-if="Number(ghsInfo.debtAmount)>0">
  152. <view class="show_clear_area flex-row justify-between">
  153. <image class="icon_2" referrerpolicy="no-referrer" src="/static/lanhu_020105gongyingshangliebiao/ps2pvfa1l5i34w5vqj2k7b3kejml3i3nmrba1421bf-caa2-491b-8773-af413df7e96d.png" />
  154. <text class="waite_clear_order">待结订单&nbsp;{{ghsInfo.debtNum}}笔&nbsp;¥{{ghsInfo.debtAmount?parseFloat(ghsInfo.debtAmount):0}}</text>
  155. </view>
  156. <view class="image-text_9 flex-row justify-between">
  157. <text class="text-group_4">去结账</text>
  158. <image class="icon_3" referrerpolicy="no-referrer" src="/static/lanhu_020105gongyingshangliebiao/ps83ag7scu3a8bfq22ciodg5hiu0x9cesxjbfb4c9ca-ee3f-45ec-a6d7-6f166e13d6e6.png" />
  159. </view>
  160. </view>
  161. <block v-if="ghsInfo.live == 1">
  162. <view class="button_4 flex-col" v-if="ghsInfo.isOpen == 1" @click="enterShop(ghsInfo)"><text class="text_13">买花</text></view>
  163. <view class="button_5 flex-col" v-else @click="enterShop(ghsInfo)"><text class="text_13">买花</text></view>
  164. </block>
  165. <block v-else>
  166. <view class="button_6 flex-col" @click="fillCg(ghsInfo)"><text class="text_13">录采购单</text></view>
  167. </block>
  168. <text style="position:absolute;left:646upx;top:235upx;color:#CCCCCC;" @click.stop="bpSj(ghsInfo)">屏蔽</text>
  169. </view>
  170. </view>
  171. </template>
  172. <block v-else>
  173. <emptyComponent title="暂无供货商" :is-empty="$util.isEmpty(supplierList)" />
  174. </block>
  175. <view style="text-align:center;margin-top:50upx;margin-bottom:80upx;color:#827171;font-size:28upx;">
  176. <text style="margin-right:20upx;">中花汇提供技术支持</text>
  177. <text style="margin-right:20upx;">|</text>
  178. <text @click="toPhone()">联系中花汇</text>
  179. </view>
  180. </view>
  181. </view>
  182. </block>
  183. </view>
  184. </template>
  185. <script>
  186. import { mapGetters } from "vuex";
  187. import { getWeixinId } from "@/api/invite";
  188. import { getStat,getStrokeCount } from '@/api/console'
  189. import { consoleIndex } from "@/api/workbench";
  190. import NotLogin from "@/components/not-login";
  191. import autoUpdateMixins from "@/mixins/autoUpdate";
  192. import emptyComponent from "@/components/empty";
  193. import { ghsList } from "@/api/purchase";
  194. import { changeDelStatus } from "@/api/ghs";
  195. import {currentShop} from "@/api/shop";
  196. export default {
  197. name: "workbench",
  198. components: { NotLogin,emptyComponent },
  199. mixins: [autoUpdateMixins],
  200. data () {
  201. return {
  202. overview:[],
  203. ad:[],
  204. constant: this.$constant,
  205. getappIdList: {},
  206. data: {
  207. admin: {},
  208. asset: {},
  209. notice: {},
  210. todayData: { income:0.00, order:0, custom:0, expend:0.00 },
  211. isMini:0
  212. },
  213. tabsData: [
  214. { name: "商城", img: `ghs/home/shop.png`, url: "/admin/cg/mall",pf:1},
  215. { name: "花材", img: `ghs/home/hcgl.png`, url: "/admin/item/list",pf:1 },
  216. { name: "改价", img: `ghs/home/gj.png`, url: "/admin/changePrice/list",pf:1},
  217. { name: "拆散", img: `ghs/home/kcyjs.png`, url: "/admin/part/list",pf:1},
  218. { name: "损耗", img: `ghs/home/kcyjs.png`, url: "/admin/breakage/list",pf:1},
  219. { name: "任务", img: `ghs/home/kcyjs.png`, url: "/admin/work/list",pf:1 },
  220. { name: "供货商", img: `ghs/home/icon_ghs.png`, url: "/pagesPurchase/order",pf:1 },
  221. { name: "采购", img: `ghs/home/icon_caigou.png`, url: "/pagesPurchase/shopping",pf:1 },
  222. { name: "采购结账", img: `ghs/home/kcyjs.png`, url: "/admin/clear/list",pf:1 },
  223. { name: "花束", img: `ghs/home/hcgl.png`, url: "/admin/goods/list",pf:1 },
  224. { name: "绿植", img: `ghs/home/hcgl.png`, url: "/admin/goods/lz",pf:1 },
  225. { name: "绿植采购", img: `ghs/home/icon_caigou.png`, url: "/admin/goods/plantCg",pf:1}
  226. ],
  227. totalData: [
  228. { name: "客户数", value: 0 },
  229. { name: "总访客", value: 0 },
  230. { name: "总订单", value: 0 },
  231. { name: "总收入(元)", value: 0 },
  232. { name: "总支出(元)", value: 0 },
  233. { name: "总采购(元)", value: 0 }
  234. ],
  235. shSrc: `${this.$constant.imgUrl}/ghs/home/shkd.jpg`,
  236. kdSrc: `${this.$constant.imgUrl}/ghs/home/zzkd.jpg`,
  237. supplierList: [],
  238. //登录状态 0未登录 1登录仅用到了采购 2登录用到完整功能
  239. loginStyle :0,
  240. backAction:'',
  241. countStat:{systemIncome:0,systemCount:0,debtCount:0,debtIncome:0,kfWxCount:0,kfWxIncome:0},
  242. lookMoney:1
  243. };
  244. },
  245. computed: {
  246. ...mapGetters({ loginInfo: "getLoginInfo",dictInfo:"getDictionariesInfo" })
  247. },
  248. watch: {
  249. //只需要采购花材的花店不显示底部菜单
  250. loginInfo(newVal) {
  251. if(!this.$util.isEmpty(newVal.admin) && newVal.admin.currentShopId > 0){
  252. if(!this.$util.isEmpty(newVal.onlyCg)){
  253. if(Number(newVal.onlyCg) == 1){
  254. this.loginStyle = 1
  255. uni.hideTabBar()
  256. }else{
  257. this.loginStyle = 2
  258. uni.showTabBar()
  259. }
  260. }
  261. }
  262. }
  263. },
  264. onPullDownRefresh () {
  265. this.init();
  266. uni.stopPullDownRefresh();
  267. },
  268. onShow () {
  269. if(this.backAction == 'login'){
  270. this.init()
  271. }
  272. if(this.backAction == 'cacelMask'){
  273. console.log(this.backAction)
  274. this.init()
  275. this.backAction = ''
  276. }
  277. if(!this.$util.isEmpty(this.loginInfo.admin) && this.loginInfo.admin.currentShopId > 0){
  278. if(!this.$util.isEmpty(this.loginInfo.onlyCg)){
  279. if(Number(this.loginInfo.onlyCg) == 1){
  280. this.loginStyle = 1
  281. uni.hideTabBar()
  282. }else{
  283. this.loginStyle = 2
  284. uni.showTabBar()
  285. }
  286. }
  287. }
  288. this.showShopName()
  289. },
  290. methods: {
  291. toPhone(){
  292. uni.makePhoneCall({ phoneNumber:'15280215347' })
  293. },
  294. showShopName(){
  295. currentShop().then(res => {
  296. if(res.code == 1){
  297. let sjName = res.data.merchantName ? res.data.merchantName : ''
  298. let shopName = res.data.shopName ? res.data.shopName : ''
  299. let title = shopName == '首店' ? sjName : sjName+' '+shopName
  300. uni.setNavigationBarTitle({ title: title })
  301. }
  302. })
  303. },
  304. goMore(){
  305. let that = this
  306. uni.showActionSheet({
  307. itemList: ['已屏蔽列表', '改进建议','开关商城'],
  308. success: function (res) {
  309. if(res.tapIndex == 0){
  310. that.$util.pageTo({url: '/pagesPurchase/pb'})
  311. }
  312. if(res.tapIndex == 1){
  313. that.suggest()
  314. }
  315. if(res.tapIndex == 2){
  316. that.$util.pageTo({url:'/pagesPurchase/open'})
  317. }
  318. }
  319. });
  320. },
  321. suggest(){
  322. let that = this
  323. that.$util.confirmModal({content:'请添加技术人员微信反馈',okText:'复制微信'},() => {
  324. uni.setClipboardData({
  325. data: '15280215347',
  326. success: function() {
  327. that.$msg("复制成功")
  328. }
  329. })
  330. })
  331. },
  332. bookItem(item){
  333. const { id } = item
  334. this.pageTo({url: '/pagesPurchase/bookProduct?id='+id})
  335. },
  336. bpSj(ghs){
  337. let that = this
  338. that.$util.confirmModal({content:'确认屏蔽此商家?',okText:'确认'},() => {
  339. that.confirmPb(ghs)
  340. })
  341. },
  342. confirmPb(ghs){
  343. let that = this
  344. changeDelStatus({delStatus:1,ghsId:ghs.id}).then(res=>{
  345. if(res.code == 1){
  346. that.getGHSList()
  347. }
  348. })
  349. },
  350. fillCg(item){
  351. this.pageTo({url:'/pagesPurchase/addCg?ghsId='+item.id+'&ghsName='+item.name})
  352. },
  353. enterShop(item) {
  354. let that = this
  355. if(item.isOpen == 0){
  356. this.$msg('已休店,请选择其它门店')
  357. return false
  358. }
  359. that.pageTo({url: '/pagesPurchase/ghsProduct?id='+item.id})
  360. },
  361. settleAccounts (item) {
  362. this.pageTo({ url: '/pagesPurchase/gathering?id='+item.id})
  363. },
  364. gotoDetails (val) {
  365. this.pageTo({ url: '/pagesPurchase/purDetails?status=' + val.status + '&id=' + val.id, type:2 })
  366. },
  367. getGHSList () {
  368. return ghsList().then(res => {
  369. this.supplierList = res.data.list
  370. this.ad = res.data.ad ? res.data.ad : []
  371. })
  372. },
  373. goGd(){
  374. //选择花材生成制作单和订单
  375. this.$util.pageTo({url:'/admin/order/workOrder'})
  376. },
  377. goShKd(){
  378. this.$util.pageTo({url:'/admin/billing/index'})
  379. },
  380. goPage (item) {
  381. if (item.url === '/admin/billing/priceChange') {
  382. this.goToMallPt('pages/pay/index')
  383. return true
  384. }
  385. if(this.getLoginInfo.pfShopId && Number(this.getLoginInfo.pfShopId)>0){
  386. if(item.pf == 0){
  387. this.$msg('请在批发端操作')
  388. return false
  389. }
  390. }
  391. this.$util.pageTo(item)
  392. },
  393. init () {
  394. this.getGHSList()
  395. getWeixinId().then(res => {
  396. this.getappIdList = res.data
  397. })
  398. // #ifdef MP-WEIXIN
  399. this.isMini = 1
  400. // #endif
  401. let that = this
  402. consoleIndex({isMini:this.isMini}).then(res => {
  403. this.data = res.data
  404. if(res.data.menu && !this.$util.isEmpty(res.data.menu)){
  405. this.tabsData = res.data.menu
  406. }
  407. this.lookMoney = res.data.lookMoney
  408. })
  409. getStrokeCount().then(res=>{
  410. if(res.code == 1){
  411. this.countStat = res.data
  412. }
  413. })
  414. getStat().then(res=>{
  415. if(res.code == 1){
  416. that.overview = res.data.overview
  417. }
  418. })
  419. this.showShopName()
  420. },
  421. noticeFn (item) {
  422. this.$util.pageTo({ url: item.page })
  423. },
  424. goToWastage () {
  425. this.$util.pageTo({url:'/admin/breakage/list'})
  426. },
  427. goToKindStat(){
  428. this.$util.pageTo({url:'/admin/stat/kind'})
  429. },
  430. goToProfit () {
  431. this.$util.pageTo({url:'/admin/stat/profit'})
  432. },
  433. goToMallPt (url) {
  434. let self = this
  435. uni.navigateToMiniProgram({
  436. appId: this.getappIdList.mall.miniAppId,
  437. path: url + '?account=' + self.loginInfo.shopId,
  438. //develop 开发版 trial 体验版 release 正式版
  439. envVersion: process.env.NODE_ENV === 'development' ? 'develop' : 'release',
  440. extraData: {
  441. 'hdShopAdminId': self.loginInfo.shopAdminId
  442. },
  443. success (res) {
  444. }
  445. })
  446. },
  447. }
  448. };
  449. </script>
  450. <style lang="scss" scoped>
  451. .app-content {
  452. padding-bottom: 10upx;
  453. }
  454. .module-com {
  455. margin-bottom: 20upx;
  456. background-color: #fff;
  457. }
  458. .user-wrap {
  459. padding: 20upx 30upx 34upx 30upx;
  460. color: #fff;
  461. text-align: center;
  462. background-size: 100% 380upx;
  463. background-repeat: no-repeat;
  464. .user-top {
  465. @include disFlex(center, space-between);
  466. .open-bt_bx {
  467. display: flex;
  468. align-items: center;
  469. line-height: 1upx;
  470. & > button {
  471. padding: 0;
  472. line-height: auto;
  473. background-color: transparent;
  474. border: 1px solid #ffffff;
  475. border-radius: 22upx;
  476. padding: 10upx 17upx !important;
  477. font-size: 24upx;
  478. font-family: PingFang SC;
  479. font-weight: 400;
  480. color: #ffffff;
  481. & > .iconfont {
  482. font-size: 25upx;
  483. padding-right: 10upx;
  484. }
  485. }
  486. }
  487. }
  488. .income-amount {
  489. margin-top: 36upx;
  490. margin-bottom: 37upx;
  491. .price {
  492. font-size: 50upx;
  493. font-weight: bold;
  494. margin-top: 4upx;
  495. }
  496. }
  497. .user-bottom {
  498. @include disFlex(center, space-around);
  499. .info-list-name {
  500. color: #bfd4ff;
  501. }
  502. .info-list-value {
  503. font-size: 36upx;
  504. font-weight: bold;
  505. margin-top: 4upx;
  506. }
  507. }
  508. }
  509. // 消息
  510. .news-wrap {
  511. .news-list {
  512. @include disFlex(center, space-between);
  513. padding: 30upx 24upx 30upx 30upx;
  514. border-bottom: 1px solid $borderColor;
  515. font-size: 26upx;
  516. color: $fontColor2;
  517. &:active {
  518. background-color: $backColor;
  519. }
  520. & > div {
  521. @include disFlex(center, flex-start);
  522. }
  523. .news-left {
  524. .iconfont {
  525. color: $mainColor;
  526. margin-right: 10upx;
  527. }
  528. .ling {
  529. font-size: 28upx;
  530. }
  531. span{
  532. font-size:29upx;
  533. }
  534. }
  535. .news-right {
  536. font-size: 26upx;
  537. color: $mainColor;
  538. transform: scale(0.9);
  539. @include disFlex(flex-end, flex-start);
  540. .iconfont {
  541. font-size: 24upx;
  542. margin-left: 10upx;
  543. margin-bottom: 6upx;
  544. }
  545. }
  546. }
  547. }
  548. // 总览
  549. .total-wrap,
  550. .order-wrap {
  551. .total-tit {
  552. padding: 18upx 0 18upx 20upx;
  553. border-bottom: 1upx solid $borderColor;
  554. font-weight: 600;
  555. font-size: 24upx;
  556. color: #333333;
  557. }
  558. .total-blo {
  559. @include disFlex(center, space-between);
  560. flex-wrap: wrap;
  561. padding: 20upx 0 0;
  562. .total-list {
  563. width: 33%;
  564. text-align: center;
  565. margin: 20upx 0upx;
  566. border-right: 1upx solid $borderColor;
  567. .list-num {
  568. margin-bottom: 8upx;
  569. font-size: 36upx;
  570. font-weight: bold;
  571. }
  572. }
  573. .total-list:nth-child(3n) {
  574. border-right: none;
  575. }
  576. .total-list:nth-child(n + 4) {
  577. padding-bottom: 0;
  578. }
  579. .total-list2 {
  580. width: 24%;
  581. text-align: center;
  582. margin: 20upx 0upx;
  583. border-right: 1upx solid $borderColor;
  584. .list-num {
  585. margin-top:10upx;
  586. margin-bottom:8upx;
  587. font-size:26upx;
  588. font-weight:normal;
  589. }
  590. }
  591. .total-list2:nth-child(4n) {
  592. border-right: none;
  593. }
  594. .total-list2:nth-child(n + 4) {
  595. padding-bottom: 0;
  596. }
  597. }
  598. }
  599. .tabs-head_bx {
  600. display: flex;
  601. align-items: center;
  602. padding: 20upx 15upx;
  603. }
  604. .tabs-wrap {
  605. padding: 20upx 10upx;
  606. @include disFlex(center, flex-start);
  607. flex-wrap: wrap;
  608. .tabs-list {
  609. width: 25%;
  610. margin-top: 50upx;
  611. text-align: center;
  612. .tabs-img {
  613. width: 100upx;
  614. height: 100upx;
  615. margin: 0 auto;
  616. img {
  617. height: 100%;
  618. }
  619. }
  620. .tabs-name {
  621. color: #444444;
  622. margin-top: 10upx;
  623. }
  624. &:nth-child(-n + 4) {
  625. margin-top: 0;
  626. }
  627. }
  628. }
  629. // 遮罩层
  630. .renew-wrap {
  631. text-align: center;
  632. .renew-wrap-text {
  633. margin-top: 30upx;
  634. margin-bottom: 60upx;
  635. font-size: 34upx;
  636. }
  637. }
  638. .order-page {
  639. .ghs_list_page {
  640. background-color: rgba(255, 255, 255, 1);
  641. position: relative;
  642. width: 750upx;
  643. overflow: hidden;
  644. .flex-col {
  645. display: flex;
  646. flex-direction: column;
  647. }
  648. .flex-row {
  649. display: flex;
  650. flex-direction: row;
  651. }
  652. .justify-start {
  653. display: flex;
  654. justify-content: flex-start;
  655. }
  656. .justify-center {
  657. display: flex;
  658. justify-content: center;
  659. }
  660. .justify-end {
  661. display: flex;
  662. justify-content: flex-end;
  663. }
  664. .justify-evenly {
  665. display: flex;
  666. justify-content: space-evenly;
  667. }
  668. .justify-around {
  669. display: flex;
  670. justify-content: space-around;
  671. }
  672. .justify-between {
  673. display: flex;
  674. justify-content: space-between;
  675. }
  676. .align-start {
  677. display: flex;
  678. align-items: flex-start;
  679. }
  680. .align-center {
  681. display: flex;
  682. align-items: center;
  683. }
  684. .align-end {
  685. display: flex;
  686. align-items: flex-end;
  687. }
  688. .ghs_list_area {
  689. width: 750upx;
  690. background-color: #ece5e5;
  691. .group_1 {
  692. box-shadow: 0px 1px 0px 0px rgba(221, 221, 221, 1);
  693. background-color: rgba(255, 255, 255, 1);
  694. width: 750upx;
  695. height: 128upx;
  696. margin-top: 2upx;
  697. .image_1 {
  698. width: 727upx;
  699. height: 20upx;
  700. margin: 11upx 0 0 12upx;
  701. }
  702. .block_4 {
  703. width: 714upx;
  704. height: 64upx;
  705. margin: 21upx 0 12upx 24upx;
  706. .icon_1 {
  707. width: 20upx;
  708. height: 34upx;
  709. margin-top: 16upx;
  710. }
  711. .text_1 {
  712. width: 107upx;
  713. height: 34upx;
  714. overflow-wrap: break-word;
  715. color: rgba(4, 4, 4, 1);
  716. font-size: 36upx;
  717. font-family: PingFangSC-Semibold;
  718. text-align: left;
  719. white-space: nowrap;
  720. line-height: 24upx;
  721. margin: 15upx 0 0 278upx;
  722. }
  723. .applet-top-bar_1 {
  724. width: 174upx;
  725. height: 64upx;
  726. margin-left: 135upx;
  727. }
  728. }
  729. }
  730. .ghs_box {
  731. background-color: rgba(255, 255, 255, 1);
  732. position: relative;
  733. width: 750upx;
  734. height: auto;
  735. margin-bottom:35upx;
  736. .image-text_7 {
  737. width: 674upx;
  738. height: 120upx;
  739. margin: 40upx 0 0 31upx;
  740. .section_1 {
  741. width: 120upx;
  742. height: 120upx;
  743. .logo{
  744. width:120upx;
  745. height:120upx;
  746. border-radius:10upx;
  747. }
  748. }
  749. .text-group_7 {
  750. width: 533upx;
  751. height: 99upx;
  752. margin-top: 5upx;
  753. .text_8 {
  754. display:inline-block;
  755. width: 550upx;
  756. height: 38upx;
  757. color: rgba(51, 51, 51, 1);
  758. font-size: 36upx;
  759. font-weight:bold;
  760. text-align: left;
  761. white-space: nowrap;
  762. line-height:38upx;
  763. overflow:hidden;
  764. }
  765. .text_9 {
  766. width: 533upx;
  767. height: 25upx;
  768. overflow-wrap: break-word;
  769. color: rgba(153, 153, 153, 1);
  770. font-size: 26upx;
  771. text-align: left;
  772. white-space: nowrap;
  773. line-height: 24upx;
  774. margin-top: 10upx;
  775. }
  776. }
  777. }
  778. .box_4 {
  779. background-color: rgba(238, 238, 238, 1);
  780. width: 750upx;
  781. height: 1upx;
  782. margin-top: 40upx;
  783. }
  784. .box_9 {
  785. width: 100%;
  786. height: 60upx;
  787. margin: 23upx 0 22upx 30upx;
  788. .tag_2 {
  789. background-color: rgba(255, 255, 255, 1);
  790. border-radius: 8px;
  791. height: 60upx;
  792. line-height:60upx;
  793. border: 2px solid rgba(221, 221, 221, 1);
  794. color: rgba(51, 51, 51, 1);
  795. font-size: 30upx;
  796. margin:0 25upx 0 0;
  797. text-align:center;
  798. float:left;
  799. padding-left:15upx;
  800. padding-right:15upx;
  801. }
  802. .tag_3 {
  803. background-color: rgba(255, 255, 255, 1);
  804. border-radius: 8px;
  805. height: 60upx;
  806. border: 1px solid rgba(221, 221, 221, 1);
  807. margin-left: 12upx;
  808. width: 140upx;
  809. .text_11 {
  810. width: 101upx;
  811. height: 25upx;
  812. overflow-wrap: break-word;
  813. color: rgba(51, 51, 51, 1);
  814. font-size: 26upx;
  815. text-align: left;
  816. white-space: nowrap;
  817. line-height: 25upx;
  818. margin: 17upx 0 0 20upx;
  819. }
  820. }
  821. .tag_4 {
  822. background-color: rgba(255, 255, 255, 1);
  823. border-radius: 8px;
  824. height: 60upx;
  825. border: 1px solid rgba(221, 221, 221, 1);
  826. margin-left: 12upx;
  827. width: 192upx;
  828. .text_12 {
  829. width: 153upx;
  830. height: 25upx;
  831. overflow-wrap: break-word;
  832. color: rgba(51, 51, 51, 1);
  833. font-size: 26upx;
  834. text-align: left;
  835. white-space: nowrap;
  836. line-height: 25upx;
  837. margin: 17upx 0 0 18upx;
  838. }
  839. }
  840. }
  841. .box_6 {
  842. background-color: rgb(248, 242, 242);
  843. width: 750upx;
  844. height:85upx;
  845. .show_clear_area {
  846. width: 247upx;
  847. height: 29upx;
  848. margin: 26upx 0 0 30upx;
  849. .icon_2 {
  850. width: 22upx;
  851. height: 26upx;
  852. margin-top: 2upx;
  853. }
  854. .waite_clear_order {
  855. width: 214upx;
  856. height: 29upx;
  857. overflow-wrap: break-word;
  858. color: rgba(255, 40, 66, 1);
  859. font-size: 30upx;
  860. font-weight:bold;
  861. text-align: left;
  862. white-space: nowrap;
  863. line-height: 29upx;
  864. }
  865. }
  866. .image-text_9 {
  867. width: 134upx;
  868. height: 27upx;
  869. margin: 26upx 29upx 0 310upx;
  870. .text-group_4 {
  871. width: 111upx;
  872. height: 27upx;
  873. overflow-wrap: break-word;
  874. color: rgba(255, 40, 66, 1);
  875. font-size: 30upx;
  876. font-weight:bold;
  877. text-align: left;
  878. white-space: nowrap;
  879. line-height: 27upx;
  880. }
  881. .icon_3 {
  882. width: 14upx;
  883. height: 24upx;
  884. margin-top: 2upx;
  885. }
  886. }
  887. }
  888. .button_4 {
  889. height: 80upx;
  890. line-height:80upx;
  891. text-align:center;
  892. background-color:#3385FF;
  893. background-size: 137upx 137upx;
  894. width: 130upx;
  895. position: absolute;
  896. left: 570upx;
  897. top: 95upx;
  898. border-radius:39upx;
  899. .text_13 {
  900. color: rgba(255, 255, 255, 1);
  901. font-size: 30upx;
  902. font-weight:bold;
  903. }
  904. }
  905. .button_5 {
  906. height: 80upx;
  907. line-height:80upx;
  908. text-align:center;
  909. background-color:#CCCCCC;
  910. background-size: 137upx 137upx;
  911. width: 130upx;
  912. position: absolute;
  913. left: 570upx;
  914. top: 95upx;
  915. border-radius:39upx;
  916. .text_13 {
  917. color: rgba(255, 255, 255, 1);
  918. font-size: 30upx;
  919. font-weight:bold;
  920. }
  921. }
  922. .button_6 {
  923. height: 80upx;
  924. line-height:80upx;
  925. text-align:center;
  926. background-color:rgb(152, 153, 197);
  927. background-size: 137upx 137upx;
  928. width: 170upx;
  929. position: absolute;
  930. left: 540upx;
  931. top: 95upx;
  932. border-radius:39upx;
  933. .text_13 {
  934. color: rgba(255, 255, 255, 1);
  935. font-size: 30upx;
  936. font-weight:bold;
  937. }
  938. }
  939. }
  940. }
  941. }
  942. }
  943. </style>