outbound.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763
  1. <!-- 气瓶出库 -->
  2. <template>
  3. <view id="gasCylinderOutbound">
  4. <view class="gasCylinderOutbound-page">
  5. <view class="content-max-box">
  6. <view class="content-big-box">
  7. <view class="content-title-p">气瓶信息</view>
  8. <view class="content-min-box">
  9. <view class="content-check-box" @click="checkButton(1)" v-if="!detailsType">
  10. <view>选择气瓶</view>
  11. <view>{{newData.newData1?'更改':'请选择'}}</view>
  12. <uni-icons class="right-icon" type="right"></uni-icons>
  13. </view>
  14. <view class="content-bottom-text-box" :class="!detailsType?'border-top-box':''"
  15. v-if="newData.newData1">
  16. <view class="content-text-box" v-if="!newData.newData0">
  17. <view>气瓶编码:</view>
  18. <view>{{newData.newData2}}</view>
  19. </view>
  20. <view class="content-text-box">
  21. <view>气体:</view>
  22. <view>{{newData.newData3}}</view>
  23. </view>
  24. <view class="content-text-box">
  25. <view>气瓶规格:</view>
  26. <view>{{newData.newData4}}</view>
  27. </view>
  28. <view class="content-text-box">
  29. <view>气体类别:</view>
  30. <view>{{newData.newData5}}</view>
  31. </view>
  32. <view class="content-text-box" v-if="!newData.newData0">
  33. <view>压力:</view>
  34. <view>{{newData.newData6}}</view>
  35. </view>
  36. <view class="content-text-box">
  37. <view>纯度:</view>
  38. <view>{{newData.newData7}}</view>
  39. </view>
  40. </view>
  41. </view>
  42. </view>
  43. <view class="content-big-box" v-if="newData.newData8">
  44. <view class="content-title-p">实验室信息</view>
  45. <view class="content-min-box">
  46. <view class="content-bottom-text-box">
  47. <view class="content-text-box">
  48. <view>实验室名称:</view>
  49. <view>{{newData.newData9}}</view>
  50. </view>
  51. <view class="content-text-box">
  52. <view>楼栋:</view>
  53. <view>{{newData.newData10}}</view>
  54. </view>
  55. <view class="content-text-box">
  56. <view>楼层:</view>
  57. <view>{{newData.newData11}}</view>
  58. </view>
  59. <view class="content-text-box">
  60. <view>房间:</view>
  61. <view>{{newData.newData12}}</view>
  62. </view>
  63. </view>
  64. </view>
  65. </view>
  66. <view class="content-big-box" style="margin-top:30rpx;">
  67. <view class="content-min-box">
  68. <picker @change="bindPickerChange" :value="index" :range="array" v-if="!newData.newData0">
  69. <view class="content-check-box">
  70. <view>出库类型</view>
  71. <view>{{newData.newData17 == 1?'空瓶出库':(newData.newData17 == 2?'满瓶出库':'请选择')}}</view>
  72. <uni-icons class="right-icon" type="right"></uni-icons>
  73. </view>
  74. </picker>
  75. <view class="content-max-input-box" style="margin:0;">
  76. <view class="name-box">费用</view>
  77. <view class="input-box" style="color:#808080;" @click='shadeButton(1)'>
  78. {{newData.newData17 != 2?newData.newData14:'0'}}</view>
  79. <!-- <input class="uni-input input-box" v-if="newData.newData17 != 2" v-model="newData.newData14" type="number"
  80. maxlength="10" placeholder="请输入" />
  81. <p class="input-box" v-if="newData.newData17 == 2">0</p> -->
  82. </view>
  83. </view>
  84. </view>
  85. <view class="content-max-input-box">
  86. <view class="name-box">签出人</view>
  87. <view class="input-box" style="color:#808080;" @click='shadeButton(1)'>
  88. {{newData.newData13?newData.newData13:'请选择'}}
  89. </view>
  90. </view>
  91. <view class="content-max-up-box">
  92. <view class="name-box">出库单</view>
  93. <view class="up-big-box">
  94. <view class="img-data" v-for="(item,index) in newData.newData15" :key="index">
  95. <img class="min-img" @click="previewSingleImage(baseUrl+item)" :src="baseUrl+item">
  96. <uni-icons class="del-postion-p" @click="delImg(index)" type="close" color="red" size="20"></uni-icons>
  97. </view>
  98. <view class="add-button" @click="selectImage()" v-if="!newData.newData15[8]">
  99. <uni-icons type="cloud-upload" size="30" color="#666"></uni-icons>
  100. <view>上传照片</view>
  101. </view>
  102. </view>
  103. </view>
  104. <view class="content-max-up-box">
  105. <view class="name-box">备注</view>
  106. <textarea class="textarea textarea-box" placeholder="请输入" maxlength="100"
  107. v-model="newData.newData16"></textarea>
  108. </view>
  109. </view>
  110. <view class="bottom-button-p" @click="submitButton()">确认出库</view>
  111. </view>
  112. <view class="shade-max-big-box" v-if="shadeType">
  113. <view class="shade-big-top-box" @click="shadeButton(2)"></view>
  114. <view class="shade-big-bottom-box">
  115. <view class="shade-input-max-box">
  116. <uni-icons type="search" class="icons-box" size="20"></uni-icons>
  117. <input class="uni-input input-box" v-model="inputData" maxlength="20" placeholder="请输入" />
  118. <view class="button-box" @click="searchButton()">搜索</view>
  119. </view>
  120. <view class="list-max-box">
  121. <view class="for-p" @click="checkUserButton(item)"
  122. v-for="(item,index) in userList" :key="index">
  123. {{item.userName}}({{item.account}})
  124. </view>
  125. <view class="null-p" v-if="!userList[0]">搜索并查询签出人</view>
  126. </view>
  127. </view>
  128. </view>
  129. </view>
  130. </template>
  131. <script>
  132. import {
  133. config
  134. } from '@/api/request/config.js'
  135. import {
  136. systemUserSelectUser,
  137. airbottleNewQpAppletBottleDetail,
  138. airBottleNewQpAppletBottleStorageOut,
  139. } from '@/pages_supplierCylinderManagement/api/index.js'
  140. export default {
  141. data() {
  142. return {
  143. baseUrl: config.base_url,
  144. detailsType: false,
  145. newData: {
  146. newData0: '',
  147. newData1: '',
  148. newData2: '',
  149. newData3: '',
  150. newData4: '',
  151. newData5: '',
  152. newData6: '',
  153. newData7: '',
  154. newData8: '',
  155. newData9: '',
  156. newData92: '',
  157. newData10: '',
  158. newData11: '',
  159. newData12: '',
  160. newData13: '',
  161. newData133: '',
  162. newData14: '',
  163. newData15: [],
  164. newData16: '',
  165. newData17: '',
  166. },
  167. array: ['空瓶出库', '满瓶出库'],
  168. inputData: '',
  169. userList: [],
  170. shadeType: false,
  171. }
  172. },
  173. onLoad(options) {
  174. uni.$on('refreshBPageData', (data) => {
  175. this.$set(this.newData, 'newData1', data.id);
  176. this.airbottleNewQpAppletBottleDetail(data.id);
  177. });
  178. if (options.id) {
  179. this.$set(this, 'detailsType', true);
  180. this.$set(this.newData, 'newData1', options.id);
  181. this.airbottleNewQpAppletBottleDetail(options.id);
  182. // let obj = JSON.parse(decodeURIComponent(options.infoData));
  183. // this.$set(this, 'detailsType', true);
  184. // this.$set(this, 'newData', {
  185. // newData0: obj.specialGases,
  186. // newData1: obj.id,
  187. // newData2: obj.bottleCode,
  188. // newData3: obj.gasName,
  189. // newData4: obj.specification,
  190. // newData5: obj.gasCategory,
  191. // newData6: obj.pressure,
  192. // newData7: obj.purity,
  193. // newData8: obj.subId,
  194. // newData9: obj.subName,
  195. // newData92: obj.deptId,
  196. // newData10: obj.buildName,
  197. // newData11: obj.floorName,
  198. // newData12: obj.roomNum,
  199. // newData13: '',
  200. // newData133: '',
  201. // newData14: obj.latestStorageIn.cost,
  202. // newData15: [],
  203. // newData16: '',
  204. // newData17: '',
  205. // });
  206. }
  207. },
  208. onUnload() {
  209. uni.$off('refreshBPageData');
  210. },
  211. /*
  212. onLoad(options) {
  213. if (options.pageType) {
  214. let obj = JSON.parse(decodeURIComponent(options.form));
  215. if (options.pageType == 1) {
  216. //选择气瓶
  217. this.$set(this.newData, 'newData1', obj.id);
  218. this.airbottleNewQpAppletBottleDetail(obj.id);
  219. } else if (options.pageType == 2) {
  220. //选择实验室
  221. this.$set(this.newData, 'newData5', obj.data5);
  222. this.$set(this.newData, 'newData6', obj.data6);
  223. this.$set(this.newData, 'newData7', obj.data7);
  224. this.$set(this.newData, 'newData8', obj.data8);
  225. } else if (options.pageType == 3) {
  226. //历史记录-气瓶出
  227. this.$set(this, 'detailsType', true);库
  228. this.$set(this.newData, 'newData1', "1");
  229. this.$set(this.newData, 'newData8', "1");
  230. }
  231. }
  232. },
  233. */
  234. onShow() {
  235. },
  236. methods: {
  237. //气瓶详情
  238. async airbottleNewQpAppletBottleDetail(id) {
  239. const {
  240. data
  241. } = await airbottleNewQpAppletBottleDetail({
  242. id: id
  243. });
  244. if (data.code == 200) {
  245. this.$set(this.newData, 'newData0', data.data.specialGases);
  246. this.$set(this.newData, 'newData2', data.data.bottleCode);
  247. this.$set(this.newData, 'newData3', data.data.gasName);
  248. this.$set(this.newData, 'newData4', data.data.specification);
  249. this.$set(this.newData, 'newData5', data.data.gasCategory);
  250. this.$set(this.newData, 'newData6', data.data.pressure);
  251. this.$set(this.newData, 'newData7', data.data.purity);
  252. this.$set(this.newData, 'newData8', data.data.subId);
  253. this.$set(this.newData, 'newData9', data.data.subName);
  254. this.$set(this.newData, 'newData92', data.data.deptId);
  255. this.$set(this.newData, 'newData10', data.data.buildName);
  256. this.$set(this.newData, 'newData11', data.data.floorName);
  257. this.$set(this.newData, 'newData12', data.data.roomNum);
  258. this.$set(this.newData, 'newData14', data.data.cost);
  259. }
  260. },
  261. //出库状态切换
  262. bindPickerChange(e) {
  263. if (e.detail.value == 0) {
  264. this.$set(this.newData, 'newData17', 1)
  265. } else {
  266. this.$set(this.newData, 'newData17', 2)
  267. }
  268. },
  269. checkButton(type) {
  270. if (type == 1) {
  271. uni.navigateTo({
  272. url: "/pages_supplierCylinderManagement/views/gasCylinderManagement/selectCylinder?from=2",
  273. });
  274. } else if (type == 2) {
  275. uni.navigateTo({
  276. url: "/pages_supplierCylinderManagement/views/gasCylinderManagement/selectLab?from=2",
  277. });
  278. }
  279. },
  280. //提交方法
  281. submitButton() {
  282. let self = this;
  283. if (!this.newData.newData1) {
  284. uni.showToast({
  285. title: '请选择气瓶',
  286. icon: "error",
  287. mask: true,
  288. duration: 2000
  289. });
  290. return
  291. } else if (!this.newData.newData17) {
  292. uni.showToast({
  293. title: '请选择出库类型',
  294. icon: "error",
  295. mask: true,
  296. duration: 2000
  297. });
  298. return
  299. } else if (!this.newData.newData133) {
  300. uni.showToast({
  301. title: '请选择签出人',
  302. icon: "error",
  303. mask: true,
  304. duration: 2000
  305. });
  306. return
  307. } else if (!this.newData.newData15[0]) {
  308. uni.showToast({
  309. title: '请上传出库单',
  310. icon: "error",
  311. mask: true,
  312. duration: 2000
  313. });
  314. return
  315. }
  316. uni.showModal({
  317. title: '确认出库',
  318. content: '确认后,该气体气瓶的当前状态将变更为已出库。',
  319. showCancel: true,
  320. cancelText: '关闭',
  321. confirmText: '确认出库',
  322. confirmColor: '#2684D8',
  323. success: (res) => {
  324. if (res.confirm) {
  325. self.airBottleNewQpAppletBottleStorageOut();
  326. }
  327. }
  328. });
  329. },
  330. //出库
  331. async airBottleNewQpAppletBottleStorageOut() {
  332. let self = this;
  333. let obj = {
  334. bottleId: this.newData.newData1,
  335. outType: this.newData.newData17,
  336. signerOut: this.newData.newData13,
  337. signerOutId: this.newData.newData133,
  338. voucherUrl: this.newData.newData15 + '',
  339. remark: this.newData.newData16,
  340. source: '2',
  341. };
  342. const {
  343. data
  344. } = await airBottleNewQpAppletBottleStorageOut(obj);
  345. if (data.code == 200) {
  346. uni.showToast({
  347. title: '出库完成',
  348. icon: "success",
  349. mask: true,
  350. duration: 2000
  351. });
  352. setTimeout(function() {
  353. uni.navigateBack({
  354. delta: self.detailsType?2:1
  355. });
  356. // if(self.detailsType){
  357. // uni.redirectTo({
  358. // url: '/pages_supplierCylinderManagement/views/gasCylinderManagement/cylinderDetails',
  359. // });
  360. // }else{
  361. // uni.redirectTo({
  362. // url: '/pages_supplierCylinderManagement/views/gasCylinderManagement/index',
  363. // });
  364. // }
  365. }, 2000);
  366. }
  367. },
  368. /******图片上传******/
  369. selectImage() {
  370. let self = this;
  371. if (self.newData.newData15[8]) {
  372. uni.showToast({
  373. title: '最多上传9张图片',
  374. icon: "none",
  375. mask: true,
  376. duration: 2000
  377. });
  378. return
  379. }
  380. uni.chooseImage({
  381. count: 1,
  382. sizeType: ["original", "compressed"],
  383. sourceType: ["album", "camera"],
  384. success: function(res) {
  385. if (res.tempFilePaths[0]) {
  386. res.tempFilePaths.forEach(function(item, index) {
  387. self.uploadImg(item);
  388. })
  389. }
  390. }
  391. });
  392. },
  393. async uploadImg(tempFilePaths) {
  394. var self = this;
  395. uni.showLoading({
  396. title: '上传中',
  397. mask: true
  398. });
  399. uni.uploadFile({
  400. url: config.base_url + '/system/file/upload', //仅为示例,非真实的接口地址
  401. header: {
  402. 'Authorization': uni.getStorageSync('token')
  403. },
  404. filePath: tempFilePaths,
  405. name: 'file',
  406. formData: {
  407. 'user': 'test'
  408. },
  409. success: (uploadFileRes) => {
  410. let res = JSON.parse(uploadFileRes.data);
  411. if (res.code == 200) {
  412. this.newData.newData15.push(res.data.url)
  413. // this.$set(this.newData, 'newData15', res.data.url);
  414. } else {
  415. uni.showToast({
  416. title: res.msg,
  417. icon: "none",
  418. mask: true,
  419. duration: 2000
  420. });
  421. }
  422. },
  423. fail: err => {},
  424. complete: () => {
  425. uni.hideLoading()
  426. }
  427. });
  428. },
  429. //删除图片
  430. delImg(index) {
  431. this.newData.newData15.splice(index, 1)
  432. },
  433. //预览图片
  434. previewSingleImage(imageUrl) {
  435. uni.previewImage({
  436. urls: [imageUrl] // 必须包裹成数组
  437. });
  438. },
  439. searchButton() {
  440. if (this.inputData !== '' && this.inputData.length > 1) {
  441. this.systemUserSelectUser();
  442. } else {
  443. uni.showToast({
  444. title: '请输入至少2个字符',
  445. icon: "none",
  446. mask: true,
  447. duration: 2000
  448. });
  449. }
  450. },
  451. //搜索用户
  452. async systemUserSelectUser() {
  453. const {
  454. data
  455. } = await systemUserSelectUser({
  456. "userName": this.inputData,
  457. 'userType': '1'
  458. });
  459. if (data.code == 200) {
  460. this.$set(this, 'userList', data.data);
  461. }
  462. },
  463. //选择用户
  464. checkUserButton(item) {
  465. this.$set(this.newData, 'newData13', item.userName);
  466. this.$set(this.newData, 'newData133', item.userId);
  467. this.$set(this, 'shadeType', false);
  468. },
  469. //遮罩层开关
  470. shadeButton(type) {
  471. if (type == 1) {
  472. if (this.newData.newData13) {
  473. this.$set(this, 'inputData', this.newData.newData13);
  474. this.systemUserSelectUser();
  475. }
  476. this.$set(this, 'shadeType', true);
  477. } else if (type == 2) {
  478. this.$set(this, 'shadeType', false);
  479. }
  480. }
  481. }
  482. }
  483. </script>
  484. <style lang="stylus" scoped>
  485. #gasCylinderOutbound {
  486. height: 100%;
  487. width: 100%;
  488. display flex;
  489. flex-direction column;
  490. overflow: hidden;
  491. .gasCylinderOutbound-page {
  492. flex: 1;
  493. display flex;
  494. flex-direction column;
  495. overflow: hidden;
  496. .content-max-box {
  497. flex: 1;
  498. display flex;
  499. flex-direction column;
  500. overflow-y: scroll;
  501. .content-big-box {
  502. margin: 0 30rpx 0;
  503. .content-title-p {
  504. line-height: 80rpx;
  505. padding: 0 20rpx;
  506. color: #666;
  507. }
  508. .content-min-box {
  509. background-color: #fff;
  510. border-radius: 12rpx;
  511. .border-top-box {
  512. border-top: 1rpx solid #dedede;
  513. }
  514. .content-check-box {
  515. display: flex;
  516. padding: 40rpx 30rpx;
  517. view {
  518. font-size: 30rpx;
  519. line-height: 40rpx;
  520. }
  521. view:nth-child(1) {
  522. flex: 1;
  523. font-weight: 600;
  524. }
  525. view:nth-child(2) {
  526. font-size: 28rpx;
  527. font-weight: 600;
  528. margin-right: 10rpx;
  529. color: #666;
  530. }
  531. .right-icon {
  532. font-size: 30rpx;
  533. }
  534. }
  535. .content-bottom-text-box {
  536. margin: 0 30rpx;
  537. padding: 20rpx 0;
  538. .content-text-box {
  539. display: flex;
  540. view {
  541. font-size: 28rpx;
  542. line-height: 60rpx;
  543. }
  544. view:nth-child(1) {}
  545. view:nth-child(2) {
  546. flex: 1;
  547. text-align: right;
  548. }
  549. }
  550. }
  551. }
  552. }
  553. }
  554. .content-max-input-box {
  555. background-color: #fff;
  556. border-radius: 12rpx;
  557. display: flex;
  558. margin: 30rpx 30rpx 0;
  559. padding: 0 30rpx;
  560. .name-box {
  561. font-size: 30rpx;
  562. font-weight: 600;
  563. line-height: 100rpx;
  564. }
  565. .input-box {
  566. flex: 1;
  567. height: 100rpx;
  568. line-height: 100rpx;
  569. text-align: right;
  570. }
  571. }
  572. .content-max-up-box {
  573. background-color: #fff;
  574. border-radius: 12rpx;
  575. margin: 30rpx 30rpx 0;
  576. padding: 0 30rpx;
  577. .name-box {
  578. font-size: 30rpx;
  579. font-weight: 600;
  580. line-height: 100rpx;
  581. }
  582. .up-big-box {
  583. padding: 0 0 30rpx 0;
  584. .img-data:nth-child(3n) {
  585. margin-right: 0 !important;
  586. }
  587. .img-data {
  588. display: inline-block;
  589. width: 190rpx;
  590. height: 190rpx;
  591. margin-right: 30rpx;
  592. margin-bottom: 25rpx;
  593. position: relative;
  594. .min-img {
  595. display: block;
  596. width: 190rpx;
  597. height: 190rpx;
  598. overflow: hidden;
  599. border-radius: 12rpx;
  600. }
  601. .del-postion-p {
  602. position: absolute;
  603. top: -15rpx;
  604. right: -15rpx;
  605. width: 40rpx;
  606. height: 40rpx;
  607. color: red;
  608. }
  609. }
  610. .add-button {
  611. display: inline-block;
  612. overflow: hidden;
  613. border: 1rpx solid #dedede;
  614. border-radius: 12rpx;
  615. width: 190rpx !important;
  616. height: 145rpx;
  617. text-align: center;
  618. color: #666;
  619. font-size: 28rpx;
  620. padding-top: 45rpx;
  621. }
  622. }
  623. .textarea-box {
  624. width: 570rpx;
  625. padding: 30rpx;
  626. border: 1px solid #dedede;
  627. border-radius: 12rpx;
  628. margin-bottom: 30rpx;
  629. }
  630. }
  631. .bottom-button-p {
  632. width: 700rpx;
  633. height: 100rpx;
  634. line-height: 100rpx;
  635. text-align: center;
  636. margin: 30rpx auto 60rpx;
  637. color: #fff;
  638. background-color: #0183FA;
  639. border-radius: 16rpx;
  640. }
  641. }
  642. .shade-max-big-box {
  643. position: absolute;
  644. top: 0;
  645. left: 0;
  646. height: 100%;
  647. width: 100%;
  648. display: flex;
  649. flex-direction: column;
  650. overflow: hidden;
  651. z-index: 10;
  652. background-color: rgba(0, 0, 0, 0.2);
  653. .shade-big-top-box {
  654. flex: 1;
  655. }
  656. .shade-big-bottom-box {
  657. height: 800rpx;
  658. background-color: #fff;
  659. border-top-left-radius: 30rpx;
  660. border-top-right-radius: 30rpx;
  661. .shade-input-max-box {
  662. display: flex;
  663. margin: 40rpx 60rpx;
  664. .icons-box {
  665. border-top-left-radius: 30rpx;
  666. border-bottom-left-radius: 30rpx;
  667. width: 80rpx;
  668. text-align: center;
  669. height: 60rpx;
  670. line-height: 60rpx;
  671. background-color: #eeeeee;
  672. }
  673. .input-box {
  674. flex: 1;
  675. padding: 0 20rpx 0 0;
  676. height: 60rpx;
  677. line-height: 60rpx;
  678. background-color: #eeeeee;
  679. font-size: 28rpx;
  680. }
  681. .button-box {
  682. background-color: #0183FA;
  683. color: #fff;
  684. width: 120rpx;
  685. text-align: center;
  686. line-height: 60rpx;
  687. font-size: 28rpx;
  688. border-top-right-radius: 30rpx;
  689. border-bottom-right-radius: 30rpx;
  690. }
  691. }
  692. .list-max-box {
  693. height: 660rpx;
  694. overflow-y: scroll;
  695. border-top: 1rpx solid #dedede;
  696. .for-p:nth-child(1) {
  697. border: none;
  698. }
  699. .for-p {
  700. font-size: 28rpx;
  701. padding: 20rpx 40rpx;
  702. line-height: 60rpx;
  703. border-top: 1rpx solid #dedede;
  704. display:block;
  705. overflow:hidden;
  706. text-overflow:ellipsis;
  707. white-space:nowrap;
  708. }
  709. .null-p {
  710. text-align: center;
  711. font-size: 28rpx;
  712. color: #999;
  713. line-height: 300rpx;
  714. }
  715. }
  716. }
  717. }
  718. }
  719. </style>