Workbin.ets 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771
  1. import StorageRequest from '../util/request/StorageRequest';
  2. import {SelectMaterialslist} from '../util/request/StorageRequestInstance'
  3. import detailsList from '../../model/DetailsList';
  4. /////物料位置
  5. ////出库取料箱出库
  6. export interface Tasklist {
  7. //批次号
  8. batchCode?: string;
  9. ///完成数量
  10. completedNum?:number
  11. //已经占用箱数
  12. useNum?:number
  13. //空箱数
  14. emptyBoxNum?:string
  15. //可用箱数
  16. canUsedNum?:string
  17. //总容量箱数
  18. allNum?:number
  19. //仓储类型
  20. type?:string
  21. //批次号
  22. coordinate?: string
  23. //创建时间
  24. created?: string
  25. //
  26. creator?: string
  27. //仓库编码
  28. houseNo?:string
  29. deptId?: string
  30. houseType?:string
  31. //主键
  32. id?:string
  33. locationNo?: string
  34. // 物料名称
  35. materialName?:string
  36. //物料编码
  37. materialNo?: string
  38. //出入库数量
  39. num?: number
  40. orgId?: string
  41. relPlanNo?:string
  42. relOrderNo?:string
  43. relOutOrderNo?:string
  44. progress?:string
  45. planNo?: string
  46. position?: string
  47. // 序列号
  48. seqNo?: string
  49. // 状态;1-待处理;2-处理中;3-处理异常;4-已完成
  50. state?:number
  51. // 库存数量
  52. stockNum?:string
  53. //出入库任务单号
  54. taskNo?: string
  55. unit?:string
  56. updated?: string
  57. //任务名称
  58. taskName?:string
  59. updator?: string
  60. vehicleNo?: string
  61. }
  62. export interface Materialpositionclass {
  63. //产品规格
  64. spec?:string
  65. //批次号
  66. batchCode?: string;
  67. ///完成数量
  68. completedNum?:number
  69. //已经占用箱数
  70. useNum?:number
  71. //空箱数
  72. emptyBoxNum?:string
  73. //可用箱数
  74. canUsedNum?:string
  75. //总容量箱数
  76. allNum?:number
  77. //仓储类型
  78. type?:string
  79. //批次号
  80. coordinate?: string
  81. //创建时间
  82. created?: string
  83. //
  84. creator?: string
  85. //仓库编码
  86. houseNo?:string
  87. deptId?: string
  88. houseType?:string
  89. //主键
  90. id?:string
  91. locationNo?: string
  92. // 物料名称
  93. materialName?:string
  94. //物料编码
  95. materialNo?: string
  96. //出入库数量
  97. num?: number
  98. orgId?: string
  99. planNo?: string
  100. position?: string
  101. // 序列号
  102. seqNo?: string
  103. // 状态;1-待处理;2-处理中;3-处理异常;4-已完成
  104. state?:number
  105. // 库存数量
  106. stockNum?:string
  107. //出入库任务单号
  108. taskNo?: string
  109. unit?:string
  110. updated?: string
  111. //任务名称
  112. taskName?:string
  113. updator?: string
  114. vehicleNo?: string
  115. pageNo?:number
  116. pageSize?:number
  117. }
  118. export interface outboundDataclass {
  119. detailsList?:detailsList[]
  120. taskId?:number
  121. index?:number
  122. //产品规格
  123. spec?:string
  124. // 物料名称
  125. materialName?:string
  126. //物料编码
  127. materialNo?: string
  128. // 序列号
  129. seqNo?: string
  130. //储位坐标
  131. coordinate?:string
  132. //仓库编号
  133. houseNo?:string
  134. //储位编号
  135. locationNo?:string
  136. //单位
  137. unit?:string
  138. //数量
  139. num?:number
  140. //批次号
  141. batchCode?:string
  142. }
  143. export interface outboundRequestData {
  144. index?:number
  145. //产品规格
  146. spec?:string
  147. // 物料名称
  148. materialName?:string
  149. //物料编码
  150. materialNo?: string
  151. // 序列号
  152. seqNo?: string
  153. //储位坐标
  154. coordinate?:string
  155. //仓库编号
  156. houseNo?:string
  157. //储位编号
  158. locationNo?:string
  159. //单位
  160. unit?:string
  161. //数量
  162. num?:number
  163. //批次号
  164. batchCode?:string
  165. //载具编号
  166. vehicleCode?:string
  167. position?:string
  168. housetype?:string
  169. }
  170. @CustomDialog
  171. struct positionok {
  172. // outboundData = async() : Promise<outboundDataclass[]> => {
  173. // let obj:outboundDataclass[] = []
  174. // let res = await StorageRequest.post("/api/v3/wmsOrder/outBox", {
  175. // detailsList:this.outboundRequest,
  176. // taskId:'1'
  177. // })
  178. // console.log('testTag', '********' + JSON.stringify(res))
  179. // obj = JSON.parse(JSON.stringify(res))
  180. // return obj
  181. // }
  182. //传进来
  183. // aboutToAppear(){
  184. // for (let index = 0; index < this.Mposition.length; index++) {
  185. // let details: outboundRequestData = {}
  186. // details.materialName = this.Mposition[index].materialName
  187. // details.num=this.Mposition[index].num
  188. // details.materialNo=this.Mposition[index].materialNo
  189. // details.spec=this.Mposition[index].spec
  190. // details.batchCode=this.Mposition[index].batchCode
  191. // details.housetype='1'
  192. // details.locationNo='1-3-2'
  193. // details.houseNo='1'
  194. // details.coordinate= '3-2'
  195. // details.unit='个'
  196. // details.vehicleCode='XL'+new Date().getTime()
  197. // details.position='1'
  198. // this.Mposition.push(details)
  199. // }
  200. // }
  201. @State private outboundRequest:Array<outboundRequestData>=[]
  202. @Link private Mposition:Array< Materialpositionclass>
  203. @Link code:string
  204. @Link textValue: string
  205. @Link inputValue: string
  206. controller: CustomDialogController
  207. // 若尝试在CustomDialog中传入多个其他的Controller,以实现在CustomDialog中打开另一个或另一些CustomDialog,那么此处需要将指向自己的controller放在最后
  208. cancel: () => void
  209. confirm: () => void
  210. build(){
  211. Column(){
  212. Column({space:10}){
  213. Text('取出确认')
  214. .width('100%')
  215. .fontSize('51px')
  216. .textAlign(TextAlign.Center)
  217. Row(){
  218. Text('是否取出'+this.code+'?')
  219. .width('100%')
  220. .fontSize('32px')
  221. }.width('80%')
  222. .height('60%')
  223. Row({space:5}){
  224. Text('取消')
  225. .fontWeight(FontWeight.Medium)
  226. .fontSize('32px')
  227. .width('48%')
  228. .textAlign(TextAlign.Center)
  229. .height('100%')
  230. .fontColor('#0A59F7')
  231. .backgroundColor('#F1F3F5')
  232. .borderRadius(21)
  233. .onClick(()=>{
  234. this.controller.close()
  235. })
  236. Text('确认')
  237. .fontWeight(FontWeight.Medium)
  238. .fontSize('32px')
  239. .borderRadius(21)
  240. .textAlign(TextAlign.Center)
  241. .height('100%')
  242. .width('48%')
  243. .fontColor('#0A59F7')
  244. .backgroundColor('#F1F3F5')
  245. .onClick(()=>{
  246. // this. outboundData ().then((res : outboundRequestData[]) => {
  247. // console.log('testTag', '入库数据成功'+JSON.stringify(res))
  248. // if (res && res.length > 0) {
  249. // //
  250. // for (let index = 0; index < res.length; index++) {
  251. // console.log('testTag', '-----------index' + index +'-----vehicleNo'+JSON.stringify(res))
  252. // console.log('testTag', '-----------index' + index +'-----list'+JSON.stringify(res))
  253. // }
  254. // this. outboundRequest = res
  255. // }
  256. // })
  257. // console.log("4632957"+JSON.stringify(this.outboundRequest))
  258. // this.controller.close()
  259. })
  260. }
  261. .justifyContent(FlexAlign.Center)
  262. .borderRadius(15)
  263. .width('80%')
  264. .height('20%')
  265. }.width('100%')
  266. .padding(10)
  267. .height('100%')
  268. .borderRadius(15)
  269. .backgroundColor('#FFFF')
  270. }.width("50%")
  271. .height("40%")
  272. .backgroundColor('#4d000000')
  273. }
  274. }
  275. @CustomDialog
  276. struct ChuKUA {
  277. @State private Mposition:Array<Materialpositionclass>=[]
  278. @State private SelectMaterial:Array<SelectMaterialslist>=[]
  279. @State material:string=''
  280. @State taskNo:string=''
  281. ////确认弹窗
  282. @State code:string=''
  283. dialogController: CustomDialogController = new CustomDialogController({
  284. builder: positionok({
  285. Mposition:this.Mposition,
  286. code:this.code,
  287. textValue: $textValue,
  288. inputValue: $inputValue
  289. }),
  290. autoCancel: true,
  291. alignment: DialogAlignment.Center,
  292. customStyle: true
  293. })
  294. Tasklistoutbound = async() : Promise<Tasklist[]> => {
  295. let obj: Tasklist[] = []
  296. let res = await StorageRequest.post("/api/v3/task/list", {
  297. type: 2
  298. })
  299. console.log('testTag', 'Tasklist成功' + JSON.stringify(res))
  300. obj = JSON.parse(JSON.stringify(res))
  301. console.log('testTag', 'aaaaaaaa' +JSON.stringify(obj));
  302. return obj
  303. }
  304. SelectMaterials = async() : Promise<SelectMaterialslist[]> => {
  305. let res = await StorageRequest.post("/api/v3/task/page", {
  306. pageNo: 1,
  307. taskNo:this.taskNo
  308. })
  309. console.log('testTag', '********' + JSON.stringify(res))
  310. let obj = JSON.parse(JSON.stringify(res))
  311. console.log('testTag', 'aaaaaaaa' +JSON.stringify(obj.records));
  312. this.SelectMaterial=obj
  313. return obj.records
  314. }
  315. ///位置请求
  316. Materialposition = async() : Promise< Materialpositionclass[]> => {
  317. let obj: Materialpositionclass[] = []
  318. let res = await StorageRequest.post("/api/v3/stock/list", {
  319. "materialName":this.material
  320. // "materialName":"物料名称001"
  321. })
  322. console.log('testTag', '111111成功' + JSON.stringify(res))
  323. obj = JSON.parse(JSON.stringify(res))
  324. console.log('testTag', 'aaaaaaaa' +JSON.stringify(obj));
  325. this.Mposition=obj
  326. return obj
  327. }
  328. aboutToAppear(){
  329. this.Tasklistoutbound().then((res : Tasklist[]) => {
  330. console.log('testTag', 'result cccccc'+JSON.stringify(res))
  331. if (res && res.length > 0) {
  332. this.TasklistoutboundData = res
  333. this.taskNo=this.TasklistoutboundData[0].taskNo
  334. this.SelectMaterials().then((res : SelectMaterialslist[]) => {
  335. console.log('testTag', 'result cccccc'+JSON.stringify(res))
  336. if (res && res.length > 0) {
  337. this.SelectMaterial = res
  338. this.material= this.SelectMaterial[0].materialName
  339. this.Materialposition().then((res :Materialpositionclass[]) => {
  340. console.log('testTag', 'result cccccc'+JSON.stringify(res))
  341. if (res && res.length > 0) {
  342. this.Mposition = res
  343. }
  344. })
  345. }
  346. })
  347. }
  348. })
  349. }
  350. @State private TasklistoutboundData:Array<Tasklist>=[]
  351. @Link CunQuHuo:number
  352. scroller: Scroller = new Scroller()
  353. @State SelectableMarker:number=0
  354. @State SelectableMarkerOne:number=0
  355. @State SelectableMarkertwo:number=0
  356. @Link textValue: string
  357. @Link inputValue: string
  358. controller: CustomDialogController
  359. // 若尝试在CustomDialog中传入多个其他的Controller,以实现在CustomDialog中打开另一个或另一些CustomDialog,那么此处需要将指向自己的controller放在最后
  360. cancel: () => void
  361. confirm: () => void
  362. build() {
  363. Column() {
  364. Column(){
  365. Text('取物料')
  366. .fontWeight(FontWeight.Medium)
  367. .textAlign(TextAlign.Center)
  368. .fontColor('#ffff')
  369. .fontSize('51px')
  370. }.width('100%')
  371. .justifyContent(FlexAlign.Center)
  372. .height('10%')
  373. .padding(10)
  374. Row(){
  375. Text('出库')
  376. .fontSize('40px')
  377. .width('30%')
  378. .padding(10)
  379. .fontColor('#ffff')
  380. Text('选择物料')
  381. .fontSize('40px')
  382. .width('30%')
  383. .padding(10)
  384. .fontColor('#ffff')
  385. Text('取出位置')
  386. .fontSize('40px')
  387. .width('30%')
  388. .padding(10)
  389. .fontColor('#ffff')
  390. }.width('100%')
  391. .height('5%')
  392. .padding({left:10})
  393. Row({space:20}){
  394. Column(){
  395. Grid(this.scroller) {
  396. ForEach(this.TasklistoutboundData, (item:Tasklist ,index:number) => {
  397. // ForEach(this.Number, (day: string) => {
  398. GridItem() {
  399. Row(){
  400. Column(){
  401. Text(item.taskName)
  402. .fontSize('32px')
  403. .width('100%')
  404. .height('20%')
  405. Row(){
  406. Column({space:10}){
  407. Text('产品型号:'+item.taskNo)
  408. .fontSize($r('app.float.robot_state_font_size'))
  409. .textAlign(TextAlign.Start)
  410. .fontColor('#99000000')
  411. .width('100%')
  412. Text('计划编号:'+item.relPlanNo)
  413. .fontSize($r('app.float.robot_state_font_size'))
  414. .textAlign(TextAlign.Start)
  415. .fontColor('#99000000')
  416. .width('100%')
  417. Text('订单编号:'+item.relOrderNo)
  418. .fontSize($r('app.float.robot_state_font_size'))
  419. .textAlign(TextAlign.Start)
  420. .fontColor('#99000000')
  421. .width('100%')
  422. Text('出库单号:'+item.relOutOrderNo)
  423. .fontSize($r('app.float.robot_state_font_size'))
  424. .textAlign(TextAlign.Start)
  425. .fontColor('#99000000')
  426. .width('100%')
  427. Text('取料进度:'+item.progress)
  428. .fontSize($r('app.float.robot_state_font_size'))
  429. .textAlign(TextAlign.Start)
  430. .fontColor('#99000000')
  431. .width('100%')
  432. }
  433. .justifyContent(FlexAlign.Center)
  434. .width('100%')
  435. .height('100%')
  436. } .width('100%')
  437. .height('80%')
  438. }.width('100%')
  439. .padding({left:20,right:20})
  440. .borderRadius(10)
  441. .alignItems(HorizontalAlign.Start)
  442. .justifyContent(FlexAlign.Center)
  443. .height('100%')
  444. .onClick(()=>{
  445. this.taskNo=item.taskNo
  446. })
  447. }
  448. .padding(10)
  449. .borderRadius(10)
  450. .height('30%')
  451. .backgroundColor(this.SelectableMarker===index?
  452. $r('app.color.robot_set_card_blue'):$r('app.color.robot_set_card_white'))
  453. }
  454. .onClick(()=>{
  455. this.SelectableMarker=index
  456. })
  457. })
  458. }
  459. .onClick(()=>{
  460. this.CunQuHuo=1
  461. })
  462. .padding(10)
  463. .columnsTemplate('1fr')
  464. .columnsGap(10)
  465. .rowsGap(10)
  466. .onScrollIndex((first: number) => {
  467. console.info(first.toString())
  468. })
  469. .width('100%')
  470. .height('100%')
  471. }.width('25%')
  472. .height('100%')
  473. Divider().vertical(true)
  474. .color('#ffff')
  475. .width('1%')
  476. .height('100%')
  477. ////选择物料
  478. Column(){
  479. Grid(this.scroller) {
  480. ForEach(this.SelectMaterial, (item:SelectMaterialslist,index:number) => {
  481. // ForEach(this.Number, (day: string) => {
  482. GridItem() {
  483. Row(){
  484. Column(){
  485. Blank()
  486. Text(item.materialName)
  487. .fontSize('32px')
  488. .fontWeight(FontWeight.Medium)
  489. Text(item.materialNo)
  490. .fontSize('27px')
  491. Blank()
  492. Text(item.completedNum.toString()+'/'+item.num.toString())
  493. .fontWeight(FontWeight.Bold)
  494. . fontSize('32px')
  495. .fontColor('#e6000000')
  496. Text(item.state===0||1?"待处理":item.state===2?"处理中":item.state===3?"处理异常":"已完成")
  497. .fontSize('32px')
  498. Blank()
  499. }.width('100%')
  500. .padding(10)
  501. .borderRadius(10)
  502. .alignItems(HorizontalAlign.Start)
  503. .justifyContent(FlexAlign.Center)
  504. .height('100%')
  505. }
  506. .padding(10)
  507. .borderRadius(10)
  508. .height('30%')
  509. .backgroundColor(this.SelectableMarkerOne===index?
  510. $r('app.color.robot_set_card_blue'):$r('app.color.robot_set_card_white'))
  511. }
  512. .onClick(()=>{
  513. this.material= item.materialName
  514. console.log('好了111111'+item.materialName)
  515. // this.Materialposition()
  516. this.SelectableMarkerOne=index
  517. })
  518. })
  519. }
  520. .onClick(()=>{
  521. this.CunQuHuo=1
  522. })
  523. .padding(10)
  524. .columnsTemplate('1fr')
  525. .columnsGap(10)
  526. .rowsGap(10)
  527. .onScrollIndex((first: number) => {
  528. console.info(first.toString())
  529. })
  530. .width('100%')
  531. .height('100%')
  532. }.width('25%')
  533. .height('100%')
  534. Divider().vertical(true)
  535. .color('#ffff')
  536. .width('1%')
  537. .height('100%')
  538. //物料位置
  539. Column(){
  540. Grid(this.scroller) {
  541. ForEach(this.Mposition, (item:Materialpositionclass,index:number) => {
  542. GridItem() {
  543. Row(){
  544. Column(){
  545. Text(item.locationNo)
  546. .fontSize('32px')
  547. .fontWeight(FontWeight.Medium)
  548. Text(item.batchCode)
  549. .fontSize('32px')
  550. .fontWeight(FontWeight.Medium)
  551. Blank()
  552. Row(){
  553. Text(item.num.toString())
  554. .fontSize('51px')
  555. .fontWeight(FontWeight.Bold)
  556. Text('个')
  557. .fontSize('32px')
  558. .fontWeight(FontWeight.Medium)
  559. }
  560. }.width('100%')
  561. .padding(10)
  562. .borderRadius(10)
  563. .alignItems(HorizontalAlign.Start)
  564. .justifyContent(FlexAlign.Center)
  565. .height('100%')
  566. }
  567. .padding(10)
  568. .borderRadius(10)
  569. .height('30%')
  570. .backgroundColor(this.SelectableMarkertwo===index?
  571. $r('app.color.robot_set_card_blue'):$r('app.color.robot_set_card_white'))
  572. .onClick(()=>{
  573. this.dialogController.open()
  574. this.SelectableMarkertwo=index
  575. this.code= item.batchCode
  576. })
  577. }
  578. .padding({left:20})
  579. })
  580. }
  581. .onClick(()=>{
  582. this.CunQuHuo=1
  583. })
  584. .padding(10)
  585. .columnsTemplate('1fr 1fr')
  586. .columnsGap(10)
  587. .rowsGap(10)
  588. .onScrollIndex((first: number) => {
  589. console.info(first.toString())
  590. })
  591. .width('100%')
  592. .height('100%')
  593. }.width('37%')
  594. .height('100%')
  595. }.width('100%')
  596. .height('75%')
  597. .padding(10)
  598. Row(){
  599. Image($r('app.media.close'))
  600. .width('115px')
  601. .height('115px')
  602. .onClick(()=>{
  603. this.controller.close()
  604. })
  605. }.width('100%')
  606. .justifyContent(FlexAlign.Center)
  607. .height('10%')
  608. }.width('100%')
  609. .backgroundColor('#99000000')
  610. .height('100%')
  611. // dialog默认的borderRadius为24vp,如果需要使用border属性,请和borderRadius属性一起使用。
  612. }
  613. }
  614. @CustomDialog
  615. @Entry
  616. @Component
  617. export struct Workbin{
  618. @State textValue: string = ''
  619. @State inputValue: string = ''
  620. scroller: Scroller = new Scroller()
  621. onCancel() {
  622. console.info('onCancel')
  623. }
  624. onAccept() {
  625. console.info(' onAccept')
  626. }
  627. existApp() {
  628. console.info(' existApp')
  629. }
  630. @State ZhuangTai:number=0
  631. @State CunQuHuo:number=0
  632. MaterialRetrievalController: CustomDialogController = new CustomDialogController({
  633. builder: ChuKUA({
  634. CunQuHuo:this.CunQuHuo,
  635. cancel: this.onCancel,
  636. confirm: this.onAccept,
  637. textValue: $textValue,
  638. inputValue: $inputValue,
  639. }),
  640. // gridCount: 3,
  641. cancel: this.existApp,
  642. //autoCancel: true,
  643. alignment: DialogAlignment.Bottom,
  644. //offset: { dx: 0, dy: -20 },
  645. gridCount: 4,
  646. customStyle: true,
  647. })
  648. build(){
  649. Row({space:15}){
  650. Row(){
  651. Column(){
  652. Text('取物料')
  653. .fontSize('32px')
  654. .fontWeight(FontWeight.Medium)
  655. Text('查找物料')
  656. .fontSize('27px')
  657. }.width('90%')
  658. .borderRadius(15)
  659. .backgroundColor('#ffff')
  660. .alignItems(HorizontalAlign.Start)
  661. .justifyContent(FlexAlign.Center)
  662. .height('100%')
  663. .onClick(()=>{
  664. this. MaterialRetrievalController.open()
  665. })
  666. Column(){
  667. Image($r('app.media.jiaobiao'))
  668. .width('27px')
  669. .height('27px')
  670. }.width('10%')
  671. .justifyContent(FlexAlign.End)
  672. .height('100%')
  673. .backgroundColor('#ffff')
  674. }
  675. .backgroundColor('#ffff')
  676. .padding(10)
  677. .width('45%')
  678. .borderRadius(15)
  679. .height('100%')
  680. Row(){
  681. Column(){
  682. Text('返回料箱')
  683. .fontSize('32px')
  684. .fontWeight(FontWeight.Medium)
  685. Text('LX1524742389')
  686. .fontSize('27px')
  687. }.width('90%')
  688. .borderRadius(15)
  689. .backgroundColor('#ffff')
  690. .alignItems(HorizontalAlign.Start)
  691. .justifyContent(FlexAlign.Center)
  692. .height('100%')
  693. Column(){
  694. Image($r('app.media.jiaobiao'))
  695. .width('27px')
  696. .height('27px')
  697. }.width('10%')
  698. .justifyContent(FlexAlign.End)
  699. .height('100%')
  700. }
  701. .padding(10)
  702. // .onClick(()=>{
  703. // this.bufferhopperController.open()
  704. // })
  705. .backgroundColor('#ffff')
  706. .width('45%')
  707. .borderRadius(15)
  708. .height('100%')
  709. }.width('100%')
  710. .padding({left:10})
  711. .height('100%')
  712. }
  713. }