|
|
|
@ -6,8 +6,8 @@
|
|
|
|
|
<a-button class="btn" type="primary" @click="addboxLine">添加</a-button>
|
|
|
|
|
<a-button class="btn" @click="removeLine">删除</a-button>
|
|
|
|
|
<a-button class="btn" type="primary" @click="openDialog" :disabled="tableData.length === 0">多品名</a-button>
|
|
|
|
|
<a-button class="btn" type="primary" @click="importYarn">引入场站数据</a-button>
|
|
|
|
|
<a-button class="btn" type="primary" @click="importWeight">引入箱皮重</a-button>
|
|
|
|
|
<a-button class="btn" type="primary" @click="importYarn" :loading="YarnLoading">引入场站数据</a-button>
|
|
|
|
|
<a-button class="btn" type="primary" @click="importWeight" :loading="WeightLoading">引入箱皮重</a-button>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="table-right">
|
|
|
|
|
<span>合计: {{ totalCtnall }}</span>
|
|
|
|
@ -82,8 +82,8 @@ export default {
|
|
|
|
|
type: Object,
|
|
|
|
|
default: () => {
|
|
|
|
|
return {}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
data() {
|
|
|
|
|
return {
|
|
|
|
@ -96,7 +96,7 @@ export default {
|
|
|
|
|
title: '',
|
|
|
|
|
width: 40,
|
|
|
|
|
operationColumn: true,
|
|
|
|
|
align: 'center',
|
|
|
|
|
align: 'center'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: '',
|
|
|
|
@ -107,7 +107,7 @@ export default {
|
|
|
|
|
operationColumn: true,
|
|
|
|
|
renderBodyCell: ({ row, column, rowIndex }, h) => {
|
|
|
|
|
return ++rowIndex
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'ctnall',
|
|
|
|
@ -124,7 +124,7 @@ export default {
|
|
|
|
|
placeholder="请输入箱型"
|
|
|
|
|
option-filter-prop="children"
|
|
|
|
|
style="width: 120px"
|
|
|
|
|
on-change={(val) => {
|
|
|
|
|
on-change={val => {
|
|
|
|
|
const data = this.ctnList[val]
|
|
|
|
|
this.tableData[rowIndex].ctnall = data.name
|
|
|
|
|
this.tableData[rowIndex].ctncode = data.code
|
|
|
|
@ -137,35 +137,35 @@ export default {
|
|
|
|
|
})}
|
|
|
|
|
</a-select>
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'ctnnum',
|
|
|
|
|
key: 'ctnnum ',
|
|
|
|
|
title: '箱量',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'cntrno',
|
|
|
|
|
key: 'cntrno',
|
|
|
|
|
title: '箱号',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'sealno',
|
|
|
|
|
key: 'sealno',
|
|
|
|
|
title: '封号',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'pkgs',
|
|
|
|
|
key: 'pkgs',
|
|
|
|
|
title: '件数',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'kindpkgs',
|
|
|
|
@ -182,7 +182,7 @@ export default {
|
|
|
|
|
placeholder="请输入包装"
|
|
|
|
|
option-filter-prop="children"
|
|
|
|
|
style="width: 120px"
|
|
|
|
|
on-change={(val) => {
|
|
|
|
|
on-change={val => {
|
|
|
|
|
const data = this.packageList[val]
|
|
|
|
|
this.tableData[rowIndex].kindpkgs = data.name
|
|
|
|
|
row['kindpkgs'] = data.name
|
|
|
|
@ -194,28 +194,28 @@ export default {
|
|
|
|
|
})}
|
|
|
|
|
</a-select>
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'kgs',
|
|
|
|
|
key: 'kgs',
|
|
|
|
|
title: '重量',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'cbm',
|
|
|
|
|
key: 'cbm',
|
|
|
|
|
title: '尺码',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'tareweight',
|
|
|
|
|
key: 'tareweight',
|
|
|
|
|
title: '箱皮重',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'weightype',
|
|
|
|
@ -231,7 +231,7 @@ export default {
|
|
|
|
|
placeholder="请输入箱型"
|
|
|
|
|
option-filter-prop="children"
|
|
|
|
|
style="width: 120px"
|
|
|
|
|
on-change={(val) => {
|
|
|
|
|
on-change={val => {
|
|
|
|
|
this.tableData[rowIndex].weightype = val
|
|
|
|
|
row['weightype'] = val
|
|
|
|
|
this.$forceUpdate()
|
|
|
|
@ -241,15 +241,15 @@ export default {
|
|
|
|
|
<a-select-option value="2">总重</a-select-option>
|
|
|
|
|
</a-select>
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'weighkgs',
|
|
|
|
|
key: 'weighkgs',
|
|
|
|
|
title: '称重重量',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
},
|
|
|
|
|
edit: true
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
modelColumns: [
|
|
|
|
|
{
|
|
|
|
@ -259,58 +259,58 @@ export default {
|
|
|
|
|
title: '',
|
|
|
|
|
width: 40,
|
|
|
|
|
operationColumn: true,
|
|
|
|
|
align: 'center',
|
|
|
|
|
align: 'center'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'ctnall',
|
|
|
|
|
key: 'ctnall',
|
|
|
|
|
title: '箱型',
|
|
|
|
|
align: 'left',
|
|
|
|
|
width: 80,
|
|
|
|
|
width: 80
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'ctnnum',
|
|
|
|
|
key: 'ctnnum ',
|
|
|
|
|
title: '箱量',
|
|
|
|
|
align: 'left',
|
|
|
|
|
align: 'left'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'cntrno',
|
|
|
|
|
key: 'cntrno',
|
|
|
|
|
title: '箱号',
|
|
|
|
|
align: 'left',
|
|
|
|
|
align: 'left'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'sealno',
|
|
|
|
|
key: 'sealno',
|
|
|
|
|
title: '封号',
|
|
|
|
|
align: 'left',
|
|
|
|
|
align: 'left'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'pkgs',
|
|
|
|
|
key: 'pkgs',
|
|
|
|
|
title: '件数',
|
|
|
|
|
align: 'left',
|
|
|
|
|
align: 'left'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'kindpkgs',
|
|
|
|
|
key: 'kindpkgs',
|
|
|
|
|
title: '包装',
|
|
|
|
|
align: 'left',
|
|
|
|
|
width: 130,
|
|
|
|
|
width: 130
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'weighkgs',
|
|
|
|
|
key: 'weighkgs',
|
|
|
|
|
title: '毛重',
|
|
|
|
|
align: 'left',
|
|
|
|
|
align: 'left'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'cbm',
|
|
|
|
|
key: 'cbm',
|
|
|
|
|
title: '尺码',
|
|
|
|
|
align: 'left',
|
|
|
|
|
},
|
|
|
|
|
align: 'left'
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
childColumns: [
|
|
|
|
|
{
|
|
|
|
@ -320,14 +320,14 @@ export default {
|
|
|
|
|
title: '',
|
|
|
|
|
width: 40,
|
|
|
|
|
operationColumn: true,
|
|
|
|
|
align: 'center',
|
|
|
|
|
align: 'center'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'pkgs',
|
|
|
|
|
key: 'pkgs',
|
|
|
|
|
title: '件数',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'kindpkgs',
|
|
|
|
@ -344,7 +344,7 @@ export default {
|
|
|
|
|
placeholder="请输入包装"
|
|
|
|
|
option-filter-prop="children"
|
|
|
|
|
style="width: 120px"
|
|
|
|
|
on-change={(val) => {
|
|
|
|
|
on-change={val => {
|
|
|
|
|
const data = this.packageList[val]
|
|
|
|
|
row['kindpkgs'] = data.name
|
|
|
|
|
this.childTableData[rowIndex].kindpkgs = data.name
|
|
|
|
@ -356,35 +356,35 @@ export default {
|
|
|
|
|
})}
|
|
|
|
|
</a-select>
|
|
|
|
|
)
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'weighkgs',
|
|
|
|
|
key: 'weighkgs',
|
|
|
|
|
title: '毛重',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'cbm',
|
|
|
|
|
key: 'cbm',
|
|
|
|
|
title: '尺码',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'hscode',
|
|
|
|
|
key: 'hscode',
|
|
|
|
|
title: 'HS代码',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'marks',
|
|
|
|
|
key: 'marks',
|
|
|
|
|
title: '唛头',
|
|
|
|
|
align: 'left',
|
|
|
|
|
edit: true,
|
|
|
|
|
edit: true
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
field: 'description',
|
|
|
|
@ -392,8 +392,8 @@ export default {
|
|
|
|
|
title: '货描',
|
|
|
|
|
align: 'left',
|
|
|
|
|
width: '25%',
|
|
|
|
|
edit: true,
|
|
|
|
|
},
|
|
|
|
|
edit: true
|
|
|
|
|
}
|
|
|
|
|
],
|
|
|
|
|
tableData: [],
|
|
|
|
|
editOption: {
|
|
|
|
@ -406,7 +406,7 @@ export default {
|
|
|
|
|
this.$message.config({
|
|
|
|
|
top: `${height}px`,
|
|
|
|
|
duration: 2,
|
|
|
|
|
maxCount: 3,
|
|
|
|
|
maxCount: 3
|
|
|
|
|
})
|
|
|
|
|
this.$message.error(`输入的${this.enmuErrorLabel(column.field)}不符合规则`)
|
|
|
|
|
row['cntrno'] = ''
|
|
|
|
@ -452,7 +452,7 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
cellValueChange: ({ row, column }) => {
|
|
|
|
|
console.log('编辑', row, column)
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
editChildOption: {
|
|
|
|
|
beforeCellValueChange: ({ row, column, changeValue }) => {
|
|
|
|
@ -464,7 +464,7 @@ export default {
|
|
|
|
|
this.$message.config({
|
|
|
|
|
top: `${height}px`,
|
|
|
|
|
duration: 2,
|
|
|
|
|
maxCount: 3,
|
|
|
|
|
maxCount: 3
|
|
|
|
|
})
|
|
|
|
|
this.$message.error(`输入的${this.enmuErrorLabel(column.field)}不符合规则`)
|
|
|
|
|
row['cntrno'] = ''
|
|
|
|
@ -489,12 +489,12 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
cellValueChange: ({ row, column }) => {
|
|
|
|
|
console.log('编辑', row, column)
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 可控单元格编辑
|
|
|
|
|
rowStyleOption: {
|
|
|
|
|
clickHighlight: false,
|
|
|
|
|
hoverHighlight: false,
|
|
|
|
|
hoverHighlight: false
|
|
|
|
|
},
|
|
|
|
|
cellAutofillOption: true,
|
|
|
|
|
checkboxOption: {
|
|
|
|
@ -510,7 +510,7 @@ export default {
|
|
|
|
|
} else {
|
|
|
|
|
this.selectArr = []
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
checkChildboxOption: {
|
|
|
|
|
hideSelectAll: false,
|
|
|
|
@ -525,7 +525,7 @@ export default {
|
|
|
|
|
} else {
|
|
|
|
|
this.selectChildArr = []
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
// 单元格复制
|
|
|
|
|
clipboardOption: {
|
|
|
|
@ -564,7 +564,7 @@ export default {
|
|
|
|
|
afterDelete: ({ data, selectionRangeIndexes, selectionRangeKeys }) => {
|
|
|
|
|
console.log('afterDelete')
|
|
|
|
|
this.log({ data, selectionRangeIndexes, selectionRangeKeys })
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
clipboardChildOption: {
|
|
|
|
|
copy: true,
|
|
|
|
@ -602,7 +602,7 @@ export default {
|
|
|
|
|
afterDelete: ({ data, selectionRangeIndexes, selectionRangeKeys }) => {
|
|
|
|
|
console.log('afterDelete')
|
|
|
|
|
this.log({ data, selectionRangeIndexes, selectionRangeKeys })
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
tableLoaded: false,
|
|
|
|
|
ctnList: [],
|
|
|
|
@ -631,12 +631,14 @@ export default {
|
|
|
|
|
} else {
|
|
|
|
|
this.childTableData = []
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
childTableData: [],
|
|
|
|
|
childModelSelect: null,
|
|
|
|
|
childModelSelectIndex: null,
|
|
|
|
|
selectChildArr: [],
|
|
|
|
|
YarnLoading: false,
|
|
|
|
|
WeightLoading: false
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
watch: {
|
|
|
|
@ -645,18 +647,18 @@ export default {
|
|
|
|
|
// console.log('detail数据改变', nval)
|
|
|
|
|
this.$emit('changeDetail', {
|
|
|
|
|
detail: nval,
|
|
|
|
|
type: 'goodsTable',
|
|
|
|
|
type: 'goodsTable'
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
deep: true,
|
|
|
|
|
deep: true
|
|
|
|
|
},
|
|
|
|
|
tableData: {
|
|
|
|
|
handler(nval, oval) {
|
|
|
|
|
this.details.ctnInputs = nval
|
|
|
|
|
// console.log('table数据改变', nval)
|
|
|
|
|
},
|
|
|
|
|
deep: true,
|
|
|
|
|
},
|
|
|
|
|
deep: true
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
created() {
|
|
|
|
@ -671,12 +673,12 @@ export default {
|
|
|
|
|
this.details.ctnInputs.map((item, index) => {
|
|
|
|
|
arr.push({
|
|
|
|
|
...{ rowKey: index },
|
|
|
|
|
...item,
|
|
|
|
|
...item
|
|
|
|
|
})
|
|
|
|
|
if (!Object.keys(totalCtnall).includes(item.ctnall)) {
|
|
|
|
|
const cData = {
|
|
|
|
|
type: 'ctnall',
|
|
|
|
|
num: item.ctnnum,
|
|
|
|
|
num: item.ctnnum
|
|
|
|
|
}
|
|
|
|
|
this.$set(totalCtnall, item.ctnall, cData)
|
|
|
|
|
}
|
|
|
|
@ -697,23 +699,23 @@ export default {
|
|
|
|
|
},
|
|
|
|
|
getCtn() {
|
|
|
|
|
GetCtn({
|
|
|
|
|
Name: '',
|
|
|
|
|
Name: ''
|
|
|
|
|
})
|
|
|
|
|
.then((res) => {
|
|
|
|
|
.then(res => {
|
|
|
|
|
this.ctnList = res.data
|
|
|
|
|
})
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
.catch(err => {
|
|
|
|
|
console.log(err)
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
getPackage() {
|
|
|
|
|
GetPackage({
|
|
|
|
|
Name: '',
|
|
|
|
|
Name: ''
|
|
|
|
|
})
|
|
|
|
|
.then((res) => {
|
|
|
|
|
.then(res => {
|
|
|
|
|
this.packageList = res.data
|
|
|
|
|
})
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
.catch(err => {
|
|
|
|
|
console.log(err)
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
@ -746,7 +748,7 @@ export default {
|
|
|
|
|
tareweight: '',
|
|
|
|
|
weightype: '',
|
|
|
|
|
weighkgs: '',
|
|
|
|
|
rowKey: this.tableData.length > 0 ? Number(this.tableData[this.tableData.length - 1].rowKey) + 1 : 0,
|
|
|
|
|
rowKey: this.tableData.length > 0 ? Number(this.tableData[this.tableData.length - 1].rowKey) + 1 : 0
|
|
|
|
|
}
|
|
|
|
|
this.tableData.push(data)
|
|
|
|
|
},
|
|
|
|
@ -783,7 +785,7 @@ export default {
|
|
|
|
|
cbm: '',
|
|
|
|
|
hscode: this.details.hscode,
|
|
|
|
|
marks: this.details.marks,
|
|
|
|
|
description: this.details.marks,
|
|
|
|
|
description: this.details.marks
|
|
|
|
|
}
|
|
|
|
|
this.childTableData.push(data)
|
|
|
|
|
},
|
|
|
|
@ -811,11 +813,12 @@ export default {
|
|
|
|
|
this.$message.error('请先保存订舱信息')
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
this.YarnLoading = true
|
|
|
|
|
GetYardData({
|
|
|
|
|
bookingId: this.id,
|
|
|
|
|
isWeb: false,
|
|
|
|
|
isWeb: false
|
|
|
|
|
})
|
|
|
|
|
.then((res) => {
|
|
|
|
|
.then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
const data = JSON.parse(res.data)
|
|
|
|
|
const addTable = []
|
|
|
|
@ -833,7 +836,7 @@ export default {
|
|
|
|
|
cbm: item.CBM,
|
|
|
|
|
tareweight: item.TAREWEIGHT,
|
|
|
|
|
weightype: '',
|
|
|
|
|
weighkgs: '',
|
|
|
|
|
weighkgs: ''
|
|
|
|
|
}
|
|
|
|
|
addTable.push(_data)
|
|
|
|
|
})
|
|
|
|
@ -842,9 +845,11 @@ export default {
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(res.message)
|
|
|
|
|
}
|
|
|
|
|
this.YarnLoading = false
|
|
|
|
|
})
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
.catch(err => {
|
|
|
|
|
console.log(err)
|
|
|
|
|
this.YarnLoading = false
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
@ -853,11 +858,12 @@ export default {
|
|
|
|
|
this.$message.error('请先保存订舱信息')
|
|
|
|
|
return false
|
|
|
|
|
}
|
|
|
|
|
this.WeightLoading = true
|
|
|
|
|
GetYardData({
|
|
|
|
|
bookingId: this.id,
|
|
|
|
|
isWeb: false,
|
|
|
|
|
isWeb: false
|
|
|
|
|
})
|
|
|
|
|
.then((res) => {
|
|
|
|
|
.then(res => {
|
|
|
|
|
if (res.success) {
|
|
|
|
|
const data = JSON.parse(res.data)
|
|
|
|
|
const addTable = []
|
|
|
|
@ -884,9 +890,11 @@ export default {
|
|
|
|
|
} else {
|
|
|
|
|
this.$message.error(res.message)
|
|
|
|
|
}
|
|
|
|
|
this.WeightLoading = false
|
|
|
|
|
})
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
.catch(err => {
|
|
|
|
|
console.log(err)
|
|
|
|
|
this.WeightLoading = false
|
|
|
|
|
})
|
|
|
|
|
},
|
|
|
|
|
log({ data, selectionRangeIndexes, selectionRangeKeys }) {
|
|
|
|
@ -980,8 +988,8 @@ export default {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return sum
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
<style lang="less">
|
|
|
|
|