|
@@ -1,13 +1,128 @@
|
|
|
<template>
|
|
|
- <div>演出安排</div>
|
|
|
+ <div class="padding-20">
|
|
|
+ <div class="search-box">
|
|
|
+ <el-form ref="form" :inline="true" :model="searchForm" clearable label-width="100px" class="mt-10">
|
|
|
+ <el-form-item label="日期:">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="value2"
|
|
|
+ align="right"
|
|
|
+ type="date"
|
|
|
+ placeholder="选择日期"
|
|
|
+ :picker-options="pickerOptions">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="部门名称:">
|
|
|
+ <el-input v-model="searchForm.department_name" placeholder="请输入部门名称" clearable></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="ml-10">
|
|
|
+ <el-button icon="el-icon-search" type="primary" @click="searchSubmit">查询</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item class="ml-10">
|
|
|
+ <el-button icon="el-icon-plus" type="primary" @click="add" v-permission="'department_list_add'">新增</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ </div>
|
|
|
+ <el-table :data="tableData" stripe v-loading="tableLoading" fit class="marginT-10 order-table" border
|
|
|
+ :max-height="vheight">
|
|
|
+ <el-table-column label="ID" prop="id"></el-table-column>
|
|
|
+ <el-table-column label="艺人" prop="created_at"></el-table-column>
|
|
|
+ <el-table-column label="演唱时间" prop="department_name"></el-table-column>
|
|
|
+ <el-table-column label="本节点歌歌单" prop="department_desc"></el-table-column>
|
|
|
+ <el-table-column label="操作">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button type="text" @click="edit(scope.row)" v-permission="'department_list_edit'">编辑</el-button>
|
|
|
+ <el-button type="text" @click="del(scope.row)" v-permission="'department_list_del'">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-pagination
|
|
|
+ class="marginT-20"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :hide-on-single-page="true"
|
|
|
+ :current-page="page"
|
|
|
+ :page-size="page_size"
|
|
|
+ :page-sizes="[10, 20, 100, 200, 300, 400]"
|
|
|
+ background
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ :total="totalCount"/>
|
|
|
+ <detail v-if="detailsDialog.show" v-model="detailsDialog.show" :exData="detailsDialog.exData"
|
|
|
+ @success="init"></detail>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import page from '@/mixin/page'
|
|
|
+import detail from './details'
|
|
|
+
|
|
|
export default {
|
|
|
- name: 'index'
|
|
|
+ mixins: [page],
|
|
|
+ components: {
|
|
|
+ detail,
|
|
|
+ },
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ pickerOptions: {
|
|
|
+ shortcuts: [{
|
|
|
+ text: '今天',
|
|
|
+ onClick (picker) {
|
|
|
+ picker.$emit('pick', new Date())
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '昨天',
|
|
|
+ onClick (picker) {
|
|
|
+ const date = new Date()
|
|
|
+ date.setTime(date.getTime() - 3600 * 1000 * 24)
|
|
|
+ picker.$emit('pick', date)
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '一周前',
|
|
|
+ onClick (picker) {
|
|
|
+ const date = new Date()
|
|
|
+ date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
|
|
|
+ picker.$emit('pick', date)
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ value2: new Date(),
|
|
|
+ detailsDialog: {
|
|
|
+ show: false,
|
|
|
+ exData: {}
|
|
|
+ },
|
|
|
+ time: [],
|
|
|
+ searchForm: {},
|
|
|
+ tableData: [],
|
|
|
+ tableUrl: '/department/list'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ add () {
|
|
|
+ this.detailsDialog.exData = {}
|
|
|
+ this.detailsDialog.show = true
|
|
|
+ },
|
|
|
+ edit (row) {
|
|
|
+ this.detailsDialog.exData = row
|
|
|
+ this.detailsDialog.show = true
|
|
|
+ },
|
|
|
+ del (row) {
|
|
|
+ this.$confirm('确定要删除吗', '确认', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning'
|
|
|
+ }).then(async () => {
|
|
|
+ const data = await this.$fetch('/api/auth/department/del', { id: row.id })
|
|
|
+ if (data.code == 200) {
|
|
|
+ this.$message.success('删除成功')
|
|
|
+ this.init()
|
|
|
+ }
|
|
|
+ }).catch(() => {})
|
|
|
+ }
|
|
|
+ },
|
|
|
+ mounted () {
|
|
|
+ this.init()
|
|
|
+ },
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
-
|
|
|
</style>
|