Commit 06b70bfe481fe447a492316babaf08674b13d399

Authored by 史婷婷
1 parent d09b85a3

feat: 发货单-拆分

@@ -98,4 +98,14 @@ export function queryDetail(params) { @@ -98,4 +98,14 @@ export function queryDetail(params) {
98 method: 'get', 98 method: 'get',
99 params: params, 99 params: params,
100 }) 100 })
  101 +}
  102 +
  103 +// 发货单-拆分
  104 +export function splitDataApi(params) {
  105 + return request({
  106 + url: '/shipments/plan/detail/split',
  107 + method: 'post',
  108 + data: params,
  109 + contentType: ContentTypeEnum.JSON
  110 + })
101 } 111 }
@@ -15,7 +15,8 @@ @@ -15,7 +15,8 @@
15 15
16 <!-- 产品 --> 16 <!-- 产品 -->
17 <view class="section2"> 17 <view class="section2">
18 - <Product mode="view" :status="form.status" :list="form.detailList" @applyDelay="applyDelayFun" /> 18 + <Product mode="view" :status="form.status" :list="form.detailList" @applyDelay="applyDelayFun"
  19 + @split="splitFun" />
19 </view> 20 </view>
20 <view class="section"> 21 <view class="section">
21 <view class="row"><text class="label">签收单据</text><text class="value act">{{ form.fileName }}</text></view> 22 <view class="row"><text class="label">签收单据</text><text class="value act">{{ form.fileName }}</text></view>
@@ -101,11 +102,40 @@ @@ -101,11 +102,40 @@
101 </view> 102 </view>
102 </view> 103 </view>
103 </uni-popup> 104 </uni-popup>
  105 + <!-- 拆分 -->
  106 + <uni-popup ref="splitPopup" type="bottom" :mask-click="false">
  107 + <view class="dialog">
  108 + <view class="dialog_header">
  109 + <text>拆分</text>
  110 + <view class="dialog_close" @click="closeSplit">×</view>
  111 + </view>
  112 + <view class="dialog_body split_body">
  113 + <Product mode="split" :initItem="splitForm.initItem" @change="onSplitChange" />
  114 + </view>
  115 + <view class="dialog_footer">
  116 + <view class="split_footer">
  117 + <view class="view-total">
  118 + <view class="head">合计</view>
  119 + <view class="row_block">
  120 + <view class="row">
  121 + <text class="label">需发数量</text><text class="value">{{ splitForm.initItem.quantity || '-' }}</text>
  122 + </view>
  123 + <view class="row">
  124 + <text class="label">吨位</text><text class="value">{{ splitForm.totalQuantity || '-' }}</text>
  125 + </view>
  126 + </view>
  127 + </view>
  128 + <button class="btn confirm" type="primary" @click="onSplitSave">提交</button>
  129 + </view>
  130 +
  131 + </view>
  132 + </view>
  133 + </uni-popup>
104 </view> 134 </view>
105 </template> 135 </template>
106 136
107 <script> 137 <script>
108 -import { getDetailApi, saveSignInTicket, checkApi } from '@/api/invoice.js' 138 +import { getDetailApi, saveSignInTicket, checkApi, splitDataApi } from '@/api/invoice.js'
109 import Product from './product.vue' 139 import Product from './product.vue'
110 import DetailButtons from '@/components/detail-buttons/index.vue' 140 import DetailButtons from '@/components/detail-buttons/index.vue'
111 import FileUpload from '@/components/file-upload/index.vue' 141 import FileUpload from '@/components/file-upload/index.vue'
@@ -124,6 +154,10 @@ export default { @@ -124,6 +154,10 @@ export default {
124 { text: '上传签收单据', visible: true, variant: 'primary', event: 'upload' }, 154 { text: '上传签收单据', visible: true, variant: 'primary', event: 'upload' },
125 ], 155 ],
126 uploadFile: { id: '', name: '' }, 156 uploadFile: { id: '', name: '' },
  157 + applyDelayForm: {},
  158 + splitForm: {
  159 + initItem: {},
  160 + },
127 } 161 }
128 }, 162 },
129 computed: { 163 computed: {
@@ -249,14 +283,75 @@ export default { @@ -249,14 +283,75 @@ export default {
249 try { 283 try {
250 await createApi(params) 284 await createApi(params)
251 uni.showToast({ title: '保存成功', icon: 'success' }) 285 uni.showToast({ title: '保存成功', icon: 'success' })
252 - // 刷新当前页  
253 - this.$refs.applyDelayPopup && this.$refs.applyDelayPopup.close();  
254 - this.loadDetail(this.form.id) 286 + // 刷新当前页
  287 + this.$refs.applyDelayPopup && this.$refs.applyDelayPopup.close();
  288 + this.loadDetail(this.form.id)
255 } catch (e) { 289 } catch (e) {
256 uni.showToast({ title: (e && e.msg) || '保存失败', icon: 'none' }) 290 uni.showToast({ title: (e && e.msg) || '保存失败', icon: 'none' })
257 } 291 }
258 }, 292 },
259 // 拆分 293 // 拆分
  294 + splitFun(item) {
  295 + this.splitForm.initItem = { ...item };
  296 + this.$refs.splitPopup && this.$refs.splitPopup.open();
  297 + },
  298 + closeSplit() {
  299 + this.$refs.splitPopup && this.$refs.splitPopup.close();
  300 + },
  301 + onSplitChange(data) {
  302 + console.log('onSplitChange__data', data)
  303 + const list = Array.isArray(data) ? data : []
  304 + this.splitForm.splitQuantityList = list;
  305 + const sum = list.reduce((acc, it) => {
  306 + const v = Number(it && it.quantity)
  307 + return acc + (isNaN(v) ? 0 : v)
  308 + }, 0)
  309 + const fixedSum = Number(sum.toFixed(2))
  310 + console.log('onSplitChange__sum', fixedSum)
  311 + this.$set(this.splitForm, 'totalQuantity', fixedSum)
  312 + },
  313 + async onSplitSave() {
  314 + if (!this.validateLineListRequired()) return;
  315 + const params = {};
  316 + params.id = this.splitForm.initItem.id || '';
  317 + params.totalQuantity = this.splitForm.totalQuantity || '';
  318 + const _splitQuantityList = this.splitForm.splitQuantityList || [];
  319 + const splitQuantityList = _splitQuantityList
  320 + .map((r) => Number(r.quantity || 0))
  321 + .filter((n) => !isNaN(n));
  322 + params.splitQuantityList = splitQuantityList;
  323 + console.log('onSplitSave__params', params)
  324 + try {
  325 + await splitDataApi(params)
  326 + uni.showToast({ title: '保存成功', icon: 'success' })
  327 + // 刷新当前页
  328 + this.$refs.splitPopup && this.$refs.splitPopup.close();
  329 + this.loadDetail(this.form.id)
  330 + } catch (e) {
  331 + uni.showToast({ title: (e && e.msg) || '保存失败', icon: 'none' })
  332 + }
  333 + },
  334 + validateLineListRequired() {
  335 + const list = Array.isArray(this.splitForm.splitQuantityList) ? this.splitForm.splitQuantityList : []
  336 + if (list.length === 0) {
  337 + uni.showToast({ title: '请先添加发货单明细', icon: 'none' })
  338 + return false
  339 + }
  340 + const fields = [
  341 + { key: 'quantity', label: '吨位' },
  342 + ]
  343 + for (let i = 0; i < list.length; i++) {
  344 + const it = list[i] || {}
  345 + for (const f of fields) {
  346 + const v = it && it[f.key]
  347 + if (v === undefined || v === null || String(v).trim() === '' || Number(v) <= 0) {
  348 + uni.showToast({ title: `发货单明细第${i + 1}条:${f.label}不能为空!`, icon: 'none' })
  349 + return false
  350 + }
  351 + }
  352 + }
  353 + return true
  354 + },
260 } 355 }
261 } 356 }
262 </script> 357 </script>
@@ -395,6 +490,10 @@ export default { @@ -395,6 +490,10 @@ export default {
395 overflow-y: auto; 490 overflow-y: auto;
396 } 491 }
397 492
  493 + .split_body {
  494 + max-height: 60vh;
  495 + }
  496 +
398 &_footer { 497 &_footer {
399 padding-top: 12rpx; 498 padding-top: 12rpx;
400 display: flex; 499 display: flex;
@@ -583,4 +682,48 @@ export default { @@ -583,4 +682,48 @@ export default {
583 ::v-deep .uni-list-item__container { 682 ::v-deep .uni-list-item__container {
584 align-items: flex-start; 683 align-items: flex-start;
585 } 684 }
  685 +
  686 +.split_footer {
  687 + width: 100%;
  688 +
  689 + .view-total {
  690 + padding: 0 32rpx;
  691 +
  692 + .head {
  693 + font-size: 32rpx;
  694 + font-weight: 600;
  695 + line-height: 36rpx;
  696 + color: rgba(0, 0, 0, 0.9);
  697 + padding-bottom: 10rpx;
  698 + margin-bottom: 24rpx;
  699 + border-bottom: 1px dashed #E7E7E7;
  700 + }
  701 +
  702 + .row_block {
  703 + display: flex;
  704 + }
  705 +
  706 + .row {
  707 + width: 50%;
  708 + display: flex;
  709 + line-height: 32rpx;
  710 +
  711 + .label {
  712 + width: 140rpx;
  713 + margin-right: 14rpx;
  714 + color: rgba(0, 0, 0, 0.6);
  715 + font-size: 28rpx;
  716 + }
  717 +
  718 + .value {
  719 + flex: 1;
  720 + color: rgba(0, 0, 0, 0.9);
  721 + font-size: 28rpx;
  722 + white-space: pre-wrap;
  723 + word-break: break-all;
  724 + text-align: left;
  725 + }
  726 + }
  727 + }
  728 +}
586 </style> 729 </style>
@@ -6,7 +6,7 @@ @@ -6,7 +6,7 @@
6 <image class="opCollapse" src="/static/images/title.png" /> 6 <image class="opCollapse" src="/static/images/title.png" />
7 <text class="title">{{ title || '发货单明细' }}</text> 7 <text class="title">{{ title || '发货单明细' }}</text>
8 <view class="ops"> 8 <view class="ops">
9 - <!-- <image v-if="mode === 'add'" class="opAdd" @click="onAdd" src="/static/images/plus.png" /> --> 9 + <image v-if="mode === 'split'" class="opAdd" @click="onAdd" src="/static/images/plus.png" />
10 <view v-if="mode === 'view'" class="op1" @click="toggleViewCollapse"> 10 <view v-if="mode === 'view'" class="op1" @click="toggleViewCollapse">
11 <image class="opAdd" :src="collapsedView ? '/static/images/down.png' : '/static/images/up.png'" /> 11 <image class="opAdd" :src="collapsedView ? '/static/images/down.png' : '/static/images/up.png'" />
12 <text class="op">{{ collapsedView ? '展开' : '收起' }} </text> 12 <text class="op">{{ collapsedView ? '展开' : '收起' }} </text>
@@ -126,13 +126,13 @@ @@ -126,13 +126,13 @@
126 </view> 126 </view>
127 </view> 127 </view>
128 <view class="row"><text class="label">需发数量(kg)</text><text class="value">{{ item.quantity 128 <view class="row"><text class="label">需发数量(kg)</text><text class="value">{{ item.quantity
129 - }}</text> 129 + }}</text>
130 </view> 130 </view>
131 <view class="row"><text class="label">实发数量(kg)</text><text class="value">{{ item.actualShipmentQuantity 131 <view class="row"><text class="label">实发数量(kg)</text><text class="value">{{ item.actualShipmentQuantity
132 - }}</text> 132 + }}</text>
133 </view> 133 </view>
134 <view class="row"><text class="label">件数</text><text class="value">{{ item.num 134 <view class="row"><text class="label">件数</text><text class="value">{{ item.num
135 - }}</text></view> 135 + }}</text></view>
136 <view class="row"><text class="label">单价(元/kg)</text><text class="value">{{ item.salesPrice }}</text> 136 <view class="row"><text class="label">单价(元/kg)</text><text class="value">{{ item.salesPrice }}</text>
137 </view> 137 </view>
138 <view class="row"><text class="label">包装费(元/kg)</text><text class="value">{{ 138 <view class="row"><text class="label">包装费(元/kg)</text><text class="value">{{
@@ -144,17 +144,17 @@ @@ -144,17 +144,17 @@
144 <view class="row"><text class="label">加工经销</text><text class="value">{{ item.orderType }}</text></view> 144 <view class="row"><text class="label">加工经销</text><text class="value">{{ item.orderType }}</text></view>
145 <view class="row"><text class="label">运费</text><text class="value">{{ item.contractType !== 145 <view class="row"><text class="label">运费</text><text class="value">{{ item.contractType !==
146 'PROCESS_STD_AGMT' ? 146 'PROCESS_STD_AGMT' ?
147 - item.shippingCost : '' }}</text></view> 147 + item.shippingCost : '' }}</text></view>
148 <view class="row"><text class="label">回程费</text><text class="value">{{ item.contractType === 148 <view class="row"><text class="label">回程费</text><text class="value">{{ item.contractType ===
149 'PROCESS_STD_AGMT' 149 'PROCESS_STD_AGMT'
150 - ? item.shippingCost : '' }}</text></view> 150 + ? item.shippingCost : '' }}</text></view>
151 <view class="row"><text class="label">牌号</text><text class="value">{{ item.brand }}</text></view> 151 <view class="row"><text class="label">牌号</text><text class="value">{{ item.brand }}</text></view>
152 <view class="row"><text class="label">高新</text><text class="value">-</text></view> 152 <view class="row"><text class="label">高新</text><text class="value">-</text></view>
153 <view v-if="status === 'UN_SHIPMENTS' && $auth.hasPermi('shipping-plan-manage:invoice:modify')" 153 <view v-if="status === 'UN_SHIPMENTS' && $auth.hasPermi('shipping-plan-manage:invoice:modify')"
154 class="row row-opt"> 154 class="row row-opt">
155 <text class="row-opt_btn" @click="handleApplyDelay(item)">申请延期</text> 155 <text class="row-opt_btn" @click="handleApplyDelay(item)">申请延期</text>
156 <text class="line"></text> 156 <text class="line"></text>
157 - <text class="row-opt_btn">拆分</text> 157 + <text class="row-opt_btn" @click="handleSplit(item)">拆分</text>
158 </view> 158 </view>
159 </view> 159 </view>
160 </view> 160 </view>
@@ -250,13 +250,13 @@ @@ -250,13 +250,13 @@
250 <uni-list-item title="运费"> 250 <uni-list-item title="运费">
251 <template v-slot:footer> 251 <template v-slot:footer>
252 <view class="value">{{ item.contractType !== 'PROCESS_STD_AGMT' ? item.shippingCost : '' 252 <view class="value">{{ item.contractType !== 'PROCESS_STD_AGMT' ? item.shippingCost : ''
253 - }}</view> 253 + }}</view>
254 </template> 254 </template>
255 </uni-list-item> 255 </uni-list-item>
256 <uni-list-item title="回程费"> 256 <uni-list-item title="回程费">
257 <template v-slot:footer> 257 <template v-slot:footer>
258 <view class="value">{{ item.contractType === 'PROCESS_STD_AGMT' ? item.shippingCost : '' 258 <view class="value">{{ item.contractType === 'PROCESS_STD_AGMT' ? item.shippingCost : ''
259 - }}</view> 259 + }}</view>
260 </template> 260 </template>
261 </uni-list-item> 261 </uni-list-item>
262 <uni-list-item title="牌号"> 262 <uni-list-item title="牌号">
@@ -282,6 +282,73 @@ @@ -282,6 +282,73 @@
282 </view> 282 </view>
283 </view> 283 </view>
284 284
  285 + <view v-else-if="mode === 'split'" class="section section-split" v-show="!collapsedView">
  286 + <view v-for="(item, idx) in items" :key="'v-' + idx" class="block">
  287 + <uni-list class="edit-list">
  288 + <uni-list-item title="订单编号">
  289 + <template v-slot:footer>
  290 + <view class="value">{{ item.orderNo }}</view>
  291 + </template>
  292 + </uni-list-item>
  293 + <uni-list-item title="客户名称">
  294 + <template v-slot:footer>
  295 + <view class="value">{{ item.customerName }}</view>
  296 + </template>
  297 + </uni-list-item>
  298 + <uni-list-item title="规格(mm)">
  299 + <template v-slot:footer>
  300 + <view class="value value-spec">
  301 + <view v-if="item.thickness" class="value-spec_val">{{ item.thickness }}</view>
  302 + <view v-if="item.thickness" class="value-spec_box">
  303 + <view v-if="item.thicknessTolPos" class="value-spec_box_1">{{ item.thicknessTolPos >
  304 + 0 ? '+' + item.thicknessTolPos : item.thicknessTolPos }}
  305 + </view>
  306 + <view v-if="item.thicknessTolNeg" class="value-spec_box_2">{{ item.thicknessTolNeg >
  307 + 0 ? '+' + item.thicknessTolNeg : item.thicknessTolNeg }}
  308 + </view>
  309 + </view>
  310 + <view v-if="item.width" class="value-spec_val p12">*</view>
  311 + <view v-if="item.width" class="value-spec_val">{{ item.width }}</view>
  312 + <view v-if="item.width" class="value-spec_box">
  313 + <view v-if="item.widthTolPos" class="value-spec_box_1">{{ item.widthTolPos > 0 ? '+'
  314 + + item.widthTolPos : item.widthTolPos }}
  315 + </view>
  316 + <view v-if="item.widthTolNeg" class="value-spec_box_2">{{ item.widthTolNeg > 0 ? '+'
  317 + + item.widthTolNeg : item.widthTolNeg }}
  318 + </view>
  319 + </view>
  320 + <view v-if="item.length" class="value-spec_val p12">*</view>
  321 + <view v-if="item.length" class="value-spec_val">{{ item.length }}</view>
  322 + <view v-if="item.length" class="value-spec_box">
  323 + <view v-if="item.lengthTolPos" class="value-spec_box_1">{{ item.lengthTolPos > 0 ?
  324 + '+' + item.lengthTolPos : item.lengthTolPos }}</view>
  325 + <view v-if="item.lengthTolNeg" class="value-spec_box_2">{{ item.lengthTolNeg > 0 ?
  326 + '+' + item.lengthTolNeg : item.lengthTolNeg }}</view>
  327 + </view>
  328 + </view>
  329 + </template>
  330 + </uni-list-item>
  331 +
  332 + <uni-list-item title="吨位">
  333 + <template v-slot:footer>
  334 + <uni-easyinput type="digit" :value="item.quantity" placeholder="请输入吨位"
  335 + :inputBorder="false"
  336 + @input="onTwoDecimalInput($event, item, idx, 'quantity')"
  337 + @blur="onTwoDecimalBlur(item, idx, 'quantity')" />
  338 + </template>
  339 + </uni-list-item>
  340 + </uni-list>
  341 + <view class="block-ops">
  342 + <div class="del" @click="onRemove(item.itemId)">
  343 + <image src="/static/images/delete.png" class="icon" />
  344 + 删除
  345 + </div>
  346 + </view>
  347 +
  348 + </view>
  349 + </view>
  350 +
  351 +
285 </view> 352 </view>
286 </template> 353 </template>
287 <script> 354 <script>
@@ -293,6 +360,7 @@ export default { @@ -293,6 +360,7 @@ export default {
293 mode: { type: String, default: 'add' }, 360 mode: { type: String, default: 'add' },
294 status: { type: String, default: '' }, 361 status: { type: String, default: '' },
295 list: { type: Array, default: () => [] }, 362 list: { type: Array, default: () => [] },
  363 + initItem: { type: Object, default: () => ({}) },
296 }, 364 },
297 data() { 365 data() {
298 return { 366 return {
@@ -332,30 +400,19 @@ export default { @@ -332,30 +400,19 @@ export default {
332 }, 400 },
333 }, 401 },
334 created() { 402 created() {
335 - const init = Array.isArray(this.list) && this.list.length > 0 ? this.list.map(v => ({ ...this.defaultItem(), ...v, collapsed: false })) : [{ ...this.defaultItem(), collapsed: false }]  
336 - this.items = init;  
337 }, 403 },
338 methods: { 404 methods: {
339 defaultItem() { 405 defaultItem() {
340 return { 406 return {
341 - purchaseOrderId: uuid(),  
342 - collapsed: false,  
343 - id: '',  
344 - orderNo: '',  
345 - deliveryDate: '',  
346 - applyShipmentDate: '',  
347 - applyCount: '',  
348 - orderType: '',  
349 - workshopName: '',  
350 - customerName: '', 407 + ...this.initItem,
351 quantity: '', 408 quantity: '',
352 - delayReason: '', 409 + itemId: uuid()
353 } 410 }
354 }, 411 },
355 412
356 onAdd() { 413 onAdd() {
  414 + console.log('this.initItem', this.initItem)
357 const obj = this.defaultItem() 415 const obj = this.defaultItem()
358 - obj.collapsed = true  
359 this.items.push(obj) 416 this.items.push(obj)
360 this.emitChange() 417 this.emitChange()
361 }, 418 },
@@ -363,12 +420,12 @@ export default { @@ -363,12 +420,12 @@ export default {
363 if (!id) return 420 if (!id) return
364 uni.showModal({ 421 uni.showModal({
365 title: '系统提示', 422 title: '系统提示',
366 - content: '是否确定删除选中的产品?', 423 + content: '是否确定删除该发货单明细?',
367 confirmText: '确定', 424 confirmText: '确定',
368 cancelText: '取消', 425 cancelText: '取消',
369 success: (res) => { 426 success: (res) => {
370 if (res && res.confirm) { 427 if (res && res.confirm) {
371 - const i = this.items.findIndex(it => String(it.purchaseOrderId) === String(id)) 428 + const i = this.items.findIndex(it => String(it.itemId) === String(id))
372 if (i >= 0) { 429 if (i >= 0) {
373 this.items.splice(i, 1) 430 this.items.splice(i, 1)
374 this.emitChange() 431 this.emitChange()
@@ -403,6 +460,49 @@ export default { @@ -403,6 +460,49 @@ export default {
403 } 460 }
404 if (typeof idx === 'number') this.$set(this.items, idx, { ...item }) 461 if (typeof idx === 'number') this.$set(this.items, idx, { ...item })
405 }, 462 },
  463 + // 限制输入为2位小数
  464 + onTwoDecimalInput(val, item, idx, field) {
  465 + let v = String(val != null ? val : (item && item[field]) || '')
  466 + v = v.replace(/[^0-9.]/g, '')
  467 + v = v.replace(/(\..*)\./g, '$1')
  468 +
  469 + // Restrict to 2 decimal places
  470 + const decimalIndex = v.indexOf('.')
  471 + if (decimalIndex !== -1 && v.length > decimalIndex + 3) {
  472 + v = v.substring(0, decimalIndex + 3)
  473 + }
  474 +
  475 + if (v.startsWith('.')) v = '0' + v
  476 +
  477 + // If the value was modified (truncated or cleaned)
  478 + if (String(val) !== v) {
  479 + // Hack: Temporarily set the dirty value to trigger Vue update mechanism
  480 + // This ensures that when we set the clean value back, Vue detects a change
  481 + item[field] = val
  482 + if (typeof idx === 'number') this.$set(this.items, idx, { ...item })
  483 +
  484 + // Then revert to the clean value asynchronously
  485 + setTimeout(() => {
  486 + item[field] = v
  487 + if (typeof idx === 'number') this.$set(this.items, idx, { ...item })
  488 + }, 0)
  489 + } else {
  490 + item[field] = v
  491 + if (typeof idx === 'number') this.$set(this.items, idx, { ...item })
  492 + }
  493 + },
  494 + onTwoDecimalBlur(item, idx, field) {
  495 + let v = String((item && item[field]) || '')
  496 + const num = Number(v)
  497 + if (isNaN(num) || num < 0) {
  498 + item[field] = '0'
  499 + } else {
  500 + if (v.endsWith('.')) {
  501 + item[field] = v.slice(0, -1)
  502 + }
  503 + }
  504 + if (typeof idx === 'number') this.$set(this.items, idx, { ...item })
  505 + },
406 onNonNegativeNumberBlur(item, idx, field) { 506 onNonNegativeNumberBlur(item, idx, field) {
407 const v = String((item && item[field]) || '') 507 const v = String((item && item[field]) || '')
408 const num = Number(v) 508 const num = Number(v)
@@ -456,6 +556,9 @@ export default { @@ -456,6 +556,9 @@ export default {
456 }, 556 },
457 handleApplyDelay(item) { 557 handleApplyDelay(item) {
458 this.$emit('applyDelay', item.id) 558 this.$emit('applyDelay', item.id)
  559 + },
  560 + handleSplit(item) {
  561 + this.$emit('split', item)
459 } 562 }
460 } 563 }
461 } 564 }
@@ -806,6 +909,9 @@ export default { @@ -806,6 +909,9 @@ export default {
806 } 909 }
807 } 910 }
808 911
  912 +.section-split {
  913 + background: #fff;
  914 +}
809 915
810 .view-list { 916 .view-list {
811 padding: 26rpx 32rpx; 917 padding: 26rpx 32rpx;