Compare commits

...

2 Commits

  1. 2
      PC/InterFace.New/public/config.js
  2. 156
      PC/InterFace.New/src/components/arrayTableDialog/index.vue
  3. 2
      PC/InterFace.New/src/components/commonTabel-drawer/index.vue
  4. 2
      PC/InterFace.New/src/components/rowDrop/index.vue
  5. 2
      PC/InterFace.New/src/components/showCopyJsonPop/index.vue
  6. 31
      PC/InterFace.New/src/components/umyTable/index.vue
  7. 1
      PC/InterFace.New/src/filters/index.js
  8. 2
      PC/InterFace.New/src/mixins/TableMixins.js
  9. 100
      PC/InterFace.New/src/utils/baseData/urlOption.js
  10. 106
      PC/InterFace.New/src/views/menuList/FromEsb_ReceiptDet.vue
  11. 106
      PC/InterFace.New/src/views/menuList/FromEsb_UnplannedReceipt.vue
  12. 102
      PC/InterFace.New/src/views/menuList/ToScp_UnplannedReceipt.vue

2
PC/InterFace.New/public/config.js

@ -1,6 +1,8 @@
// dev_win
window.SITE_CONFIG['baseApi'] = 'http://dev.ccwin-in.com:20016'
window.SITE_CONFIG['authApi'] = 'http://dev.ccwin-in.com:20015'
// window.SITE_CONFIG['baseApi'] = 'http://192.168.1.75:60081'
// window.SITE_CONFIG['authApi'] = 'http://192.168.1.75:60080'
window.SITE_CONFIG['businessApi'] = 'http://dev.ccwin-in.com:20003'
//是否登录配置信息【loginName】
window.SITE_CONFIG['isConfigLogin'] = false

156
PC/InterFace.New/src/components/arrayTableDialog/index.vue

@ -0,0 +1,156 @@
<template>
<!-- 组件功能查看json及复制 -->
<div class="arrayTableDialog">
<!-- 点开查看Json转换后table弹窗 -->
<el-dialog
top="50px"
:visible.sync="JsonTableShow"
:modal-append-to-body="true"
:append-to-body="true"
:show-close="true"
:close-on-click-modal="true"
:close-on-press-escape="true"
width="90%"
@close="closePop"
>
<template #title>
内容详情
<el-button
size="mini"
@click="copyJsonHandle()"
type="primary"
style="margin-right: 30px;float: right;"
>复制数据</el-button>
</template>
<umyTable
:isShowIndex="true"
:tableBorder="true"
:setUTableHeight="170"
:row-key="null"
:tableData="arrTableData"
:tableColumns="arrTableColumns"
:selectionTable="false"
></umyTable>
</el-dialog>
<!-- json复制内容弹窗 -->
<el-dialog
top="50px"
:visible.sync="JsonCopyShow"
:modal-append-to-body="false"
:append-to-body="true"
:show-close="true"
:close-on-click-modal="true"
:close-on-press-escape="true"
:title="'数据详情'"
>
<el-input
class="copyJsonTextarea"
ref="copyJsonTextarea_ref"
type="textarea"
readonly
autosize
resize="none"
v-model="JsonCopyData"
></el-input>
</el-dialog>
</div>
</template>
<script>
import { LoadingMixins } from "@/mixins/LoadingMixins";
import { tableMixins } from "@/mixins/TableMixins"
export default {
name:"arrayTableDialog",
mixins:[ LoadingMixins,tableMixins ],
props: {
// Json
arrTableData:{
type: Array,
default: null,
},
},
data () {
return {
JsonTableShow:true,//Jsontable
JsonTableData:null,//json
JsonCopyData:null,//Json
JsonCopyShow:false,//Dialog
arrTableColumns:null,//
}
},
mounted(){
this.initData()
},
methods: {
//
initData(){
//
this.arrTableColumns = []
for(let i in this.arrTableData[0]){
this.arrTableColumns.push({
prop:i,
label:i
})
}
//
this.JsonCopyData = JSON.stringify(this.arrTableData, null, '\t')
},
//
closePop() {
this.JsonTableShow = false
this.$emit("closePop")
},
//
copyJsonInputHandle(type){
if(type == 'error')this.$message.error('复制失败');
if(type == 'success')this.$message.success('复制成功');
if(this.$refs.copyJsonTextarea_ref){
this.$refs.copyJsonTextarea_ref.focus()
this.$refs.copyJsonTextarea_ref.$refs.textarea.scrollTop = 0
}
},
//
copyJsonHandle(){
this.JsonCopyShow = true
if (navigator.clipboard && window.isSecureContext) {
navigator.clipboard.writeText(this.JsonCopyData)
.then(() => {
this.copyJsonInputHandle('success')
})
.catch(err => {
this.copyJsonInputHandle('error')
});
}else {
// text area
const textArea = document.createElement('textarea')
textArea.value = this.JsonCopyData
// 使text areaviewport
document.body.appendChild(textArea)
textArea.focus()
textArea.select()
return new Promise((resolve, reject) => {
//
document.execCommand('copy') ? resolve() : reject(new Error('出错了'))
textArea.remove()
}).then(() => {
this.$nextTick(()=>{
this.copyJsonInputHandle('success')
})
},() => {
this.copyJsonInputHandle('error')
})
}
},
}
}
</script>
<style lang="scss" scoped>
::v-deep .copyJsonTextarea{
textarea{
max-height: calc(100vh - 220px) !important;
overflow: auto !important;
}
}
</style>

2
PC/InterFace.New/src/components/commonTabel-drawer/index.vue

@ -344,7 +344,7 @@ export default {
this.masterColums = initApiColumnsForDto(this.propsData.masterInfo,_master_name,this)
}
// 使
if(this.propsData.details){
if(this.propsData.details && this.propsData.details.length > 0){
this.initDropdownTabsData.push({
label: "明细",
name: 'mx'

2
PC/InterFace.New/src/components/rowDrop/index.vue

@ -123,6 +123,7 @@ export default {
//
formatData (val) {
this.dataList = JSON.parse(JSON.stringify(val))
if(!this.dataList)return
this.dataList.forEach(item => {
if (item.istrue == undefined) {
item.istrue = true
@ -172,6 +173,7 @@ export default {
},
//
initSelectSta(){
if(!this.dataList)return
let _num = 0
this.dataList.forEach(item=>{
if(item.istrue){

2
PC/InterFace.New/src/components/showCopyJsonPop/index.vue

@ -197,7 +197,7 @@ export default {
for(let h in _json[item][0]){
this.detailTableHeader.push(h)
}
let _value = (item).toUpperCase() == 'DETAILS' ? _json[item] : (_json[item]).join(",")
let _value = ((item).toUpperCase() == 'DETAILS' || typeof _json[item] == 'object') ? _json[item] : (_json[item]).join(",")
_arr.push({name:item,value:_value})
}
//

31
PC/InterFace.New/src/components/umyTable/index.vue

@ -213,6 +213,13 @@
@closePop="closeJsonPop"
></showCopyJsonPop>
<!-- 查看Array列表 -->
<arrayTableDialog
v-if="showArrayTableDialog"
:arrTableData="showArrayTableData"
@closePop="closeArrayTablePop"
></arrayTableDialog>
</u-table>
</template>
<script>
@ -220,11 +227,12 @@ import { formatTimeStrToStr } from "@/utils/formatTime";
import _ from "lodash";
import { getMatchRegConformValue } from "@/utils/index"
import showCopyJsonPop from "@/components/showCopyJsonPop"
import arrayTableDialog from "@/components/arrayTableDialog"
import permission from "@/directive/permission/index"
export default {
name: "currenTable",
directives: { permission },
components:{ showCopyJsonPop },
components:{ showCopyJsonPop,arrayTableDialog },
filters: {
formatDate(time) {
if (time == null) {
@ -356,6 +364,8 @@ export default {
showDetailData:null,//
showJsonDialog:false,//Jsontable
showJsonData:null,//Json
showArrayTableDialog:false,//arraytable
showArrayTableData:null,//array
};
},
computed: {
@ -660,12 +670,21 @@ export default {
closeJsonPop(){
this.showJsonDialog = false
},
// jsontable
closeArrayTablePop(){
this.showArrayTableDialog = false
},
// jsontablejson
showJsonTable(row){
this.showJsonDialog = true
let _json = eval('(' + row + ')')
this.showJsonData = _json
},
// jsontableArray
showArrayTable(row){
this.showArrayTableDialog = true
let _json = eval('(' + row + ')')
this.showArrayTableData = _json
},
//
buttonClick(row, index, label) {
this.$emit("buttonClick", row, index, label);
@ -693,12 +712,16 @@ export default {
try {
let _json = JSON.parse(data)
//
if(typeof _json == 'number' && _json){
if((typeof _json == 'number' || typeof _json == 'boolean') && (_json || _json == '0' || _json == 'false')){
return [data,'show']
}else{
if (Array.isArray(_json)) {
return [data,'array']
} else {
return [data,'json']
}
}
}
//
catch(err){
return [data,'detail']
@ -706,8 +729,10 @@ export default {
},
//
showTypeHandle(type,row){
console.log(732,type)
if(type == 'detail')this.showDetailInfo(row)
if(type == 'json')this.showJsonTable(row)
if(type == 'array')this.showArrayTable(row)
},
//
changeValue(prop,item,val) {

1
PC/InterFace.New/src/filters/index.js

@ -103,6 +103,7 @@ export function DialogTable(DialogTable) {
}
export function isTableColumns(data) {
let isData = JSON.parse(JSON.stringify(data))
if(!isData)return []
isData.forEach(item => {
if (!item.showProp) {
if (item.sortable == false) {

2
PC/InterFace.New/src/mixins/TableMixins.js

@ -278,7 +278,7 @@ export const tableMixins = {
this.tableDataDetails = JSON.parse(JSON.stringify(res))
// 数据处理
this.propsData = res
if (res.details) {
if (res.details && res.details.length > 0) {
// 表头处理
let _parentName = this.URLOption_detailList.substr(0,this.URLOption_detailList.indexOf('/'))
this.apiColumns_DetailsTable = this.initTableColumns(initApiColumnsForDto(res.details[0],_parentName,this),'detail_api')

100
PC/InterFace.New/src/utils/baseData/urlOption.js

@ -1,5 +1,37 @@
// 默认配置
export const defalutMasterId = 'masterId'
//开始------------------只有主表 FromEsb_ReceiptDet------------------
export const FromEsb_ReceiptDet = {
baseURL:'FromEsb_ReceiptDet/base',//主表-列表
detailURL:'FromEsb_ReceiptDet/Base/Get-By-Id',//主表-明细 + 明细-查看主表
hasDetail:false
}
//结束------------------------------------
//开始------------------只有主表 FromEsb_UnplannedReceipt------------------
export const FromEsb_UnplannedReceipt = {
baseURL:'FromEsb_UnplannedReceipt/base',//主表-列表
detailURL:'FromEsb_UnplannedReceipt/Base/Get-By-Id',//主表-明细 + 明细-查看主表
hasDetail:false
}
//结束------------------------------------
//开始------------------只有主表 FromScp_AsnDet------------------
export const FromScp_AsnDet = {
@ -99,61 +131,11 @@ export const FromWms_PoDet = {
//开始------------------只有主表 FromWms_PoMstr------------------
export const FromWms_PoMstr = {
baseURL:'FromWms_PoMstr/base',//主表-列表
detailURL:'FromWms_PoMstr/Base/Get-By-Id',//主表-明细 + 明细-查看主表
hasDetail:false
}
//结束------------------------------------
//开始------------------只有主表 FromWms_ReceiptDet------------------
export const FromWms_ReceiptDet = {
baseURL:'FromWms_ReceiptDet/base',//主表-列表
detailURL:'FromWms_ReceiptDet/Base/Get-By-Id',//主表-明细 + 明细-查看主表
hasDetail:false
}
//结束------------------------------------
//开始------------------只有主表 FromWms_ReceiptMstr------------------
export const FromWms_ReceiptMstr = {
baseURL:'FromWms_ReceiptMstr/base',//主表-列表
detailURL:'FromWms_ReceiptMstr/Base/Get-By-Id',//主表-明细 + 明细-查看主表
detailListURL:'FromWms_PoDet/Base',
masterId:'FromWms_PoMstrId',
hasDetail:false
}
//结束------------------------------------
//开始------------------只有主表 FromWms_UnplannedReceipt------------------
export const FromWms_UnplannedReceipt = {
baseURL:'FromWms_UnplannedReceipt/base',//主表-列表
detailURL:'FromWms_UnplannedReceipt/Base/Get-By-Id',//主表-明细 + 明细-查看主表
hasDetail:false
}
//结束------------------------------------
@ -261,9 +243,7 @@ export const ToScp_Part = {
export const ToScp_PoDet = {
baseURL:'ToScp_PoDet/base',//主表-列表
detailURL:'ToScp_PoDet/Base/Get-By-Id',//主表-明细 + 明细-查看主表
hasDetail:false
}
@ -277,9 +257,9 @@ export const ToScp_PoDet = {
export const ToScp_PoMstr = {
baseURL:'ToScp_PoMstr/base',//主表-列表
detailURL:'ToScp_PoMstr/Base/Get-By-Id',//主表-明细 + 明细-查看主表
detailListURL:'ToScp_PoDet/Base',
masterId:'ToScp_PoMstrId',
hasDetail:false
}
@ -304,13 +284,13 @@ export const ToScp_ReceiptDet = {
//开始------------------只有主表 ToScp_ReceiptMstr------------------
//开始------------------只有主表 ToScp_UnplannedReceipt------------------
export const ToScp_ReceiptMstr = {
export const ToScp_UnplannedReceipt = {
baseURL:'ToScp_ReceiptMstr/base',//主表-列表
baseURL:'ToScp_UnplannedReceipt/base',//主表-列表
detailURL:'ToScp_ReceiptMstr/Base/Get-By-Id',//主表-明细 + 明细-查看主表
detailURL:'ToScp_UnplannedReceipt/Base/Get-By-Id',//主表-明细 + 明细-查看主表
hasDetail:false

106
PC/InterFace.New/src/views/menuList/FromEsb_ReceiptDet.vue

@ -0,0 +1,106 @@
<template>
<div class="page-box" v-loading="Loading.tableLoading">
<tablePagination
ref="tablePagination_Ref"
v-if="apiColumns_Table"
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="apiColumns_Table"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
:buttonOperationList_left="buttonOperationClick_leftBase"
@buttonOperationClick_left="buttonOperationClick_left"
:tableSelection="true"
:selectionColumnHandle="selectionForUpdateReceiptStatusMany"
></tablePagination>
<!-- :buttonOperationList_left="buttonOperationClick_leftBase"
@buttonOperationClick_left="buttonOperationClick_left" -->
<curren-Drawer
ref="currenDrawer_Ref"
:title="apiColumns_DesTions"
@rowDrop="rowDrop"
:tableColumns="apiColumns_DetailsTable"
:tabsDesTions="apiColumns_DesTions"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:Butttondata="[]"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@handleCommand="drawerHandle"
@close-value="closeValue"
:totalCount="totalCountDetails"
:currentPage="oldSkipCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
:buttonOperationList_left="operationButtonsDetail"
></curren-Drawer>
<!-- 导出弹窗 -->
<exportDrop
v-if="displayDialog.exportDialog"
@closeDialog="closeExportDrop"
@exportDropSubmit="exportDropSubmit"
></exportDrop>
</div>
</template>
<script>
import { tableMixins } from "@/mixins/TableMixins";
import { LoadingMixins } from "@/mixins/LoadingMixins";
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins";
import { newAndEdiDialogMixins } from "@/mixins/newAndEdiDialogMixins"
import { mixins } from "@/mixins/mixins";
import { filterSelectMixins } from '@/mixins/filter-Select'
export default {
name: "FromEsb_ReceiptDet",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
filterSelectMixins,
newAndEdiDialogMixins
],
data() {
return {
//
currenButtonData: [
this.defaultExportBtn({
isRedundance:true,
isDetailExport:true
}),//
this.defaultUpReceiptStaManyBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
};
},
mounted() {
this.paging();
},
}
</script>
<style lang="scss" scoped>
@import "@/styles/basicData.scss";
</style>

106
PC/InterFace.New/src/views/menuList/FromEsb_UnplannedReceipt.vue

@ -0,0 +1,106 @@
<template>
<div class="page-box" v-loading="Loading.tableLoading">
<tablePagination
ref="tablePagination_Ref"
v-if="apiColumns_Table"
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="apiColumns_Table"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
:buttonOperationList_left="buttonOperationClick_leftBase"
@buttonOperationClick_left="buttonOperationClick_left"
:tableSelection="true"
:selectionColumnHandle="selectionForUpdateReceiptStatusMany"
></tablePagination>
<!-- :buttonOperationList_left="buttonOperationClick_leftBase"
@buttonOperationClick_left="buttonOperationClick_left" -->
<curren-Drawer
ref="currenDrawer_Ref"
:title="apiColumns_DesTions"
@rowDrop="rowDrop"
:tableColumns="apiColumns_DetailsTable"
:tabsDesTions="apiColumns_DesTions"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:Butttondata="[]"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@handleCommand="drawerHandle"
@close-value="closeValue"
:totalCount="totalCountDetails"
:currentPage="oldSkipCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
:buttonOperationList_left="operationButtonsDetail"
></curren-Drawer>
<!-- 导出弹窗 -->
<exportDrop
v-if="displayDialog.exportDialog"
@closeDialog="closeExportDrop"
@exportDropSubmit="exportDropSubmit"
></exportDrop>
</div>
</template>
<script>
import { tableMixins } from "@/mixins/TableMixins";
import { LoadingMixins } from "@/mixins/LoadingMixins";
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins";
import { newAndEdiDialogMixins } from "@/mixins/newAndEdiDialogMixins"
import { mixins } from "@/mixins/mixins";
import { filterSelectMixins } from '@/mixins/filter-Select'
export default {
name: "FromEsb_UnplannedReceipt",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
filterSelectMixins,
newAndEdiDialogMixins
],
data() {
return {
//
currenButtonData: [
this.defaultExportBtn({
isRedundance:true,
isDetailExport:true
}),//
this.defaultUpReceiptStaManyBtn(),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
};
},
mounted() {
this.paging();
},
}
</script>
<style lang="scss" scoped>
@import "@/styles/basicData.scss";
</style>

102
PC/InterFace.New/src/views/menuList/ToScp_UnplannedReceipt.vue

@ -0,0 +1,102 @@
<template>
<div class="page-box" v-loading="Loading.tableLoading">
<tablePagination
v-if="apiColumns_Table"
:currenButtonData="currenButtonData"
:tableData="tableData"
:tableLoading="Loading.tableLoading"
:tableColumns="apiColumns_Table"
@rowDrop="rowDrop"
:totalCount="totalCount"
:multipleSelection="multipleSelection"
:MaxResultCount="PageListParams.MaxResultCount"
@topbutton="topbutton"
@inlineDialog="inlineDialog"
@sortChange="sortChange"
@alertoldSkipCount="alertoldSkipCount"
@alterResultCount="alterResultCount"
@handleSelectionChange="handleSelectionChange"
:currentPageProps="oldSkipCount"
:quicklySearchOption="quicklySearchOption"
@quicklySearchClick="quicklySearchClick"
@quicklySearchClear="quicklySearchClear"
:primarySearchOption="primarySearchOption"
@overallSearchFormClick="overallSearchFormClick"
:httpOverallSearchData="httpOverallSearchData"
:buttonOperationList_left="buttonOperationClick_leftBase"
@buttonOperationClick_left="buttonOperationClick_left"
></tablePagination>
<!-- :buttonOperationList_left="buttonOperationClick_leftBase"
@buttonOperationClick_left="buttonOperationClick_left" -->
<curren-Drawer
ref="currenDrawer_Ref"
:title="apiColumns_DesTions"
@rowDrop="rowDrop"
:tableColumns="apiColumns_DetailsTable"
:tabsDesTions="apiColumns_DesTions"
:DrawerLoading="Loading.DrawerLoading"
:drawer="displayDialog.detailsDialog"
:propsData="propsData"
:Butttondata="[]"
@drawerShut="(val) => (displayDialog.detailsDialog = val)"
@drawerbutton="drawerbutton"
@handleCommand="drawerHandle"
@close-value="closeValue"
:totalCount="totalCountDetails"
:currentPage="oldSkipCountDetails"
:MaxResultCount="MaxResultCountDetails"
@alterResultCountDetails="alterResultCountDetails"
@alertoldSkipCountDetails="alertoldSkipCountDetails"
:buttonOperationList_left="operationButtonsDetail"
></curren-Drawer>
<!-- 导出弹窗 -->
<exportDrop
v-if="displayDialog.exportDialog"
@closeDialog="closeExportDrop"
@exportDropSubmit="exportDropSubmit"
></exportDrop>
</div>
</template>
<script>
import { tableMixins } from "@/mixins/TableMixins";
import { LoadingMixins } from "@/mixins/LoadingMixins";
import { drawerMixins } from "@/mixins/drawerMixins"
import { TableHeaderMixins } from "@/mixins/TableHeaderMixins";
import { newAndEdiDialogMixins } from "@/mixins/newAndEdiDialogMixins"
import { mixins } from "@/mixins/mixins";
import { filterSelectMixins } from '@/mixins/filter-Select'
export default {
name: "ToScp_UnplannedReceipt",
mixins: [
tableMixins,
LoadingMixins,
drawerMixins,
TableHeaderMixins,
mixins,
filterSelectMixins,
newAndEdiDialogMixins
],
data() {
return {
//
currenButtonData: [
this.defaultExportBtn({
isRedundance:true,
isDetailExport:true
}),//
this.defaultFieldSettingBtn(),//
this.defaultFreshBtn(),//
this.defaultFilterBtn(),//
],
};
},
mounted() {
this.paging();
},
}
</script>
<style lang="scss" scoped>
@import "@/styles/basicData.scss";
</style>
Loading…
Cancel
Save