|
@@ -1,31 +1,69 @@
|
|
|
+<!-- 签到管理 内容配置 -->
|
|
|
<template>
|
|
|
+
|
|
|
<div class="app-container">
|
|
|
<!-- 搜索 -->
|
|
|
<el-form inline size="mini">
|
|
|
<el-form-item label="资源平台:">
|
|
|
- <el-select v-model="form.platformId" placeholder="请选择资源平台" clearable>
|
|
|
- <el-option v-for="item in platformOptions" :key="item.value" :value="item.value" :label="item.label" />
|
|
|
+ <el-select
|
|
|
+ v-model="form.platformId"
|
|
|
+ placeholder="请选择资源平台"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in platformOptions"
|
|
|
+ :key="item.value"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="音频类型:">
|
|
|
- <el-select v-model="form.audioType" placeholder="请选择音频类型" clearable>
|
|
|
- <el-option v-for="item in form.platformId === '' ? audioOptions : audioTypeOptions" :key="item.value"
|
|
|
- :value="item.value" :label="item.label" />
|
|
|
+ <el-select
|
|
|
+ v-model="form.audioType"
|
|
|
+ placeholder="请选择音频类型"
|
|
|
+ clearable
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in form.platformId === ''
|
|
|
+ ? audioOptions
|
|
|
+ : audioTypeOptions"
|
|
|
+ :key="item.value"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="内容标题:">
|
|
|
- <el-input v-model="form.audioName" placeholder="请输入内容标题" clearable />
|
|
|
+ <el-input
|
|
|
+ v-model="form.audioName"
|
|
|
+ placeholder="请输入内容标题"
|
|
|
+ clearable
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="当前状态:">
|
|
|
<el-select v-model="form.status" placeholder="请选择当前状态" clearable>
|
|
|
- <el-option v-for="item in disabledOptions" :key="item.value" :value="item.value" :label="item.label" />
|
|
|
+ <el-option
|
|
|
+ v-for="item in disabledOptions"
|
|
|
+ :key="item.value"
|
|
|
+ :value="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-button type="primary" icon="el-icon-search" @click="getSearch">搜索</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-search" @click="getSearch"
|
|
|
+ >搜索</el-button
|
|
|
+ >
|
|
|
<el-button icon="el-icon-refresh" @click="getRefresh">重置</el-button>
|
|
|
- <el-button type="primary" plain icon="el-icon-plus" @click="getDetail()"
|
|
|
- v-hasPermi="['registration:content:add']">新增</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="el-icon-plus"
|
|
|
+ @click="getDetail()"
|
|
|
+ v-hasPermi="['registration:content:add']"
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<!-- 列表 -->
|
|
@@ -37,10 +75,30 @@
|
|
|
<el-image :src="scope.row.pic" />
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="资源平台" prop="platformId" align="center" :formatter="platformFormatter" />
|
|
|
- <el-table-column label="音频类型" prop="audioType" align="center" :formatter="audioTypeFormatter" />
|
|
|
- <el-table-column label="当前状态" prop="status" align="center" :formatter="statusFormatter" />
|
|
|
- <el-table-column label="内容状态" prop="currentStatus" align="center" :formatter="currentFormatter" />
|
|
|
+ <el-table-column
|
|
|
+ label="资源平台"
|
|
|
+ prop="platformId"
|
|
|
+ align="center"
|
|
|
+ :formatter="platformFormatter"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="音频类型"
|
|
|
+ prop="audioType"
|
|
|
+ align="center"
|
|
|
+ :formatter="audioTypeFormatter"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="当前状态"
|
|
|
+ prop="status"
|
|
|
+ align="center"
|
|
|
+ :formatter="statusFormatter"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="内容状态"
|
|
|
+ prop="currentStatus"
|
|
|
+ align="center"
|
|
|
+ :formatter="currentFormatter"
|
|
|
+ />
|
|
|
<el-table-column label="有效时间" align="center" show-overflow-tooltip>
|
|
|
<template slot-scope="scope">
|
|
|
{{ scope.row.startTime }} 至 {{ scope.row.endTime }}
|
|
@@ -48,28 +106,60 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" align="center">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button type="text" @click="getDetail(scope.row.id, true)">查看</el-button>
|
|
|
+ <el-button type="text" @click="getDetail(scope.row.id, true)"
|
|
|
+ >查看</el-button
|
|
|
+ >
|
|
|
<span v-if="scope.row.status === 1">
|
|
|
- <el-button type="text" @click="getDetail(scope.row.id)" v-hasPermi="['registration:content:edit']"
|
|
|
- style="margin-left: 10px">编辑</el-button>
|
|
|
- <el-button type="text" @click="getChange(scope.row, 0)" v-hasPermi="['registration:content:up']">
|
|
|
- 上架</el-button>
|
|
|
- <el-button type="delete" @click="getDelete(scope.row)"
|
|
|
- v-hasPermi="['registration:content:delete']">删除</el-button>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ @click="getDetail(scope.row.id)"
|
|
|
+ v-hasPermi="['registration:content:edit']"
|
|
|
+ style="margin-left: 10px"
|
|
|
+ >编辑</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ @click="getChange(scope.row, 0)"
|
|
|
+ v-hasPermi="['registration:content:up']"
|
|
|
+ >
|
|
|
+ 上架</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="delete"
|
|
|
+ @click="getDelete(scope.row)"
|
|
|
+ v-hasPermi="['registration:content:delete']"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
</span>
|
|
|
- <el-button v-else type="delete" @click="getChange(scope.row, 1)"
|
|
|
- v-hasPermi="['registration:content:down']">下架</el-button>
|
|
|
+ <el-button
|
|
|
+ v-else
|
|
|
+ type="delete"
|
|
|
+ @click="getChange(scope.row, 1)"
|
|
|
+ v-hasPermi="['registration:content:down']"
|
|
|
+ >下架</el-button
|
|
|
+ >
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <pagination v-show="total > 0" :total="total" :page.sync="form.pageNum" :limit.sync="form.pageSize"
|
|
|
- @pagination="getList" />
|
|
|
+ <pagination
|
|
|
+ v-show="total > 0"
|
|
|
+ :total="total"
|
|
|
+ :page.sync="form.pageNum"
|
|
|
+ :limit.sync="form.pageSize"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { platformMixin, audioMixin, disabledMixin, currentMixin } from '@/mixin/index'
|
|
|
-import { list, change, remove } from '@/api/registration/content'
|
|
|
+import { change, list, remove } from "@/api/registration/content";
|
|
|
+import {
|
|
|
+audioMixin,
|
|
|
+currentMixin,
|
|
|
+disabledMixin,
|
|
|
+platformMixin,
|
|
|
+} from "@/mixin/index";
|
|
|
+import { dialogCallBack } from "@/utils/DialogUtil";
|
|
|
export default {
|
|
|
mixins: [platformMixin, audioMixin, disabledMixin, currentMixin],
|
|
|
data() {
|
|
@@ -80,60 +170,60 @@ export default {
|
|
|
form: {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
- audioType: '',
|
|
|
- platformId: ''
|
|
|
+ audioType: "",
|
|
|
+ platformId: "",
|
|
|
},
|
|
|
// 列表
|
|
|
tableData: [],
|
|
|
// 总数据
|
|
|
- total: 0
|
|
|
- }
|
|
|
+ total: 0,
|
|
|
+ };
|
|
|
},
|
|
|
watch: {
|
|
|
- 'form.platformId': {
|
|
|
+ "form.platformId": {
|
|
|
handler(val) {
|
|
|
- if (val && this.form.audioType == '') {
|
|
|
- this.form.audioType = ''
|
|
|
- this.getAudioType(val)
|
|
|
- this.getList()
|
|
|
+ if (val && this.form.audioType == "") {
|
|
|
+ this.form.audioType = "";
|
|
|
+ this.getAudioType(val);
|
|
|
+ this.getList();
|
|
|
}
|
|
|
},
|
|
|
- deep: true
|
|
|
+ deep: true,
|
|
|
},
|
|
|
- 'form.audioType': {
|
|
|
+ "form.audioType": {
|
|
|
handler(val) {
|
|
|
- if (val && this.form.platformId == '') {
|
|
|
- this.form.platformId = ''
|
|
|
+ if (val && this.form.platformId == "") {
|
|
|
+ this.form.platformId = "";
|
|
|
this.getPlatform({
|
|
|
- audioType: val
|
|
|
- })
|
|
|
- this.getList()
|
|
|
+ audioType: val,
|
|
|
+ });
|
|
|
+ this.getList();
|
|
|
}
|
|
|
},
|
|
|
- deep: true
|
|
|
- }
|
|
|
+ deep: true,
|
|
|
+ },
|
|
|
},
|
|
|
mounted() {
|
|
|
- this.getList()
|
|
|
- this.getPlatform({})
|
|
|
+ this.getList();
|
|
|
+ this.getPlatform({});
|
|
|
},
|
|
|
methods: {
|
|
|
// 列表
|
|
|
getList() {
|
|
|
- this.loading = true
|
|
|
- list(this.form).then(res => {
|
|
|
+ this.loading = true;
|
|
|
+ list(this.form).then((res) => {
|
|
|
if (res.code === 0) {
|
|
|
- this.tableData = res.data.records
|
|
|
- this.total = res.data.total
|
|
|
- this.loading = false
|
|
|
+ this.tableData = res.data.records;
|
|
|
+ this.total = res.data.total;
|
|
|
+ this.loading = false;
|
|
|
}
|
|
|
- })
|
|
|
+ });
|
|
|
},
|
|
|
|
|
|
// 搜索
|
|
|
getSearch() {
|
|
|
- this.form.pageNum = 1
|
|
|
- this.getList()
|
|
|
+ this.form.pageNum = 1;
|
|
|
+ this.getList();
|
|
|
},
|
|
|
|
|
|
// 重置
|
|
@@ -141,10 +231,10 @@ export default {
|
|
|
this.form = {
|
|
|
pageNum: 1,
|
|
|
pageSize: 10,
|
|
|
- platformId: '',
|
|
|
- audioType: ''
|
|
|
- }
|
|
|
- this.getList()
|
|
|
+ platformId: "",
|
|
|
+ audioType: "",
|
|
|
+ };
|
|
|
+ this.getList();
|
|
|
},
|
|
|
|
|
|
// 新增 查看 编辑
|
|
@@ -153,58 +243,66 @@ export default {
|
|
|
path: `/registration/contentConfig/detail`,
|
|
|
query: {
|
|
|
id: id,
|
|
|
- disabled: boolean
|
|
|
- }
|
|
|
- })
|
|
|
+ disabled: boolean,
|
|
|
+ },
|
|
|
+ });
|
|
|
},
|
|
|
|
|
|
// 上下架
|
|
|
getChange(row, status) {
|
|
|
- let title = status === 0 ? '上架' : '下架'
|
|
|
- this.$confirm(`是否${title}${row.audioName}?`, '提示', {
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- change({
|
|
|
- id: row.id,
|
|
|
- status: status
|
|
|
- }).then(res => {
|
|
|
- if (res.code === 0) {
|
|
|
- this.$message.success(`${title}成功!`)
|
|
|
- this.getList()
|
|
|
- }
|
|
|
+ let title = status === 0 ? "上架" : "下架";
|
|
|
+ this.$confirm(`是否${title}${row.audioName}?`, "提示", {
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ change({
|
|
|
+ id: row.id,
|
|
|
+ status: status,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code === 0) {
|
|
|
+ this.$message.success(`${title}成功!`);
|
|
|
+ this.getList();
|
|
|
+ }
|
|
|
+ });
|
|
|
})
|
|
|
- }).catch(() => { })
|
|
|
+ .catch(() => {});
|
|
|
},
|
|
|
|
|
|
// 删除
|
|
|
getDelete(row) {
|
|
|
- this.$confirm(`是否删除${row.audioName}?`, '提示', {
|
|
|
- type: 'warning'
|
|
|
- }).then(() => {
|
|
|
- remove({
|
|
|
- id: row.id
|
|
|
- }).then(res => {
|
|
|
- if (res.code === 0) {
|
|
|
- this.$message.success('删除成功!')
|
|
|
- this.getList()
|
|
|
- }
|
|
|
- })
|
|
|
- }).catch(() => { })
|
|
|
+ var that = this;
|
|
|
+ dialogCallBack(that, function () {
|
|
|
+ that
|
|
|
+ .$confirm(`是否有删除${row.audioName}?`, "提示", {
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ remove({
|
|
|
+ id: row.id,
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code === 0) {
|
|
|
+ that.$message.success("删除成功!");
|
|
|
+ that.getList();
|
|
|
+ }
|
|
|
+ });
|
|
|
+ })
|
|
|
+ .catch(() => {});
|
|
|
+ });
|
|
|
},
|
|
|
|
|
|
// 字典翻译
|
|
|
platformFormatter(row) {
|
|
|
- return this.selectDictLabel(this.platformOptions, row.platformId)
|
|
|
+ return this.selectDictLabel(this.platformOptions, row.platformId);
|
|
|
},
|
|
|
audioTypeFormatter(row) {
|
|
|
- return this.selectDictLabel(this.audioOptions, row.audioType)
|
|
|
+ return this.selectDictLabel(this.audioOptions, row.audioType);
|
|
|
},
|
|
|
statusFormatter(row) {
|
|
|
- return this.selectDictLabel(this.disabledOptions, row.status)
|
|
|
+ return this.selectDictLabel(this.disabledOptions, row.status);
|
|
|
},
|
|
|
currentFormatter(row) {
|
|
|
- return this.selectDictLabel(this.currentOptions, row.currentStatus)
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
+ return this.selectDictLabel(this.currentOptions, row.currentStatus);
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
</script>
|