index.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125
  1. <template>
  2. <view class="pages" :style="{'min-height':(h+mt)+'px','padding-top':(mt)+'px'}">
  3. <!-- <view class="pages" :style="{'min-height':h+'px'}"> -->
  4. <c-nav-bar title="商品管理"></c-nav-bar>
  5. <view class="tb">
  6. <view class="tabs">
  7. <view v-for="(item,index) in tabList" :key="index" @tap="changeTab1(index)">
  8. <text :class="index==current?'active':''">{{item.name}}</text>
  9. <text v-if="index==current">({{roomType.length}})</text>
  10. </view>
  11. </view>
  12. </view>
  13. <!-- 房型数量 -->
  14. <view class="">
  15. <view class="typeNum">
  16. <view class="left" style="font-size: 24rpx; color: #777;" @click="areaShowed()">
  17. <text :class="areaShow==true?'active':''" style="margin-right: 20rpx;">上架时间</text>
  18. <u-icon name="arrow-down-fill" bold='true' v-if="areaShow==false" size="20" labelPos="left"
  19. labelSize="26"></u-icon>
  20. <u-icon name="arrow-up-fill" bold='true' v-else color="#007a68" labelColor='#007a68' size="20"
  21. labelPos="left" labelSize="26"></u-icon>
  22. </view>
  23. <view class="right" @click="showList">
  24. <view class="image">
  25. <image src="https://i.ringzle.com/file/20240313/f3d301b3bc4544ffaf5a0d96a761dd00.png" mode="">
  26. </image>
  27. </view>
  28. <view class="text">
  29. 批量操作
  30. </view>
  31. </view>
  32. </view>
  33. <!-- 区域筛选 -->
  34. <view class="contented" :style="{'height':(h-mt)+'px'}" v-show="areaShow">
  35. <view class="custom_popup">
  36. <view class="types">
  37. <view class="pricequjian" style="height: 240rpx;">
  38. <view class="jiage" v-for="(item, index) in list1" :key="index"
  39. @click="clickareaShow(item, index)">
  40. <view class="contentpeice">
  41. <view class="title" :class="{'Doublactive': areaShowIndex == index}">
  42. {{item.name}}
  43. </view>
  44. <view class="image" v-if="areaShowIndex == index">
  45. <image
  46. src="https://i.ringzle.com/file/20240316/16dd69efb40242de83da8207539ec73e.png"
  47. mode=""></image>
  48. </view>
  49. </view>
  50. </view>
  51. </view>
  52. </view>
  53. </view>
  54. </view>
  55. </view>
  56. <view class="" style="padding-bottom: 160rpx;">
  57. <!-- 房型选择 -->
  58. <view class="type" v-for="item,index in roomType" :key="index" style="">
  59. <view class="left" v-if="Selected==true" @tap="selectPerson(item,index)">
  60. <view class="image">
  61. <image
  62. :src="selectedTags.includes(item)?'https://fsy.shengsi.gov.cn/file/20240619/ab6bcbe73e114802a93baa7c40c7ac97.png':'https://fsy.shengsi.gov.cn/file/20240619/bf140a7159e249e7bf47be677a5d9585.png'">
  63. </image>
  64. </view>
  65. </view>
  66. <!-- <view @click="goEditTypeInfo(item.houseBaseId)" style="width: 100%;"> -->
  67. <view style="width: 100%;">
  68. <view class="right">
  69. <view class="right-left">
  70. <image :src="item.cover" mode=""></image>
  71. </view>
  72. <view class="right-right">
  73. <view class="top">
  74. <text style="font-size: 30rpx; color: #333;">{{item.comboName}}</text>
  75. </view>
  76. <view class="under">
  77. <view style="font-size: 24rpx; color: #777;">销量:{{item.saleNums}}</view>
  78. <view style="font-size: 36rpx; color: #FF4141; font-weight: Bold; margin-top: 16rpx;">
  79. ¥{{item.price}}</view>
  80. </view>
  81. </view>
  82. </view>
  83. <view class="type-btn">
  84. <view class="type-btn-left">
  85. </view>
  86. <view class="type-btn-right">
  87. <view class="" @click="del(item)">
  88. 删除
  89. </view>
  90. <view @click="gaijia(item,index)">
  91. 改价格
  92. </view>
  93. <view class="" @click="Undered(item)" v-if="item.status==1">
  94. 下架
  95. </view>
  96. <view class="" @click="Undered(item)" v-else>
  97. 上架
  98. </view>
  99. </view>
  100. </view>
  101. </view>
  102. </view>
  103. </view>
  104. <!-- 批量按钮 -->
  105. <view class="btn-btn" v-if="Selected==true">
  106. <view class="bottom-btn">
  107. <view class="left">
  108. <view class="image">
  109. <!-- <image
  110. :src="isSelect?'https://i.ringzle.com/file/20240228/c741a340e19642c59473e6f4a6d2f4be.png':'https://i.ringzle.com/file/20231027/db588133d67548fc82dfb0d128eac9a8.png'">
  111. </image> -->
  112. <image
  113. :src="selectedTags.length>0?'https://fsy.shengsi.gov.cn/file/20240619/ab6bcbe73e114802a93baa7c40c7ac97.png':'https://fsy.shengsi.gov.cn/file/20240619/bf140a7159e249e7bf47be677a5d9585.png'">
  114. </image>
  115. </view>
  116. <view class="text">
  117. 已选:{{selectedTags.length}}
  118. </view>
  119. </view>
  120. <view class="right">
  121. <view class="right-btn" @click="piliangxiajia()">
  122. <!-- 批量下架 -->
  123. {{fromData.status==1?'批量下架':'批量上架'}}
  124. </view>
  125. <view class="right-btn" @click="Pricinged()">
  126. 批量删除
  127. </view>
  128. </view>
  129. </view>
  130. </view>
  131. <!-- 新增按钮 -->
  132. <view class="btn-btn" @click="addType()" v-else>
  133. <view class="btn">
  134. 添加商品
  135. </view>
  136. </view>
  137. <u-popup :show="showPricing" @close="close" :round="30">
  138. <view class="pop-pop">
  139. <view class="hander-one">
  140. <view class="image">
  141. <image src="https://i.ringzle.com/file/20240317/fdb4de4c4413429bb5a98b3f6c2bd856.png" mode="">
  142. </image>
  143. </view>
  144. <view class="text">
  145. <view class="text1">
  146. 删除选中的商品
  147. </view>
  148. <view class="text2">
  149. 删除后的商品不可在前台继续售卖,是否继续
  150. </view>
  151. </view>
  152. </view>
  153. <view class="hander-two">
  154. <view class="pop-btn-del" @click="showPricing=false">
  155. <text>取消</text>
  156. </view>
  157. <view class="pop-btn-add" @click="GoOndel()">
  158. <text>继续提交</text>
  159. </view>
  160. </view>
  161. </view>
  162. </u-popup>
  163. <u-popup :show="showPricingUnder" @close="close" :round="30">
  164. <view class="pop-pop">
  165. <view class="hander-one">
  166. <view class="image">
  167. <image src="https://i.ringzle.com/file/20240317/fdb4de4c4413429bb5a98b3f6c2bd856.png" mode="">
  168. </image>
  169. </view>
  170. <view class="text">
  171. <view class="text1" v-if="Shelves==false">
  172. 下架选中的商品
  173. </view>
  174. <view class="text1" v-else>
  175. 上架选中的商品
  176. </view>
  177. <view class="text2" v-if="Shelves==false">
  178. 下架后商品不可在前台继续售卖,是否继续?
  179. </view>
  180. <view class="text2" v-else>
  181. 确定上架售卖吗?是否继续?
  182. </view>
  183. </view>
  184. </view>
  185. <view class="hander-two">
  186. <view class="pop-btn-del" @click="showPricingUnder=false">
  187. <text>
  188. 取消
  189. </text>
  190. </view>
  191. <view class="pop-btn-add" @click="GoOnUnder()">
  192. <text> 继续提交</text>
  193. </view>
  194. </view>
  195. </view>
  196. </u-popup>
  197. <u-popup :show="showPricinggaijia" @close="close" :round="10">
  198. <view class="gaijiadiv">
  199. <view class="toubu">
  200. 改价格
  201. <view class="toubux" @click="closegaijia">
  202. <u-icon name="close" color="#000000" size="40"></u-icon>
  203. </view>
  204. </view>
  205. <view class="jiainput">
  206. <u--input type='number' v-model="newprice" placeholder="请输入价格" border="surround"
  207. clearable></u--input>
  208. </view>
  209. <view class="queding">
  210. <view class="queding1" @click="showPricinggaijia=false">
  211. 取消
  212. </view>
  213. <view class="queding2" @click="quedingjiae">
  214. 确定
  215. </view>
  216. </view>
  217. </view>
  218. </u-popup>
  219. <view class="mainContain">
  220. <!-- <view class="nodata" v-if='dataList.length==0'>
  221. <NoData></NoData>
  222. </view> -->
  223. </view>
  224. </view>
  225. </template>
  226. <script>
  227. import TopTabs from '@/components/TopTabs/topTabs.vue';
  228. // import NoData from '../../components/NoData/index.vue';
  229. export default {
  230. components: {
  231. TopTabs,
  232. // NoData
  233. },
  234. data() {
  235. return {
  236. h: uni.getSystemInfoSync().windowHeight,
  237. mt: uni.getSystemInfoSync().statusBarHeight + 44,
  238. current: 0,
  239. tabList: [{
  240. name: '出售中'
  241. },
  242. {
  243. name: '待上架'
  244. },
  245. ],
  246. homestayId: uni.getStorageSync('homestayId') || 0,
  247. roomType: [],
  248. selectedTags: [],
  249. isSelect: false,
  250. Selected: false,
  251. showPricing: false,
  252. showPricingUnder: false,
  253. Shelves: false,
  254. areaShow: false,
  255. list1: [{
  256. name: '创建时间'
  257. },
  258. {
  259. name: '上架时间'
  260. },
  261. {
  262. name: '价格从高到低'
  263. },
  264. {
  265. name: '价格从低到高'
  266. },
  267. // {
  268. // name: '销量从高到低'
  269. // },
  270. ],
  271. areaShowIndex: null,
  272. fromData: {
  273. homestayId: uni.getStorageSync('homestayId'),
  274. limit: 10,
  275. page: 1,
  276. order: '',
  277. orderField: "",
  278. status: 1
  279. },
  280. ids: [],
  281. obj: {},
  282. showPricinggaijia: false,
  283. newprice: '',
  284. id: '',
  285. from: {}
  286. }
  287. },
  288. onLoad(option) {
  289. // if (uni.getStorageSync('merchantType') == 4) {
  290. this.getRepast()
  291. // } else {
  292. // }
  293. },
  294. methods: {
  295. Pricinged() {
  296. this.$api.del('/merchant/hotel/repast', this.ids).then(res => {
  297. if (res.data.code == 0) {
  298. this.getRepast()
  299. this.showPricing = false
  300. this.ids = []
  301. } else this.$showToast(res.data.msg);
  302. })
  303. },
  304. piliangxiajia() {
  305. this.$api.post('/merchant/hotel/repast/batchPutAway', this.from).then(res => {
  306. this.selectedTags = [];
  307. this.Selected = false;
  308. this.getRepast(); //获取商品列表
  309. })
  310. },
  311. quedingjiae() {
  312. let obj = {
  313. price: this.newprice,
  314. id: this.id
  315. }
  316. this.$api.put('/merchant/hotel/repast', obj).then(res => {
  317. this.getRepast(); //获取商品列表
  318. this.showPricinggaijia = false;
  319. })
  320. },
  321. closegaijia() {
  322. this.showPricinggaijia = false
  323. this.showPricing = false;
  324. this.newprice = '';
  325. },
  326. gaijia(e, i) {
  327. this.showPricinggaijia = true;
  328. this.id = e.id
  329. },
  330. selectPerson(e, i) {
  331. if (this.selectedTags.includes(e)) {
  332. this.selectedTags = this.selectedTags.filter(t => t !== e);
  333. this.ids.splice(i, 1)
  334. } else {
  335. this.selectedTags.push(e);
  336. this.ids.push(e.id)
  337. this.from = {
  338. ids: this.ids,
  339. status: e.status == 1 ? 0 : 1
  340. }
  341. }
  342. },
  343. // 添加商品
  344. addType() {
  345. uni.navigateTo({
  346. url: '/pages/HotelMerchandise/addCommodity'
  347. })
  348. },
  349. close() {
  350. this.showPricing = false
  351. this.showPricingUnder = false
  352. this.showPricinggaijia = false
  353. },
  354. // 删除商品
  355. del(item) {
  356. // let ids = []
  357. this.ids.push(item.id)
  358. this.showPricing = true
  359. },
  360. GoOndel() {
  361. this.$api.del('/merchant/hotel/repast', this.ids).then(res => {
  362. if (res.data.code == 0) {
  363. this.getRepast()
  364. this.showPricing = false
  365. this.ids = []
  366. } else this.$showToast(res.data.msg);
  367. })
  368. },
  369. // 上下架商品
  370. Undered(item) {
  371. this.ids.push(item.id)
  372. this.showPricingUnder = true
  373. if (item.status == 1) {
  374. this.obj = {
  375. ids: this.ids,
  376. status: 0
  377. }
  378. } else {
  379. this.Shelves = true
  380. this.obj = {
  381. ids: this.ids,
  382. status: 1
  383. }
  384. }
  385. },
  386. GoOnUnder() {
  387. this.$api.post('/merchant/hotel/repast/batchPutAway', this.obj).then(res => {
  388. if (res.data.code == 0) {
  389. this.getRepast()
  390. this.showPricingUnder = false
  391. this.ids = []
  392. } else this.$showToast(res.data.msg);
  393. })
  394. },
  395. getRepast() {
  396. this.Shelves = false
  397. this.$api.get('/merchant/hotel/repast/page', this.fromData).then(res => {
  398. this.roomType = res.data.data.list
  399. })
  400. },
  401. // 区域筛选
  402. clickareaShow(e, i) {
  403. this.areaShowIndex = i
  404. },
  405. // 上架时间
  406. areaShowed() {
  407. this.areaShow = !this.areaShow
  408. },
  409. changeTab1(index) {
  410. this.current = index;
  411. if (index == 0) {
  412. this.fromData.status = 1
  413. this.getRepast()
  414. } else {
  415. this.fromData.status = 0
  416. this.getRepast()
  417. }
  418. },
  419. // 批量显示
  420. showList() {
  421. this.Selected = !this.Selected
  422. },
  423. }
  424. }
  425. </script>
  426. <style lang="scss" scoped>
  427. .queding {
  428. width: 750rpx;
  429. height: 140rpx;
  430. display: flex;
  431. justify-content: space-around;
  432. align-items: center;
  433. .queding1 {
  434. width: 330rpx;
  435. height: 88rpx;
  436. background: #F0F2F5;
  437. border-radius: 44rpx;
  438. font-family: PingFangSC, PingFang SC;
  439. font-weight: 400;
  440. font-size: 32rpx;
  441. color: #333333;
  442. line-height: 88rpx;
  443. text-align: center;
  444. font-style: normal;
  445. }
  446. .queding2 {
  447. width: 330rpx;
  448. height: 88rpx;
  449. background: #007A69;
  450. border-radius: 44rpx;
  451. font-family: PingFangSC, PingFang SC;
  452. font-weight: 400;
  453. font-size: 32rpx;
  454. color: #FFFFFF;
  455. line-height: 88rpx;
  456. text-align: center;
  457. font-style: normal;
  458. }
  459. }
  460. .jiainput {
  461. width: 690rpx;
  462. height: 100rpx;
  463. margin: 0 auto;
  464. }
  465. .gaijiadiv {
  466. width: 750rpx;
  467. height: 950rpx;
  468. .toubu {
  469. width: 750rpx;
  470. height: 110rpx;
  471. font-family: PingFang-SC, PingFang-SC;
  472. font-weight: bold;
  473. font-size: 36rpx;
  474. color: #333333;
  475. line-height: 110rpx;
  476. text-align: center;
  477. font-style: normal;
  478. position: relative;
  479. .toubux {
  480. position: absolute;
  481. top: 33rpx;
  482. right: 30rpx;
  483. }
  484. }
  485. }
  486. .Doublactive {
  487. // background-color: #F0F7F6 !important;
  488. color: #007A69 !important;
  489. // border: 1px solid #007A69 !important;
  490. }
  491. .contented {
  492. width: 100%;
  493. padding: 0 24rpx;
  494. box-sizing: border-box;
  495. position: relative;
  496. }
  497. .custom_popup {
  498. width: 100%;
  499. height: 100%;
  500. background: rgba(0, 0, 0, .4);
  501. top: 0;
  502. left: 0;
  503. position: absolute;
  504. z-index: 999;
  505. .types {
  506. width: 100%;
  507. padding: 30rpx 30rpx 56rpx;
  508. box-sizing: border-box;
  509. background: #FFFFFF;
  510. .pricequjian {
  511. width: 100%;
  512. .contentpeice {
  513. width: 100%;
  514. display: flex;
  515. justify-content: space-between;
  516. margin: 15rpx 0;
  517. .title {
  518. font-weight: Regular;
  519. font-size: 28rpx;
  520. color: #333333;
  521. }
  522. .image {
  523. width: 28rpx;
  524. height: 20rpx;
  525. image {
  526. width: 100%;
  527. height: 100%;
  528. }
  529. }
  530. }
  531. }
  532. }
  533. }
  534. .pages {
  535. background: #F5F8FA;
  536. box-sizing: border-box;
  537. .tb {
  538. width: 100%;
  539. top: 0;
  540. left: 0;
  541. z-index: 999;
  542. .searchBoxParent {
  543. width: 100%;
  544. background: #fff;
  545. padding: 20rpx 24rpx 6rpx;
  546. box-sizing: border-box;
  547. .searchBox {
  548. width: 100%;
  549. background-color: #fff;
  550. }
  551. }
  552. .tabs {
  553. background: #fff;
  554. padding: 26rpx 0;
  555. display: flex;
  556. align-items: center;
  557. width: 100%;
  558. &>view {
  559. width: 25%;
  560. font-size: 28rpx;
  561. font-family: PingFangSC-Regular, PingFang SC;
  562. font-weight: 400;
  563. color: black;
  564. line-height: 40rpx;
  565. position: relative;
  566. text-align: center;
  567. }
  568. .active {
  569. font-size: 32rpx;
  570. font-family: PingFang-SC-Bold, PingFang-SC;
  571. font-weight: bold;
  572. color: black;
  573. line-height: 45rpx;
  574. }
  575. .active::after {
  576. position: absolute;
  577. content: '';
  578. width: 50rpx;
  579. height: 8rpx;
  580. background: #007A69;
  581. bottom: -26rpx;
  582. left: 60%;
  583. margin-left: -42rpx;
  584. }
  585. }
  586. }
  587. .green {}
  588. .mainContain {
  589. display: flex;
  590. flex-direction: column;
  591. padding: 0 20rpx;
  592. .nodata {
  593. background: white;
  594. }
  595. .card {
  596. background: #fff;
  597. border-radius: 16rpx;
  598. margin: 20rpx 0;
  599. padding: 20rpx;
  600. .header {
  601. display: flex;
  602. justify-content: space-between;
  603. border-bottom: 1px #f3f3f3 solid;
  604. padding: 20rpx;
  605. .red {
  606. color: indianred;
  607. }
  608. .green {
  609. color: #999999;
  610. }
  611. .blue {
  612. color: #1372FF;
  613. }
  614. .grey {
  615. color: #4C5F76;
  616. }
  617. .orange {
  618. color: #FF9100;
  619. }
  620. }
  621. .mainContent {
  622. // border-bottom: 1px #f3f3f3 solid;
  623. display: flex;
  624. padding: 20rpx 0;
  625. // justify-content: space-evenly;
  626. .image {
  627. background-repeat: no-repeat;
  628. background-size: cover;
  629. width: 198rpx;
  630. height: 180rpx;
  631. border-radius: 16rpx;
  632. }
  633. .middle {
  634. padding-top: 16rpx;
  635. color: #777777;
  636. // display: flex;
  637. // flex-direction: column;
  638. // justify-content: space-between;
  639. margin-left: 25rpx;
  640. width: 100%;
  641. .title {
  642. font-weight: 700;
  643. font-size: 32rpx;
  644. color: black;
  645. }
  646. .info {
  647. padding-top: 30rpx;
  648. color: #777777;
  649. // display: flex;
  650. // flex-direction: column;
  651. &>span {
  652. margin-top: 10rpx;
  653. }
  654. }
  655. }
  656. .price {
  657. color: red;
  658. text-align: center;
  659. height: 100%;
  660. align-items: center;
  661. align-self: center;
  662. font-size: 29rpx;
  663. font-weight: 700;
  664. }
  665. }
  666. .bottom {
  667. // padding: 30rpx 20rpx;
  668. display: flex;
  669. justify-content: flex-end;
  670. .detail {
  671. // border: 1rpx solid darkgrey;
  672. border-radius: 16rpx;
  673. color: darkgrey;
  674. padding: 13rpx 34rpx;
  675. background-color: #F6F6F6;
  676. font-size: 26rpx;
  677. color: #333333;
  678. font-weight: Regular;
  679. }
  680. .del {
  681. border-radius: 16rpx;
  682. color: darkgrey;
  683. padding: 13rpx 34rpx;
  684. background-color: #007A69;
  685. font-size: 26rpx;
  686. color: #fff;
  687. font-weight: Regular;
  688. }
  689. }
  690. }
  691. }
  692. }
  693. .u-input__content {
  694. margin-top: 22rpx !important;
  695. }
  696. .uicon-arrow-right,
  697. .uicon-close-circle-fill {
  698. margin-top: 32rpx !important;
  699. margin-right: 20rpx !important;
  700. }
  701. .pop-pop {
  702. height: 30vh;
  703. padding: 46rpx 20rpx 0;
  704. border-radius: 16rpx 16rpx 0 0;
  705. .hander-one {
  706. // display: flex;
  707. // justify-content: space-between;
  708. text-align: center;
  709. .image {
  710. margin: 0 auto;
  711. width: 64rpx;
  712. height: 64rpx;
  713. image {
  714. width: 100%;
  715. height: 100%;
  716. }
  717. }
  718. .text {
  719. .text1 {
  720. margin-top: 24rpx;
  721. font-size: 32rpx;
  722. color: #111111;
  723. font-weight: bold;
  724. }
  725. .text2 {
  726. font-size: 28rpx;
  727. color: #999999;
  728. font-weight: Regular;
  729. margin: 23rpx 0 64rpx;
  730. }
  731. }
  732. }
  733. .hander-two {
  734. display: flex;
  735. justify-content: space-between;
  736. align-items: center;
  737. margin: 30rpx 0;
  738. .pop-btn-del {
  739. width: 48%;
  740. margin: 0 15rpx;
  741. // padding: 22rpx 136rpx;
  742. font-size: 32rpx;
  743. height: 88rpx;
  744. line-height: 88rpx;
  745. color: #111111;
  746. font-weight: Regular;
  747. background-color: #F0F2F5;
  748. border-radius: 50rpx;
  749. text-align: center;
  750. }
  751. .pop-btn-add {
  752. height: 88rpx;
  753. line-height: 88rpx;
  754. width: 48%;
  755. border-radius: 50rpx;
  756. margin: 0 15rpx;
  757. background-color: #1372FF;
  758. // padding: 22rpx 100rpx;
  759. font-size: 32rpx;
  760. color: #FFFFFF;
  761. font-weight: Regular;
  762. text-align: center;
  763. }
  764. }
  765. .hander-three {
  766. display: flex;
  767. border: 1rpx solid #CCCCCC;
  768. border-radius: 16rpx;
  769. justify-content: space-between;
  770. height: 102rpx;
  771. line-height: 102rpx;
  772. .hander-three-text {
  773. width: 200rpx;
  774. text-align: left;
  775. display: flex;
  776. justify-content: space-between;
  777. margin: 0 20rpx;
  778. }
  779. .hander-three-input {
  780. width: 55%;
  781. }
  782. .hander-three-icon {
  783. height: 102rpx;
  784. line-height: 102rpx;
  785. }
  786. }
  787. .hander-four {
  788. margin-top: 30rpx;
  789. display: flex;
  790. border-radius: 16rpx;
  791. justify-content: space-between;
  792. border: 1rpx solid #CCCCCC;
  793. height: 102rpx;
  794. line-height: 102rpx;
  795. .hander-three-text {
  796. width: 200rpx;
  797. text-align: center;
  798. display: flex;
  799. justify-content: space-between;
  800. margin: 0 20rpx;
  801. }
  802. .hander-three-input {
  803. width: 55%;
  804. }
  805. .hander-three-icon {
  806. height: 102rpx;
  807. line-height: 102rpx;
  808. }
  809. }
  810. }
  811. .page {
  812. background: #F3F4F4;
  813. padding-bottom: 260rpx;
  814. box-sizing: border-box;
  815. overflow-y: auto;
  816. overflow-x: auto;
  817. }
  818. .typeNum {
  819. // width: 100%;
  820. height: 73rpx;
  821. display: flex;
  822. justify-content: space-between;
  823. padding: 23rpx 24rpx;
  824. align-items: center;
  825. .left {
  826. display: flex;
  827. align-items: center;
  828. .active {
  829. color: #007A69;
  830. }
  831. }
  832. .right {
  833. display: flex;
  834. align-items: center;
  835. .image {
  836. margin: 0 10rpx;
  837. width: 30rpx;
  838. height: 30rpx;
  839. image {
  840. width: 100%;
  841. height: 100%;
  842. }
  843. }
  844. .text {
  845. font-size: 28rpx;
  846. font-weight: Regular;
  847. color: #333333;
  848. }
  849. }
  850. }
  851. .type {
  852. margin: 0 auto;
  853. border-radius: 10rpx 10rpx 10rpx 10rpx;
  854. width: 86%;
  855. // height: 114rpx;
  856. background-color: #fff;
  857. padding: 30rpx;
  858. margin-bottom: 20rpx;
  859. display: flex;
  860. .left {
  861. margin-top: 30rpx;
  862. height: 114rpx;
  863. line-height: 150rpx;
  864. margin-right: 20rpx;
  865. .image {
  866. margin: 0 10rpx;
  867. width: 40rpx;
  868. height: 40rpx;
  869. image {
  870. width: 100%;
  871. height: 100%;
  872. }
  873. }
  874. }
  875. .right {
  876. width: 100%;
  877. display: flex;
  878. .right-left {
  879. width: 172rpx;
  880. height: 172rpx;
  881. border-radius: 16rpx;
  882. margin-right: 22rpx;
  883. image {
  884. width: 100%;
  885. height: 100%;
  886. border-radius: 16rpx;
  887. }
  888. }
  889. .right-right {}
  890. }
  891. .type-btn {
  892. width: 100%;
  893. display: flex;
  894. justify-content: space-between;
  895. .type-btn-left {
  896. width: 50rpx;
  897. }
  898. .type-btn-right {
  899. display: flex;
  900. view {
  901. padding: 15rpx 23rpx;
  902. background-color: #F6F6F6;
  903. font-size: 24rpx;
  904. color: #333;
  905. font-weight: Regular;
  906. margin-right: 20rpx;
  907. border-radius: 50rpx;
  908. }
  909. }
  910. }
  911. }
  912. .top {
  913. display: flex;
  914. justify-content: space-between;
  915. }
  916. .under {
  917. margin-top: 20rpx;
  918. // display: flex;
  919. // justify-content: space-between;
  920. }
  921. .btn-btn {
  922. width: 100%;
  923. height: 136rpx;
  924. background-color: #fff;
  925. position: fixed;
  926. bottom: 0;
  927. padding: 30rpx 0 0;
  928. // margin: 0 auto;
  929. z-index: 9;
  930. // margin-top: 30rpx;
  931. // margin-left: 30rpx;
  932. .bottom-btn {
  933. display: flex;
  934. justify-content: space-between;
  935. margin: 0 24rpx;
  936. .left {
  937. width: 25%;
  938. display: flex;
  939. align-items: center;
  940. .image {
  941. width: 38rpx;
  942. height: 38rpx;
  943. margin: 0 10rpx;
  944. image {
  945. width: 100%;
  946. height: 100%;
  947. }
  948. }
  949. }
  950. .right {
  951. width: 75%;
  952. display: flex;
  953. justify-content: space-evenly;
  954. .right-btn {
  955. width: 148rpx;
  956. height: 80rpx;
  957. line-height: 80rpx;
  958. background-color: #1372FF;
  959. border-radius: 16rpx;
  960. font-size: 26rpx;
  961. color: #fff;
  962. font-weight: Regular;
  963. text-align: center;
  964. }
  965. }
  966. }
  967. }
  968. .btn {
  969. margin: 0 auto;
  970. width: 690rpx;
  971. height: 96rpx;
  972. background-color: #1372FF;
  973. color: #fff;
  974. display: flex;
  975. justify-content: center;
  976. align-items: center;
  977. font-size: 34rpx;
  978. border-radius: 48rpx;
  979. }
  980. </style>