pharmacyDetails.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833
  1. <template>
  2. <view class="pharmacyDetails">
  3. <view class="pharmacyDetails_title">
  4. <view class="pharmacyDetails_tab" :class="{ 'active': selectedLabelSlots === item.id }" v-for="item in tabs"
  5. :key="item.id" @click="clickHandler(item.id)">
  6. <view class="pharmacyDetails_label">
  7. {{ item.label }}
  8. </view>
  9. </view>
  10. </view>
  11. <view class="page_item_wrap">
  12. <view class="page_item">
  13. <view class="page_item_top">
  14. <view class="page_item_top-inner" v-show="selectedLabelSlots == 1">
  15. <view class="page_item_top_L">
  16. <text class="L_text">请领单:{{ infoDATA.packid }}</text>
  17. </view>
  18. <view class="page_item_top_R">
  19. <text class="L_iocn">{{
  20. infoDATA.drugsState && infoDATA.drugsState.name
  21. }}</text>
  22. </view>
  23. </view>
  24. </view>
  25. <view class="page_item_cont" v-show="selectedLabelSlots == 1">
  26. <view class="page_item_cont_B">
  27. <view class="page_item_cont_title">
  28. <text>记账时间</text>
  29. <text class="text_big">
  30. <text>{{ infoDATA.creatTime }}</text>
  31. </text>
  32. </view>
  33. </view>
  34. <view class="page_item_cont_C">
  35. <view class="page_item_cont_title_C">
  36. <text>请领科室</text>
  37. <text class="text_big">
  38. <text>{{ infoDATA.target && infoDATA.target.dept }}</text>
  39. </text>
  40. </view>
  41. </view>
  42. </view>
  43. <scroll-view scroll-y class="page_item_cont" v-show="selectedLabelSlots == 2">
  44. <view class="page_item_cont_C" v-for="(item,i) in queryProcessList" :key="i">
  45. <view class="page_item_cont_title_C">
  46. <text style="width: 5em;">{{item.operationTime}}</text>
  47. <text style="flex: 1;">{{item.operationType?item.operationType.name:''}}</text>
  48. <view class="text_big" style="text-align: center;max-width: 10em;flex: 1;">
  49. <text>{{ item.username || '暂无' }}</text>
  50. <view v-if="item.operatorAccount" style="white-space: nowrap;text-overflow: ellipsis;overflow: hidden;">({{ item.operatorAccount }})</view>
  51. </view>
  52. </view>
  53. </view>
  54. </scroll-view>
  55. <view class="L"></view>
  56. <view class="R"></view>
  57. </view>
  58. <view class="L-l"></view>
  59. <view class="R-l"></view>
  60. </view>
  61. <view v-if="infoDATA.drugsState && infoDATA.drugsState.value == 4&&infoDATA.launch.id==loginUser.dept.id"
  62. class="btn-wrap">
  63. <button class="cube-toolbar-item1" :loading="isLoading" :disabled="isLoading" @click="dispensing(4)"
  64. v-if="infoDATA.drugsState && infoDATA.drugsState.value == 4&&infoDATA.launch.id==loginUser.dept.id">
  65. 核对完成
  66. </button>
  67. <button class="cube-toolbar-item1" :loading="isOLoading" :disabled="isOLoading" @click="nursetake()">
  68. 护士自取
  69. </button>
  70. </view>
  71. <button class="cube-toolbar-item" :loading="isOLoading" :disabled="isOLoading" @click="nursetake()"
  72. v-if="infoDATA.drugsState && infoDATA.drugsState.value == 8&&infoDATA.launch.id==loginUser.dept.id">
  73. 护士自取
  74. </button>
  75. <button class="cube-toolbar-item" :loading="isLoading" :disabled="isLoading" @click="dispensing(1)"
  76. v-if="infoDATA.drugsState && infoDATA.drugsState.value == 1&&infoDATA.launch.id==loginUser.dept.id">
  77. 开始配药
  78. </button>
  79. <view v-if="infoDATA.drugsState && infoDATA.drugsState.value == 2&&infoDATA.launch.id==loginUser.dept.id"
  80. class="btn-wrap">
  81. <button class="cube-toolbar-item1" :loading="isLoading" :disabled="isLoading" @click="dispensing(2)">
  82. 进行核对
  83. </button>
  84. <button class="cube-toolbar-item1" :loading="isTLoading" :disabled="isTLoading" @click="replaceOperator()">
  85. 替换配药人
  86. </button>
  87. </view>
  88. <!-- 护士自取账号弹窗 -->
  89. <selectAccount v-if="hosModels.disjunctor" :title="hosModels.title" :disjunctor="hosModels.disjunctor" @ok="hosOk"
  90. @cancel="hosCancel">
  91. </selectAccount>
  92. </view>
  93. </template>
  94. <script>
  95. import selectAccount from "@/components/selectAccount/selectAccount.vue";
  96. import {
  97. get,
  98. post,
  99. SM,
  100. webHandle
  101. } from "../../http/http.js";
  102. export default {
  103. data() {
  104. return {
  105. selectedLabelSlots: 1,
  106. tabs: [{
  107. id: 1,
  108. label: "基础信息",
  109. },
  110. {
  111. id: 2,
  112. label: "流程信息",
  113. }
  114. ],
  115. infoDATA: [],
  116. isLoading: false,
  117. isTLoading: false,
  118. isOLoading: false,
  119. loginUser: {}, //当前登录用户
  120. // 护士自取弹窗model
  121. hosModels: {
  122. disjunctor: false,
  123. },
  124. queryProcessList: [],
  125. };
  126. },
  127. components: {
  128. selectAccount
  129. },
  130. methods: {
  131. // tab切换
  132. clickHandler(id) {
  133. this.selectedLabelSlots = id;
  134. if (id == 1) {
  135. this.queryBase(this.queryObj);
  136. } else if (id == 2) {
  137. this.queryProcess(this.queryObj);
  138. }
  139. },
  140. // 确认
  141. hosOk(data) {
  142. console.log(data);
  143. const {
  144. accountName,
  145. account,
  146. accountId
  147. } = data;
  148. if (!accountName && !account) {
  149. //没有填写交接人
  150. uni.showModal({
  151. title: '提示',
  152. content: "请填写账号!",
  153. showCancel: false,
  154. success: function(res) {
  155. if (res.confirm) {
  156. console.log('用户点击确定');
  157. } else if (res.cancel) {
  158. console.log('用户点击取消');
  159. }
  160. }
  161. });
  162. return;
  163. } else if (!accountName && account || accountName && !account) {
  164. //没有填写
  165. uni.showModal({
  166. title: '提示',
  167. content: "请填写正确的账号!",
  168. showCancel: false,
  169. success: function(res) {
  170. if (res.confirm) {
  171. console.log('用户点击确定');
  172. } else if (res.cancel) {
  173. console.log('用户点击取消');
  174. }
  175. }
  176. });
  177. return;
  178. }
  179. this.hosModels.disjunctor = false;
  180. //请求接口
  181. uni.showLoading({
  182. title: "加载中",
  183. mask: true,
  184. });
  185. let postData = {
  186. id: this.infoDATA.id,
  187. packId: this.infoDATA.packid,
  188. recipient: accountId,
  189. recipientName: accountName
  190. };
  191. if (this.infoDATA.gdId) {
  192. postData.gdId = this.infoDATA.gdId;
  193. }
  194. post('/drugsBag/nurseByHerself', postData).then(result => {
  195. uni.hideLoading();
  196. if (result.state == 200) {
  197. uni.showModal({
  198. title: '提示',
  199. content: result.info || "护士自取成功!",
  200. showCancel: false,
  201. success: function(res) {
  202. if (res.confirm) {
  203. uni.navigateTo({
  204. url: "../pharmacy/pharmacy",
  205. });
  206. } else if (res.cancel) {
  207. console.log('用户点击取消');
  208. }
  209. }
  210. });
  211. } else {
  212. uni.showModal({
  213. title: '提示',
  214. content: "请求失败!",
  215. showCancel: false,
  216. success: function(res) {
  217. if (res.confirm) {
  218. console.log('用户点击确定');
  219. } else if (res.cancel) {
  220. console.log('用户点击取消');
  221. }
  222. }
  223. });
  224. }
  225. })
  226. },
  227. // 取消
  228. hosCancel() {
  229. this.hosModels.disjunctor = false;
  230. },
  231. // 护士自取
  232. nursetake() {
  233. this.hosModels = {
  234. title: '填写账号',
  235. disjunctor: true,
  236. }
  237. },
  238. // 替换配药人
  239. replaceOperator() {
  240. this.isTLoading = true;
  241. uni.showLoading({
  242. title: "加载中",
  243. mask: true,
  244. });
  245. post("/drugsBag/replaceOperator", {
  246. packId: this.infoDATA.packid,
  247. drugsBagId: this.infoDATA.id,
  248. }).then((result) => {
  249. this.isTLoading = false;
  250. uni.hideLoading();
  251. if (result.state == 200) {
  252. uni.showModal({
  253. title: '提示',
  254. content: result.info,
  255. showCancel: false,
  256. success: function(res) {
  257. if (res.confirm) {
  258. console.log('用户点击确定');
  259. } else if (res.cancel) {
  260. console.log('用户点击取消');
  261. }
  262. }
  263. });
  264. } else {
  265. uni.showModal({
  266. title: '提示',
  267. content: "请求失败!",
  268. showCancel: false,
  269. success: function(res) {
  270. if (res.confirm) {
  271. console.log('用户点击确定');
  272. } else if (res.cancel) {
  273. console.log('用户点击取消');
  274. }
  275. }
  276. });
  277. }
  278. })
  279. },
  280. // 开始配药,进行核对,1是待配药,2是配药中,4是核对中
  281. dispensing(type) {
  282. let msg = '';
  283. if (type == 1) {
  284. msg = '是否开始配药?'
  285. } else if (type == 2) {
  286. msg = '是否进行核对?'
  287. } else if (type == 4) {
  288. msg = '是否核对完成?'
  289. }
  290. uni.showModal({
  291. title: '提示',
  292. content: msg,
  293. success: res => {
  294. if (res.confirm) {
  295. console.log('用户点击确定');
  296. this.isLoading = true;
  297. uni.showLoading({
  298. title: "加载中",
  299. mask: true,
  300. });
  301. if (type == 1) {
  302. post("/drugsBag/changeToIng", {
  303. id: this.infoDATA.id,
  304. }).then((result) => {
  305. this.isLoading = false;
  306. uni.hideLoading();
  307. if (result.state == 200) {
  308. uni.showModal({
  309. title: '提示',
  310. content: result.info || "开始配药成功!",
  311. showCancel: false,
  312. success: function(res) {
  313. if (res.confirm) {
  314. uni.navigateTo({
  315. url: "../pharmacy/pharmacy",
  316. });
  317. } else if (res.cancel) {
  318. console.log('用户点击取消');
  319. }
  320. }
  321. });
  322. // let data = {
  323. // launchId: this.infoDATA.launch.id,
  324. // drugsBagId: this.infoDATA.id,
  325. // };
  326. // post("/drugsBag/autoDrugsBags", data).then((result1) => {
  327. // this.isLoading = false;
  328. // if (result1.status == 200) {
  329. // uni.showToast({
  330. // title: "操作成功!",
  331. // success() {
  332. // uni.navigateTo({
  333. // url: "../pharmacy/pharmacy",
  334. // });
  335. // },
  336. // });
  337. // }else if(result1.status == 501){
  338. // uni.showToast({
  339. // icon: "none",
  340. // title: result1.error,
  341. // });
  342. // }else {
  343. // uni.showToast({
  344. // icon: "none",
  345. // title: "请求失败!",
  346. // });
  347. // }
  348. // });
  349. // } else if(result.state == 503){//未建单
  350. // uni.showToast({
  351. // icon: "none",
  352. // title: result.error,
  353. // });
  354. } else {
  355. // this.isLoading = false;
  356. uni.showModal({
  357. title: '提示',
  358. content: "请求失败!",
  359. showCancel: false,
  360. success: function(res) {
  361. if (res.confirm) {
  362. console.log('用户点击确定');
  363. } else if (res.cancel) {
  364. console.log('用户点击取消');
  365. }
  366. }
  367. });
  368. }
  369. });
  370. } else if (type == 2) {
  371. post("/drugsBag/changeToCheck", {
  372. id: this.infoDATA.id,
  373. }).then((result) => {
  374. this.isLoading = false;
  375. uni.hideLoading();
  376. if (result.state == 200) {
  377. uni.showModal({
  378. title: '提示',
  379. content: result.info || "进行核对成功!",
  380. showCancel: false,
  381. success: function(res) {
  382. if (res.confirm) {
  383. uni.navigateTo({
  384. url: "../pharmacy/pharmacy",
  385. });
  386. } else if (res.cancel) {
  387. console.log('用户点击取消');
  388. }
  389. }
  390. });
  391. } else {
  392. uni.showModal({
  393. title: '提示',
  394. content: "请求失败!",
  395. showCancel: false,
  396. success: function(res) {
  397. if (res.confirm) {
  398. console.log('用户点击确定');
  399. } else if (res.cancel) {
  400. console.log('用户点击取消');
  401. }
  402. }
  403. });
  404. }
  405. });
  406. } else if (type == 4) {
  407. post("/drugsBag/checkComplete", {
  408. id: this.infoDATA.id,
  409. packId: this.infoDATA.packid
  410. }).then((result) => {
  411. this.isLoading = false;
  412. uni.hideLoading();
  413. if (result.state == 200) {
  414. uni.showModal({
  415. title: '提示',
  416. content: result.info || "核对完成成功!",
  417. showCancel: false,
  418. success: function(res) {
  419. if (res.confirm) {
  420. uni.navigateTo({
  421. url: "../pharmacy/pharmacy",
  422. });
  423. } else if (res.cancel) {
  424. console.log('用户点击取消');
  425. }
  426. }
  427. });
  428. } else {
  429. uni.showModal({
  430. title: '提示',
  431. content: "请求失败!",
  432. showCancel: false,
  433. success: function(res) {
  434. if (res.confirm) {
  435. console.log('用户点击确定');
  436. } else if (res.cancel) {
  437. console.log('用户点击取消');
  438. }
  439. }
  440. });
  441. }
  442. });
  443. }
  444. } else if (res.cancel) {
  445. console.log('用户点击取消');
  446. }
  447. }
  448. });
  449. },
  450. //基础信息查询
  451. queryBase(options) {
  452. //扫码进入详情
  453. let qrcode = options.qrcode;
  454. if (qrcode) {
  455. uni.showLoading({
  456. title: "加载中",
  457. mask: true,
  458. });
  459. post("/drugsBag/getDrugsBagByQr", {
  460. qrcode,
  461. }).then((result) => {
  462. uni.hideLoading();
  463. if (result.state == 200) {
  464. this.infoDATA = result.result;
  465. if (this.loginUser.dept.id != this.infoDATA.launch.id) {
  466. uni.showModal({
  467. title: '提示',
  468. content: "您现在所在的科室是【" + this.loginUser.dept.dept + "】,药包所在的科室是【" + this.infoDATA.launch.dept +
  469. "】,您不能进行操作",
  470. showCancel: false,
  471. success: function(res) {
  472. if (res.confirm) {
  473. console.log('用户点击确定');
  474. } else if (res.cancel) {
  475. console.log('用户点击取消');
  476. }
  477. }
  478. });
  479. }
  480. } else {
  481. uni.showToast({
  482. icon: "none",
  483. title: "请求失败!",
  484. });
  485. }
  486. });
  487. }
  488. // 点击列表进入详情
  489. let id = options.id;
  490. if (id) {
  491. uni.showLoading({
  492. title: "加载中",
  493. mask: true,
  494. });
  495. get("/api/fetchData/drugsBag/" + id).then((res) => {
  496. uni.hideLoading();
  497. if (res.status == 200) {
  498. this.infoDATA = res.data;
  499. if (this.loginUser.dept.id != this.infoDATA.launch.id) {
  500. uni.showModal({
  501. title: '提示',
  502. content: "您现在所在的科室是【" + this.loginUser.dept.dept + "】,药包所在的科室是【" + this.infoDATA.launch.dept +
  503. "】,您不能进行操作",
  504. showCancel: false,
  505. success: function(res) {
  506. if (res.confirm) {
  507. console.log('用户点击确定');
  508. } else if (res.cancel) {
  509. console.log('用户点击取消');
  510. }
  511. }
  512. });
  513. }
  514. } else {
  515. uni.showToast({
  516. icon: "none",
  517. title: "请求失败!",
  518. });
  519. }
  520. });
  521. }
  522. },
  523. // 流程信息查询
  524. queryProcess(options) {
  525. //扫码进入详情
  526. let qrcode = options.qrcode;
  527. if (qrcode) {
  528. uni.showLoading({
  529. title: "加载中",
  530. mask: true,
  531. });
  532. let postData = {
  533. idx: 0,
  534. sum: 9999,
  535. drugsBagOperationLog: {
  536. qrcode,
  537. hosId: this.loginUser.currentHospital.id
  538. }
  539. }
  540. post("/simple/data/fetchDataList/drugsBagOperationLog", postData).then((result) => {
  541. uni.hideLoading();
  542. if (result.status == 200) {
  543. result.list.forEach(v => {
  544. if (v.operationTime) {
  545. v.operationTime = (new Date(v.operationTime)).Format("MM-dd hh:mm:ss");
  546. }
  547. });
  548. this.queryProcessList = result.list;
  549. } else {
  550. uni.showToast({
  551. icon: "none",
  552. title: "请求失败!",
  553. });
  554. }
  555. });
  556. }
  557. // 点击列表进入详情
  558. let packid = options.packid;
  559. if (packid) {
  560. uni.showLoading({
  561. title: "加载中",
  562. mask: true,
  563. });
  564. let postData = {
  565. idx: 0,
  566. sum: 9999,
  567. drugsBagOperationLog: {
  568. packid: options.packid,
  569. hosId: this.loginUser.currentHospital.id
  570. }
  571. }
  572. post("/simple/data/fetchDataList/drugsBagOperationLog", postData).then((res) => {
  573. uni.hideLoading();
  574. if (res.status == 200) {
  575. res.list.forEach(v => {
  576. if (v.operationTime) {
  577. v.operationTime = (new Date(v.operationTime)).Format("MM-dd hh:mm:ss");
  578. }
  579. });
  580. this.queryProcessList = res.list;
  581. } else {
  582. uni.showToast({
  583. icon: "none",
  584. title: "请求失败!",
  585. });
  586. }
  587. });
  588. }
  589. }
  590. },
  591. onLoad(options) {
  592. this.loginUser = uni.getStorageSync("userData").user;
  593. console.log(this.loginUser, 'loginUserloginUser')
  594. // #ifdef APP-PLUS
  595. webHandle("no", "app");
  596. // #endif
  597. // #ifdef H5
  598. webHandle("no", "wx");
  599. // #endif
  600. this.queryObj = options;
  601. this.queryBase(this.queryObj);
  602. },
  603. };
  604. </script>
  605. <style lang="less">
  606. .pharmacyDetails {
  607. background-color: rgb(249, 250, 251);
  608. padding-top: 32rpx;
  609. .pharmacyDetails_title {
  610. height: 100rpx;
  611. display: flex;
  612. align-items: center;
  613. background-color: #fff;
  614. .pharmacyDetails_tab {
  615. flex: 1;
  616. display: flex;
  617. align-items: center;
  618. .pharmacyDetails_label {
  619. display: flex;
  620. justify-content: center;
  621. align-items: center;
  622. font-size: 40rpx;
  623. width: 100%;
  624. height: 66rpx;
  625. border-radius: 32rpx;
  626. color: #666;
  627. }
  628. &.active {
  629. .pharmacyDetails_label {
  630. color: #333;
  631. background-color: #e5e9ed;
  632. }
  633. }
  634. }
  635. }
  636. .page_item_wrap {
  637. position: relative;
  638. margin-top: 32rpx;
  639. .page_item {
  640. margin-top: 16rpx;
  641. margin-bottom: 124rpx;
  642. background: #fff;
  643. border-radius: 8rpx;
  644. margin: 0 20rpx;
  645. border: 2rpx solid #e5e9ed;
  646. position: relative;
  647. overflow: hidden;
  648. padding: 0 16rpx;
  649. .L {
  650. width: 40rpx;
  651. height: 40rpx;
  652. border-radius: 50%;
  653. background: #f9fafb;
  654. position: absolute;
  655. left: -20rpx;
  656. top: 68rpx;
  657. border: 2rpx solid #e5e9ed;
  658. }
  659. .R {
  660. width: 40rpx;
  661. height: 40rpx;
  662. border-radius: 50%;
  663. background: #f9fafb;
  664. position: absolute;
  665. float: right;
  666. right: -20rpx;
  667. top: 68rpx;
  668. border: 2rpx solid #e5e9ed;
  669. }
  670. .page_item_top {
  671. height: 88rpx;
  672. border-bottom: 2rpx dashed #e5e9ed;
  673. padding: 0 16rpx;
  674. .page_item_top-inner {
  675. display: flex;
  676. justify-content: space-between;
  677. align-items: center;
  678. height: 100%;
  679. .page_item_top_L {
  680. .L_text {
  681. font-size: 32rpx;
  682. font-weight: 700;
  683. }
  684. }
  685. .page_item_top_R {
  686. font-size: 32rpx;
  687. .L_iocn {
  688. color: rgb(7, 134, 60);
  689. font-size: 36rpx;
  690. font-weight: 700;
  691. }
  692. }
  693. }
  694. }
  695. .page_item_cont {
  696. box-sizing: border-box;
  697. min-height: 180rpx;
  698. max-height: calc(100vh - 534rpx);
  699. padding: 0 16rpx;
  700. text-align: left;
  701. position: relative;
  702. .text_big {
  703. font-size: 32rpx;
  704. font-weight: 700;
  705. text {
  706. font-weight: 700;
  707. line-height: 1.5;
  708. }
  709. }
  710. .line {
  711. height: 20rpx;
  712. width: 2rpx;
  713. border-left: 2rpx solid #e5e9ed;
  714. position: absolute;
  715. top: 82rpx;
  716. left: 40rpx;
  717. }
  718. .page_item_cont_T {
  719. padding-top: 28rpx;
  720. font-size: 28rpx;
  721. .page_item_cont_title {
  722. height: 100%;
  723. font-size: 32rpx;
  724. display: flex;
  725. justify-content: space-between;
  726. }
  727. }
  728. .page_item_cont_B {
  729. padding-top: 28rpx;
  730. margin-bottom: 28rpx;
  731. .page_item_cont_title {
  732. font-size: 32rpx;
  733. display: flex;
  734. justify-content: space-between;
  735. align-items: center;
  736. }
  737. }
  738. .page_item_cont_C {
  739. margin-top: 14rpx;
  740. margin-bottom: 14rpx;
  741. .page_item_cont_title_C {
  742. font-size: 32rpx;
  743. display: flex;
  744. justify-content: space-between;
  745. align-items: center;
  746. }
  747. }
  748. #infos {
  749. display: none;
  750. }
  751. }
  752. }
  753. .L-l {
  754. width: 2rpx;
  755. height: 40rpx;
  756. background: #f9fafb;
  757. position: absolute;
  758. left: 20rpx;
  759. top: 72rpx;
  760. }
  761. .R-l {
  762. width: 2rpx;
  763. height: 40rpx;
  764. background: #f9fafb;
  765. position: absolute;
  766. right: 20rpx;
  767. top: 72rpx;
  768. }
  769. }
  770. .cube-toolbar-item {
  771. width: 710rpx;
  772. height: 68rpx;
  773. line-height: 68rpx;
  774. position: fixed;
  775. left: 20rpx;
  776. bottom: 160rpx;
  777. border-radius: 8rpx;
  778. background: linear-gradient(to right, #72c172, #3bb197);
  779. font-size: 36rpx;
  780. color: #fff;
  781. text-align: center;
  782. }
  783. .btn-wrap {
  784. width: 100%;
  785. display: flex;
  786. justify-content: space-between;
  787. position: fixed;
  788. left: 0;
  789. bottom: 160rpx;
  790. }
  791. .cube-toolbar-item1 {
  792. flex: 1;
  793. height: 68rpx;
  794. line-height: 68rpx;
  795. border-radius: 8rpx;
  796. margin: 0 1%;
  797. background: linear-gradient(to right, #72c172, #3bb197);
  798. font-size: 36rpx;
  799. color: #fff;
  800. text-align: center;
  801. }
  802. }
  803. </style>