@ -0,0 +1,524 @@
|
||||
<template>
|
||||
<div class="main-content">
|
||||
<!-- 列表页 -->
|
||||
<div v-if="showFlag">
|
||||
<el-form :inline="true" :model="searchForm" class="form-content">
|
||||
<el-row :gutter="20" class="slt" :style="{justifyContent:contents.searchBoxPosition=='1'?'flex-start':contents.searchBoxPosition=='2'?'center':'flex-end'}">
|
||||
<el-form-item :label="contents.inputTitle == 1 ? '名称' : ''">
|
||||
<el-input v-if="contents.inputIcon == 1 && contents.inputIconPosition == 1" prefix-icon="el-icon-search" v-model="searchForm.name" placeholder="名称" clearable></el-input>
|
||||
<el-input v-if="contents.inputIcon == 1 && contents.inputIconPosition == 2" suffix-icon="el-icon-search" v-model="searchForm.name" placeholder="名称" clearable></el-input>
|
||||
<el-input v-if="contents.inputIcon == 0" v-model="searchForm.name" placeholder="名称" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="contents.searchBtnIcon == 1 && contents.searchBtnIconPosition == 1" icon="el-icon-search" type="success" @click="search()">{{ contents.searchBtnFont == 1?'查询':'' }}</el-button>
|
||||
<el-button v-if="contents.searchBtnIcon == 1 && contents.searchBtnIconPosition == 2" type="success" @click="search()">{{ contents.searchBtnFont == 1?'查询':'' }}<i class="el-icon-search el-icon--right"/></el-button>
|
||||
<el-button v-if="contents.searchBtnIcon == 0" type="success" @click="search()">{{ contents.searchBtnFont == 1?'查询':'' }}</el-button>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row class="ad" :style="{justifyContent:contents.btnAdAllBoxPosition=='1'?'flex-start':contents.btnAdAllBoxPosition=='2'?'center':'flex-end'}">
|
||||
<el-form-item>
|
||||
<el-button
|
||||
v-if="isAuth('config','新增') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 1"
|
||||
type="success"
|
||||
icon="el-icon-plus"
|
||||
@click="addOrUpdateHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'新增':'' }}</el-button>
|
||||
<el-button
|
||||
v-if="isAuth('config','新增') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 2"
|
||||
type="success"
|
||||
@click="addOrUpdateHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'新增':'' }}<i class="el-icon-plus el-icon--right" /></el-button>
|
||||
<el-button
|
||||
v-if="isAuth('config','新增') && contents.btnAdAllIcon == 0"
|
||||
type="success"
|
||||
@click="addOrUpdateHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'新增':'' }}</el-button>
|
||||
<el-button
|
||||
v-if="isAuth('config','删除') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 1 && contents.tableSelection"
|
||||
:disabled="dataListSelections.length <= 0"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
@click="deleteHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'删除':'' }}</el-button>
|
||||
<el-button
|
||||
v-if="isAuth('config','删除') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 2 && contents.tableSelection"
|
||||
:disabled="dataListSelections.length <= 0"
|
||||
type="danger"
|
||||
@click="deleteHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'删除':'' }}<i class="el-icon-delete el-icon--right" /></el-button>
|
||||
<el-button
|
||||
v-if="isAuth('config','删除') && contents.btnAdAllIcon == 0 && contents.tableSelection"
|
||||
:disabled="dataListSelections.length <= 0"
|
||||
type="danger"
|
||||
@click="deleteHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'删除':'' }}</el-button>
|
||||
|
||||
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div class="table-content">
|
||||
<el-table class="tables" :size="contents.tableSize" :show-header="contents.tableShowHeader"
|
||||
:header-row-style="headerRowStyle" :header-cell-style="headerCellStyle"
|
||||
:border="contents.tableBorder"
|
||||
:fit="contents.tableFit"
|
||||
:stripe="contents.tableStripe"
|
||||
:row-style="rowStyle"
|
||||
:cell-style="cellStyle"
|
||||
:style="{width: '100%',fontSize:contents.tableContentFontSize,color:contents.tableContentFontColor}"
|
||||
v-if="isAuth('config','查看')"
|
||||
:data="dataList"
|
||||
v-loading="dataListLoading"
|
||||
@selection-change="selectionChangeHandler">
|
||||
<el-table-column v-if="contents.tableSelection"
|
||||
type="selection"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="50">
|
||||
</el-table-column>
|
||||
<el-table-column label="索引" v-if="contents.tableIndex" type="index" width="50" />
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
|
||||
prop="name"
|
||||
header-align="center"
|
||||
label="名称">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.name}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign" prop="value"
|
||||
header-align="center"
|
||||
width="200"
|
||||
label="值">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.value">
|
||||
<img :src="scope.row.value.split(',')[0]" width="100" height="100">
|
||||
</div>
|
||||
<div v-else>无图片</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="300" :align="contents.tableAlign"
|
||||
header-align="center"
|
||||
label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="isAuth('config','查看') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="success" icon="el-icon-tickets" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{{ contents.tableBtnFont == 1?'详情':'' }}</el-button>
|
||||
<el-button v-if="isAuth('config','查看') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="success" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{{ contents.tableBtnFont == 1?'详情':'' }}<i class="el-icon-tickets el-icon--right" /></el-button>
|
||||
<el-button v-if="isAuth('config','查看') && contents.tableBtnIcon == 0" type="success" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{{ contents.tableBtnFont == 1?'详情':'' }}</el-button>
|
||||
<el-button v-if="isAuth('config','修改') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="primary" icon="el-icon-edit" size="mini" @click="addOrUpdateHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'修改':'' }}</el-button>
|
||||
<el-button v-if="isAuth('config','修改') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="primary" size="mini" @click="addOrUpdateHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'修改':'' }}<i class="el-icon-edit el-icon--right" /></el-button>
|
||||
<el-button v-if="isAuth('config','修改') && contents.tableBtnIcon == 0" type="primary" size="mini" @click="addOrUpdateHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'修改':'' }}</el-button>
|
||||
|
||||
|
||||
|
||||
|
||||
<el-button v-if="isAuth('config','删除') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="danger" icon="el-icon-delete" size="mini" @click="deleteHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'删除':'' }}</el-button>
|
||||
<el-button v-if="isAuth('config','删除') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="danger" size="mini" @click="deleteHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'删除':'' }}<i class="el-icon-delete el-icon--right" /></el-button>
|
||||
<el-button v-if="isAuth('config','删除') && contents.tableBtnIcon == 0" type="danger" size="mini" @click="deleteHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'删除':'' }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
clsss="pages"
|
||||
:layout="layouts"
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
:current-page="pageIndex"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="Number(contents.pageEachNum)"
|
||||
:total="totalPage"
|
||||
:small="contents.pageStyle"
|
||||
class="pagination-content"
|
||||
:background="contents.pageBtnBG"
|
||||
:style="{textAlign:contents.pagePosition==1?'left':contents.pagePosition==2?'center':'right'}"
|
||||
></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 添加/修改页面 将父组件的search方法传递给子组件-->
|
||||
<add-or-update v-if="addOrUpdateFlag" :parent="this" ref="addOrUpdate"></add-or-update>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import AddOrUpdate from "./add-or-update";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
searchForm: {
|
||||
key: ""
|
||||
},
|
||||
dataList: [],
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
totalPage: 0,
|
||||
dataListLoading: false,
|
||||
dataListSelections: [],
|
||||
showFlag: true,
|
||||
sfshVisiable: false,
|
||||
shForm: {},
|
||||
chartVisiable: false,
|
||||
addOrUpdateFlag:false,
|
||||
contents:{"searchBtnFontColor":"#333","pagePosition":"1","inputFontSize":"14px","inputBorderRadius":"22px","tableBtnDelFontColor":"#333","tableBtnIconPosition":"1","searchBtnHeight":"40px","inputIconColor":"rgba(66, 130, 129, 1)","searchBtnBorderRadius":"22px","tableStripe":false,"btnAdAllWarnFontColor":"#333","tableBtnDelBgColor":"rgba(244, 150, 150, 1)","searchBtnIcon":"1","tableSize":"medium","searchBtnBorderStyle":"solid","tableSelection":true,"searchBtnBorderWidth":"1px","tableContentFontSize":"14px","searchBtnBgColor":"rgba(153, 239, 237, 1)","inputTitleSize":"14px","btnAdAllBorderColor":"#DCDFE6","pageJumper":true,"btnAdAllIconPosition":"1","searchBoxPosition":"1","tableBtnDetailFontColor":"#333","tableBtnHeight":"40px","pagePager":true,"searchBtnBorderColor":"#DCDFE6","tableHeaderFontColor":"rgba(33, 34, 35, 1)","inputTitle":"1","tableBtnBorderRadius":"22px","btnAdAllFont":"1","btnAdAllDelFontColor":"rgba(21, 20, 20, 1)","tableBtnIcon":"1","btnAdAllHeight":"40px","btnAdAllWarnBgColor":"rgba(238, 236, 126, 1)","btnAdAllBorderWidth":"1px","tableStripeFontColor":"#606266","tableBtnBorderStyle":"solid","inputHeight":"40px","btnAdAllBorderRadius":"22px","btnAdAllDelBgColor":"rgba(234, 93, 93, 0.69)","pagePrevNext":true,"btnAdAllAddBgColor":"rgba(153, 239, 237, 1)","searchBtnFont":"1","tableIndex":true,"btnAdAllIcon":"1","tableSortable":true,"pageSizes":true,"tableFit":true,"pageBtnBG":true,"searchBtnFontSize":"14px","tableBtnEditBgColor":"rgba(240, 242, 124, 1)","inputBorderWidth":"1px","inputFontPosition":"1","inputFontColor":"#333","pageEachNum":10,"tableHeaderBgColor":"rgba(152, 129, 129, 1)","inputTitleColor":"#333","btnAdAllBoxPosition":"1","tableBtnDetailBgColor":"rgba(171, 239, 239, 1)","inputIcon":"0","searchBtnIconPosition":"1","btnAdAllFontSize":"14px","inputBorderStyle":"solid","inputBgColor":"rgba(197, 174, 174, 0.32)","pageStyle":false,"pageTotal":true,"btnAdAllAddFontColor":"#333","tableBtnFont":"1","tableContentFontColor":"rgba(22, 22, 23, 1)","inputBorderColor":"rgba(152, 129, 129, 1)","tableShowHeader":true,"tableBtnFontSize":"14px","tableBtnBorderColor":"rgba(196, 210, 244, 1)","inputIconPosition":"1","tableBorder":true,"btnAdAllBorderStyle":"solid","tableBtnBorderWidth":"1px","tableStripeBgColor":"rgba(213, 197, 197, 1)","tableBtnEditFontColor":"#333","tableAlign":"center"},
|
||||
layouts: '',
|
||||
|
||||
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.init();
|
||||
this.getDataList();
|
||||
this.contentStyleChange()
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
filters: {
|
||||
htmlfilter: function (val) {
|
||||
return val.replace(/<[^>]*>/g).replace(/undefined/g,'');
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
},
|
||||
methods: {
|
||||
contentStyleChange() {
|
||||
this.contentSearchStyleChange()
|
||||
this.contentBtnAdAllStyleChange()
|
||||
this.contentSearchBtnStyleChange()
|
||||
this.contentTableBtnStyleChange()
|
||||
this.contentPageStyleChange()
|
||||
},
|
||||
contentSearchStyleChange() {
|
||||
this.$nextTick(()=>{
|
||||
document.querySelectorAll('.form-content .slt .el-input__inner').forEach(el=>{
|
||||
let textAlign = 'left'
|
||||
if(this.contents.inputFontPosition == 2) textAlign = 'center'
|
||||
if(this.contents.inputFontPosition == 3) textAlign = 'right'
|
||||
el.style.textAlign = textAlign
|
||||
el.style.height = this.contents.inputHeight
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
el.style.color = this.contents.inputFontColor
|
||||
el.style.fontSize = this.contents.inputFontSize
|
||||
el.style.borderWidth = this.contents.inputBorderWidth
|
||||
el.style.borderStyle = this.contents.inputBorderStyle
|
||||
el.style.borderColor = this.contents.inputBorderColor
|
||||
el.style.borderRadius = this.contents.inputBorderRadius
|
||||
el.style.backgroundColor = this.contents.inputBgColor
|
||||
})
|
||||
if(this.contents.inputTitle) {
|
||||
document.querySelectorAll('.form-content .slt .el-form-item__label').forEach(el=>{
|
||||
el.style.color = this.contents.inputTitleColor
|
||||
el.style.fontSize = this.contents.inputTitleSize
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
}
|
||||
setTimeout(()=>{
|
||||
document.querySelectorAll('.form-content .slt .el-input__prefix').forEach(el=>{
|
||||
el.style.color = this.contents.inputIconColor
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
document.querySelectorAll('.form-content .slt .el-input__suffix').forEach(el=>{
|
||||
el.style.color = this.contents.inputIconColor
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
document.querySelectorAll('.form-content .slt .el-input__icon').forEach(el=>{
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
},10)
|
||||
|
||||
})
|
||||
},
|
||||
// 搜索按钮
|
||||
contentSearchBtnStyleChange() {
|
||||
this.$nextTick(()=>{
|
||||
document.querySelectorAll('.form-content .slt .el-button--success').forEach(el=>{
|
||||
el.style.height = this.contents.searchBtnHeight
|
||||
el.style.color = this.contents.searchBtnFontColor
|
||||
el.style.fontSize = this.contents.searchBtnFontSize
|
||||
el.style.borderWidth = this.contents.searchBtnBorderWidth
|
||||
el.style.borderStyle = this.contents.searchBtnBorderStyle
|
||||
el.style.borderColor = this.contents.searchBtnBorderColor
|
||||
el.style.borderRadius = this.contents.searchBtnBorderRadius
|
||||
el.style.backgroundColor = this.contents.searchBtnBgColor
|
||||
})
|
||||
})
|
||||
},
|
||||
// 新增、批量删除
|
||||
contentBtnAdAllStyleChange() {
|
||||
this.$nextTick(()=>{
|
||||
document.querySelectorAll('.form-content .ad .el-button--success').forEach(el=>{
|
||||
el.style.height = this.contents.btnAdAllHeight
|
||||
el.style.color = this.contents.btnAdAllAddFontColor
|
||||
el.style.fontSize = this.contents.btnAdAllFontSize
|
||||
el.style.borderWidth = this.contents.btnAdAllBorderWidth
|
||||
el.style.borderStyle = this.contents.btnAdAllBorderStyle
|
||||
el.style.borderColor = this.contents.btnAdAllBorderColor
|
||||
el.style.borderRadius = this.contents.btnAdAllBorderRadius
|
||||
el.style.backgroundColor = this.contents.btnAdAllAddBgColor
|
||||
})
|
||||
document.querySelectorAll('.form-content .ad .el-button--danger').forEach(el=>{
|
||||
el.style.height = this.contents.btnAdAllHeight
|
||||
el.style.color = this.contents.btnAdAllDelFontColor
|
||||
el.style.fontSize = this.contents.btnAdAllFontSize
|
||||
el.style.borderWidth = this.contents.btnAdAllBorderWidth
|
||||
el.style.borderStyle = this.contents.btnAdAllBorderStyle
|
||||
el.style.borderColor = this.contents.btnAdAllBorderColor
|
||||
el.style.borderRadius = this.contents.btnAdAllBorderRadius
|
||||
el.style.backgroundColor = this.contents.btnAdAllDelBgColor
|
||||
})
|
||||
document.querySelectorAll('.form-content .ad .el-button--warning').forEach(el=>{
|
||||
el.style.height = this.contents.btnAdAllHeight
|
||||
el.style.color = this.contents.btnAdAllWarnFontColor
|
||||
el.style.fontSize = this.contents.btnAdAllFontSize
|
||||
el.style.borderWidth = this.contents.btnAdAllBorderWidth
|
||||
el.style.borderStyle = this.contents.btnAdAllBorderStyle
|
||||
el.style.borderColor = this.contents.btnAdAllBorderColor
|
||||
el.style.borderRadius = this.contents.btnAdAllBorderRadius
|
||||
el.style.backgroundColor = this.contents.btnAdAllWarnBgColor
|
||||
})
|
||||
})
|
||||
},
|
||||
// 表格
|
||||
rowStyle({ row, rowIndex}) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
if(this.contents.tableStripe) {
|
||||
return {color:this.contents.tableStripeFontColor}
|
||||
}
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
cellStyle({ row, rowIndex}){
|
||||
if (rowIndex % 2 == 1) {
|
||||
if(this.contents.tableStripe) {
|
||||
return {backgroundColor:this.contents.tableStripeBgColor}
|
||||
}
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
headerRowStyle({ row, rowIndex}){
|
||||
return {color: this.contents.tableHeaderFontColor}
|
||||
},
|
||||
headerCellStyle({ row, rowIndex}){
|
||||
return {backgroundColor: this.contents.tableHeaderBgColor}
|
||||
},
|
||||
// 表格按钮
|
||||
contentTableBtnStyleChange(){
|
||||
// this.$nextTick(()=>{
|
||||
// setTimeout(()=>{
|
||||
// document.querySelectorAll('.table-content .tables .el-table__body .el-button--success').forEach(el=>{
|
||||
// el.style.height = this.contents.tableBtnHeight
|
||||
// el.style.color = this.contents.tableBtnDetailFontColor
|
||||
// el.style.fontSize = this.contents.tableBtnFontSize
|
||||
// el.style.borderWidth = this.contents.tableBtnBorderWidth
|
||||
// el.style.borderStyle = this.contents.tableBtnBorderStyle
|
||||
// el.style.borderColor = this.contents.tableBtnBorderColor
|
||||
// el.style.borderRadius = this.contents.tableBtnBorderRadius
|
||||
// el.style.backgroundColor = this.contents.tableBtnDetailBgColor
|
||||
// })
|
||||
// document.querySelectorAll('.table-content .tables .el-table__body .el-button--primary').forEach(el=>{
|
||||
// el.style.height = this.contents.tableBtnHeight
|
||||
// el.style.color = this.contents.tableBtnEditFontColor
|
||||
// el.style.fontSize = this.contents.tableBtnFontSize
|
||||
// el.style.borderWidth = this.contents.tableBtnBorderWidth
|
||||
// el.style.borderStyle = this.contents.tableBtnBorderStyle
|
||||
// el.style.borderColor = this.contents.tableBtnBorderColor
|
||||
// el.style.borderRadius = this.contents.tableBtnBorderRadius
|
||||
// el.style.backgroundColor = this.contents.tableBtnEditBgColor
|
||||
// })
|
||||
// document.querySelectorAll('.table-content .tables .el-table__body .el-button--danger').forEach(el=>{
|
||||
// el.style.height = this.contents.tableBtnHeight
|
||||
// el.style.color = this.contents.tableBtnDelFontColor
|
||||
// el.style.fontSize = this.contents.tableBtnFontSize
|
||||
// el.style.borderWidth = this.contents.tableBtnBorderWidth
|
||||
// el.style.borderStyle = this.contents.tableBtnBorderStyle
|
||||
// el.style.borderColor = this.contents.tableBtnBorderColor
|
||||
// el.style.borderRadius = this.contents.tableBtnBorderRadius
|
||||
// el.style.backgroundColor = this.contents.tableBtnDelBgColor
|
||||
// })
|
||||
|
||||
// }, 50)
|
||||
// })
|
||||
},
|
||||
// 分页
|
||||
contentPageStyleChange(){
|
||||
let arr = []
|
||||
|
||||
if(this.contents.pageTotal) arr.push('total')
|
||||
if(this.contents.pageSizes) arr.push('sizes')
|
||||
if(this.contents.pagePrevNext){
|
||||
arr.push('prev')
|
||||
if(this.contents.pagePager) arr.push('pager')
|
||||
arr.push('next')
|
||||
}
|
||||
if(this.contents.pageJumper) arr.push('jumper')
|
||||
this.layouts = arr.join()
|
||||
this.contents.pageEachNum = 10
|
||||
},
|
||||
|
||||
init () {
|
||||
},
|
||||
search() {
|
||||
this.pageIndex = 1;
|
||||
this.getDataList();
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
let params = {
|
||||
page: this.pageIndex,
|
||||
limit: this.pageSize,
|
||||
sort: 'id',
|
||||
}
|
||||
if(this.searchForm.name!='' && this.searchForm.name!=undefined){
|
||||
params['name'] = '%' + this.searchForm.name + '%'
|
||||
}
|
||||
this.$http({
|
||||
url: "config/page",
|
||||
method: "get",
|
||||
params: params
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.dataList = data.data.list;
|
||||
this.totalPage = data.data.total;
|
||||
} else {
|
||||
this.dataList = [];
|
||||
this.totalPage = 0;
|
||||
}
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
// 每页数
|
||||
sizeChangeHandle(val) {
|
||||
this.pageSize = val;
|
||||
this.pageIndex = 1;
|
||||
this.getDataList();
|
||||
},
|
||||
// 当前页
|
||||
currentChangeHandle(val) {
|
||||
this.pageIndex = val;
|
||||
this.getDataList();
|
||||
},
|
||||
// 多选
|
||||
selectionChangeHandler(val) {
|
||||
this.dataListSelections = val;
|
||||
},
|
||||
// 添加/修改
|
||||
addOrUpdateHandler(id,type) {
|
||||
this.showFlag = false;
|
||||
this.addOrUpdateFlag = true;
|
||||
this.crossAddOrUpdateFlag = false;
|
||||
if(type!='info'){
|
||||
type = 'else';
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id,type);
|
||||
});
|
||||
},
|
||||
// 查看评论
|
||||
// 下载
|
||||
download(file){
|
||||
window.open(`${file}`)
|
||||
},
|
||||
// 删除
|
||||
deleteHandler(id) {
|
||||
var ids = id
|
||||
? [Number(id)]
|
||||
: this.dataListSelections.map(item => {
|
||||
return Number(item.id);
|
||||
});
|
||||
this.$confirm(`确定进行[${id ? "删除" : "批量删除"}]操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
this.$http({
|
||||
url: "config/delete",
|
||||
method: "post",
|
||||
data: ids
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.search();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.slt {
|
||||
margin: 0 !important;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.ad {
|
||||
margin: 0 !important;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.pages {
|
||||
& /deep/ el-pagination__sizes{
|
||||
& /deep/ el-input__inner {
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.el-button+.el-button {
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.tables {
|
||||
& /deep/ .el-button--success {
|
||||
height: 40px;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(196, 210, 244, 1);
|
||||
border-radius: 22px;
|
||||
background-color: rgba(171, 239, 239, 1);
|
||||
}
|
||||
|
||||
& /deep/ .el-button--primary {
|
||||
height: 40px;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(196, 210, 244, 1);
|
||||
border-radius: 22px;
|
||||
background-color: rgba(240, 242, 124, 1);
|
||||
}
|
||||
|
||||
& /deep/ .el-button--danger {
|
||||
height: 40px;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(196, 210, 244, 1);
|
||||
border-radius: 22px;
|
||||
background-color: rgba(244, 150, 150, 1);
|
||||
}
|
||||
|
||||
& /deep/ .el-button {
|
||||
margin: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
@ -0,0 +1,529 @@
|
||||
<template>
|
||||
<div class="main-content">
|
||||
<!-- 列表页 -->
|
||||
<div v-if="showFlag">
|
||||
<el-form :inline="true" :model="searchForm" class="form-content">
|
||||
<el-row :gutter="20" class="slt" :style="{justifyContent:contents.searchBoxPosition=='1'?'flex-start':contents.searchBoxPosition=='2'?'center':'flex-end'}">
|
||||
<el-form-item :label="contents.inputTitle == 1 ? '用户名' : ''">
|
||||
<el-input v-if="contents.inputIcon == 1 && contents.inputIconPosition == 1" prefix-icon="el-icon-search" v-model="searchForm.username" placeholder="用户名" clearable></el-input>
|
||||
<el-input v-if="contents.inputIcon == 1 && contents.inputIconPosition == 2" suffix-icon="el-icon-search" v-model="searchForm.username" placeholder="用户名" clearable></el-input>
|
||||
<el-input v-if="contents.inputIcon == 0" v-model="searchForm.username" placeholder="用户名" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="contents.searchBtnIcon == 1 && contents.searchBtnIconPosition == 1" icon="el-icon-search" type="success" @click="search()">{{ contents.searchBtnFont == 1?'查询':'' }}</el-button>
|
||||
<el-button v-if="contents.searchBtnIcon == 1 && contents.searchBtnIconPosition == 2" type="success" @click="search()">{{ contents.searchBtnFont == 1?'查询':'' }}<i class="el-icon-search el-icon--right"/></el-button>
|
||||
<el-button v-if="contents.searchBtnIcon == 0" type="success" @click="search()">{{ contents.searchBtnFont == 1?'查询':'' }}</el-button>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row class="ad" :style="{justifyContent:contents.btnAdAllBoxPosition=='1'?'flex-start':contents.btnAdAllBoxPosition=='2'?'center':'flex-end'}">
|
||||
<el-form-item>
|
||||
<el-button
|
||||
v-if="isAuth('users','新增') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 1"
|
||||
type="success"
|
||||
icon="el-icon-plus"
|
||||
@click="addOrUpdateHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'新增':'' }}</el-button>
|
||||
<el-button
|
||||
v-if="isAuth('users','新增') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 2"
|
||||
type="success"
|
||||
@click="addOrUpdateHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'新增':'' }}<i class="el-icon-plus el-icon--right" /></el-button>
|
||||
<el-button
|
||||
v-if="isAuth('users','新增') && contents.btnAdAllIcon == 0"
|
||||
type="success"
|
||||
@click="addOrUpdateHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'新增':'' }}</el-button>
|
||||
<el-button
|
||||
v-if="isAuth('users','删除') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 1 && contents.tableSelection"
|
||||
:disabled="dataListSelections.length <= 0"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
@click="deleteHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'删除':'' }}</el-button>
|
||||
<el-button
|
||||
v-if="isAuth('users','删除') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 2 && contents.tableSelection"
|
||||
:disabled="dataListSelections.length <= 0"
|
||||
type="danger"
|
||||
@click="deleteHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'删除':'' }}<i class="el-icon-delete el-icon--right" /></el-button>
|
||||
<el-button
|
||||
v-if="isAuth('users','删除') && contents.btnAdAllIcon == 0 && contents.tableSelection"
|
||||
:disabled="dataListSelections.length <= 0"
|
||||
type="danger"
|
||||
@click="deleteHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'删除':'' }}</el-button>
|
||||
|
||||
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div class="table-content">
|
||||
<el-table class="tables" :size="contents.tableSize" :show-header="contents.tableShowHeader"
|
||||
:header-row-style="headerRowStyle" :header-cell-style="headerCellStyle"
|
||||
:border="contents.tableBorder"
|
||||
:fit="contents.tableFit"
|
||||
:stripe="contents.tableStripe"
|
||||
:row-style="rowStyle"
|
||||
:cell-style="cellStyle"
|
||||
:style="{width: '100%',fontSize:contents.tableContentFontSize,color:contents.tableContentFontColor}"
|
||||
v-if="isAuth('users','查看')"
|
||||
:data="dataList"
|
||||
v-loading="dataListLoading"
|
||||
@selection-change="selectionChangeHandler">
|
||||
<el-table-column v-if="contents.tableSelection"
|
||||
type="selection"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="50">
|
||||
</el-table-column>
|
||||
<el-table-column label="索引" v-if="contents.tableIndex" type="index" width="50" />
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
|
||||
prop="username"
|
||||
header-align="center"
|
||||
label="用户名">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.username}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
|
||||
prop="password"
|
||||
header-align="center"
|
||||
label="密码">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.password}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
|
||||
prop="role"
|
||||
header-align="center"
|
||||
label="角色">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.role}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="300" :align="contents.tableAlign"
|
||||
header-align="center"
|
||||
label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="isAuth('users','查看') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="success" icon="el-icon-tickets" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{{ contents.tableBtnFont == 1?'详情':'' }}</el-button>
|
||||
<el-button v-if="isAuth('users','查看') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="success" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{{ contents.tableBtnFont == 1?'详情':'' }}<i class="el-icon-tickets el-icon--right" /></el-button>
|
||||
<el-button v-if="isAuth('users','查看') && contents.tableBtnIcon == 0" type="success" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{{ contents.tableBtnFont == 1?'详情':'' }}</el-button>
|
||||
<el-button v-if="isAuth('users','修改') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="primary" icon="el-icon-edit" size="mini" @click="addOrUpdateHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'修改':'' }}</el-button>
|
||||
<el-button v-if="isAuth('users','修改') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="primary" size="mini" @click="addOrUpdateHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'修改':'' }}<i class="el-icon-edit el-icon--right" /></el-button>
|
||||
<el-button v-if="isAuth('users','修改') && contents.tableBtnIcon == 0" type="primary" size="mini" @click="addOrUpdateHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'修改':'' }}</el-button>
|
||||
|
||||
|
||||
|
||||
|
||||
<el-button v-if="isAuth('users','删除') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="danger" icon="el-icon-delete" size="mini" @click="deleteHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'删除':'' }}</el-button>
|
||||
<el-button v-if="isAuth('users','删除') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="danger" size="mini" @click="deleteHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'删除':'' }}<i class="el-icon-delete el-icon--right" /></el-button>
|
||||
<el-button v-if="isAuth('users','删除') && contents.tableBtnIcon == 0" type="danger" size="mini" @click="deleteHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'删除':'' }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
clsss="pages"
|
||||
:layout="layouts"
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
:current-page="pageIndex"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="Number(contents.pageEachNum)"
|
||||
:total="totalPage"
|
||||
:small="contents.pageStyle"
|
||||
class="pagination-content"
|
||||
:background="contents.pageBtnBG"
|
||||
:style="{textAlign:contents.pagePosition==1?'left':contents.pagePosition==2?'center':'right'}"
|
||||
></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 添加/修改页面 将父组件的search方法传递给子组件-->
|
||||
<add-or-update v-if="addOrUpdateFlag" :parent="this" ref="addOrUpdate"></add-or-update>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import AddOrUpdate from "./add-or-update";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
searchForm: {
|
||||
key: ""
|
||||
},
|
||||
dataList: [],
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
totalPage: 0,
|
||||
dataListLoading: false,
|
||||
dataListSelections: [],
|
||||
showFlag: true,
|
||||
sfshVisiable: false,
|
||||
shForm: {},
|
||||
chartVisiable: false,
|
||||
addOrUpdateFlag:false,
|
||||
contents:{"searchBtnFontColor":"#333","pagePosition":"1","inputFontSize":"14px","inputBorderRadius":"22px","tableBtnDelFontColor":"#333","tableBtnIconPosition":"1","searchBtnHeight":"40px","inputIconColor":"rgba(66, 130, 129, 1)","searchBtnBorderRadius":"22px","tableStripe":false,"btnAdAllWarnFontColor":"#333","tableBtnDelBgColor":"rgba(244, 150, 150, 1)","searchBtnIcon":"1","tableSize":"medium","searchBtnBorderStyle":"solid","tableSelection":true,"searchBtnBorderWidth":"1px","tableContentFontSize":"14px","searchBtnBgColor":"rgba(153, 239, 237, 1)","inputTitleSize":"14px","btnAdAllBorderColor":"#DCDFE6","pageJumper":true,"btnAdAllIconPosition":"1","searchBoxPosition":"1","tableBtnDetailFontColor":"#333","tableBtnHeight":"40px","pagePager":true,"searchBtnBorderColor":"#DCDFE6","tableHeaderFontColor":"rgba(33, 34, 35, 1)","inputTitle":"1","tableBtnBorderRadius":"22px","btnAdAllFont":"1","btnAdAllDelFontColor":"rgba(21, 20, 20, 1)","tableBtnIcon":"1","btnAdAllHeight":"40px","btnAdAllWarnBgColor":"rgba(238, 236, 126, 1)","btnAdAllBorderWidth":"1px","tableStripeFontColor":"#606266","tableBtnBorderStyle":"solid","inputHeight":"40px","btnAdAllBorderRadius":"22px","btnAdAllDelBgColor":"rgba(234, 93, 93, 0.69)","pagePrevNext":true,"btnAdAllAddBgColor":"rgba(153, 239, 237, 1)","searchBtnFont":"1","tableIndex":true,"btnAdAllIcon":"1","tableSortable":true,"pageSizes":true,"tableFit":true,"pageBtnBG":true,"searchBtnFontSize":"14px","tableBtnEditBgColor":"rgba(240, 242, 124, 1)","inputBorderWidth":"1px","inputFontPosition":"1","inputFontColor":"#333","pageEachNum":10,"tableHeaderBgColor":"rgba(152, 129, 129, 1)","inputTitleColor":"#333","btnAdAllBoxPosition":"1","tableBtnDetailBgColor":"rgba(171, 239, 239, 1)","inputIcon":"0","searchBtnIconPosition":"1","btnAdAllFontSize":"14px","inputBorderStyle":"solid","inputBgColor":"rgba(197, 174, 174, 0.32)","pageStyle":false,"pageTotal":true,"btnAdAllAddFontColor":"#333","tableBtnFont":"1","tableContentFontColor":"rgba(22, 22, 23, 1)","inputBorderColor":"rgba(152, 129, 129, 1)","tableShowHeader":true,"tableBtnFontSize":"14px","tableBtnBorderColor":"rgba(196, 210, 244, 1)","inputIconPosition":"1","tableBorder":true,"btnAdAllBorderStyle":"solid","tableBtnBorderWidth":"1px","tableStripeBgColor":"rgba(213, 197, 197, 1)","tableBtnEditFontColor":"#333","tableAlign":"center"},
|
||||
layouts: '',
|
||||
|
||||
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.init();
|
||||
this.getDataList();
|
||||
this.contentStyleChange()
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
filters: {
|
||||
htmlfilter: function (val) {
|
||||
return val.replace(/<[^>]*>/g).replace(/undefined/g,'');
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
},
|
||||
methods: {
|
||||
contentStyleChange() {
|
||||
this.contentSearchStyleChange()
|
||||
this.contentBtnAdAllStyleChange()
|
||||
this.contentSearchBtnStyleChange()
|
||||
this.contentTableBtnStyleChange()
|
||||
this.contentPageStyleChange()
|
||||
},
|
||||
contentSearchStyleChange() {
|
||||
this.$nextTick(()=>{
|
||||
document.querySelectorAll('.form-content .slt .el-input__inner').forEach(el=>{
|
||||
let textAlign = 'left'
|
||||
if(this.contents.inputFontPosition == 2) textAlign = 'center'
|
||||
if(this.contents.inputFontPosition == 3) textAlign = 'right'
|
||||
el.style.textAlign = textAlign
|
||||
el.style.height = this.contents.inputHeight
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
el.style.color = this.contents.inputFontColor
|
||||
el.style.fontSize = this.contents.inputFontSize
|
||||
el.style.borderWidth = this.contents.inputBorderWidth
|
||||
el.style.borderStyle = this.contents.inputBorderStyle
|
||||
el.style.borderColor = this.contents.inputBorderColor
|
||||
el.style.borderRadius = this.contents.inputBorderRadius
|
||||
el.style.backgroundColor = this.contents.inputBgColor
|
||||
})
|
||||
if(this.contents.inputTitle) {
|
||||
document.querySelectorAll('.form-content .slt .el-form-item__label').forEach(el=>{
|
||||
el.style.color = this.contents.inputTitleColor
|
||||
el.style.fontSize = this.contents.inputTitleSize
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
}
|
||||
setTimeout(()=>{
|
||||
document.querySelectorAll('.form-content .slt .el-input__prefix').forEach(el=>{
|
||||
el.style.color = this.contents.inputIconColor
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
document.querySelectorAll('.form-content .slt .el-input__suffix').forEach(el=>{
|
||||
el.style.color = this.contents.inputIconColor
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
document.querySelectorAll('.form-content .slt .el-input__icon').forEach(el=>{
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
},10)
|
||||
|
||||
})
|
||||
},
|
||||
// 搜索按钮
|
||||
contentSearchBtnStyleChange() {
|
||||
this.$nextTick(()=>{
|
||||
document.querySelectorAll('.form-content .slt .el-button--success').forEach(el=>{
|
||||
el.style.height = this.contents.searchBtnHeight
|
||||
el.style.color = this.contents.searchBtnFontColor
|
||||
el.style.fontSize = this.contents.searchBtnFontSize
|
||||
el.style.borderWidth = this.contents.searchBtnBorderWidth
|
||||
el.style.borderStyle = this.contents.searchBtnBorderStyle
|
||||
el.style.borderColor = this.contents.searchBtnBorderColor
|
||||
el.style.borderRadius = this.contents.searchBtnBorderRadius
|
||||
el.style.backgroundColor = this.contents.searchBtnBgColor
|
||||
})
|
||||
})
|
||||
},
|
||||
// 新增、批量删除
|
||||
contentBtnAdAllStyleChange() {
|
||||
this.$nextTick(()=>{
|
||||
document.querySelectorAll('.form-content .ad .el-button--success').forEach(el=>{
|
||||
el.style.height = this.contents.btnAdAllHeight
|
||||
el.style.color = this.contents.btnAdAllAddFontColor
|
||||
el.style.fontSize = this.contents.btnAdAllFontSize
|
||||
el.style.borderWidth = this.contents.btnAdAllBorderWidth
|
||||
el.style.borderStyle = this.contents.btnAdAllBorderStyle
|
||||
el.style.borderColor = this.contents.btnAdAllBorderColor
|
||||
el.style.borderRadius = this.contents.btnAdAllBorderRadius
|
||||
el.style.backgroundColor = this.contents.btnAdAllAddBgColor
|
||||
})
|
||||
document.querySelectorAll('.form-content .ad .el-button--danger').forEach(el=>{
|
||||
el.style.height = this.contents.btnAdAllHeight
|
||||
el.style.color = this.contents.btnAdAllDelFontColor
|
||||
el.style.fontSize = this.contents.btnAdAllFontSize
|
||||
el.style.borderWidth = this.contents.btnAdAllBorderWidth
|
||||
el.style.borderStyle = this.contents.btnAdAllBorderStyle
|
||||
el.style.borderColor = this.contents.btnAdAllBorderColor
|
||||
el.style.borderRadius = this.contents.btnAdAllBorderRadius
|
||||
el.style.backgroundColor = this.contents.btnAdAllDelBgColor
|
||||
})
|
||||
document.querySelectorAll('.form-content .ad .el-button--warning').forEach(el=>{
|
||||
el.style.height = this.contents.btnAdAllHeight
|
||||
el.style.color = this.contents.btnAdAllWarnFontColor
|
||||
el.style.fontSize = this.contents.btnAdAllFontSize
|
||||
el.style.borderWidth = this.contents.btnAdAllBorderWidth
|
||||
el.style.borderStyle = this.contents.btnAdAllBorderStyle
|
||||
el.style.borderColor = this.contents.btnAdAllBorderColor
|
||||
el.style.borderRadius = this.contents.btnAdAllBorderRadius
|
||||
el.style.backgroundColor = this.contents.btnAdAllWarnBgColor
|
||||
})
|
||||
})
|
||||
},
|
||||
// 表格
|
||||
rowStyle({ row, rowIndex}) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
if(this.contents.tableStripe) {
|
||||
return {color:this.contents.tableStripeFontColor}
|
||||
}
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
cellStyle({ row, rowIndex}){
|
||||
if (rowIndex % 2 == 1) {
|
||||
if(this.contents.tableStripe) {
|
||||
return {backgroundColor:this.contents.tableStripeBgColor}
|
||||
}
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
headerRowStyle({ row, rowIndex}){
|
||||
return {color: this.contents.tableHeaderFontColor}
|
||||
},
|
||||
headerCellStyle({ row, rowIndex}){
|
||||
return {backgroundColor: this.contents.tableHeaderBgColor}
|
||||
},
|
||||
// 表格按钮
|
||||
contentTableBtnStyleChange(){
|
||||
// this.$nextTick(()=>{
|
||||
// setTimeout(()=>{
|
||||
// document.querySelectorAll('.table-content .tables .el-table__body .el-button--success').forEach(el=>{
|
||||
// el.style.height = this.contents.tableBtnHeight
|
||||
// el.style.color = this.contents.tableBtnDetailFontColor
|
||||
// el.style.fontSize = this.contents.tableBtnFontSize
|
||||
// el.style.borderWidth = this.contents.tableBtnBorderWidth
|
||||
// el.style.borderStyle = this.contents.tableBtnBorderStyle
|
||||
// el.style.borderColor = this.contents.tableBtnBorderColor
|
||||
// el.style.borderRadius = this.contents.tableBtnBorderRadius
|
||||
// el.style.backgroundColor = this.contents.tableBtnDetailBgColor
|
||||
// })
|
||||
// document.querySelectorAll('.table-content .tables .el-table__body .el-button--primary').forEach(el=>{
|
||||
// el.style.height = this.contents.tableBtnHeight
|
||||
// el.style.color = this.contents.tableBtnEditFontColor
|
||||
// el.style.fontSize = this.contents.tableBtnFontSize
|
||||
// el.style.borderWidth = this.contents.tableBtnBorderWidth
|
||||
// el.style.borderStyle = this.contents.tableBtnBorderStyle
|
||||
// el.style.borderColor = this.contents.tableBtnBorderColor
|
||||
// el.style.borderRadius = this.contents.tableBtnBorderRadius
|
||||
// el.style.backgroundColor = this.contents.tableBtnEditBgColor
|
||||
// })
|
||||
// document.querySelectorAll('.table-content .tables .el-table__body .el-button--danger').forEach(el=>{
|
||||
// el.style.height = this.contents.tableBtnHeight
|
||||
// el.style.color = this.contents.tableBtnDelFontColor
|
||||
// el.style.fontSize = this.contents.tableBtnFontSize
|
||||
// el.style.borderWidth = this.contents.tableBtnBorderWidth
|
||||
// el.style.borderStyle = this.contents.tableBtnBorderStyle
|
||||
// el.style.borderColor = this.contents.tableBtnBorderColor
|
||||
// el.style.borderRadius = this.contents.tableBtnBorderRadius
|
||||
// el.style.backgroundColor = this.contents.tableBtnDelBgColor
|
||||
// })
|
||||
|
||||
// }, 50)
|
||||
// })
|
||||
},
|
||||
// 分页
|
||||
contentPageStyleChange(){
|
||||
let arr = []
|
||||
|
||||
if(this.contents.pageTotal) arr.push('total')
|
||||
if(this.contents.pageSizes) arr.push('sizes')
|
||||
if(this.contents.pagePrevNext){
|
||||
arr.push('prev')
|
||||
if(this.contents.pagePager) arr.push('pager')
|
||||
arr.push('next')
|
||||
}
|
||||
if(this.contents.pageJumper) arr.push('jumper')
|
||||
this.layouts = arr.join()
|
||||
this.contents.pageEachNum = 10
|
||||
},
|
||||
|
||||
init () {
|
||||
},
|
||||
search() {
|
||||
this.pageIndex = 1;
|
||||
this.getDataList();
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
let params = {
|
||||
page: this.pageIndex,
|
||||
limit: this.pageSize,
|
||||
sort: 'id',
|
||||
}
|
||||
if(this.searchForm.username!='' && this.searchForm.username!=undefined){
|
||||
params['username'] = '%' + this.searchForm.username + '%'
|
||||
}
|
||||
this.$http({
|
||||
url: "users/page",
|
||||
method: "get",
|
||||
params: params
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.dataList = data.data.list;
|
||||
this.totalPage = data.data.total;
|
||||
} else {
|
||||
this.dataList = [];
|
||||
this.totalPage = 0;
|
||||
}
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
// 每页数
|
||||
sizeChangeHandle(val) {
|
||||
this.pageSize = val;
|
||||
this.pageIndex = 1;
|
||||
this.getDataList();
|
||||
},
|
||||
// 当前页
|
||||
currentChangeHandle(val) {
|
||||
this.pageIndex = val;
|
||||
this.getDataList();
|
||||
},
|
||||
// 多选
|
||||
selectionChangeHandler(val) {
|
||||
this.dataListSelections = val;
|
||||
},
|
||||
// 添加/修改
|
||||
addOrUpdateHandler(id,type) {
|
||||
this.showFlag = false;
|
||||
this.addOrUpdateFlag = true;
|
||||
this.crossAddOrUpdateFlag = false;
|
||||
if(type!='info'){
|
||||
type = 'else';
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id,type);
|
||||
});
|
||||
},
|
||||
// 查看评论
|
||||
// 下载
|
||||
download(file){
|
||||
window.open(`${file}`)
|
||||
},
|
||||
// 删除
|
||||
deleteHandler(id) {
|
||||
var ids = id
|
||||
? [Number(id)]
|
||||
: this.dataListSelections.map(item => {
|
||||
return Number(item.id);
|
||||
});
|
||||
this.$confirm(`确定进行[${id ? "删除" : "批量删除"}]操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
this.$http({
|
||||
url: "users/delete",
|
||||
method: "post",
|
||||
data: ids
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.search();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.slt {
|
||||
margin: 0 !important;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.ad {
|
||||
margin: 0 !important;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.pages {
|
||||
& /deep/ el-pagination__sizes{
|
||||
& /deep/ el-input__inner {
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.el-button+.el-button {
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.tables {
|
||||
& /deep/ .el-button--success {
|
||||
height: 40px;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(196, 210, 244, 1);
|
||||
border-radius: 22px;
|
||||
background-color: rgba(171, 239, 239, 1);
|
||||
}
|
||||
|
||||
& /deep/ .el-button--primary {
|
||||
height: 40px;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(196, 210, 244, 1);
|
||||
border-radius: 22px;
|
||||
background-color: rgba(240, 242, 124, 1);
|
||||
}
|
||||
|
||||
& /deep/ .el-button--danger {
|
||||
height: 40px;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(196, 210, 244, 1);
|
||||
border-radius: 22px;
|
||||
background-color: rgba(244, 150, 150, 1);
|
||||
}
|
||||
|
||||
& /deep/ .el-button {
|
||||
margin: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
@ -0,0 +1,572 @@
|
||||
<template>
|
||||
<div class="main-content">
|
||||
<!-- 列表页 -->
|
||||
<div v-if="showFlag">
|
||||
<el-form :inline="true" :model="searchForm" class="form-content">
|
||||
<el-row :gutter="20" class="slt" :style="{justifyContent:contents.searchBoxPosition=='1'?'flex-start':contents.searchBoxPosition=='2'?'center':'flex-end'}">
|
||||
<el-form-item :label="contents.inputTitle == 1 ? '用户名' : ''">
|
||||
<el-input v-if="contents.inputIcon == 1 && contents.inputIconPosition == 1" prefix-icon="el-icon-search" v-model="searchForm.yonghuming" placeholder="用户名" clearable></el-input>
|
||||
<el-input v-if="contents.inputIcon == 1 && contents.inputIconPosition == 2" suffix-icon="el-icon-search" v-model="searchForm.yonghuming" placeholder="用户名" clearable></el-input>
|
||||
<el-input v-if="contents.inputIcon == 0" v-model="searchForm.yonghuming" placeholder="用户名" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button v-if="contents.searchBtnIcon == 1 && contents.searchBtnIconPosition == 1" icon="el-icon-search" type="success" @click="search()">{{ contents.searchBtnFont == 1?'查询':'' }}</el-button>
|
||||
<el-button v-if="contents.searchBtnIcon == 1 && contents.searchBtnIconPosition == 2" type="success" @click="search()">{{ contents.searchBtnFont == 1?'查询':'' }}<i class="el-icon-search el-icon--right"/></el-button>
|
||||
<el-button v-if="contents.searchBtnIcon == 0" type="success" @click="search()">{{ contents.searchBtnFont == 1?'查询':'' }}</el-button>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
<el-row class="ad" :style="{justifyContent:contents.btnAdAllBoxPosition=='1'?'flex-start':contents.btnAdAllBoxPosition=='2'?'center':'flex-end'}">
|
||||
<el-form-item>
|
||||
<el-button
|
||||
v-if="isAuth('yonghu','新增') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 1"
|
||||
type="success"
|
||||
icon="el-icon-plus"
|
||||
@click="addOrUpdateHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'新增':'' }}</el-button>
|
||||
<el-button
|
||||
v-if="isAuth('yonghu','新增') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 2"
|
||||
type="success"
|
||||
@click="addOrUpdateHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'新增':'' }}<i class="el-icon-plus el-icon--right" /></el-button>
|
||||
<el-button
|
||||
v-if="isAuth('yonghu','新增') && contents.btnAdAllIcon == 0"
|
||||
type="success"
|
||||
@click="addOrUpdateHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'新增':'' }}</el-button>
|
||||
<el-button
|
||||
v-if="isAuth('yonghu','删除') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 1 && contents.tableSelection"
|
||||
:disabled="dataListSelections.length <= 0"
|
||||
type="danger"
|
||||
icon="el-icon-delete"
|
||||
@click="deleteHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'删除':'' }}</el-button>
|
||||
<el-button
|
||||
v-if="isAuth('yonghu','删除') && contents.btnAdAllIcon == 1 && contents.btnAdAllIconPosition == 2 && contents.tableSelection"
|
||||
:disabled="dataListSelections.length <= 0"
|
||||
type="danger"
|
||||
@click="deleteHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'删除':'' }}<i class="el-icon-delete el-icon--right" /></el-button>
|
||||
<el-button
|
||||
v-if="isAuth('yonghu','删除') && contents.btnAdAllIcon == 0 && contents.tableSelection"
|
||||
:disabled="dataListSelections.length <= 0"
|
||||
type="danger"
|
||||
@click="deleteHandler()"
|
||||
>{{ contents.btnAdAllFont == 1?'删除':'' }}</el-button>
|
||||
|
||||
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div class="table-content">
|
||||
<el-table class="tables" :size="contents.tableSize" :show-header="contents.tableShowHeader"
|
||||
:header-row-style="headerRowStyle" :header-cell-style="headerCellStyle"
|
||||
:border="contents.tableBorder"
|
||||
:fit="contents.tableFit"
|
||||
:stripe="contents.tableStripe"
|
||||
:row-style="rowStyle"
|
||||
:cell-style="cellStyle"
|
||||
:style="{width: '100%',fontSize:contents.tableContentFontSize,color:contents.tableContentFontColor}"
|
||||
v-if="isAuth('yonghu','查看')"
|
||||
:data="dataList"
|
||||
v-loading="dataListLoading"
|
||||
@selection-change="selectionChangeHandler">
|
||||
<el-table-column v-if="contents.tableSelection"
|
||||
type="selection"
|
||||
header-align="center"
|
||||
align="center"
|
||||
width="50">
|
||||
</el-table-column>
|
||||
<el-table-column label="索引" v-if="contents.tableIndex" type="index" width="50" />
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
|
||||
prop="yonghuming"
|
||||
header-align="center"
|
||||
label="用户名">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.yonghuming}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
|
||||
prop="mima"
|
||||
header-align="center"
|
||||
label="密码">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.mima}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
|
||||
prop="xingming"
|
||||
header-align="center"
|
||||
label="姓名">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.xingming}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign" prop="touxiang"
|
||||
header-align="center"
|
||||
width="200"
|
||||
label="头像">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.touxiang">
|
||||
<img :src="scope.row.touxiang.split(',')[0]" width="100" height="100">
|
||||
</div>
|
||||
<div v-else>无图片</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
|
||||
prop="xingbie"
|
||||
header-align="center"
|
||||
label="性别">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.xingbie}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
|
||||
prop="zhiye"
|
||||
header-align="center"
|
||||
label="职业">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.zhiye}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
|
||||
prop="lianxidianhua"
|
||||
header-align="center"
|
||||
label="联系电话">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.lianxidianhua}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :sortable="contents.tableSortable" :align="contents.tableAlign"
|
||||
prop="shenfenzheng"
|
||||
header-align="center"
|
||||
label="身份证">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.shenfenzheng}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="300" :align="contents.tableAlign"
|
||||
header-align="center"
|
||||
label="操作">
|
||||
<template slot-scope="scope">
|
||||
<el-button v-if="isAuth('yonghu','查看') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="success" icon="el-icon-tickets" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{{ contents.tableBtnFont == 1?'详情':'' }}</el-button>
|
||||
<el-button v-if="isAuth('yonghu','查看') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="success" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{{ contents.tableBtnFont == 1?'详情':'' }}<i class="el-icon-tickets el-icon--right" /></el-button>
|
||||
<el-button v-if="isAuth('yonghu','查看') && contents.tableBtnIcon == 0" type="success" size="mini" @click="addOrUpdateHandler(scope.row.id,'info')">{{ contents.tableBtnFont == 1?'详情':'' }}</el-button>
|
||||
<el-button v-if="isAuth('yonghu','修改') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="primary" icon="el-icon-edit" size="mini" @click="addOrUpdateHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'修改':'' }}</el-button>
|
||||
<el-button v-if="isAuth('yonghu','修改') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="primary" size="mini" @click="addOrUpdateHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'修改':'' }}<i class="el-icon-edit el-icon--right" /></el-button>
|
||||
<el-button v-if="isAuth('yonghu','修改') && contents.tableBtnIcon == 0" type="primary" size="mini" @click="addOrUpdateHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'修改':'' }}</el-button>
|
||||
|
||||
|
||||
|
||||
|
||||
<el-button v-if="isAuth('yonghu','删除') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 1" type="danger" icon="el-icon-delete" size="mini" @click="deleteHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'删除':'' }}</el-button>
|
||||
<el-button v-if="isAuth('yonghu','删除') && contents.tableBtnIcon == 1 && contents.tableBtnIconPosition == 2" type="danger" size="mini" @click="deleteHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'删除':'' }}<i class="el-icon-delete el-icon--right" /></el-button>
|
||||
<el-button v-if="isAuth('yonghu','删除') && contents.tableBtnIcon == 0" type="danger" size="mini" @click="deleteHandler(scope.row.id)">{{ contents.tableBtnFont == 1?'删除':'' }}</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
clsss="pages"
|
||||
:layout="layouts"
|
||||
@size-change="sizeChangeHandle"
|
||||
@current-change="currentChangeHandle"
|
||||
:current-page="pageIndex"
|
||||
:page-sizes="[10, 20, 50, 100]"
|
||||
:page-size="Number(contents.pageEachNum)"
|
||||
:total="totalPage"
|
||||
:small="contents.pageStyle"
|
||||
class="pagination-content"
|
||||
:background="contents.pageBtnBG"
|
||||
:style="{textAlign:contents.pagePosition==1?'left':contents.pagePosition==2?'center':'right'}"
|
||||
></el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 添加/修改页面 将父组件的search方法传递给子组件-->
|
||||
<add-or-update v-if="addOrUpdateFlag" :parent="this" ref="addOrUpdate"></add-or-update>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import AddOrUpdate from "./add-or-update";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
searchForm: {
|
||||
key: ""
|
||||
},
|
||||
dataList: [],
|
||||
pageIndex: 1,
|
||||
pageSize: 10,
|
||||
totalPage: 0,
|
||||
dataListLoading: false,
|
||||
dataListSelections: [],
|
||||
showFlag: true,
|
||||
sfshVisiable: false,
|
||||
shForm: {},
|
||||
chartVisiable: false,
|
||||
addOrUpdateFlag:false,
|
||||
contents:{"searchBtnFontColor":"#333","pagePosition":"1","inputFontSize":"14px","inputBorderRadius":"22px","tableBtnDelFontColor":"#333","tableBtnIconPosition":"1","searchBtnHeight":"40px","inputIconColor":"rgba(66, 130, 129, 1)","searchBtnBorderRadius":"22px","tableStripe":false,"btnAdAllWarnFontColor":"#333","tableBtnDelBgColor":"rgba(244, 150, 150, 1)","searchBtnIcon":"1","tableSize":"medium","searchBtnBorderStyle":"solid","tableSelection":true,"searchBtnBorderWidth":"1px","tableContentFontSize":"14px","searchBtnBgColor":"rgba(153, 239, 237, 1)","inputTitleSize":"14px","btnAdAllBorderColor":"#DCDFE6","pageJumper":true,"btnAdAllIconPosition":"1","searchBoxPosition":"1","tableBtnDetailFontColor":"#333","tableBtnHeight":"40px","pagePager":true,"searchBtnBorderColor":"#DCDFE6","tableHeaderFontColor":"rgba(33, 34, 35, 1)","inputTitle":"1","tableBtnBorderRadius":"22px","btnAdAllFont":"1","btnAdAllDelFontColor":"rgba(21, 20, 20, 1)","tableBtnIcon":"1","btnAdAllHeight":"40px","btnAdAllWarnBgColor":"rgba(238, 236, 126, 1)","btnAdAllBorderWidth":"1px","tableStripeFontColor":"#606266","tableBtnBorderStyle":"solid","inputHeight":"40px","btnAdAllBorderRadius":"22px","btnAdAllDelBgColor":"rgba(234, 93, 93, 0.69)","pagePrevNext":true,"btnAdAllAddBgColor":"rgba(153, 239, 237, 1)","searchBtnFont":"1","tableIndex":true,"btnAdAllIcon":"1","tableSortable":true,"pageSizes":true,"tableFit":true,"pageBtnBG":true,"searchBtnFontSize":"14px","tableBtnEditBgColor":"rgba(240, 242, 124, 1)","inputBorderWidth":"1px","inputFontPosition":"1","inputFontColor":"#333","pageEachNum":10,"tableHeaderBgColor":"rgba(152, 129, 129, 1)","inputTitleColor":"#333","btnAdAllBoxPosition":"1","tableBtnDetailBgColor":"rgba(171, 239, 239, 1)","inputIcon":"0","searchBtnIconPosition":"1","btnAdAllFontSize":"14px","inputBorderStyle":"solid","inputBgColor":"rgba(197, 174, 174, 0.32)","pageStyle":false,"pageTotal":true,"btnAdAllAddFontColor":"#333","tableBtnFont":"1","tableContentFontColor":"rgba(22, 22, 23, 1)","inputBorderColor":"rgba(152, 129, 129, 1)","tableShowHeader":true,"tableBtnFontSize":"14px","tableBtnBorderColor":"rgba(196, 210, 244, 1)","inputIconPosition":"1","tableBorder":true,"btnAdAllBorderStyle":"solid","tableBtnBorderWidth":"1px","tableStripeBgColor":"rgba(213, 197, 197, 1)","tableBtnEditFontColor":"#333","tableAlign":"center"},
|
||||
layouts: '',
|
||||
|
||||
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.init();
|
||||
this.getDataList();
|
||||
this.contentStyleChange()
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
filters: {
|
||||
htmlfilter: function (val) {
|
||||
return val.replace(/<[^>]*>/g).replace(/undefined/g,'');
|
||||
}
|
||||
},
|
||||
components: {
|
||||
AddOrUpdate,
|
||||
},
|
||||
methods: {
|
||||
contentStyleChange() {
|
||||
this.contentSearchStyleChange()
|
||||
this.contentBtnAdAllStyleChange()
|
||||
this.contentSearchBtnStyleChange()
|
||||
this.contentTableBtnStyleChange()
|
||||
this.contentPageStyleChange()
|
||||
},
|
||||
contentSearchStyleChange() {
|
||||
this.$nextTick(()=>{
|
||||
document.querySelectorAll('.form-content .slt .el-input__inner').forEach(el=>{
|
||||
let textAlign = 'left'
|
||||
if(this.contents.inputFontPosition == 2) textAlign = 'center'
|
||||
if(this.contents.inputFontPosition == 3) textAlign = 'right'
|
||||
el.style.textAlign = textAlign
|
||||
el.style.height = this.contents.inputHeight
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
el.style.color = this.contents.inputFontColor
|
||||
el.style.fontSize = this.contents.inputFontSize
|
||||
el.style.borderWidth = this.contents.inputBorderWidth
|
||||
el.style.borderStyle = this.contents.inputBorderStyle
|
||||
el.style.borderColor = this.contents.inputBorderColor
|
||||
el.style.borderRadius = this.contents.inputBorderRadius
|
||||
el.style.backgroundColor = this.contents.inputBgColor
|
||||
})
|
||||
if(this.contents.inputTitle) {
|
||||
document.querySelectorAll('.form-content .slt .el-form-item__label').forEach(el=>{
|
||||
el.style.color = this.contents.inputTitleColor
|
||||
el.style.fontSize = this.contents.inputTitleSize
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
}
|
||||
setTimeout(()=>{
|
||||
document.querySelectorAll('.form-content .slt .el-input__prefix').forEach(el=>{
|
||||
el.style.color = this.contents.inputIconColor
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
document.querySelectorAll('.form-content .slt .el-input__suffix').forEach(el=>{
|
||||
el.style.color = this.contents.inputIconColor
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
document.querySelectorAll('.form-content .slt .el-input__icon').forEach(el=>{
|
||||
el.style.lineHeight = this.contents.inputHeight
|
||||
})
|
||||
},10)
|
||||
|
||||
})
|
||||
},
|
||||
// 搜索按钮
|
||||
contentSearchBtnStyleChange() {
|
||||
this.$nextTick(()=>{
|
||||
document.querySelectorAll('.form-content .slt .el-button--success').forEach(el=>{
|
||||
el.style.height = this.contents.searchBtnHeight
|
||||
el.style.color = this.contents.searchBtnFontColor
|
||||
el.style.fontSize = this.contents.searchBtnFontSize
|
||||
el.style.borderWidth = this.contents.searchBtnBorderWidth
|
||||
el.style.borderStyle = this.contents.searchBtnBorderStyle
|
||||
el.style.borderColor = this.contents.searchBtnBorderColor
|
||||
el.style.borderRadius = this.contents.searchBtnBorderRadius
|
||||
el.style.backgroundColor = this.contents.searchBtnBgColor
|
||||
})
|
||||
})
|
||||
},
|
||||
// 新增、批量删除
|
||||
contentBtnAdAllStyleChange() {
|
||||
this.$nextTick(()=>{
|
||||
document.querySelectorAll('.form-content .ad .el-button--success').forEach(el=>{
|
||||
el.style.height = this.contents.btnAdAllHeight
|
||||
el.style.color = this.contents.btnAdAllAddFontColor
|
||||
el.style.fontSize = this.contents.btnAdAllFontSize
|
||||
el.style.borderWidth = this.contents.btnAdAllBorderWidth
|
||||
el.style.borderStyle = this.contents.btnAdAllBorderStyle
|
||||
el.style.borderColor = this.contents.btnAdAllBorderColor
|
||||
el.style.borderRadius = this.contents.btnAdAllBorderRadius
|
||||
el.style.backgroundColor = this.contents.btnAdAllAddBgColor
|
||||
})
|
||||
document.querySelectorAll('.form-content .ad .el-button--danger').forEach(el=>{
|
||||
el.style.height = this.contents.btnAdAllHeight
|
||||
el.style.color = this.contents.btnAdAllDelFontColor
|
||||
el.style.fontSize = this.contents.btnAdAllFontSize
|
||||
el.style.borderWidth = this.contents.btnAdAllBorderWidth
|
||||
el.style.borderStyle = this.contents.btnAdAllBorderStyle
|
||||
el.style.borderColor = this.contents.btnAdAllBorderColor
|
||||
el.style.borderRadius = this.contents.btnAdAllBorderRadius
|
||||
el.style.backgroundColor = this.contents.btnAdAllDelBgColor
|
||||
})
|
||||
document.querySelectorAll('.form-content .ad .el-button--warning').forEach(el=>{
|
||||
el.style.height = this.contents.btnAdAllHeight
|
||||
el.style.color = this.contents.btnAdAllWarnFontColor
|
||||
el.style.fontSize = this.contents.btnAdAllFontSize
|
||||
el.style.borderWidth = this.contents.btnAdAllBorderWidth
|
||||
el.style.borderStyle = this.contents.btnAdAllBorderStyle
|
||||
el.style.borderColor = this.contents.btnAdAllBorderColor
|
||||
el.style.borderRadius = this.contents.btnAdAllBorderRadius
|
||||
el.style.backgroundColor = this.contents.btnAdAllWarnBgColor
|
||||
})
|
||||
})
|
||||
},
|
||||
// 表格
|
||||
rowStyle({ row, rowIndex}) {
|
||||
if (rowIndex % 2 == 1) {
|
||||
if(this.contents.tableStripe) {
|
||||
return {color:this.contents.tableStripeFontColor}
|
||||
}
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
cellStyle({ row, rowIndex}){
|
||||
if (rowIndex % 2 == 1) {
|
||||
if(this.contents.tableStripe) {
|
||||
return {backgroundColor:this.contents.tableStripeBgColor}
|
||||
}
|
||||
} else {
|
||||
return ''
|
||||
}
|
||||
},
|
||||
headerRowStyle({ row, rowIndex}){
|
||||
return {color: this.contents.tableHeaderFontColor}
|
||||
},
|
||||
headerCellStyle({ row, rowIndex}){
|
||||
return {backgroundColor: this.contents.tableHeaderBgColor}
|
||||
},
|
||||
// 表格按钮
|
||||
contentTableBtnStyleChange(){
|
||||
// this.$nextTick(()=>{
|
||||
// setTimeout(()=>{
|
||||
// document.querySelectorAll('.table-content .tables .el-table__body .el-button--success').forEach(el=>{
|
||||
// el.style.height = this.contents.tableBtnHeight
|
||||
// el.style.color = this.contents.tableBtnDetailFontColor
|
||||
// el.style.fontSize = this.contents.tableBtnFontSize
|
||||
// el.style.borderWidth = this.contents.tableBtnBorderWidth
|
||||
// el.style.borderStyle = this.contents.tableBtnBorderStyle
|
||||
// el.style.borderColor = this.contents.tableBtnBorderColor
|
||||
// el.style.borderRadius = this.contents.tableBtnBorderRadius
|
||||
// el.style.backgroundColor = this.contents.tableBtnDetailBgColor
|
||||
// })
|
||||
// document.querySelectorAll('.table-content .tables .el-table__body .el-button--primary').forEach(el=>{
|
||||
// el.style.height = this.contents.tableBtnHeight
|
||||
// el.style.color = this.contents.tableBtnEditFontColor
|
||||
// el.style.fontSize = this.contents.tableBtnFontSize
|
||||
// el.style.borderWidth = this.contents.tableBtnBorderWidth
|
||||
// el.style.borderStyle = this.contents.tableBtnBorderStyle
|
||||
// el.style.borderColor = this.contents.tableBtnBorderColor
|
||||
// el.style.borderRadius = this.contents.tableBtnBorderRadius
|
||||
// el.style.backgroundColor = this.contents.tableBtnEditBgColor
|
||||
// })
|
||||
// document.querySelectorAll('.table-content .tables .el-table__body .el-button--danger').forEach(el=>{
|
||||
// el.style.height = this.contents.tableBtnHeight
|
||||
// el.style.color = this.contents.tableBtnDelFontColor
|
||||
// el.style.fontSize = this.contents.tableBtnFontSize
|
||||
// el.style.borderWidth = this.contents.tableBtnBorderWidth
|
||||
// el.style.borderStyle = this.contents.tableBtnBorderStyle
|
||||
// el.style.borderColor = this.contents.tableBtnBorderColor
|
||||
// el.style.borderRadius = this.contents.tableBtnBorderRadius
|
||||
// el.style.backgroundColor = this.contents.tableBtnDelBgColor
|
||||
// })
|
||||
|
||||
// }, 50)
|
||||
// })
|
||||
},
|
||||
// 分页
|
||||
contentPageStyleChange(){
|
||||
let arr = []
|
||||
|
||||
if(this.contents.pageTotal) arr.push('total')
|
||||
if(this.contents.pageSizes) arr.push('sizes')
|
||||
if(this.contents.pagePrevNext){
|
||||
arr.push('prev')
|
||||
if(this.contents.pagePager) arr.push('pager')
|
||||
arr.push('next')
|
||||
}
|
||||
if(this.contents.pageJumper) arr.push('jumper')
|
||||
this.layouts = arr.join()
|
||||
this.contents.pageEachNum = 10
|
||||
},
|
||||
|
||||
init () {
|
||||
},
|
||||
search() {
|
||||
this.pageIndex = 1;
|
||||
this.getDataList();
|
||||
},
|
||||
// 获取数据列表
|
||||
getDataList() {
|
||||
this.dataListLoading = true;
|
||||
let params = {
|
||||
page: this.pageIndex,
|
||||
limit: this.pageSize,
|
||||
sort: 'id',
|
||||
}
|
||||
if(this.searchForm.yonghuming!='' && this.searchForm.yonghuming!=undefined){
|
||||
params['yonghuming'] = '%' + this.searchForm.yonghuming + '%'
|
||||
}
|
||||
this.$http({
|
||||
url: "yonghu/page",
|
||||
method: "get",
|
||||
params: params
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.dataList = data.data.list;
|
||||
this.totalPage = data.data.total;
|
||||
} else {
|
||||
this.dataList = [];
|
||||
this.totalPage = 0;
|
||||
}
|
||||
this.dataListLoading = false;
|
||||
});
|
||||
},
|
||||
// 每页数
|
||||
sizeChangeHandle(val) {
|
||||
this.pageSize = val;
|
||||
this.pageIndex = 1;
|
||||
this.getDataList();
|
||||
},
|
||||
// 当前页
|
||||
currentChangeHandle(val) {
|
||||
this.pageIndex = val;
|
||||
this.getDataList();
|
||||
},
|
||||
// 多选
|
||||
selectionChangeHandler(val) {
|
||||
this.dataListSelections = val;
|
||||
},
|
||||
// 添加/修改
|
||||
addOrUpdateHandler(id,type) {
|
||||
this.showFlag = false;
|
||||
this.addOrUpdateFlag = true;
|
||||
this.crossAddOrUpdateFlag = false;
|
||||
if(type!='info'){
|
||||
type = 'else';
|
||||
}
|
||||
this.$nextTick(() => {
|
||||
this.$refs.addOrUpdate.init(id,type);
|
||||
});
|
||||
},
|
||||
// 查看评论
|
||||
// 下载
|
||||
download(file){
|
||||
window.open(`${file}`)
|
||||
},
|
||||
// 删除
|
||||
deleteHandler(id) {
|
||||
var ids = id
|
||||
? [Number(id)]
|
||||
: this.dataListSelections.map(item => {
|
||||
return Number(item.id);
|
||||
});
|
||||
this.$confirm(`确定进行[${id ? "删除" : "批量删除"}]操作?`, "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning"
|
||||
}).then(() => {
|
||||
this.$http({
|
||||
url: "yonghu/delete",
|
||||
method: "post",
|
||||
data: ids
|
||||
}).then(({ data }) => {
|
||||
if (data && data.code === 0) {
|
||||
this.$message({
|
||||
message: "操作成功",
|
||||
type: "success",
|
||||
duration: 1500,
|
||||
onClose: () => {
|
||||
this.search();
|
||||
}
|
||||
});
|
||||
} else {
|
||||
this.$message.error(data.msg);
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
}
|
||||
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.slt {
|
||||
margin: 0 !important;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.ad {
|
||||
margin: 0 !important;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.pages {
|
||||
& /deep/ el-pagination__sizes{
|
||||
& /deep/ el-input__inner {
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.el-button+.el-button {
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.tables {
|
||||
& /deep/ .el-button--success {
|
||||
height: 40px;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(196, 210, 244, 1);
|
||||
border-radius: 22px;
|
||||
background-color: rgba(171, 239, 239, 1);
|
||||
}
|
||||
|
||||
& /deep/ .el-button--primary {
|
||||
height: 40px;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(196, 210, 244, 1);
|
||||
border-radius: 22px;
|
||||
background-color: rgba(240, 242, 124, 1);
|
||||
}
|
||||
|
||||
& /deep/ .el-button--danger {
|
||||
height: 40px;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-color: rgba(196, 210, 244, 1);
|
||||
border-radius: 22px;
|
||||
background-color: rgba(244, 150, 150, 1);
|
||||
}
|
||||
|
||||
& /deep/ .el-button {
|
||||
margin: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
After Width: | Height: | Size: 153 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 43 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 71 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 84 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 102 KiB |
After Width: | Height: | Size: 62 KiB |
After Width: | Height: | Size: 55 KiB |
After Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 44 KiB |
After Width: | Height: | Size: 61 KiB |
After Width: | Height: | Size: 115 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 38 KiB |
After Width: | Height: | Size: 39 KiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 428 KiB |
After Width: | Height: | Size: 1.3 MiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 72 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 54 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 299 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 18 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 39 KiB |