outbound.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767
  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. }
  292. if(this.newData.newData0){
  293. if (!this.newData.newData17) {
  294. uni.showToast({
  295. title: '请选择出库类型',
  296. icon: "error",
  297. mask: true,
  298. duration: 2000
  299. });
  300. return
  301. }
  302. }
  303. if (!this.newData.newData133) {
  304. uni.showToast({
  305. title: '请选择签出人',
  306. icon: "error",
  307. mask: true,
  308. duration: 2000
  309. });
  310. return
  311. } else if (!this.newData.newData15[0]) {
  312. uni.showToast({
  313. title: '请上传出库单',
  314. icon: "error",
  315. mask: true,
  316. duration: 2000
  317. });
  318. return
  319. }
  320. uni.showModal({
  321. title: '确认出库',
  322. content: '确认后,该气体气瓶的当前状态将变更为已出库。',
  323. showCancel: true,
  324. cancelText: '关闭',
  325. confirmText: '确认出库',
  326. confirmColor: '#2684D8',
  327. success: (res) => {
  328. if (res.confirm) {
  329. self.airBottleNewQpAppletBottleStorageOut();
  330. }
  331. }
  332. });
  333. },
  334. //出库
  335. async airBottleNewQpAppletBottleStorageOut() {
  336. let self = this;
  337. let obj = {
  338. bottleId: this.newData.newData1,
  339. outType: this.newData.newData17,
  340. signerOut: this.newData.newData13,
  341. signerOutId: this.newData.newData133,
  342. voucherUrl: this.newData.newData15 + '',
  343. remark: this.newData.newData16,
  344. source: '2',
  345. };
  346. const {
  347. data
  348. } = await airBottleNewQpAppletBottleStorageOut(obj);
  349. if (data.code == 200) {
  350. uni.showToast({
  351. title: '出库完成',
  352. icon: "success",
  353. mask: true,
  354. duration: 2000
  355. });
  356. setTimeout(function() {
  357. uni.navigateBack({
  358. delta: self.detailsType?2:1
  359. });
  360. // if(self.detailsType){
  361. // uni.redirectTo({
  362. // url: '/pages_supplierCylinderManagement/views/gasCylinderManagement/cylinderDetails',
  363. // });
  364. // }else{
  365. // uni.redirectTo({
  366. // url: '/pages_supplierCylinderManagement/views/gasCylinderManagement/index',
  367. // });
  368. // }
  369. }, 2000);
  370. }
  371. },
  372. /******图片上传******/
  373. selectImage() {
  374. let self = this;
  375. if (self.newData.newData15[8]) {
  376. uni.showToast({
  377. title: '最多上传9张图片',
  378. icon: "none",
  379. mask: true,
  380. duration: 2000
  381. });
  382. return
  383. }
  384. uni.chooseImage({
  385. count: 1,
  386. sizeType: ["original", "compressed"],
  387. sourceType: ["album", "camera"],
  388. success: function(res) {
  389. if (res.tempFilePaths[0]) {
  390. res.tempFilePaths.forEach(function(item, index) {
  391. self.uploadImg(item);
  392. })
  393. }
  394. }
  395. });
  396. },
  397. async uploadImg(tempFilePaths) {
  398. var self = this;
  399. uni.showLoading({
  400. title: '上传中',
  401. mask: true
  402. });
  403. uni.uploadFile({
  404. url: config.base_url + '/system/file/upload', //仅为示例,非真实的接口地址
  405. header: {
  406. 'Authorization': uni.getStorageSync('token')
  407. },
  408. filePath: tempFilePaths,
  409. name: 'file',
  410. formData: {
  411. 'user': 'test'
  412. },
  413. success: (uploadFileRes) => {
  414. let res = JSON.parse(uploadFileRes.data);
  415. if (res.code == 200) {
  416. this.newData.newData15.push(res.data.url)
  417. // this.$set(this.newData, 'newData15', res.data.url);
  418. } else {
  419. uni.showToast({
  420. title: res.msg,
  421. icon: "none",
  422. mask: true,
  423. duration: 2000
  424. });
  425. }
  426. },
  427. fail: err => {},
  428. complete: () => {
  429. uni.hideLoading()
  430. }
  431. });
  432. },
  433. //删除图片
  434. delImg(index) {
  435. this.newData.newData15.splice(index, 1)
  436. },
  437. //预览图片
  438. previewSingleImage(imageUrl) {
  439. uni.previewImage({
  440. urls: [imageUrl] // 必须包裹成数组
  441. });
  442. },
  443. searchButton() {
  444. if (this.inputData !== '' && this.inputData.length > 1) {
  445. this.systemUserSelectUser();
  446. } else {
  447. uni.showToast({
  448. title: '请输入至少2个字符',
  449. icon: "none",
  450. mask: true,
  451. duration: 2000
  452. });
  453. }
  454. },
  455. //搜索用户
  456. async systemUserSelectUser() {
  457. const {
  458. data
  459. } = await systemUserSelectUser({
  460. "userName": this.inputData,
  461. 'userType': '1'
  462. });
  463. if (data.code == 200) {
  464. this.$set(this, 'userList', data.data);
  465. }
  466. },
  467. //选择用户
  468. checkUserButton(item) {
  469. this.$set(this.newData, 'newData13', item.userName);
  470. this.$set(this.newData, 'newData133', item.userId);
  471. this.$set(this, 'shadeType', false);
  472. },
  473. //遮罩层开关
  474. shadeButton(type) {
  475. if (type == 1) {
  476. if (this.newData.newData13) {
  477. this.$set(this, 'inputData', this.newData.newData13);
  478. this.systemUserSelectUser();
  479. }
  480. this.$set(this, 'shadeType', true);
  481. } else if (type == 2) {
  482. this.$set(this, 'shadeType', false);
  483. }
  484. }
  485. }
  486. }
  487. </script>
  488. <style lang="stylus" scoped>
  489. #gasCylinderOutbound {
  490. height: 100%;
  491. width: 100%;
  492. display flex;
  493. flex-direction column;
  494. overflow: hidden;
  495. .gasCylinderOutbound-page {
  496. flex: 1;
  497. display flex;
  498. flex-direction column;
  499. overflow: hidden;
  500. .content-max-box {
  501. flex: 1;
  502. display flex;
  503. flex-direction column;
  504. overflow-y: scroll;
  505. .content-big-box {
  506. margin: 0 30rpx 0;
  507. .content-title-p {
  508. line-height: 80rpx;
  509. padding: 0 20rpx;
  510. color: #666;
  511. }
  512. .content-min-box {
  513. background-color: #fff;
  514. border-radius: 12rpx;
  515. .border-top-box {
  516. border-top: 1rpx solid #dedede;
  517. }
  518. .content-check-box {
  519. display: flex;
  520. padding: 40rpx 30rpx;
  521. view {
  522. font-size: 30rpx;
  523. line-height: 40rpx;
  524. }
  525. view:nth-child(1) {
  526. flex: 1;
  527. font-weight: 600;
  528. }
  529. view:nth-child(2) {
  530. font-size: 28rpx;
  531. font-weight: 600;
  532. margin-right: 10rpx;
  533. color: #666;
  534. }
  535. .right-icon {
  536. font-size: 30rpx;
  537. }
  538. }
  539. .content-bottom-text-box {
  540. margin: 0 30rpx;
  541. padding: 20rpx 0;
  542. .content-text-box {
  543. display: flex;
  544. view {
  545. font-size: 28rpx;
  546. line-height: 60rpx;
  547. }
  548. view:nth-child(1) {}
  549. view:nth-child(2) {
  550. flex: 1;
  551. text-align: right;
  552. }
  553. }
  554. }
  555. }
  556. }
  557. }
  558. .content-max-input-box {
  559. background-color: #fff;
  560. border-radius: 12rpx;
  561. display: flex;
  562. margin: 30rpx 30rpx 0;
  563. padding: 0 30rpx;
  564. .name-box {
  565. font-size: 30rpx;
  566. font-weight: 600;
  567. line-height: 100rpx;
  568. }
  569. .input-box {
  570. flex: 1;
  571. height: 100rpx;
  572. line-height: 100rpx;
  573. text-align: right;
  574. }
  575. }
  576. .content-max-up-box {
  577. background-color: #fff;
  578. border-radius: 12rpx;
  579. margin: 30rpx 30rpx 0;
  580. padding: 0 30rpx;
  581. .name-box {
  582. font-size: 30rpx;
  583. font-weight: 600;
  584. line-height: 100rpx;
  585. }
  586. .up-big-box {
  587. padding: 0 0 30rpx 0;
  588. .img-data:nth-child(3n) {
  589. margin-right: 0 !important;
  590. }
  591. .img-data {
  592. display: inline-block;
  593. width: 190rpx;
  594. height: 190rpx;
  595. margin-right: 30rpx;
  596. margin-bottom: 25rpx;
  597. position: relative;
  598. .min-img {
  599. display: block;
  600. width: 190rpx;
  601. height: 190rpx;
  602. overflow: hidden;
  603. border-radius: 12rpx;
  604. }
  605. .del-postion-p {
  606. position: absolute;
  607. top: -15rpx;
  608. right: -15rpx;
  609. width: 40rpx;
  610. height: 40rpx;
  611. color: red;
  612. }
  613. }
  614. .add-button {
  615. display: inline-block;
  616. overflow: hidden;
  617. border: 1rpx solid #dedede;
  618. border-radius: 12rpx;
  619. width: 190rpx !important;
  620. height: 145rpx;
  621. text-align: center;
  622. color: #666;
  623. font-size: 28rpx;
  624. padding-top: 45rpx;
  625. }
  626. }
  627. .textarea-box {
  628. width: 570rpx;
  629. padding: 30rpx;
  630. border: 1px solid #dedede;
  631. border-radius: 12rpx;
  632. margin-bottom: 30rpx;
  633. }
  634. }
  635. .bottom-button-p {
  636. width: 700rpx;
  637. height: 100rpx;
  638. line-height: 100rpx;
  639. text-align: center;
  640. margin: 30rpx auto 60rpx;
  641. color: #fff;
  642. background-color: #0183FA;
  643. border-radius: 16rpx;
  644. }
  645. }
  646. .shade-max-big-box {
  647. position: absolute;
  648. top: 0;
  649. left: 0;
  650. height: 100%;
  651. width: 100%;
  652. display: flex;
  653. flex-direction: column;
  654. overflow: hidden;
  655. z-index: 10;
  656. background-color: rgba(0, 0, 0, 0.2);
  657. .shade-big-top-box {
  658. flex: 1;
  659. }
  660. .shade-big-bottom-box {
  661. height: 800rpx;
  662. background-color: #fff;
  663. border-top-left-radius: 30rpx;
  664. border-top-right-radius: 30rpx;
  665. .shade-input-max-box {
  666. display: flex;
  667. margin: 40rpx 60rpx;
  668. .icons-box {
  669. border-top-left-radius: 30rpx;
  670. border-bottom-left-radius: 30rpx;
  671. width: 80rpx;
  672. text-align: center;
  673. height: 60rpx;
  674. line-height: 60rpx;
  675. background-color: #eeeeee;
  676. }
  677. .input-box {
  678. flex: 1;
  679. padding: 0 20rpx 0 0;
  680. height: 60rpx;
  681. line-height: 60rpx;
  682. background-color: #eeeeee;
  683. font-size: 28rpx;
  684. }
  685. .button-box {
  686. background-color: #0183FA;
  687. color: #fff;
  688. width: 120rpx;
  689. text-align: center;
  690. line-height: 60rpx;
  691. font-size: 28rpx;
  692. border-top-right-radius: 30rpx;
  693. border-bottom-right-radius: 30rpx;
  694. }
  695. }
  696. .list-max-box {
  697. height: 660rpx;
  698. overflow-y: scroll;
  699. border-top: 1rpx solid #dedede;
  700. .for-p:nth-child(1) {
  701. border: none;
  702. }
  703. .for-p {
  704. font-size: 28rpx;
  705. padding: 20rpx 40rpx;
  706. line-height: 60rpx;
  707. border-top: 1rpx solid #dedede;
  708. display:block;
  709. overflow:hidden;
  710. text-overflow:ellipsis;
  711. white-space:nowrap;
  712. }
  713. .null-p {
  714. text-align: center;
  715. font-size: 28rpx;
  716. color: #999;
  717. line-height: 300rpx;
  718. }
  719. }
  720. }
  721. }
  722. }
  723. </style>