Commit b9cb9576 authored by 赵啸非's avatar 赵啸非

修改站点请求地址

parent 52713f81
......@@ -373,6 +373,7 @@ export default {
toString: [],
defaultConfig: {
search: [], // 头部搜索配置
tableName:"",
columns: [], // 表格列信息配置
addQuery: {}, // 新增按钮携带的参数
buttons: [], // 增加查询区域自定义操作按钮,格式:[{label:'按钮显示名称',isShow:是否显示true/false,loading:true/false,type:'类型',icon:'图标',method:function(){}}]
......
......@@ -156,6 +156,7 @@
v-if="showType == 'table'"
:tableData="data.data"
:columns="config.columns"
:ref="config.tableName"
:loading="data.loading"
:tableRowClassName="config.methods.tableRowClassName"
:handleSpanMethod="config.methods.handleSpanMethod"
......
// 管理后台通用表格,含:搜索,分页,表格
<template>
<div class="layout-table" :loading='data.loading'>
<div class="table-head flex flex-pack-justify">
<div class="table-head-left flex flex-align-center">
<slot name='breadcrumb'>
<Breadcrumb />
</slot>
<div class="buttons">
<slot name='table-head-left'></slot>
<slot name='table-head-center'>
<el-button v-if='isShowButton("notAdd")' type='primary' icon="el-icon-plus" size='mini' @click='config.methods.add' title="新增"></el-button>
<el-button v-if='isShowBtn("import")' size='mini' @click='config.methods.importView' class="el-icon-upload2" title="导入"></el-button>
<Confirm v-if='isShowButton("notDel")' @confirm='config.methods.del' message='确定要删除选中的多条记录吗?'>
<el-button icon="el-icon-delete" type="danger" size='mini' title="删除"></el-button>
</Confirm>
<el-button @click='item.method' size='mini' :key="item.label" :icon='item.icon' :type ='item.type' :loading="item.loading" v-if="item.isShow" v-for='(item) in config.buttons' circle :title="item.label"></el-button>
<el-button v-if='isShowBtn("back")' @click='config.methods.back' size='mini' icon='el-icon-back' circle title="返回"></el-button>
</slot>
<slot name='table-head-left2'></slot>
</div>
</div>
<div class="table-head-right">
<div class="extend flex flex-pack-justify">
<slot name='table-head-right'></slot>
<div>
<el-tooltip content="查询" placement="top" v-if='isShowButton("notSearch")'>
<el-button icon="el-icon-search" circle size='mini' @click='showSearch = !showSearch'></el-button>
</el-tooltip>
<el-tooltip content="刷新" placement="top" v-if='isShowButton("notFresh")'>
<el-button icon="el-icon-refresh" circle size='mini' @click='config.methods.refresh'></el-button>
</el-tooltip>
</div>
<el-radio-group v-model="showType" size='mini' v-if='isMobile'>
<el-radio-button label="card"><i class="el-icon-menu"></i></el-radio-button>
<el-radio-button label="table"><i class="el-icon-tickets"></i></el-radio-button>
<el-radio-button label="treetable"><i class="el-icon-tickets"></i></el-radio-button>
</el-radio-group>
<slot name='table-head-right2'></slot>
</div>
</div>
</div>
<!-- 表格查询条件-->
<div class="table-form" v-if='!isShowButton("notSearch") ? false : showSearch'>
<slot name="table-search-left"></slot>
<SearchForm :search='config.search' :table='data'
:downloadUrl='config.downloadUrl'
:areaSelect='config.areaSelect'
/>
</div>
<!-- 表格主体 -->
<div class="table-body">
<slot name='table-body-head'></slot>
<slot>
<DataTableMobile
v-if='showType == "card"'
:tableData='data.data'
:columns='config.columns'
:tableRowClassName='config.methods.tableRowClassName'
:handleSelectionChange='config.methods.handleSelectionChange'
:handleRowClick='config.methods.handleRowClick'/>
<DataTable
v-if='showType == "table"'
:tableData='data.data'
:columns='config.columns'
:loading='data.loading'
:tableRowClassName='config.methods.tableRowClassName'
:handleSpanMethod='config.methods.handleSpanMethod'
:handleSortChange='config.methods.handleSortChange'
:handleSelectionChange='config.methods.handleSelectionChange'
:handleRowClick='config.methods.handleRowClick'/>
<DataTableFlow
v-if='showType == "tableFlow"'
:tableData='data.data'
:columns='config.columns'
:dict='data.dict'
:loading='data.loading'
:tableRowClassName='config.methods.tableRowClassName'
:handleSpanMethod='config.methods.handleSpanMethod'
:handleSortChange='config.methods.handleSortChange'
:handleSelectionChange='config.methods.handleSelectionChange'
:handleRowClick='config.methods.handleRowClick'/>
<DataTreeTable
v-if='showType == "treetable"'
:tableData='data.data'
:columns='config.columns'
:loading='data.loading'
:expand='config.expand'
:tableRowClassName='config.methods.tableRowClassName'
:handleSpanMethod='config.methods.handleSpanMethod'
:handleSortChange='config.methods.handleSortChange'
:handleSelectionChange='config.methods.handleSelectionChange'
:handleRowClick='config.methods.handleRowClick'/>
</slot>
</div>
<!-- 分页器 -->
<div class="table-foot" v-if='!isShowButton("notPagination") ? false : data.pageInfo.totalResult'>
<Pagination :total='data.pageInfo.totalResult' :prePageResult='data.pageInfo.prePageResult'/>
</div>
</div>
</template>
<script>
import Pagination from '@/components/Pagination.vue';
import SearchForm from '@/components/SearchForm.vue';
import Confirm from '@/components/Confirm.vue';
import DataTable from '@/components/DataTable.vue';
import DataTableMobile from './DataTableMobile.js';
import DataTableFlow from './DataTableFlow.vue';
import DataTreeTable from '@/components/DataTreeTable.vue';
export default {
props: {
data: {
type: Object,
required: true,
default: () => {}
},
config: {
type: Object,
required: true,
default: () => {}
}
},
components: {
SearchForm,
Pagination,
Confirm,
DataTable,
DataTableMobile,
DataTableFlow,
DataTreeTable
},
methods: {
// 根据url的query参数判断是否展示查询条件
isShowSearch(query) {
if (!this.config.showSearch) {
return false
}
let showSearch = false;
Object.keys(query).forEach(item=>{
if(/^query\./.test(item)){
showSearch = true;
return;
}
});
if (this.config.showSearch) {
showSearch = true;
}
return showSearch;
},
isShowButton(name) {
return this.canShow.indexOf(name) === -1;
},
isShowBtn(name) {
return this.canShow.indexOf(name) !== -1;
},
},
watch: {
'$route'(route) {
this.showSearch = this.isShowSearch(route.query)
},
},
computed: {
isMobile() {
return this.$store.state.isMobile
},
canShow() {
this.showType=this.config.showType?this.config.showType:'table'
return Object.keys(this.$attrs) || [];
}
},
data() {
return {
loading: this.config.loading,
showSearch: this.isShowSearch(this.$route.query),
showType: 'table',
}
}
}
</script>
<style lang="less">
@media screen and (max-width: 800px){
.layout-table{
.table-head{
display: block;
width: 100%;
.el-button{
margin-bottom: 5px;
}
.table-head-left{
margin-bottom: 10px;
display: block;
width: 100%;
}
.el-breadcrumb{
margin-bottom: 10px;
display: block;
width: 100%;
}
}
}
}
.layout-table{
.table-head{
margin-bottom: 10px;
padding-bottom: 12px;
border-bottom: 1px solid #ededed;
.el-breadcrumb{
margin-right: 30px;
}
.table-head-left .buttons{
button + button{ margin-left: 10px}
button + span{ margin-left: 10px}
span + span{ margin-left: 10px}
span + button{ margin-left: 10px}
}
}
.table-form{
padding-top: 10px;
margin-top: 10px;
overflow: hidden;
}
.search-form-wapper{
float: left;
}
.table-foot{
width: 100%;
overflow: auto;
}
&[loading]{
pointer-events: none;
.my-compontent-switch span,
.el-button,
.el-input,
.el-tag,
input{
background: #eee;
color: transparent;
border-color: #eee;
}
input{color: #ccc}
td, th{
color: #eee;
}
.el-pagination{
color: #eee;
span, input, button, li{
color: #eee;
}
}
}
}
</style>
\ No newline at end of file
......@@ -460,7 +460,7 @@ export default {
if (res.code == 1) {
this.$message.success("批量更新大厅设备成功!");
this.hallDialog.open=false;
this.$refs.table.clearSelection();
this.selection=[]
this.getData();
}
......@@ -618,6 +618,7 @@ export default {
config: {
getsocketData: null,
tableName:"table",
search: [
{
name: "deviceName",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment