workbench-old.txt 113 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013
  1. <template>
  2. <view>
  3. <block v-if="loginStyle == 0">
  4. <view class="login-page">
  5. <view class="login-hero">
  6. <image
  7. class="login-hero-bg"
  8. :src="constant.hostUrl + '/image//workbench-header-bg.webp'"
  9. mode="aspectFill"
  10. />
  11. <view class="login-hero-scrim"></view>
  12. <view class="status-space" :style="{ height: statusBarHeight + 'px' }"></view>
  13. <view class="login-hero-inner">
  14. <text class="login-hero-title">鑺辨帉鏌?/text>
  15. <text class="login-hero-desc">鐧诲綍鏌ョ湅鎴戠殑闂ㄥ簵</text>
  16. </view>
  17. </view>
  18. <view class="login-body">
  19. <!-- #ifdef MP-WEIXIN -->
  20. <view class="login-card">
  21. <view class="login-card-top">
  22. <view class="login-card-icon-wrap login-card-icon-wrap--buy">
  23. <image class="login-card-icon" :src="iconSrc('bouquet')" mode="aspectFit" />
  24. </view>
  25. <view class="login-card-main">
  26. <text class="login-card-title">涓汉涔拌姳</text>
  27. <text class="login-card-desc">璐拱鑺辨潗銆佽姳鏉熷拰缁挎</text>
  28. </view>
  29. </view>
  30. <button class="login-card-btn login-card-btn--outline" @click="buyItem">涔拌姳</button>
  31. </view>
  32. <!-- #endif -->
  33. <view class="login-card">
  34. <view class="login-card-top">
  35. <view class="login-card-icon-wrap login-card-icon-wrap--supply">
  36. <image class="login-card-icon" :src="iconSrc('procurement')" mode="aspectFit" />
  37. </view>
  38. <view class="login-card-main">
  39. <text class="login-card-title">鑺卞簵杩涜揣</text>
  40. <text class="login-card-desc">鑺卞簵涔拌姳鏉愩€侀噰璐拰绠$悊</text>
  41. </view>
  42. </view>
  43. <button
  44. class="login-card-btn login-card-btn--primary"
  45. @click="pageTo({ url: '/admin/home/login' })"
  46. >鐧诲綍</button>
  47. </view>
  48. <view class="login-register" @click="pageTo({ url: '/pagesClient/official/apply' })">
  49. <text class="login-register-tip">杩樻病鏈夎姳搴楄处鍙凤紵</text>
  50. <text class="login-register-link">鑺卞簵娉ㄥ唽</text>
  51. </view>
  52. </view>
  53. </view>
  54. </block>
  55. <block v-else>
  56. <view class="order-page">
  57. <view class="ghs_list_page flex-col">
  58. <view class="profile-section">
  59. <image class="workbench-header-bg" :src="constant.hostUrl + '/image//workbench-header-bg.webp'" mode="aspectFill"></image>
  60. <view class="status-safe-area" :style="{ height: statusBarHeight + 'px' }"></view>
  61. <view class="custom-nav">
  62. <text class="custom-nav-title">{{ workbenchTitle }}</text>
  63. </view>
  64. <!-- <view class="profile-header">
  65. <view class="avatar-container">
  66. <button class="avatar-button" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
  67. <image class="avatar" :src="shopAvatar()" mode="aspectFill" />
  68. </button>
  69. </view>
  70. <view class="user-info" @click="pageTo({ url: '/admin/home/edit' })">
  71. <text class="username">{{ (shopInfo && shopInfo.shopName == '棣栧簵') ? (shopInfo.merchantName || '') :
  72. (((shopInfo && shopInfo.merchantName) ? shopInfo.merchantName : '') + (shopInfo && shopInfo.shopName ?
  73. (' ' + shopInfo.shopName) : '')) }}</text>
  74. </view>
  75. </view> -->
  76. <view class="function-grid function-grid--overlay">
  77. <view class="function-item function-item--overlay"
  78. @click="pageTo({ url: '/admin/shop/add?id=' + loginInfo.shopId })">
  79. <image class="function-icon" :src="iconSrc('stock-my-address')" mode="aspectFit" />
  80. <text class="function-text function-text--overlay function-text--sm">鎴戠殑鍦板潃</text>
  81. </view>
  82. <view class="function-item function-item--overlay" @click="pageTo({ url: '/admin/stat/cgItem' })">
  83. <image class="function-icon" :src="iconSrc('stock-purchase-stats')" mode="aspectFit" />
  84. <text class="function-text function-text--overlay function-text--sm">閲囪喘缁熻</text>
  85. </view>
  86. <view class="function-item function-item--overlay" @click="goMore()">
  87. <image class="function-icon" :src="iconSrc('stock-deleted-wholesaler')" mode="aspectFit" />
  88. <text class="function-text function-text--overlay function-text--sm">宸插垹闂ㄥ簵</text>
  89. </view>
  90. <view class="function-item function-item--overlay" @click="goMore()">
  91. <image class="function-icon" :src="iconSrc('open-shop')" mode="aspectFit" />
  92. <text class="function-text function-text--overlay function-text--sm">鐢宠寮€搴?/text>
  93. </view>
  94. </view>
  95. </view>
  96. <!-- <view class="admin-contact-wrap">
  97. <view class="admin-contact-inner">
  98. <text class="admin-contact-name">{{ loginInfo.admin && loginInfo.admin.name ? loginInfo.admin.name : ''
  99. }}</text>
  100. <text class="admin-contact-divider">|</text>
  101. <text class="admin-contact-mobile">{{ loginInfo.admin && loginInfo.admin.mobile ? loginInfo.admin.mobile :
  102. '' }}</text>
  103. </view>
  104. </view> -->
  105. <view v-if="!$util.isEmpty(data.warning)" class="warning-banner">{{ data.warning }}</view>
  106. <template v-if="!$util.isEmpty(ad)">
  107. <block v-for="(adInfo, adIndex) in ad" :key="adIndex">
  108. <view class="ad-wrap" @click.stop="pageTo({ url: adInfo.url })">
  109. <image :src="adInfo.banner" mode="widthFix" class="ad-image"></image>
  110. </view>
  111. </block>
  112. </template>
  113. <template v-if="!$util.isEmpty(supplierList)">
  114. <view class="ghs_list_area flex-col justify-end">
  115. <view class="ghs_box flex-col justify-end" v-for="(ghsInfo, index) in supplierList" :key="index">
  116. <view class="image-text_7 flex-row justify-between">
  117. <view class="section_1 flex-col">
  118. <image class="logo" :src="ghsInfo.smallAvatar" />
  119. </view>
  120. <view class="text-group_7 flex-col justify-center">
  121. <text class="text_8">{{ ghsInfo.name }}</text>
  122. <view class="phone-line"
  123. v-if="!$util.isEmpty(ghsInfo.telephone) || !$util.isEmpty(ghsInfo.telephone2)"
  124. @click.stop="callUp(ghsInfo)">
  125. <image class="phone-icon" :src="iconSrc('stock-phone')" mode="aspectFit" />
  126. <text class="phone-text">
  127. <text v-if="!$util.isEmpty(ghsInfo.telephone)">{{ ghsInfo.telephone }}</text>
  128. </text>
  129. </view>
  130. <text class="text_9">
  131. <block v-if="ghsInfo.cutStyle && ghsInfo.cutStyle == 1">
  132. <block v-if="ghsInfo.meetNum > 0 || ghsInfo.meetAmount > 0">
  133. <text class="discount-highlight" v-if="ghsInfo.cutAmount > 0">
  134. 婊?text v-if="ghsInfo.meetNum > 0">{{ ghsInfo.meetNum ? ghsInfo.meetNum : 0 }}鎵?/text>
  135. <text v-if="ghsInfo.meetAmount > 0"><text
  136. v-if="ghsInfo.meetNum > 0">鍜?/text>{{ ghsInfo.meetAmount ? ghsInfo.meetAmount : 0 }}鍏?/text>{{ ghsInfo.cutAmount ? parseFloat(ghsInfo.cutAmount * 100).toString().replace(/0/g, '') : 0 }}鎶? </text>
  137. </block>
  138. </block>
  139. <block v-else>
  140. <block v-if="ghsInfo.meetNum > 0 || ghsInfo.meetAmount > 0">
  141. <text class="discount-highlight" v-if="ghsInfo.cutAmount > 0">
  142. 婊?text v-if="ghsInfo.meetNum > 0">{{ ghsInfo.meetNum ? ghsInfo.meetNum : 0 }}鎵?/text>
  143. <text v-if="ghsInfo.meetAmount > 0"><text
  144. v-if="ghsInfo.meetNum > 0">鍜?/text>{{ ghsInfo.meetAmount ? ghsInfo.meetAmount : 0 }}鍏?/text>浼樻儬{{ ghsInfo.cutAmount ? parseFloat(ghsInfo.cutAmount) : 0 }}鍏? </text>
  145. </block>
  146. </block>
  147. </text>
  148. <text class="text_distance" v-if="ghsInfo.distance && ghsInfo.distance > 0">{{ ghsInfo.distance >
  149. 1000 ? Math.round(Number(ghsInfo.distance) / 1000) + 'km' : ghsInfo.distance + 'm' }}</text>
  150. </view>
  151. </view>
  152. <view class="box_9">
  153. <view class="tag_2" @click="pageTo({ url: '/admin/ghs/debtChange?ghsId=' + ghsInfo.id })">
  154. <image class="tag-icon" :src="iconSrc('stock-debt-change')" mode="aspectFit" />
  155. <text>鎸傝处鍙樺姩</text>
  156. </view>
  157. <view class="tag_2" @click="pageTo({ url: '/admin/clear/list?ghsId=' + ghsInfo.id })">
  158. <image class="tag-icon" :src="iconSrc('stock-checkout-record')" mode="aspectFit" />
  159. <text>缁撹处璁板綍</text>
  160. </view>
  161. <view class="tag_2 tag_2--bought"
  162. @click.stop="pageTo({ url: '/pagesPurchase/shopping?ghsId=' + ghsInfo.id + '&ghsName=' + ghsInfo.name })">
  163. <image class="tag-icon" :src="iconSrc('stock-purchase-record')" mode="aspectFit" />
  164. <text>璐拱璁板綍</text>
  165. </view>
  166. <view class="tag_2 tag_2--share tag_2--highlight">
  167. <button open-type="share" :data-ghs="ghsInfo" class="share-button-mask"></button>
  168. <image class="tag-icon" :src="iconSrc('stock-share')" mode="aspectFit" />
  169. <text>鍒嗕韩鏈簵</text>
  170. </view>
  171. <view class="tag_2 tag_2--highlight" @click.stop="getMore(ghsInfo)">
  172. <image class="tag-icon" :src="iconSrc('stock-more-features')" mode="aspectFit" />
  173. <text>鏇村鍔熻兘</text>
  174. </view>
  175. </view>
  176. <view class="box_6 flex-row" @click="settleAccounts(ghsInfo)" v-if="Number(ghsInfo.debtAmount) > 0">
  177. <view class="show_clear_area flex-row justify-between">
  178. <text class="waite_clear_order">寰呯粨璁㈠崟 {{ ghsInfo.debtNum }}绗?鍚堣楼{{ ghsInfo.debtAmount ? parseFloat(ghsInfo.debtAmount) : 0 }}</text>
  179. <text class="clear-action" v-if="ghsInfo.remainDebtAmount > 0">閫夎鍗曠粨绠?></text>
  180. </view>
  181. </view>
  182. <block v-if="Number(ghsInfo.balance) > 0">
  183. <view class="box_6 box_6--blue flex-row" v-if="ghsInfo.remainDebtAmount > 0"
  184. @click.stop="recharge(ghsInfo)">
  185. <view class="show_clear_area flex-row justify-between">
  186. <text class="waite_clear_order waite_clear_order--blue">
  187. <text v-if="Number(ghsInfo.balance) > 0">鍑忓幓浣欓楼{{ ghsInfo.balance ? parseFloat(ghsInfo.balance) : 0
  188. }}</text>
  189. <text v-if="ghsInfo.remainDebtAmount > 0" class="ml-15">瀹炴瑺楼{{ ghsInfo.remainDebtAmount }}</text>
  190. </text>
  191. <text class="clear-action clear-action--blue">鎸夐噾棰濈粨绠?></text>
  192. </view>
  193. </view>
  194. <view class="box_6 box_6--blue flex-row" v-if="ghsInfo.remainDebtAmount < 0"
  195. @click.stop="recharge(ghsInfo)">
  196. <view class="show_clear_area flex-row justify-between">
  197. <text class="waite_clear_order waite_clear_order--blue">
  198. <text>璐︽埛浣欓楼{{ Math.abs(ghsInfo.remainDebtAmount) }}</text>
  199. </text>
  200. <text class="clear-action clear-action--blue">宸茬粨娓?/text>
  201. </view>
  202. </view>
  203. </block>
  204. <block v-if="ghsInfo.live == 1">
  205. <view class="button_7 flex-col" @click.stop="goKmCg(ghsInfo)"
  206. v-if="ghsInfo.openKmCg && ghsInfo.openKmCg == 1"><text class="text_13">鏄嗘槑鐩撮噰</text></view>
  207. <view class="button_4 flex-col" v-if="ghsInfo.isOpen == 1" @click="enterShop(ghsInfo)"><text
  208. class="text_13">璐拱</text></view>
  209. <view class="button_5 flex-col" v-else @click="enterShop(ghsInfo)"><text class="text_13">璐拱</text>
  210. </view>
  211. </block>
  212. <block v-else>
  213. <view class="button_6 flex-col" @click="fillCg(ghsInfo)"><text class="text_13">璐拱</text></view>
  214. </block>
  215. </view>
  216. </view>
  217. </template>
  218. <block v-else>
  219. <!-- 濡傛灉娌℃湁璇锋眰杩囨帴鍙o紝涓嶇‘瀹氳繖涓姳搴楋紝鏈夋病鎵瑰彂搴楋紝鏆傛椂涓嶆樉绀烘壘鎵瑰彂搴楃殑鍏ュ彛锛岄伩鍏嶅紩璧蜂簤璁?-->
  220. <block v-if="hasRequestApi == 0">
  221. <view class="location-empty-box">
  222. <view class="location-empty-title">鏆傛棤鎵瑰彂搴?/view>
  223. </view>
  224. </block>
  225. <block v-else>
  226. <view v-if="isWithinTwoDays" class="no-supplier-tip">闄勮繎鏆傛棤鎵瑰彂搴?/view>
  227. <block v-else>
  228. <view class="location-empty-box">
  229. <image class="location-empty-icon" :src="iconSrc('general-location')" mode="aspectFit" />
  230. <view class="location-empty-title">寮€鍚畾浣嶏紝鏌ョ湅闄勮繎鎵瑰彂搴?/view>
  231. <button class="location-empty-btn" @click="searchGhs()">寮€鍚?/button>
  232. </view>
  233. </block>
  234. </block>
  235. </block>
  236. <view class="support-entry" @click="toPhone()">
  237. <text>鍘﹂棬涓姳姹囨妧鏈敮鎸?<text class="support-divider">|</text> 鑱旂郴鍘﹂棬涓姳姹?/text>
  238. </view>
  239. </view>
  240. </view>
  241. </block>
  242. <uni-popup ref="toShowMore" background-color="#fff" type="center" :animation="true" class="class-popup-style">
  243. <view class="more-popup-list">
  244. <view class="more-popup-item"><button @click="rechargeChange()">鍏呭€艰褰?/button></view>
  245. <view class="more-popup-item"><button @click="balanceChange()">浣欓鍙樺姩</button></view>
  246. <view class="more-popup-item"><button @click="bpSj()">鍒犻櫎</button></view>
  247. <view class="more-popup-item more-popup-item--cancel"><button @click="closeToShow()">鍙栨秷</button></view>
  248. </view>
  249. </uni-popup>
  250. <!-- 澶氫緵璐у晢鎻愮ず寮规 -->
  251. <uni-popup ref="supplierNoticePopup" background-color="#fff" type="center" :animation="true"
  252. class="supplier-notice-popup">
  253. <view class="supplier-notice-container">
  254. <!-- 澶撮儴 -->
  255. <view class="supplier-notice-header">
  256. <text class="supplier-notice-title">鎮ㄥ凡鏈夊涓壒鍙戝簵</text>
  257. </view>
  258. <!-- 涓棿渚涜揣鍟嗗垪琛?-->
  259. <view class="supplier-notice-content">
  260. <view class="supplier-list">
  261. <view class="supplier-item" v-for="(supplier, index) in displayGhsList" :key="index">
  262. <view class="supplier-icon">馃彧</view>
  263. <text class="supplier-name">{{ supplier.name }}</text>
  264. </view>
  265. </view>
  266. </view>
  267. <!-- 搴曢儴鎻愮ず -->
  268. <view class="supplier-notice-footer">
  269. <text class="supplier-notice-tip">涔拌姳鏃舵敞鎰忓尯鍒嗭紝閬垮厤涓嬮敊锛侊紒</text>
  270. <view class="supplier-notice-buttons">
  271. <button class="admin-button-com default" @click="remindLater">涓嬫鎻愰啋</button>
  272. <button class="admin-button-com blue" @click="closeSupplierNotice">鐭ラ亾浜?/button>
  273. </view>
  274. </view>
  275. </view>
  276. </uni-popup>
  277. </view>
  278. </template>
  279. <script>
  280. import { mapGetters } from "vuex";
  281. import { getWeixinId } from "@/api/invite";
  282. import { consoleIndex } from "@/api/workbench";
  283. import autoUpdateMixins from "@/mixins/autoUpdate";
  284. import { ghsList } from "@/api/purchase";
  285. import { changeDelStatus, hasMoreGhs, searchNearbyGhs } from "@/api/ghs";
  286. import { currentShop, uploadShopAvatar } from "@/api/shop";
  287. import { hasNotice } from "@/api/admin";
  288. import { APIHOST } from "@/config";
  289. import permision from "@/utils/wa-permission_1.1/permission.js";
  290. import { iconSrc } from "@/utils/iconSrc";
  291. export default {
  292. name: "workbench",
  293. mixins: [autoUpdateMixins],
  294. data() {
  295. return {
  296. constant: this.$constant,
  297. ad: [],
  298. getappIdList: {},
  299. data: {
  300. admin: {},
  301. asset: {},
  302. notice: {},
  303. todayData: { income: 0.00, order: 0, custom: 0, expend: 0.00, visit: 0 },
  304. isMini: 0
  305. },
  306. supplierList: [],
  307. //鐧诲綍鐘舵€?0鏈櫥褰?1鐧诲綍浠呯敤鍒颁簡閲囪喘 2鐧诲綍鐢ㄥ埌瀹屾暣鍔熻兘
  308. loginStyle: 0,
  309. currentGhs: {},
  310. displayGhsList: [],// 鐢ㄤ簬鏄剧ず鍦ㄥ脊妗嗕腑鐨勪緵璐у晢鍒楄〃
  311. shopInfo: [],
  312. supplierSearchTime: 0, // 鏌ユ壘闄勮繎鎵瑰彂搴楁椂闂? hasRequestApi: 0,
  313. statusBarHeight: 0
  314. };
  315. },
  316. computed: {
  317. ...mapGetters({ loginInfo: "getLoginInfo" }),
  318. workbenchTitle() {
  319. if (this.shopInfo && this.shopInfo.shopName == '棣栧簵') {
  320. return this.shopInfo.merchantName || '杩涜揣'
  321. }
  322. const merchantName = (this.shopInfo && this.shopInfo.merchantName) ? this.shopInfo.merchantName : ''
  323. const shopName = (this.shopInfo && this.shopInfo.shopName) ? this.shopInfo.shopName : ''
  324. const title = merchantName + (shopName ? (' 路 ' + shopName) : '')
  325. return title || '杩涜揣'
  326. },
  327. isWithinTwoDays() {
  328. if (!this.supplierSearchTime) return false;
  329. const twoDays = 2 * 24 * 60 * 60 * 1000;
  330. return (Date.now() - this.supplierSearchTime) < twoDays;
  331. }
  332. },
  333. watch: {
  334. //鍙渶瑕侀噰璐姳鏉愮殑鑺卞簵涓嶆樉绀哄簳閮ㄨ彍鍗? loginInfo(newVal) {
  335. if (!this.$util.isEmpty(newVal.admin) && newVal.admin.currentShopId > 0) {
  336. this.handleLoginStyle()
  337. }
  338. }
  339. },
  340. onPullDownRefresh() {
  341. this.init();
  342. uni.stopPullDownRefresh();
  343. },
  344. onLoad() {
  345. try {
  346. const systemInfo = uni.getSystemInfoSync()
  347. this.statusBarHeight = systemInfo.statusBarHeight || 0
  348. } catch (e) {
  349. this.statusBarHeight = 0
  350. }
  351. getWeixinId().then(res => {
  352. this.getappIdList = res.data
  353. })
  354. },
  355. onShow() {
  356. this.supplierSearchTime = uni.getStorageSync('supplier_search_time') || 0;
  357. this.init();
  358. // 鍒ゆ柇鏄惁鐧诲綍
  359. if (!this.$util.isEmpty(this.loginInfo.admin) && this.loginInfo.admin.currentShopId > 0) {
  360. this.handleLoginStyle()
  361. //this.showShopName()
  362. }
  363. },
  364. onShareAppMessage(res) {
  365. if (res.from === 'button') {
  366. let ghsInfo = res.target.dataset.ghs
  367. let hdShopAdminId = this.loginInfo && this.loginInfo.shopAdminId ? this.loginInfo.shopAdminId : 0
  368. let ghsShopAdminId = ghsInfo.shopAdminId || 0
  369. let shopId = ghsInfo.shopId || 0
  370. let fromGhsId = ghsInfo.id || 0
  371. let fromCg = 1
  372. let path = `/pagesPurchase/ghsProduct?hdShopAdminId=${hdShopAdminId}&ghsShopAdminId=${ghsShopAdminId}&shopId=${shopId}&id=0&fromGhsId=${fromGhsId}&fromCg=${fromCg}`
  373. return {
  374. title: ghsInfo.name,
  375. desc: "",
  376. path: path,
  377. imageUrl: ghsInfo.avatar || ghsInfo.smallAvatar || ''
  378. }
  379. }
  380. return { title: "鑺辨帉鏌滐紝鑺卞簵绠″濠?, desc: "", imageUrl: "", path: "admin/home/workbench" }
  381. },
  382. methods: {
  383. iconSrc,
  384. onChooseAvatar(e) {
  385. if (this.loginInfo && this.loginInfo.staff && this.loginInfo.staff.founder != 2) {
  386. this.$msg('闂ㄥ簵LOGO璇疯€佹澘淇敼')
  387. return
  388. }
  389. if (e && e.detail && e.detail.avatarUrl) {
  390. let avatarUrl = e.detail.avatarUrl
  391. this.updateShopAvatar(avatarUrl)
  392. } else {
  393. this.$msg('鑾峰彇澶村儚澶辫触')
  394. }
  395. },
  396. updateShopAvatar(avatarUrl) {
  397. let token = uni.getStorageSync('token') || ''
  398. let url = APIHOST + '/upload/save-file'
  399. uni.uploadFile({
  400. url: url,
  401. filePath: avatarUrl,
  402. name: 'file',
  403. header: { token: token },
  404. formData: {},
  405. success: (res) => {
  406. try {
  407. const ret = JSON.parse(res.data)
  408. if (ret.code == 1) {
  409. this.shopInfo.avatar = ret.data.shortUrl
  410. this.$msg('澶村儚宸叉洿鏂?)
  411. uni.setStorageSync('shopAvatar', this.shopInfo.avatar)
  412. //璇峰悗绔紝涓婁紶鏂扮殑澶村儚鍦板潃锛屽悓姝ユ洿鏂皒hGhsCustom閲岄潰鐨勫ご鍍忓湴鍧€
  413. uploadShopAvatar({ id: this.shopInfo.id, avatar: ret.data.shortUrl }).then(res => {
  414. if (res.code == 1) {
  415. // this.$msg('澶村儚涓婁紶鎴愬姛')
  416. } else {
  417. // this.$msg(res.msg || '涓婁紶澶辫触')
  418. console.log(res.msg || '涓婁紶澶辫触')
  419. }
  420. })
  421. } else {
  422. this.$msg(ret.msg || '涓婁紶澶辫触')
  423. }
  424. } catch (err) {
  425. this.$msg('鏈嶅姟寮傚父')
  426. }
  427. },
  428. fail: () => {
  429. this.$msg('涓婁紶澶辫触')
  430. }
  431. })
  432. },
  433. shopAvatar() {
  434. const avatar = (this.shopInfo && this.shopInfo.avatar) ? this.shopInfo.avatar : '/default_avatar.png?x-oss-process=image/resize,m_fill,h_130,w_130'
  435. if (!avatar) {
  436. return ''
  437. }
  438. if (/^https?:\/\//i.test(avatar)) {
  439. return avatar
  440. }
  441. return this.$constant.imgUrl + (avatar.indexOf('/') === 0 ? avatar : ('/' + avatar))
  442. },
  443. buyItem() {
  444. let that = this
  445. // #ifdef MP-WEIXIN
  446. uni.navigateToMiniProgram({
  447. //濮滄灚-2021.04.13
  448. appId: that.getappIdList.mall.miniAppId,
  449. path: 'pages/home/recent',
  450. //develop 寮€鍙戠増 trial 浣撻獙鐗?release 姝e紡鐗? envVersion: process.env.NODE_ENV === 'development' ? 'develop' : 'release',
  451. extraData: {},
  452. success(res) {
  453. }
  454. })
  455. // #endif
  456. // #ifdef APP-PLUS
  457. that.$msg("璇风敤寰俊鎵撳紑")
  458. // #endif
  459. },
  460. init() {
  461. this.getGHSList()
  462. // #ifdef MP-WEIXIN
  463. this.isMini = 1
  464. // #endif
  465. consoleIndex({ isMini: this.isMini }).then(res => {
  466. this.data = res.data
  467. })
  468. this.showShopName()
  469. },
  470. handleLoginStyle() {
  471. this.loginStyle = 1
  472. this.toRemindCustom()
  473. },
  474. closeToShow() {
  475. this.$refs.toShowMore.close()
  476. },
  477. // 鏄剧ず渚涜揣鍟嗘彁绀哄脊妗? showSupplierNotice() {
  478. // 璁剧疆瑕佹樉绀虹殑渚涜揣鍟嗗垪琛紝鏈€澶氭樉绀?涓? this.displayGhsList = this.supplierList.filter(item => item.name).slice(0, 5)
  479. this.$refs.supplierNoticePopup.open('center')
  480. },
  481. // 鍏抽棴渚涜揣鍟嗘彁绀哄脊妗? closeSupplierNotice() {
  482. this.$refs.supplierNoticePopup.close()
  483. // 璋冪敤宸叉湁鐨勬帴鍙f爣璁板凡閫氱煡
  484. hasNotice().then(res => { })
  485. },
  486. // 涓嬫鎻愰啋
  487. remindLater() {
  488. this.$refs.supplierNoticePopup.close()
  489. // 涓嶈皟鐢╤asNotice鎺ュ彛锛屼繚鎸佹彁閱掔姸鎬? },
  490. getMore(info) {
  491. this.currentGhs = info
  492. this.$refs.toShowMore.open('center')
  493. },
  494. callUp(ghs) {
  495. let mobileList = []
  496. if (!this.$util.isEmpty(ghs.telephone)) {
  497. mobileList.push(ghs.telephone)
  498. }
  499. if (!this.$util.isEmpty(ghs.telephone2)) {
  500. mobileList.push(ghs.telephone2)
  501. }
  502. if (this.$util.isEmpty(mobileList)) {
  503. this.$msg('娌℃湁鑱旂郴鐢佃瘽')
  504. return false
  505. }
  506. uni.showActionSheet({
  507. itemList: mobileList,
  508. success: function (respond) {
  509. let currentIndex = respond.tapIndex
  510. let mobile = mobileList[currentIndex]
  511. uni.makePhoneCall({ phoneNumber: mobile })
  512. }
  513. })
  514. },
  515. toPhone() {
  516. this.$util.pageTo({ url: '/pagesPurchase/contact' })
  517. },
  518. showShopName() {
  519. currentShop().then(res => {
  520. if (res.code == 1) {
  521. this.shopInfo = res.data ? res.data : []
  522. if (this.shopInfo.avatar) {
  523. uni.setStorageSync('shopAvatar', this.shopInfo.avatar);
  524. } else {
  525. uni.setStorageSync('shopAvatar', '');
  526. }
  527. }
  528. })
  529. },
  530. goMore() {
  531. this.$util.pageTo({ url: '/pagesPurchase/pb' })
  532. },
  533. rechargeChange() {
  534. this.closeToShow()
  535. this.pageTo({ url: '/admin/ghs/rechargeChange?ghsId=' + this.currentGhs.id })
  536. },
  537. balanceChange() {
  538. this.closeToShow()
  539. this.pageTo({ url: '/admin/ghs/balanceChange?ghsId=' + this.currentGhs.id })
  540. },
  541. bpSj() {
  542. let that = this
  543. that.$util.confirmModal({ content: '纭鍒犻櫎锛熷垹闄ゅ悗浣犱笉鑳藉啀璺熸鎵瑰彂搴椾拱鑺憋紒锛侊紒锛?, okText: '纭' }, () => {
  544. that.confirmPb(that.currentGhs)
  545. })
  546. },
  547. recharge(currentGhs) {
  548. this.pageTo({ url: '/admin/ghs/pay?id=' + currentGhs.id + '&salt=' + currentGhs.salt })
  549. },
  550. confirmPb(ghs) {
  551. let that = this
  552. changeDelStatus({ delStatus: 1, ghsId: ghs.id }).then(res => {
  553. if (res.code == 1) {
  554. that.closeToShow()
  555. that.getGHSList()
  556. }
  557. })
  558. },
  559. fillCg(item) {
  560. this.pageTo({ url: '/pagesPurchase/addCg?ghsId=' + item.id + '&ghsName=' + item.name })
  561. },
  562. goKmCg(currentGhs) {
  563. let self = this
  564. // #ifdef MP-WEIXIN
  565. uni.navigateToMiniProgram({
  566. appId: currentGhs.kmCgAppId,
  567. path: currentGhs.kmCgUrl,
  568. //develop 寮€鍙戠増 trial 浣撻獙鐗?release 姝e紡鐗? envVersion: process.env.NODE_ENV === 'development' ? 'develop' : 'release',
  569. extraData: {},
  570. success(res) { }
  571. })
  572. // #endif
  573. // #ifdef APP-PLUS
  574. self.$msg('寮€鍙戜腑')
  575. // #endif
  576. },
  577. enterShop(item) {
  578. let that = this
  579. if (item.isOpen == 0) {
  580. this.$msg('宸蹭紤搴楋紝璇烽€夋嫨鍏跺畠闂ㄥ簵')
  581. return false
  582. }
  583. that.pageTo({ url: '/pagesPurchase/ghsProduct?id=' + item.id })
  584. },
  585. settleAccounts(item) {
  586. this.pageTo({ url: '/pagesPurchase/gathering?id=' + item.id })
  587. },
  588. getGHSList() {
  589. return ghsList().then(res => {
  590. this.supplierList = res.data.list
  591. this.ad = res.data.ad ? res.data.ad : []
  592. this.hasRequestApi = 1
  593. })
  594. },
  595. toRemindCustom() {
  596. if (this.loginStyle == 1) {
  597. hasMoreGhs().then(ret => {
  598. if (ret.data.needNotice == 1) {
  599. this.showSupplierNotice()
  600. }
  601. })
  602. }
  603. },
  604. async searchGhs() {
  605. console.log('searchGhs start')
  606. // #ifdef APP-PLUS
  607. // App 绔厛鏄惧紡鐢宠鏉冮檺锛岄伩鍏嶉儴鍒嗘満鍨?getLocation 鎸傝捣鏃犲洖璋? if (plus.os.name === 'Android') {
  608. const permissionRes = await permision.requestAndroidPermission('android.permission.ACCESS_FINE_LOCATION')
  609. if (permissionRes !== 1) {
  610. this.$msg('璇峰紑鍚畾浣嶆潈闄愬悗閲嶈瘯')
  611. if (permissionRes === -1) {
  612. permision.gotoAppPermissionSetting()
  613. }
  614. return
  615. }
  616. }
  617. if (!permision.checkSystemEnableLocation()) {
  618. this.$msg('璇峰厛寮€鍚郴缁熷畾浣嶆湇鍔?)
  619. return
  620. }
  621. // #endif
  622. let hasLocationCallback = false
  623. const timeoutTimer = setTimeout(() => {
  624. if (!hasLocationCallback) {
  625. console.log('getLocation timeout')
  626. this.$msg('瀹氫綅瓒呮椂锛岃纭绯荤粺瀹氫綅宸插紑鍚悗閲嶈瘯')
  627. }
  628. }, 5000)
  629. const handleLocationSuccess = (res, locationType) => {
  630. hasLocationCallback = true
  631. clearTimeout(timeoutTimer)
  632. console.log('getLocation success', locationType, res)
  633. searchNearbyGhs({
  634. locationType: locationType,
  635. lat: res.latitude,
  636. long: res.longitude
  637. }).then(ret => {
  638. if (ret.code == 1) {
  639. uni.setStorageSync('supplier_search_time', Date.now()) //璁剧疆缂撳瓨鏃堕棿--璁板綍褰撳墠鏌ユ壘闄勮繎鎵瑰彂搴楃殑鏃堕棿
  640. //閲嶆柊鍒锋柊鍒楄〃
  641. this.getGHSList()
  642. this.$msg('鏌ユ壘鎴愬姛')
  643. } else {
  644. this.$msg(ret.msg)
  645. }
  646. })
  647. }
  648. const requestLocation = (locationType) => {
  649. uni.getLocation({
  650. type: locationType,
  651. success: (res) => {
  652. handleLocationSuccess(res, locationType)
  653. },
  654. fail: (err) => {
  655. console.log('getLocation fail', locationType, err)
  656. // 閮ㄥ垎瀹夊崜鏈哄瀷涓嶆敮鎸?gcj02锛岃嚜鍔ㄩ檷绾у埌 wgs84 鍐嶈瘯涓€娆? if (locationType === 'gcj02' && (
  657. err.code == 18 ||
  658. err.errCode == 18 ||
  659. (err.errMsg && (
  660. err.errMsg.indexOf('not support gcj02') > -1 ||
  661. err.errMsg.indexOf('Not Support CoordsType') > -1
  662. ))
  663. )) {
  664. requestLocation('wgs84')
  665. return
  666. }
  667. hasLocationCallback = true
  668. clearTimeout(timeoutTimer)
  669. uni.showToast({ title: '瀹氫綅澶辫触锛岃妫€鏌ュ畾浣嶆潈闄?, icon: 'none' })
  670. },
  671. complete: () => {
  672. console.log('getLocation complete', locationType)
  673. }
  674. })
  675. }
  676. // iOS 鏈哄瀷鍦ㄩ儴鍒嗚繍琛岀幆澧冧笉鏀寔 gcj02锛岀洿鎺ヤ娇鐢?wgs84
  677. // #ifdef APP-PLUS
  678. if (plus.os.name === 'iOS') {
  679. requestLocation('wgs84')
  680. return
  681. }
  682. // #endif
  683. requestLocation('gcj02')
  684. }
  685. }
  686. };
  687. </script>
  688. <style lang="scss" scoped>
  689. .login-page {
  690. min-height: 100vh;
  691. display: flex;
  692. flex-direction: column;
  693. background: #f2f7f4;
  694. }
  695. .login-hero {
  696. position: relative;
  697. padding: 0 24upx 36upx;
  698. overflow: hidden;
  699. background: linear-gradient(180deg, #e8f5ed 0%, #ecf6f0 72%, #f2f7f4 100%);
  700. }
  701. .login-hero-bg {
  702. position: absolute;
  703. left: 0;
  704. top: 0;
  705. width: 100%;
  706. height: 360upx;
  707. z-index: 0;
  708. opacity: 0.55;
  709. }
  710. .login-hero-scrim {
  711. position: absolute;
  712. left: 0;
  713. right: 0;
  714. top: 0;
  715. height: 360upx;
  716. z-index: 1;
  717. background: linear-gradient(
  718. 180deg,
  719. rgba(255, 255, 255, 0.78) 0%,
  720. rgba(237, 248, 242, 0.52) 48%,
  721. rgba(255, 255, 255, 0) 100%
  722. );
  723. pointer-events: none;
  724. }
  725. .status-space {
  726. position: relative;
  727. z-index: 2;
  728. width: 100%;
  729. }
  730. .login-hero-inner {
  731. position: relative;
  732. z-index: 2;
  733. padding: 56upx 8upx 0;
  734. }
  735. .login-hero-title {
  736. display: block;
  737. color: #161819;
  738. font-size: 58upx;
  739. font-weight: 700;
  740. line-height: 60upx;
  741. text-shadow:
  742. 0 0 12upx rgba(255, 255, 255, 0.92),
  743. 0 2upx 6upx rgba(255, 255, 255, 0.75);
  744. }
  745. .login-hero-desc {
  746. display: block;
  747. margin-top: 14upx;
  748. color: #192129;
  749. font-size: 34upx;
  750. line-height: 44upx;
  751. }
  752. .login-body {
  753. flex: 1;
  754. padding: 28upx 24upx 64upx;
  755. }
  756. .login-card {
  757. display: flex;
  758. flex-direction: column;
  759. align-items: stretch;
  760. padding: 36upx 32upx 32upx;
  761. background: #fff;
  762. border-radius: 24upx;
  763. box-shadow: 0 8upx 24upx rgba(9, 197, 103, 0.08);
  764. }
  765. .login-card + .login-card {
  766. margin-top: 36upx;
  767. }
  768. .login-card-top {
  769. display: flex;
  770. flex-direction: row;
  771. align-items: center;
  772. min-width: 0;
  773. }
  774. .login-card-icon-wrap {
  775. width: 104upx;
  776. height: 104upx;
  777. border-radius: 26upx;
  778. display: flex;
  779. align-items: center;
  780. justify-content: center;
  781. flex-shrink: 0;
  782. }
  783. .login-card-icon-wrap--buy {
  784. background: linear-gradient(135deg, #fff4e8 0%, #ffe8d6 100%);
  785. }
  786. .login-card-icon-wrap--supply {
  787. background: linear-gradient(135deg, #e8f8f0 0%, #d4f0e2 100%);
  788. }
  789. .login-card-icon {
  790. width: 56upx;
  791. height: 56upx;
  792. }
  793. .login-card-main {
  794. flex: 1;
  795. min-width: 0;
  796. margin-left: 24upx;
  797. }
  798. .login-card-title {
  799. display: block;
  800. color: #161819;
  801. font-size: 38upx;
  802. font-weight: 700;
  803. line-height: 48upx;
  804. }
  805. .login-card-desc {
  806. display: block;
  807. margin-top: 12upx;
  808. color: #8a9199;
  809. font-size: 30upx;
  810. line-height: 40upx;
  811. }
  812. .login-card-btn {
  813. width: 100%;
  814. margin: 36upx 0 0;
  815. padding: 0;
  816. min-width: 0;
  817. height: 101upx;
  818. line-height: 101upx;
  819. font-size: 38upx;
  820. font-weight: 600;
  821. border-radius: 40upx;
  822. text-align: center;
  823. border: none;
  824. color: #fff;
  825. background: #09c567;
  826. }
  827. .login-card-btn::after {
  828. border: none;
  829. }
  830. .login-card-btn--primary,
  831. .login-card-btn--outline {
  832. color: #fff;
  833. background: #09c567;
  834. }
  835. .login-register {
  836. display: flex;
  837. flex-direction: row;
  838. align-items: center;
  839. justify-content: center;
  840. margin-top: 56upx;
  841. }
  842. .login-register-tip {
  843. color: #8a9199;
  844. font-size: 40upx;
  845. line-height: 44upx;
  846. }
  847. .login-register-link {
  848. margin-left: 8upx;
  849. color: #09c567;
  850. font-size: 40upx;
  851. line-height: 44upx;
  852. font-weight: 600;
  853. }
  854. .order-page {
  855. .ghs_list_page {
  856. background-color: rgba(255, 255, 255, 1);
  857. position: relative;
  858. width: 750upx;
  859. overflow: hidden;
  860. .profile-section {
  861. background-color: #09C567;
  862. padding: 30upx 30upx 0upx 30upx;
  863. border-radius: 0;
  864. .profile-header {
  865. display: flex;
  866. align-items: center;
  867. .avatar-container {
  868. width: 50upx;
  869. height: 50upx;
  870. border-radius: 50upx;
  871. overflow: hidden;
  872. background-color: rgba(255, 255, 255, 0.2);
  873. border: 1upx solid #ffffff;
  874. display: flex;
  875. align-items: center;
  876. justify-content: center;
  877. .avatar-button {
  878. background: none !important;
  879. border: none !important;
  880. padding: 0 !important;
  881. margin: 0 !important;
  882. line-height: 1;
  883. display: flex;
  884. align-items: center;
  885. justify-content: center;
  886. width: 50upx;
  887. height: 50upx;
  888. color: transparent !important;
  889. &::after {
  890. border: none !important;
  891. }
  892. }
  893. .avatar {
  894. width: 50upx;
  895. height: 50upx;
  896. border-radius: 50upx;
  897. }
  898. }
  899. .user-info {
  900. flex: 1;
  901. margin-left: 10upx;
  902. display: flex;
  903. align-items: center;
  904. .username {
  905. display: block;
  906. font-size: 40upx;
  907. font-weight: bold;
  908. color: #ffffff;
  909. line-height: 1;
  910. }
  911. .user-id {
  912. display: block;
  913. margin-top: 6upx;
  914. font-size: 26upx;
  915. color: #ffffff;
  916. }
  917. }
  918. .more-icon {
  919. margin-left: 12upx;
  920. width: 60upx;
  921. height: 60upx;
  922. border-radius: 30upx;
  923. align-items: center;
  924. justify-content: center;
  925. display: flex;
  926. }
  927. }
  928. }
  929. .flex-col {
  930. display: flex;
  931. flex-direction: column;
  932. }
  933. .flex-row {
  934. display: flex;
  935. flex-direction: row;
  936. }
  937. .justify-end {
  938. display: flex;
  939. justify-content: flex-end;
  940. }
  941. .justify-between {
  942. display: flex;
  943. justify-content: space-between;
  944. }
  945. .ghs_list_area {
  946. width: 750upx;
  947. background-color: #ece5e5;
  948. .ghs_box {
  949. background-color: rgba(255, 255, 255, 1);
  950. position: relative;
  951. width: 750upx;
  952. height: auto;
  953. margin-bottom: 35upx;
  954. .more-btn {
  955. position: absolute;
  956. top: 20upx;
  957. right: 20upx;
  958. width: 40upx;
  959. height: 40upx;
  960. display: flex;
  961. align-items: center;
  962. justify-content: center;
  963. border-radius: 20upx;
  964. background: rgba(0, 0, 0, 0.05);
  965. .more-icon {
  966. font-size: 24upx;
  967. color: #666;
  968. font-weight: bold;
  969. }
  970. }
  971. .image-text_7 {
  972. width: 674upx;
  973. height: 120upx;
  974. margin: 40upx 0 0 31upx;
  975. .section_1 {
  976. width: 120upx;
  977. height: 120upx;
  978. .logo {
  979. width: 120upx;
  980. height: 120upx;
  981. border-radius: 10upx;
  982. }
  983. }
  984. .text-group_7 {
  985. width: 533upx;
  986. min-height: 99upx;
  987. height: auto;
  988. margin-top: 5upx;
  989. justify-content: center;
  990. .text_8 {
  991. display: inline-block;
  992. width: 550upx;
  993. height: 38upx;
  994. color: rgba(51, 51, 51, 1);
  995. font-size: 36upx;
  996. font-weight: bold;
  997. text-align: left;
  998. white-space: nowrap;
  999. line-height: 38upx;
  1000. overflow: hidden;
  1001. margin-bottom: 12upx;
  1002. }
  1003. .text_9 {
  1004. width: 533upx;
  1005. height: 25upx;
  1006. overflow-wrap: break-word;
  1007. color: rgba(153, 153, 153, 1);
  1008. font-size: 30upx;
  1009. text-align: left;
  1010. white-space: nowrap;
  1011. line-height: 25upx;
  1012. margin-bottom: 10upx;
  1013. }
  1014. .text_distance {
  1015. font-size: 26upx;
  1016. color: #666;
  1017. line-height: 24upx;
  1018. }
  1019. }
  1020. }
  1021. .box_4 {
  1022. background-color: rgba(238, 238, 238, 1);
  1023. width: 750upx;
  1024. height: 1upx;
  1025. margin-top: 40upx;
  1026. }
  1027. .box_9 {
  1028. width: calc(100% - 30upx);
  1029. height: auto;
  1030. margin: 23upx 15upx 22upx 15upx;
  1031. display: flex;
  1032. flex-wrap: wrap;
  1033. align-items: stretch;
  1034. overflow: visible;
  1035. position: relative;
  1036. .tag_2 {
  1037. background-color: rgba(255, 255, 255, 1);
  1038. border-radius: 8px;
  1039. height: 80upx;
  1040. border: 2px solid rgba(221, 221, 221, 1);
  1041. color: rgba(51, 51, 51, 1);
  1042. font-size: 28upx;
  1043. margin: 0 7upx 15upx 0;
  1044. text-align: center;
  1045. width: calc((100% - 28upx) / 5);
  1046. padding: 0 4upx;
  1047. box-sizing: border-box;
  1048. display: flex;
  1049. align-items: center;
  1050. justify-content: center;
  1051. &:nth-child(5n) {
  1052. margin-right: 0;
  1053. }
  1054. text {
  1055. display: block;
  1056. width: 100%;
  1057. font-size: 28upx;
  1058. line-height: 1.2;
  1059. white-space: nowrap;
  1060. overflow: hidden;
  1061. text-overflow: ellipsis;
  1062. }
  1063. }
  1064. .tag_2--share {
  1065. padding-left: 2upx;
  1066. padding-right: 2upx;
  1067. position: relative;
  1068. }
  1069. .tag_2--highlight {
  1070. color: #09C567;
  1071. border-color: #09C567;
  1072. font-weight: bold;
  1073. }
  1074. .share-button-mask {
  1075. position: absolute;
  1076. top: 0;
  1077. left: 0;
  1078. width: 100%;
  1079. height: 100%;
  1080. opacity: 0;
  1081. z-index: 10;
  1082. }
  1083. }
  1084. .box_6 {
  1085. background-color: rgb(248, 242, 242);
  1086. width: 750upx;
  1087. height: 95upx;
  1088. .show_clear_area {
  1089. width: 247upx;
  1090. height: 29upx;
  1091. margin: 26upx 0 0 30upx;
  1092. .waite_clear_order {
  1093. width: 214upx;
  1094. height: 29upx;
  1095. overflow-wrap: break-word;
  1096. color: rgba(255, 40, 66, 1);
  1097. font-size: 31upx;
  1098. font-weight: bold;
  1099. text-align: left;
  1100. white-space: nowrap;
  1101. line-height: 29upx;
  1102. }
  1103. .waite_clear_order--blue {
  1104. color: #3385ff;
  1105. }
  1106. .ml-15 {
  1107. margin-left: 15upx;
  1108. }
  1109. .ml-30 {
  1110. margin-left: 30upx;
  1111. }
  1112. }
  1113. }
  1114. .button_4 {
  1115. height: 92upx;
  1116. line-height: 92upx;
  1117. text-align: center;
  1118. background-color: #09C567;
  1119. background-size: 137upx 137upx;
  1120. width: 130upx;
  1121. position: absolute;
  1122. left: 570upx;
  1123. top: 110upx;
  1124. border-radius: 39upx;
  1125. .text_13 {
  1126. color: rgba(255, 255, 255, 1);
  1127. font-size: 30upx;
  1128. font-weight: bold;
  1129. }
  1130. }
  1131. .button_5 {
  1132. height: 92upx;
  1133. line-height: 92upx;
  1134. text-align: center;
  1135. background-color: #CCCCCC;
  1136. background-size: 137upx 137upx;
  1137. width: 130upx;
  1138. position: absolute;
  1139. left: 570upx;
  1140. top: 110upx;
  1141. border-radius: 39upx;
  1142. .text_13 {
  1143. color: rgba(255, 255, 255, 1);
  1144. font-size: 30upx;
  1145. font-weight: bold;
  1146. }
  1147. }
  1148. .button_6 {
  1149. height: 92upx;
  1150. line-height: 92upx;
  1151. text-align: center;
  1152. background-color: rgb(152, 153, 197);
  1153. background-size: 137upx 137upx;
  1154. width: 170upx;
  1155. position: absolute;
  1156. left: 540upx;
  1157. top: 110upx;
  1158. border-radius: 39upx;
  1159. .text_13 {
  1160. color: rgba(255, 255, 255, 1);
  1161. font-size: 30upx;
  1162. font-weight: bold;
  1163. }
  1164. }
  1165. .button_7 {
  1166. height: 92upx;
  1167. line-height: 92upx;
  1168. text-align: center;
  1169. background-color: #09C567;
  1170. background-size: 137upx 137upx;
  1171. width: 180upx;
  1172. position: absolute;
  1173. left: 330upx;
  1174. top: 95upx;
  1175. border-radius: 39upx;
  1176. .text_13 {
  1177. color: rgba(255, 255, 255, 1);
  1178. font-size: 30upx;
  1179. font-weight: bold;
  1180. }
  1181. }
  1182. }
  1183. }
  1184. }
  1185. }
  1186. .admin-contact-wrap {
  1187. text-align: center;
  1188. font-size: 28upx;
  1189. color: #666;
  1190. padding: 16upx 30upx;
  1191. margin: 0 20upx;
  1192. background: #fff;
  1193. border-radius: 30upx;
  1194. }
  1195. .admin-contact-inner {
  1196. display: inline-flex;
  1197. align-items: center;
  1198. background: #fff;
  1199. padding: 10upx 25upx;
  1200. border-radius: 20upx;
  1201. box-shadow: 0 2upx 8upx rgba(0, 0, 0, 0.05);
  1202. }
  1203. .admin-contact-name {
  1204. color: #333;
  1205. font-weight: 500;
  1206. font-size: 28upx;
  1207. }
  1208. .admin-contact-divider {
  1209. margin: 0 15upx;
  1210. color: #eee;
  1211. }
  1212. .admin-contact-mobile {
  1213. color: #666;
  1214. font-size: 28upx;
  1215. }
  1216. .ad-wrap {
  1217. text-align: center;
  1218. }
  1219. .ad-image {
  1220. width: 97%;
  1221. margin: 0 auto;
  1222. }
  1223. .discount-highlight {
  1224. color: red;
  1225. font-weight: bold;
  1226. }
  1227. .no-supplier-tip {
  1228. margin: 60upx auto 40upx auto;
  1229. font-weight: bold;
  1230. font-size: 36upx;
  1231. text-align: center;
  1232. color: #999;
  1233. }
  1234. .location-empty-box {
  1235. display: flex;
  1236. flex-direction: column;
  1237. align-items: center;
  1238. margin-top: 100upx;
  1239. margin-bottom: 100upx;
  1240. }
  1241. .location-empty-title {
  1242. font-size: 36upx;
  1243. color: #999;
  1244. font-weight: bold;
  1245. margin-bottom: 40upx;
  1246. }
  1247. .location-empty-btn {
  1248. background-color: #09C567;
  1249. color: #fff;
  1250. width: 240upx;
  1251. border-radius: 10upx;
  1252. }
  1253. .support-entry {
  1254. text-align: center;
  1255. margin-top: 20upx;
  1256. margin-bottom: 50upx;
  1257. color: #827171;
  1258. font-size: 32upx;
  1259. }
  1260. .support-divider {
  1261. margin: 0 20upx 0 20upx;
  1262. }
  1263. .more-popup-list {
  1264. display: flex;
  1265. width: 100vw;
  1266. padding: 20upx 20upx 40upx 20upx;
  1267. height: auto;
  1268. justify-content: space-between;
  1269. align-items: center;
  1270. flex-wrap: wrap;
  1271. max-height: 100vh;
  1272. overflow: auto;
  1273. }
  1274. .more-popup-item {
  1275. width: 100vw;
  1276. margin-top: 8upx;
  1277. }
  1278. .more-popup-item--cancel {
  1279. margin-top: 30upx;
  1280. }
  1281. /* 渚涜揣鍟嗘彁绀哄脊妗嗘牱寮?*/
  1282. .supplier-notice-popup {
  1283. .supplier-notice-container {
  1284. width: 650upx;
  1285. background-color: #fff;
  1286. border-radius: 20upx;
  1287. overflow: hidden;
  1288. .supplier-notice-header {
  1289. padding: 40upx 30upx 20upx;
  1290. text-align: center;
  1291. background-color: #f8f9fa;
  1292. border-bottom: 1upx solid #e9ecef;
  1293. .supplier-notice-title {
  1294. font-size: 36upx;
  1295. font-weight: bold;
  1296. color: #333;
  1297. }
  1298. }
  1299. .supplier-notice-content {
  1300. padding: 20upx 0;
  1301. .supplier-list {
  1302. padding: 0 30upx;
  1303. .supplier-item {
  1304. display: flex;
  1305. align-items: center;
  1306. padding: 20upx 0;
  1307. border-bottom: 1upx solid #f0f0f0;
  1308. &:last-child {
  1309. border-bottom: none;
  1310. }
  1311. .supplier-icon {
  1312. width: 60upx;
  1313. height: 60upx;
  1314. background-color: #e3f2fd;
  1315. border-radius: 50%;
  1316. display: flex;
  1317. align-items: center;
  1318. justify-content: center;
  1319. font-size: 32upx;
  1320. margin-right: 20upx;
  1321. }
  1322. .supplier-name {
  1323. font-size: 32upx;
  1324. color: #333;
  1325. flex: 1;
  1326. font-weight: 500;
  1327. }
  1328. }
  1329. }
  1330. }
  1331. .supplier-notice-footer {
  1332. padding: 30upx;
  1333. text-align: center;
  1334. background-color: #f8f9fa;
  1335. border-top: 1upx solid #e9ecef;
  1336. .supplier-notice-tip {
  1337. display: block;
  1338. font-size: 42upx;
  1339. font-weight: bold;
  1340. color: red;
  1341. margin-bottom: 30upx;
  1342. line-height: 1.4;
  1343. }
  1344. .supplier-notice-buttons {
  1345. display: flex;
  1346. justify-content: space-between;
  1347. .admin-button-com+.admin-button-com {
  1348. margin-left: 20upx;
  1349. }
  1350. .admin-button-com {
  1351. flex: 1;
  1352. margin: 0;
  1353. padding: 20upx 0;
  1354. height: auto;
  1355. line-height: normal;
  1356. font-size: 34upx;
  1357. font-weight: bold;
  1358. }
  1359. }
  1360. }
  1361. }
  1362. }
  1363. .warning-banner {
  1364. background-color: #ff6b6b;
  1365. border-radius: 8upx;
  1366. margin: 0upx 10upx 20upx 10upx;
  1367. padding: 20upx 24upx;
  1368. color: #ffffff;
  1369. font-size: 32upx;
  1370. font-weight: 600;
  1371. text-align: center;
  1372. line-height: 1.4;
  1373. }
  1374. /* New workbench visual style */
  1375. .order-page {
  1376. min-height: 100vh;
  1377. background: #f5f7f6;
  1378. }
  1379. .order-page .ghs_list_page {
  1380. width: 750upx;
  1381. min-height: 100vh;
  1382. overflow: hidden;
  1383. background: #f5f7f6;
  1384. }
  1385. .order-page .ghs_list_page .profile-section {
  1386. position: relative;
  1387. padding: 0 24upx 4upx;
  1388. overflow: hidden;
  1389. background: linear-gradient(180deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.24) 58%, rgba(245, 247, 246, 0.58) 100%);
  1390. }
  1391. .order-page .ghs_list_page .profile-section::before {
  1392. content: "";
  1393. position: absolute;
  1394. left: 0;
  1395. right: 0;
  1396. top: 0;
  1397. height: 280upx;
  1398. z-index: 1;
  1399. background: linear-gradient(
  1400. 180deg,
  1401. rgba(255, 255, 255, 0.78) 0%,
  1402. rgba(237, 248, 242, 0.52) 48%,
  1403. rgba(255, 255, 255, 0) 100%
  1404. );
  1405. pointer-events: none;
  1406. }
  1407. .workbench-header-bg {
  1408. position: absolute;
  1409. left: 0;
  1410. top: 0;
  1411. width: 100%;
  1412. height: 300upx;
  1413. z-index: 0;
  1414. }
  1415. .order-page .ghs_list_page .profile-section::after {
  1416. content: "";
  1417. position: absolute;
  1418. left: 0;
  1419. right: 0;
  1420. top: 252upx;
  1421. height: 150upx;
  1422. z-index: 1;
  1423. background: linear-gradient(180deg, rgba(245, 247, 246, 0) 0%, rgba(245, 247, 246, 0.62) 100%);
  1424. pointer-events: none;
  1425. }
  1426. .status-safe-area,
  1427. .custom-nav,
  1428. .profile-header,
  1429. .function-grid--overlay {
  1430. position: relative;
  1431. z-index: 2;
  1432. }
  1433. .custom-nav {
  1434. position: relative;
  1435. height: 145upx;
  1436. display: flex;
  1437. align-items: center;
  1438. justify-content: center;
  1439. padding-top: 65upx;
  1440. box-sizing: border-box;
  1441. }
  1442. .custom-nav-title {
  1443. max-width: 560upx;
  1444. color: #161819;
  1445. font-size: 50upx;
  1446. font-weight: 700;
  1447. line-height: 48upx;
  1448. text-align: center;
  1449. text-shadow:
  1450. 0 0 12upx rgba(255, 255, 255, 0.92),
  1451. 0 2upx 6upx rgba(255, 255, 255, 0.75);
  1452. overflow: hidden;
  1453. white-space: nowrap;
  1454. text-overflow: ellipsis;
  1455. }
  1456. .order-page .ghs_list_page .profile-section .profile-header {
  1457. min-height: 78upx;
  1458. justify-content: center;
  1459. }
  1460. .order-page .ghs_list_page .profile-section .profile-header .avatar-container {
  1461. width: 72upx;
  1462. height: 72upx;
  1463. border-radius: 50%;
  1464. border: 4upx solid rgba(255, 255, 255, 0.95);
  1465. background: #fff;
  1466. box-shadow: 0 8upx 22upx rgba(9, 197, 103, 0.18);
  1467. }
  1468. .order-page .ghs_list_page .profile-section .profile-header .avatar-container .avatar-button {
  1469. width: 72upx;
  1470. height: 72upx;
  1471. border-radius: 50%;
  1472. }
  1473. .order-page .ghs_list_page .profile-section .profile-header .avatar-container .avatar {
  1474. width: 72upx;
  1475. height: 72upx;
  1476. border-radius: 50%;
  1477. }
  1478. .order-page .ghs_list_page .profile-section .profile-header .user-info {
  1479. flex: 0 1 auto;
  1480. max-width: 540upx;
  1481. margin-left: 18upx;
  1482. }
  1483. .order-page .ghs_list_page .profile-section .profile-header .user-info .username {
  1484. color: #161819;
  1485. font-size: 34upx;
  1486. line-height: 42upx;
  1487. overflow: hidden;
  1488. white-space: nowrap;
  1489. text-overflow: ellipsis;
  1490. }
  1491. .order-page .ghs_list_page .profile-section .function-grid--overlay {
  1492. margin-top: 10upx;
  1493. min-height: 166upx;
  1494. padding: 30upx 12upx 24upx;
  1495. border-radius: 26upx;
  1496. background: #f5f7f6;
  1497. box-shadow: 0 14upx 34upx rgba(42, 75, 55, 0.13);
  1498. display: flex;
  1499. align-items: center;
  1500. justify-content: space-around;
  1501. box-sizing: border-box;
  1502. }
  1503. .order-page .ghs_list_page .profile-section .function-item--overlay {
  1504. flex: 1;
  1505. padding: 0;
  1506. border: 0;
  1507. background: transparent;
  1508. display: flex;
  1509. flex-direction: column;
  1510. align-items: center;
  1511. justify-content: center;
  1512. }
  1513. .order-page .ghs_list_page .profile-section .function-item--overlay+.function-item--overlay {
  1514. margin-left: 0;
  1515. }
  1516. .order-page .ghs_list_page .profile-section .function-text--overlay {
  1517. margin-top: 14upx;
  1518. color: #202325;
  1519. font-size: 29upx;
  1520. line-height: 36upx;
  1521. background-color: transparent;
  1522. }
  1523. .admin-contact-wrap {
  1524. margin: 20upx 24upx 0;
  1525. padding: 18upx 24upx;
  1526. border-radius: 22upx;
  1527. background: #fff;
  1528. box-shadow: 0 10upx 26upx rgba(31, 46, 37, 0.06);
  1529. }
  1530. .admin-contact-inner {
  1531. width: 100%;
  1532. padding: 0;
  1533. box-shadow: none;
  1534. justify-content: center;
  1535. }
  1536. .warning-banner {
  1537. margin: 22upx 24upx 0;
  1538. padding: 22upx 28upx;
  1539. border-radius: 20upx;
  1540. background: linear-gradient(90deg, #ff393f 0%, #ff4d4f 100%);
  1541. box-shadow: 0 10upx 22upx rgba(255, 57, 63, 0.18);
  1542. color: #fff;
  1543. font-size: 30upx;
  1544. font-weight: 700;
  1545. }
  1546. .ad-wrap {
  1547. margin: 22upx 24upx 0;
  1548. overflow: hidden;
  1549. border-radius: 20upx;
  1550. }
  1551. .ad-image {
  1552. display: block;
  1553. width: 100%;
  1554. margin: 0;
  1555. }
  1556. .order-page .ghs_list_page .ghs_list_area {
  1557. width: 750upx;
  1558. padding: 24upx 0 12upx;
  1559. background: #f5f7f6;
  1560. }
  1561. .order-page .ghs_list_page .ghs_list_area .ghs_box {
  1562. width: 702upx;
  1563. margin: 0 24upx 24upx;
  1564. padding: 24upx 24upx 26upx;
  1565. box-sizing: border-box;
  1566. border-radius: 24upx;
  1567. background: #fff;
  1568. box-shadow: 0 10upx 28upx rgba(24, 37, 30, 0.08);
  1569. }
  1570. .order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 {
  1571. width: 100%;
  1572. min-height: 116upx;
  1573. height: auto;
  1574. margin: 0;
  1575. align-items: center;
  1576. justify-content: flex-start;
  1577. padding-right: 178upx;
  1578. box-sizing: border-box;
  1579. }
  1580. .order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .section_1 {
  1581. width: 112upx;
  1582. height: 112upx;
  1583. flex-shrink: 0;
  1584. }
  1585. .order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .section_1 .logo {
  1586. width: 112upx;
  1587. height: 112upx;
  1588. border-radius: 50%;
  1589. background: #eaf8ef;
  1590. }
  1591. .order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .text-group_7 {
  1592. flex: 1;
  1593. width: auto;
  1594. min-width: 0;
  1595. min-height: 100upx;
  1596. margin: 0 0 0 24upx;
  1597. }
  1598. .order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .text-group_7 .text_8 {
  1599. width: 100%;
  1600. height: auto;
  1601. margin-bottom: 10upx;
  1602. color: #171a1d;
  1603. font-size: 36upx;
  1604. line-height: 44upx;
  1605. font-weight: 700;
  1606. }
  1607. .phone-line {
  1608. width: 100%;
  1609. min-height: 34upx;
  1610. display: flex;
  1611. align-items: center;
  1612. margin-bottom:10upx;
  1613. }
  1614. .phone-text {
  1615. flex: 1;
  1616. min-width: 0;
  1617. margin-left: 10upx;
  1618. color: #252a2d;
  1619. font-size: 28upx;
  1620. line-height: 32upx;
  1621. white-space: nowrap;
  1622. }
  1623. .order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .text-group_7 .text_9 {
  1624. width: 100%;
  1625. height: auto;
  1626. min-height: 28upx;
  1627. margin-bottom: 6upx;
  1628. color: #7e8782;
  1629. font-size: 24upx;
  1630. line-height: 30upx;
  1631. }
  1632. .order-page .ghs_list_page .ghs_list_area .ghs_box .image-text_7 .text-group_7 .text_distance {
  1633. color: #7e8782;
  1634. font-size: 24upx;
  1635. line-height: 30upx;
  1636. }
  1637. .order-page .ghs_list_page .ghs_list_area .ghs_box .box_4 {
  1638. display: none;
  1639. }
  1640. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_4,
  1641. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_5,
  1642. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_6,
  1643. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_7 {
  1644. top: 48upx;
  1645. left: auto;
  1646. right: 28upx;
  1647. width: 142upx;
  1648. height: 76upx;
  1649. line-height: 76upx;
  1650. border-radius: 999upx;
  1651. box-shadow: 0 8upx 18upx rgba(9, 197, 103, 0.22);
  1652. }
  1653. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_4,
  1654. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_7 {
  1655. background: linear-gradient(135deg, #16d66d 0%, #08b858 100%);
  1656. }
  1657. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_5 {
  1658. background: #c9d0cd;
  1659. box-shadow: none;
  1660. }
  1661. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_6 {
  1662. background: linear-gradient(135deg, #65c690 0%, #35aa69 100%);
  1663. }
  1664. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_7 {
  1665. right: 182upx;
  1666. width: 156upx;
  1667. }
  1668. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_4 .text_13,
  1669. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_5 .text_13,
  1670. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_6 .text_13,
  1671. .order-page .ghs_list_page .ghs_list_area .ghs_box .button_7 .text_13 {
  1672. color: #fff;
  1673. font-size: 28upx;
  1674. font-weight: 700;
  1675. }
  1676. .order-page .ghs_list_page .ghs_list_area .ghs_box .box_9 {
  1677. width: 100%;
  1678. margin: 30upx 0 8upx;
  1679. display: flex;
  1680. flex-wrap: nowrap;
  1681. justify-content: space-between;
  1682. overflow: visible;
  1683. }
  1684. .order-page .ghs_list_page .ghs_list_area .ghs_box .box_9 .tag_2 {
  1685. width: 120upx;
  1686. height: 140upx;
  1687. margin: 0;
  1688. padding: 15upx 4upx;
  1689. border: 1upx solid #dbeee3;
  1690. border-radius: 10upx;
  1691. background: #fbfffd;
  1692. color: #1f2523;
  1693. box-sizing: border-box;
  1694. display: flex;
  1695. flex-direction: column;
  1696. align-items: center;
  1697. justify-content: center;
  1698. }
  1699. .order-page .ghs_list_page .ghs_list_area .ghs_box .box_9 .tag_2 text {
  1700. width: 100%;
  1701. margin-top: 13upx;
  1702. color: #1f2523;
  1703. font-size: 24upx;
  1704. line-height: 30upx;
  1705. text-align: center;
  1706. }
  1707. .order-page .ghs_list_page .ghs_list_area .ghs_box .box_9 .tag_2--highlight {
  1708. color: #09c567;
  1709. border-color: #d2efdd;
  1710. font-weight: 400;
  1711. }
  1712. .order-page .ghs_list_page .ghs_list_area .ghs_box .box_9 .tag_2--highlight text {
  1713. color: #1f2523;
  1714. }
  1715. .order-page .ghs_list_page .ghs_list_area .ghs_box .box_6 {
  1716. width: 100%;
  1717. height: auto;
  1718. min-height: 72upx;
  1719. margin-top: 18upx;
  1720. border-radius: 12upx;
  1721. background: #fff1f1;
  1722. }
  1723. .order-page .ghs_list_page .ghs_list_area .ghs_box .box_6--blue {
  1724. background: #edf6ff;
  1725. }
  1726. .order-page .ghs_list_page .ghs_list_area .ghs_box .box_6 .show_clear_area {
  1727. width: 100%;
  1728. height: auto;
  1729. min-height: 72upx;
  1730. margin: 0;
  1731. padding: 0 18upx;
  1732. box-sizing: border-box;
  1733. align-items: center;
  1734. flex-wrap: nowrap;
  1735. }
  1736. .order-page .ghs_list_page .ghs_list_area .ghs_box .box_6 .show_clear_area .waite_clear_order {
  1737. flex: 1;
  1738. width: auto;
  1739. height: auto;
  1740. color: #f50e24;
  1741. font-size: 30upx;
  1742. line-height: 38upx;
  1743. font-weight: 700;
  1744. white-space: nowrap;
  1745. overflow: hidden;
  1746. text-overflow: ellipsis;
  1747. }
  1748. .clear-action {
  1749. flex-shrink: 0;
  1750. margin-left: 18upx;
  1751. color: #f50e24;
  1752. font-size: 26upx;
  1753. line-height: 34upx;
  1754. font-weight: 700;
  1755. white-space: nowrap;
  1756. }
  1757. .order-page .ghs_list_page .ghs_list_area .ghs_box .box_6 .show_clear_area .waite_clear_order--blue,
  1758. .clear-action--blue {
  1759. color: #1677ff;
  1760. }
  1761. .location-empty-box {
  1762. width: 702upx;
  1763. margin: 40upx 24upx 80upx;
  1764. padding: 70upx 24upx;
  1765. box-sizing: border-box;
  1766. border-radius: 24upx;
  1767. background: #fff;
  1768. box-shadow: 0 10upx 28upx rgba(24, 37, 30, 0.06);
  1769. }
  1770. .location-empty-title {
  1771. color: #77817c;
  1772. font-size: 32upx;
  1773. }
  1774. .location-empty-btn {
  1775. margin-top: 22upx;
  1776. background: #09c567;
  1777. color: #fff;
  1778. border-radius: 999upx;
  1779. }
  1780. .no-supplier-tip {
  1781. width: 702upx;
  1782. margin: 40upx 24upx 80upx;
  1783. padding: 70upx 24upx;
  1784. box-sizing: border-box;
  1785. border-radius: 24upx;
  1786. background: #fff;
  1787. color: #77817c;
  1788. font-size: 32upx;
  1789. box-shadow: 0 10upx 28upx rgba(24, 37, 30, 0.06);
  1790. }
  1791. .function-icon,
  1792. .phone-icon,
  1793. .tag-icon,
  1794. .location-empty-icon {
  1795. display: block;
  1796. flex-shrink: 0;
  1797. }
  1798. .function-icon {
  1799. width: 58upx;
  1800. height: 58upx;
  1801. }
  1802. .phone-icon {
  1803. width: 28upx;
  1804. height: 28upx;
  1805. }
  1806. .tag-icon {
  1807. width: 50upx;
  1808. height: 50upx;
  1809. }
  1810. .location-empty-icon {
  1811. width: 40upx;
  1812. height: 40upx;
  1813. margin-bottom: 24upx;
  1814. }
  1815. </style>