index.vue 23 KB

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