123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228 |
- <template>
- <div>
- <el-row class="app-toptool" type="flex">
- <el-col :span="16">
- <Search
- size="small"
- :search-visible="searchVisible"
- :search-data.sync="searchData"
- :search-form="searchForm"
- @refesh_list="index"
- />
- </el-col>
- <el-col :span="8">
- <div class="btn-group" style="margin-bottom:11px;float: right;">
- <div>
- <el-button
- v-if="checkPermission('/kefu/commonly/add')"
- type="primary"
- size="small"
- icon="el-icon-plus"
- @click="add()"
- >添加</el-button>
- <el-button
- v-if="checkPermission('/kefu/commonly/delete')"
- type="primary"
- :disabled="multiple"
- size="small"
- icon="el-icon-delete"
- @click="del(ids)"
- >删除</el-button>
- </div>
- </div>
- </el-col>
- </el-row>
- <div id="charts_one" style="width:100%;min-height:80vh">
- <el-table
- v-loading="loading"
- ref="multipleTable"
- :row-class-name="rowClass"
- row-key="id"
- :header-cell-style="{ background: '#eef1f6', color: '#606266' }"
- :border="false"
- :stripe="true"
- class="eltable"
- @selection-change="selection"
- :data="list"
- style="width: 100%"
- >
- <el-table-column align="center" type="selection" width="42" />
- <el-table-column align="center" type="" property="id" label="编号" show-overflow-tooltip width="70" />
- <el-table-column align="center" property="content" label="内容" show-overflow-tooltip width="" />
- <el-table-column align="center" property="px" label="排序" show-overflow-tooltip width="" />
- <el-table-column align="center" property="status" label="状态" show-overflow-tooltip width="">
- <template slot-scope="scope">
- <el-switch
- v-model="scope.row.status"
- :active-value="1"
- :inactive-value="0"
- @change="listUpdate(scope.row,'status')"
- />
- </template>
- </el-table-column>
- <el-table-column
- :fixed="$store.getters.device !== 'mobile'?'right':false"
- label="操作"
- align="center"
- width="130"
- >
- <template slot-scope="scope">
- <div v-if="scope.row.id">
- <el-button v-if="checkPermission('/kefu/commonly/update')" size="mini" type="primary" @click="update(scope.row)"><i
- class="el-icon-edit"
- />修改</el-button>
- </div>
- </template>
- </el-table-column>
- </el-table>
- <Pagination
- :total="page_data.total"
- :page.sync="page_data.page"
- :limit.sync="page_data.limit"
- @pagination="index"
- />
- </div>
- <!--添加/修改-->
- <Update :info="updateInfo" :opentype="opentype" :show.sync="dialog.updateDialogStatus" size="small" @refesh_list="index" />
- </div>
- </template>
- <script>
- import Search from '@/components/common/Search.vue'
- import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
- import Update from '@/views/kefu/commonly/update.vue'
- import {
- confirm,
- param2Obj
- } from '@/utils/common'
- export default {
- name: 'Commonly',
- components: {
- Search,
- Pagination,
- Update
- },
- data() {
- return {
- dialog: {
- updateDialogStatus: false
- },
- ids: [],
- single: true,
- multiple: true,
- list: [],
- opentype: 'add',
- updateInfo: {},
- loading: false,
- page_data: {
- limit: 20,
- page: 1,
- total: 20
- },
- searchVisible: true,
- searchForm: [],
- searchData: {}
- }
- },
- mounted() {
- this.index()
- },
- methods: {
- index() {
- const param = {
- limit: this.page_data.limit,
- page: this.page_data.page
- }
- Object.assign(param, this.searchData)
- Object.assign(param, param2Obj(this.$route.fullPath))
- this.loading = true
- this.$api.post('/kefu.commonly/index', param).then(res => {
- this.list = res.data.data
- this.page_data.total = res.data.total
- this.loading = false
- if (this.page_data.page == 1) {
- this.searchForm = [{
- type: 'Input',
- label: '关键词',
- prop: 'keyword',
- width: '150px'
- },
- {
- type: 'Select',
- label: '状态',
- prop: 'status',
- data: [{
- 'key': '正常',
- 'val': '1'
- }, {
- 'key': '禁用',
- 'val': '0'
- }],
- width: '150px'
- }
- ]
- }
- })
- },
- listUpdate(row, field) {
- if (row.id) {
- this.$api.post('/kefu.commonly/listUpdate', {
- id: row.id,
- [field]: row[field]
- }).then(res => {
- this.$message({
- message: '操作成功',
- type: 'success'
- })
- })
- }
- },
- add() {
- this.opentype = 'add'
- this.dialog.updateDialogStatus = true
- },
- update(row) {
- this.opentype = 'update'
- const id = row.id ? row.id : this.ids.join(',')
- this.$api.post('/kefu.commonly/getInfo', {
- id: id
- }).then(res => {
- this.dialog.updateDialogStatus = true
- this.updateInfo = res.data
- })
- },
- del(row) {
- confirm({
- content: '确定要操作吗'
- }).then(() => {
- const ids = row.id ? row.id : this.ids.join(',')
- this.$api.post('/kefu.commonly/delete', {
- id: ids
- }).then(res => {
- this.$message({
- message: res.msg,
- type: 'success'
- })
- this.index()
- })
- }).catch(() => {})
- },
- selection(selection) {
- this.ids = selection.map(item => item.id)
- this.single = selection.length != 1
- this.multiple = !selection.length
- },
- rowClass({
- row,
- rowIndex
- }) {
- for (let i = 0; i < this.ids.length; i++) {
- if (row.id === this.ids[i]) {
- return 'rowLight'
- }
- }
- }
- }
- }
- </script>
|