newRevisit.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828
  1. <template>
  2. <view>
  3. <!-- 头部背景 -->
  4. <image src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/revisit-top.png" mode="aspectFill" class="top-img"></image>
  5. <view class="top-block">
  6. <view class="title">尊敬的客户,您的反馈是我们提供更好的服务的基石:</view>
  7. <view class="slogan">您的满意是我们服务第一优先级</view>
  8. </view>
  9. <!-- 服务信息 -->
  10. <view class="service-block">
  11. <view class="title">
  12. <view>服务信息</view>
  13. </view>
  14. <view class="content">
  15. <view class="service-times">
  16. {{ tradeOrder.serviceNumber }}
  17. </view>
  18. <view class="item">
  19. <text>服务内容:</text>
  20. {{ tradeOrder.itemName }}
  21. </view>
  22. <view class="item">
  23. <text>服务时间:</text>
  24. {{ tradeOrder.beginDate }} {{ tradeOrder.serviceTime }}
  25. </view>
  26. <view class="item">
  27. <text>服务人员:</text>
  28. {{ tradeOrder.workerName }}
  29. </view>
  30. </view>
  31. </view>
  32. <!-- 是否满意 -->
  33. <view class="service-satisfy">
  34. <view class="satisfy-title">
  35. <view class="dot"></view>
  36. <view class="text">您对本次的服务是否满意?</view>
  37. </view>
  38. <view class="satisfy-select">
  39. <view data-satisfy="1" :class="satisfy == '1' ? 'yes' : ''" @tap="selectSatisfy">满意</view>
  40. <view data-satisfy="2" :class="satisfy == '2' ? 'no' : ''" @tap="selectSatisfy">不满意</view>
  41. <view data-satisfy="3" :class="satisfy == '3' ? 'common' : ''" @tap="selectSatisfy">一般</view>
  42. </view>
  43. <!-- 满意 -->
  44. <view class="satisfy-result" v-if="satisfy == 1">
  45. <view>感谢您的认可,您的认可是我们前行的动力! 如果有需求,您可以长期购买周期单,可以指定阿姨,价格更优惠!</view>
  46. </view>
  47. <!-- 一般 -->
  48. <view class="satisfy-common" v-if="satisfy == 3">诚邀您对我们提出宝贵意见,我们会积极改进,为您提供更好的服务。</view>
  49. <!-- 不满意 -->
  50. <view class="satisfy-common" v-if="satisfy == 2">抱歉给您带来不好的服务体验,我们的工作人员会在第一时间联系您提供后续服务!</view>
  51. </view>
  52. <!-- 一般备注 -->
  53. <view class="remark-wrapper" v-if="satisfy == 3">
  54. <view class="tips">1. 请输入您想和我们说的话:</view>
  55. <textarea @input="remarkInput" placeholder="感谢您的耐心与支持" class="textarea" :value="remark" placeholder-style="color: #E8E8E8;font-size:30rpx;" />
  56. </view>
  57. <!-- 题目 -->
  58. <view class="topic-block" v-if="satisfy == 2">
  59. <!-- 题目选择 -->
  60. <view class="topic-item">
  61. <view class="issue">1. 请选择您发现的问题?</view>
  62. <view class="answer">
  63. <view
  64. :class="(item.checked ? 'selected-answer' : 'common-answer') + ' answer-item'"
  65. :data-checked="item.checked"
  66. :data-index="index"
  67. @tap="questionClick"
  68. v-for="(item, index) in consultList"
  69. :key="index"
  70. >
  71. {{ item.name }}
  72. </view>
  73. </view>
  74. </view>
  75. <view class="topic-item" v-for="(item1, index1) in questionList" :key="index1">
  76. <view class="issue">
  77. <view class="dot"></view>
  78. <view>
  79. <text>{{ item1.name }}</text>
  80. <text class="refer">具体问题</text>
  81. </view>
  82. </view>
  83. <view class="answer">
  84. <view
  85. :class="(item1.consultId == item2.id ? 'selected-answer' : 'common-answer') + ' answer-item'"
  86. :data-id="item2.id"
  87. :data-answer="item2.name"
  88. :data-index1="index1"
  89. @tap="answerClick"
  90. v-for="(item2, index2) in item1.children"
  91. :key="index2"
  92. >
  93. {{ item2.name }}
  94. </view>
  95. </view>
  96. </view>
  97. </view>
  98. <view class="remark-wrapper" v-if="satisfy == 2">
  99. <view class="tips">2. 请输入具体问题描述:</view>
  100. <textarea @input="detailInput" placeholder="感谢您的耐心与支持" class="textarea" :value="detail" placeholder-style="color: #E8E8E8;font-size:30rpx;" />
  101. <!-- 图片上传 -->
  102. <view class="upload-wrapper">
  103. <view class="img-item" v-for="(item, index) in imgList" :key="index">
  104. <image mode="aspectFill" :src="item" class="user-upload" @tap="previewImg" :data-img="item"></image>
  105. <image class="close-img" mode="aspectFill" src="/static/images/icon-close.png" @tap="delImg" :data-index="index"></image>
  106. </view>
  107. <view class="upload" @tap="uploadImg">
  108. <image mode="aspectFill" src="/static/images/icon-add.png"></image>
  109. <view>上传照片</view>
  110. </view>
  111. </view>
  112. </view>
  113. <view class="submit-btn" @tap="sumitRevisit" v-if="!isFinished">提交</view>
  114. <view class="submit-btn disable-btn" v-else>提交</view>
  115. <!-- 底部背景 -->
  116. <image src="https://jzmall.lifejingzhi.com/file/jzmall/weixin/revisit-bottom.png" mode="widthFix" class="bottom-img"></image>
  117. <view v-if="loginShow" @tap="onOverlayHide">
  118. <view class="wrapper">
  119. <view class="block">
  120. <button class="submit-btn" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">手机号一键登录</button>
  121. </view>
  122. </view>
  123. </view>
  124. </view>
  125. </template>
  126. <script>
  127. const util = require('../../../utils/util.js');
  128. const api = require('../../../config/api.js');
  129. //获取应用实例
  130. const app = getApp();
  131. export default {
  132. data() {
  133. return {
  134. consultList: [],
  135. questionList: [],
  136. imgList: [],
  137. remark: '',
  138. detail: '',
  139. satisfy: '',
  140. bookTradeNo: '',
  141. type: '',
  142. isFinished: false,
  143. tradeOrder: {
  144. itemName: '',
  145. serviceNumber: '',
  146. beginDate: '',
  147. serviceTime: '',
  148. workerName: ''
  149. },
  150. code: '',
  151. loginShow: false,
  152. obj1: '',
  153. obj2: '',
  154. isUnMask: ''
  155. };
  156. },
  157. onLoad: function (options) {
  158. console.log('options', options);
  159. if (options) {
  160. this.setData({
  161. bookTradeNo: options.id
  162. // type:options.type
  163. });
  164. this.getOrderDetail();
  165. }
  166. },
  167. /**
  168. * 生命周期函数--监听页面显示
  169. */
  170. onShow: function (options) {
  171. },
  172. methods: {
  173. getOrderDetail() {
  174. util.request(
  175. api.getTradeOrderList,
  176. {
  177. bookDetailId: this.bookTradeNo
  178. },
  179. 'GET'
  180. )
  181. .then((res) => {
  182. if (res.errno === 0) {
  183. console.log(res);
  184. this.setData({
  185. tradeOrder: res.data
  186. });
  187. // 获取题目
  188. this.getConsoultType();
  189. } else {
  190. uni.showToast({
  191. title: res.errmsg,
  192. icon: 'none',
  193. duration: 2000
  194. });
  195. }
  196. })
  197. .catch((err) => {
  198. console.log(err);
  199. });
  200. },
  201. getConsoultType() {
  202. util.request(
  203. api.getConsoultType,
  204. {
  205. type: this.tradeOrder.goodsType
  206. },
  207. 'GET'
  208. )
  209. .then((res) => {
  210. if (res.errno === 0) {
  211. console.log(res);
  212. let list = res.data[0].children;
  213. list.forEach((item) => {
  214. item.checked = false;
  215. });
  216. this.setData({
  217. consultList: list
  218. });
  219. } else {
  220. uni.showToast({
  221. title: res.errmsg,
  222. icon: 'none',
  223. duration: 2000
  224. });
  225. }
  226. })
  227. .catch((err) => {
  228. console.log(err);
  229. });
  230. },
  231. questionClick(e) {
  232. let checked = e.currentTarget.dataset.checked;
  233. let index = e.currentTarget.dataset.index;
  234. let item = `consultList[${index}].checked`;
  235. this.setData({
  236. [item]: !checked
  237. });
  238. let current = this.consultList.filter((item) => {
  239. return item.checked;
  240. });
  241. this.setData({
  242. questionList: current
  243. });
  244. },
  245. selectSatisfy(e) {
  246. let result = e.currentTarget.dataset.satisfy;
  247. this.setData({
  248. satisfy: result
  249. });
  250. },
  251. remarkInput(e) {
  252. this.setData({
  253. remark: e.detail.value
  254. });
  255. },
  256. detailInput(e) {
  257. this.setData({
  258. detail: e.detail.value
  259. });
  260. },
  261. previewImg(e) {
  262. let img = e.currentTarget.dataset.img;
  263. let imgs = this.imgList;
  264. uni.previewImage({
  265. current: img,
  266. // 当前显示图片的http链接
  267. urls: imgs // 需要预览的图片http链接列表
  268. });
  269. },
  270. delImg(e) {
  271. let imgs = this.imgList;
  272. let index = e.currentTarget.dataset.index;
  273. imgs.splice(index, 1);
  274. this.setData({
  275. imgList: imgs
  276. });
  277. },
  278. uploadImg() {
  279. if (this.imgList.length >= 9) {
  280. uni.showToast({
  281. title: '最多上传9张图片',
  282. icon: 'none',
  283. duration: 2000
  284. });
  285. return false;
  286. }
  287. let that = this;
  288. let count = 9 - that.imgList.length;
  289. uni.chooseImage({
  290. count: count,
  291. sizeType: ['original', 'compressed'],
  292. sourceType: ['album', 'camera'],
  293. success: function (res) {
  294. console.log(res);
  295. let tempFilePaths = res.tempFilePaths;
  296. uni.showLoading({
  297. title: '上传中...'
  298. });
  299. for (let i = 0; i < tempFilePaths.length; i++) {
  300. let imgs = that.imgList;
  301. if (imgs.length >= 9) {
  302. that.setData({
  303. imgList: imgs
  304. });
  305. return false;
  306. } else {
  307. uni.uploadFile({
  308. url: api.StorageUpload,
  309. filePath: tempFilePaths[i],
  310. name: 'file',
  311. success(res) {
  312. console.log(res);
  313. let data = JSON.parse(res.data);
  314. if (data.errno == 0) {
  315. imgs.push(data.data.url);
  316. that.setData({
  317. imgList: imgs
  318. });
  319. } else {
  320. console.log('上传失败');
  321. }
  322. }
  323. });
  324. }
  325. }
  326. uni.hideLoading();
  327. }
  328. });
  329. },
  330. answerClick(e) {
  331. let index1 = e.currentTarget.dataset.index1;
  332. let answer = e.currentTarget.dataset.answer;
  333. let id = e.currentTarget.dataset.id;
  334. let obj1 = `questionList[${index1}].consultId`;
  335. let obj2 = `questionList[${index1}].consultName`;
  336. this.setData({
  337. [obj1]: id,
  338. [obj2]: answer
  339. });
  340. console.log(this.questionList);
  341. },
  342. maskClick(e) {
  343. let answer = e.currentTarget.dataset.answer;
  344. this.setData({
  345. isUnMask: answer
  346. });
  347. },
  348. getPhoneNumber(e) {
  349. console.log(e.detail);
  350. let params = {
  351. // type:'保洁',
  352. code: this.code,
  353. encryptedData: e.detail.encryptedData,
  354. iv: e.detail.iv,
  355. bookTradeNo: this.bookTradeNo
  356. };
  357. util.request(api.loginCusTel, params, 'POST').then((res) => {
  358. if (res.errno === 0) {
  359. console.log(res);
  360. this.setData({
  361. loginShow: false
  362. });
  363. if (res.data.tradeOrder == null || res.data.tradeOrder == '') {
  364. uni.showToast({
  365. title: '您还没有购买过任何商品,如有疑问,欢迎咨询4009218787',
  366. icon: 'none',
  367. duration: 2000
  368. });
  369. } else {
  370. this.setData({
  371. tradeOrder: res.data.tradeOrder
  372. });
  373. this.getConsoultType();
  374. }
  375. } else {
  376. this.setData({
  377. loginShow: true
  378. });
  379. uni.showToast({
  380. title: res.errmsg,
  381. icon: 'none',
  382. duration: 2000
  383. });
  384. let that = this;
  385. uni.login({
  386. success(res) {
  387. console.log(res);
  388. if (res.code) {
  389. that.setData({
  390. code: res.code
  391. });
  392. }
  393. }
  394. });
  395. }
  396. });
  397. },
  398. sumitRevisit() {
  399. let params = {
  400. bookTime: this.tradeOrder.beginDate + ' ' + this.tradeOrder.serviceTime,
  401. bookTradeNo: this.tradeOrder.bookTradeNo,
  402. cusTel: this.tradeOrder.cusPhone,
  403. degree: this.satisfy,
  404. type: this.tradeOrder.goodsType,
  405. worderNo: this.tradeOrder.workerNo,
  406. workerName: this.tradeOrder.workerName
  407. };
  408. if (this.satisfy == 2) {
  409. let isEmpty = this.questionList.some((item) => {
  410. return item.consultId == undefined || item.consultId == '';
  411. });
  412. if (isEmpty) {
  413. uni.showToast({
  414. title: '请填写完整',
  415. icon: 'none',
  416. duration: 2000
  417. });
  418. return false;
  419. } else if (this.detail == '') {
  420. uni.showToast({
  421. title: '请输入具体问题描述',
  422. icon: 'none',
  423. duration: 2000
  424. });
  425. return false;
  426. } else {
  427. let title = [];
  428. let titleId = [];
  429. let consultId = [];
  430. let consultName = [];
  431. this.questionList.forEach((item) => {
  432. title.push(item.name);
  433. titleId.push(item.id);
  434. consultId.push(item.consultId);
  435. consultName.push(item.consultName);
  436. });
  437. params.title = title.join(',');
  438. params.titleId = titleId.join(',');
  439. params.consultId = consultId.join(',');
  440. params.consultName = consultName.join(',');
  441. params.question = this.detail;
  442. params.imgSrc = this.imgList.join(',');
  443. }
  444. } else if (this.satisfy == 3) {
  445. if (this.remark == '') {
  446. uni.showToast({
  447. title: '请填写建议',
  448. icon: 'none',
  449. duration: 2000
  450. });
  451. return false;
  452. } else {
  453. params.question = this.remark;
  454. }
  455. }
  456. uni.showLoading({
  457. title: '加载中...'
  458. });
  459. util.request(api.saveVisit, params, 'POST')
  460. .then((res) => {
  461. uni.hideLoading();
  462. if (res.errno === 0) {
  463. console.log(res);
  464. uni.showToast({
  465. title: '提交成功',
  466. icon: 'success',
  467. duration: 2000
  468. });
  469. this.setData({
  470. isFinished: true
  471. });
  472. } else {
  473. uni.showToast({
  474. title: res.errmsg,
  475. icon: 'none',
  476. duration: 2000
  477. });
  478. }
  479. })
  480. .catch((err) => {
  481. uni.hideLoading();
  482. });
  483. },
  484. goDetail() {
  485. uni.navigateTo({
  486. url: '/pages/qwOrderDetail/qwOrderDetail?payId=' + this.tradeOrder.payId
  487. });
  488. },
  489. onOverlayHide() {}
  490. }
  491. };
  492. </script>
  493. <style>
  494. page {
  495. background: #f3f3f3;
  496. padding-bottom: 180rpx;
  497. color: #333;
  498. }
  499. view,
  500. text {
  501. font-size: 30rpx;
  502. }
  503. .top-img {
  504. width: 750rpx;
  505. height: 178rpx;
  506. display: block;
  507. }
  508. .top-block {
  509. margin: 12rpx 0 12rpx;
  510. background: #ffffff;
  511. padding: 24rpx 24rpx 14rpx;
  512. }
  513. .top-block .title {
  514. line-height: 42rpx;
  515. height: 42rpx;
  516. white-space: nowrap;
  517. }
  518. .top-block .slogan {
  519. height: 42rpx;
  520. line-height: 42rpx;
  521. color: #999;
  522. margin-top: 12rpx;
  523. }
  524. .bottom-img {
  525. position: fixed;
  526. bottom: 0;
  527. left: 0;
  528. right: 0;
  529. width: 750rpx;
  530. }
  531. .service-satisfy {
  532. padding: 24rpx 24rpx 34rpx;
  533. background: #fff;
  534. margin: 0 0 24rpx;
  535. }
  536. .satisfy-title {
  537. height: 48rpx;
  538. display: flex;
  539. align-items: center;
  540. }
  541. .satisfy-title .dot {
  542. width: 12rpx;
  543. height: 12rpx;
  544. background: #09afff;
  545. border-radius: 12rpx;
  546. margin-right: 16rpx;
  547. }
  548. .satisfy-title .text {
  549. font-size: 34rpx;
  550. line-height: 48rpx;
  551. }
  552. .satisfy-select {
  553. margin: 24rpx 0;
  554. display: flex;
  555. height: 72rpx;
  556. justify-content: space-between;
  557. }
  558. .satisfy-select view {
  559. width: 218rpx;
  560. height: 72rpx;
  561. line-height: 72rpx;
  562. background: #f5f5f5;
  563. border-radius: 8rpx;
  564. text-align: center;
  565. }
  566. .satisfy-select view.yes {
  567. background: url('https://jzmall.lifejingzhi.com/file/jzmall/weixin/revisit-check.png') no-repeat right bottom;
  568. background-size: 40rpx 32rpx;
  569. background-color: #e7f1ff;
  570. color: #1677ff;
  571. }
  572. .satisfy-select view.no {
  573. background: url('https://jzmall.lifejingzhi.com/file/jzmall/weixin/qw/icon-no.png') no-repeat right bottom;
  574. background-size: 40rpx 32rpx;
  575. background-color: #fff1f0;
  576. color: #f5222d;
  577. }
  578. .satisfy-select view.common {
  579. background: url('https://jzmall.lifejingzhi.com/file/jzmall/weixin/qw/icon-common.png') no-repeat right bottom;
  580. background-size: 40rpx 32rpx;
  581. background-color: #f0f5ff;
  582. color: rgba(0, 0, 0, 0.45);
  583. }
  584. .satisfy-result view {
  585. line-height: 46rpx;
  586. color: #999;
  587. }
  588. .satisfy-result image {
  589. margin: 6rpx 0 -34rpx;
  590. width: 702rpx;
  591. height: 142rpx;
  592. }
  593. .satisfy-common {
  594. color: #6aacc2;
  595. line-height: 46rpx;
  596. }
  597. .remark-wrapper {
  598. padding: 24rpx;
  599. background: #fff;
  600. margin-bottom: 24rpx;
  601. }
  602. .remark-wrapper .tips {
  603. font-size: 34rpx;
  604. line-height: 48tpx;
  605. margin-bottom: 18rpx;
  606. }
  607. .remark-wrapper .textarea {
  608. width: 702rpx;
  609. height: 174rpx;
  610. border-radius: 12rpx;
  611. border: 1rpx solid #dadada;
  612. padding: 12rpx 12rpx 12rpx 24rpx;
  613. line-height: 42rpx;
  614. box-sizing: border-box;
  615. color: #666;
  616. }
  617. .upload-wrapper {
  618. margin: 18rpx -20rpx 56rpx 0;
  619. display: flex;
  620. flex-wrap: wrap;
  621. }
  622. .upload {
  623. width: 160rpx;
  624. height: 160rpx;
  625. background: #fafafa;
  626. border-radius: 2rpx;
  627. border: 1rpx solid #d9d9d9;
  628. display: flex;
  629. align-items: center;
  630. flex-direction: column;
  631. justify-content: center;
  632. margin-right: 16rpx;
  633. box-sizing: border-box;
  634. }
  635. .upload image {
  636. width: 38rpx;
  637. height: 38rpx;
  638. margin-bottom: 22rpx;
  639. }
  640. .upload view {
  641. font-weight: 400;
  642. color: #c5c3c3;
  643. line-height: 48rpx;
  644. font-size: 26rpx;
  645. }
  646. .img-item {
  647. width: 160rpx;
  648. height: 160rpx;
  649. background: #fff;
  650. border-radius: 2rpx;
  651. border: 1rpx solid #d9d9d9;
  652. margin: 0 20rpx 24rpx 0;
  653. padding: 8rpx;
  654. position: relative;
  655. box-sizing: border-box;
  656. }
  657. .img-item .user-upload {
  658. width: 144rpx;
  659. height: 144rpx;
  660. }
  661. .img-item .close-img {
  662. width: 28rpx;
  663. height: 28rpx;
  664. position: absolute;
  665. top: 0;
  666. right: 0;
  667. }
  668. .service-block {
  669. margin-bottom: 10rpx;
  670. background: #fff;
  671. font-size: 30rpx;
  672. }
  673. .service-block .title {
  674. height: 90rpx;
  675. line-height: 90rpx;
  676. padding: 0 24rpx;
  677. border-bottom: 1rpx solid #eeeeee;
  678. display: flex;
  679. align-items: center;
  680. justify-content: space-between;
  681. }
  682. view.view-detail {
  683. color: #09afff;
  684. font-size: 28rpx;
  685. }
  686. .service-block .content {
  687. padding: 20rpx 24rpx;
  688. position: relative;
  689. }
  690. .service-block .item {
  691. line-height: 56rpx;
  692. color: #666;
  693. }
  694. .service-block .item text {
  695. color: #999;
  696. }
  697. .service-times {
  698. position: absolute;
  699. top: 22rpx;
  700. right: 48rpx;
  701. color: #666;
  702. }
  703. .topic-item {
  704. padding: 24rpx 24rpx 32rpx;
  705. background: #fff;
  706. margin-bottom: 12rpx;
  707. font-size: 34rpx;
  708. }
  709. .topic-item .issue {
  710. line-height: 48rpx;
  711. margin-bottom: 22rpx;
  712. display: flex;
  713. }
  714. .issue .dot {
  715. width: 12rpx;
  716. height: 12rpx;
  717. background: #09afff;
  718. border-radius: 12rpx;
  719. margin-right: 12rpx;
  720. margin-top: 18rpx;
  721. }
  722. .issue text {
  723. font-size: 34rpx;
  724. }
  725. .issue .refer {
  726. color: #c5c5c5;
  727. margin-left: 12rpx;
  728. font-size: 30rpx;
  729. font-weight: 400;
  730. }
  731. .topic-item .answer {
  732. flex-wrap: wrap;
  733. display: flex;
  734. }
  735. .answer .answer-item {
  736. /* width: 218rpx; */
  737. min-width: 160rpx;
  738. padding: 0 20rpx;
  739. height: 72rpx;
  740. line-height: 72rpx;
  741. border-radius: 8rpx;
  742. text-align: center;
  743. color: #333;
  744. font-size: 28rpx;
  745. margin: 0 20rpx 24rpx 0;
  746. box-sizing: border-box;
  747. }
  748. .answer .common-answer {
  749. background: #f5f5f5;
  750. color: #333;
  751. }
  752. .topic-item .answer .selected-answer {
  753. background: url('https://jzmall.lifejingzhi.com/file/jzmall/weixin/revisit-check.png') no-repeat right bottom;
  754. background-size: 40rpx 32rpx;
  755. background-color: #e7f1ff;
  756. color: #1677ff;
  757. }
  758. .submit-btn {
  759. width: 702rpx;
  760. height: 88rpx;
  761. background: #3d7fff linear-gradient(270deg, rgba(0, 202, 255, 0.5) 0%, rgba(9, 175, 255, 0.5) 100%);
  762. border-radius: 88rpx;
  763. margin: 0 24rpx 60rpx;
  764. line-height: 88rpx;
  765. font-size: 32rpx;
  766. color: #fff;
  767. text-align: center;
  768. margin-top: 100rpx;
  769. }
  770. .submit-btn.disable-btn {
  771. background: #ccc;
  772. box-shadow: 4rpx 4rpx 10rpx 0rpx rgba(201, 205, 207, 0.25);
  773. }
  774. .topic-item .answer.unmask {
  775. justify-content: flex-start;
  776. }
  777. .topic-item .answer.unmask view {
  778. margin-right: 24rpx;
  779. }
  780. .wrapper {
  781. display: flex;
  782. align-items: center;
  783. justify-content: center;
  784. height: 100%;
  785. }
  786. .block {
  787. width: 700rpx;
  788. height: 300rpx;
  789. padding-top: 200rpx;
  790. background-color: #fff;
  791. border-radius: 20rpx;
  792. }
  793. .block .submit-btn {
  794. width: 600rpx;
  795. margin: 0 50rpx 0;
  796. }
  797. </style>