Refactor code structure for improved readability and maintainability
This commit is contained in:
@@ -42,3 +42,10 @@ export function delImLiveActivity(id) {
|
|||||||
method: 'delete'
|
method: 'delete'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function endImLiveActivity(id) {
|
||||||
|
return request({
|
||||||
|
url: '/service/imLiveActivity/end/' + id,
|
||||||
|
method: 'post'
|
||||||
|
})
|
||||||
|
}
|
||||||
@@ -107,7 +107,7 @@
|
|||||||
@selection-change="handleSelectionChange"
|
@selection-change="handleSelectionChange"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
<!-- <el-table-column label="用户ID" align="center" prop="userId" /> -->
|
<el-table-column label="用户ID" align="center" prop="userId" />
|
||||||
<el-table-column label="用户昵称" align="center" prop="nickName" />
|
<el-table-column label="用户昵称" align="center" prop="nickName" />
|
||||||
<el-table-column
|
<el-table-column
|
||||||
label="上级邀请码"
|
label="上级邀请码"
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<div class="background-color-fff padding-20 border-radius-8px margin-bottom-20">
|
<div
|
||||||
|
class="background-color-fff padding-20 border-radius-8px margin-bottom-20"
|
||||||
|
>
|
||||||
<el-form
|
<el-form
|
||||||
:model="queryParams"
|
:model="queryParams"
|
||||||
ref="queryRef"
|
ref="queryRef"
|
||||||
@@ -73,13 +75,17 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="Search" @click="handleQuery"
|
||||||
|
>搜索</el-button
|
||||||
|
>
|
||||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="background-color-fff padding-20 border-radius-8px margin-bottom-20">
|
<div
|
||||||
|
class="background-color-fff padding-20 border-radius-8px margin-bottom-20"
|
||||||
|
>
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<!-- <el-col :span="1.5">
|
<!-- <el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
@@ -134,7 +140,9 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="background-color-fff padding-20 border-radius-8px margin-bottom-20">
|
<div
|
||||||
|
class="background-color-fff padding-20 border-radius-8px margin-bottom-20"
|
||||||
|
>
|
||||||
<el-table
|
<el-table
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:data="imLiveActivityList"
|
:data="imLiveActivityList"
|
||||||
@@ -148,12 +156,12 @@
|
|||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{
|
{{
|
||||||
row.activityType == 1
|
row.activityType == 1
|
||||||
? '签到'
|
? "签到"
|
||||||
: row.activityType == 2
|
: row.activityType == 2
|
||||||
? '抽奖'
|
? "抽奖"
|
||||||
: row.activityType == 3
|
: row.activityType == 3
|
||||||
? '答题'
|
? "答题"
|
||||||
: '红包'
|
: "红包"
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -164,23 +172,37 @@
|
|||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{
|
{{
|
||||||
row.status == 1
|
row.status == 1
|
||||||
? '进行中'
|
? "进行中"
|
||||||
: row.status == 2
|
: row.status == 2
|
||||||
? '已结束'
|
? "已结束"
|
||||||
: row.status == 3
|
: row.status == 3
|
||||||
? '已取消'
|
? "已取消"
|
||||||
: '未开始'
|
: "未开始"
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="活动开始时间" align="center" prop="startTime" width="180">
|
<el-table-column
|
||||||
|
label="活动开始时间"
|
||||||
|
align="center"
|
||||||
|
prop="startTime"
|
||||||
|
width="180"
|
||||||
|
>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
<span>{{
|
||||||
|
parseTime(scope.row.startTime, "{y}-{m}-{d} {h}:{i}:{s}")
|
||||||
|
}}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="活动结束时间" align="center" prop="endTime" width="180">
|
<el-table-column
|
||||||
|
label="活动结束时间"
|
||||||
|
align="center"
|
||||||
|
prop="endTime"
|
||||||
|
width="180"
|
||||||
|
>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
<span>{{
|
||||||
|
parseTime(scope.row.endTime, "{y}-{m}-{d} {h}:{i}:{s}")
|
||||||
|
}}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column label="活动持续时长" align="center" prop="duration" /> -->
|
<!-- <el-table-column label="活动持续时长" align="center" prop="duration" /> -->
|
||||||
@@ -188,30 +210,45 @@
|
|||||||
<el-table-column label="创建人类型" align="center" prop="creatorType">
|
<el-table-column label="创建人类型" align="center" prop="creatorType">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{
|
{{
|
||||||
row.creatorType == 1 ? '主播' : row.creatorType == 2 ? '管理员' : '系统'
|
row.creatorType == 1
|
||||||
|
? "主播"
|
||||||
|
: row.creatorType == 2
|
||||||
|
? "管理员"
|
||||||
|
: "系统"
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="是否可重复参与" align="center" prop="isRepeat">
|
<el-table-column label="是否可重复参与" align="center" prop="isRepeat">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<dict-tag :options="sys_general_yes_no" :value="scope.row.isRepeat" />
|
<dict-tag
|
||||||
|
:options="sys_general_yes_no"
|
||||||
|
:value="scope.row.isRepeat"
|
||||||
|
/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column label="重复间隔" align="center" prop="repeatInterval" /> -->
|
<!-- <el-table-column label="重复间隔" align="center" prop="repeatInterval" /> -->
|
||||||
<el-table-column label="最大参与人数" align="center" prop="maxParticipants" />
|
<el-table-column
|
||||||
<el-table-column label="当前参与人数" align="center" prop="participantCount" />
|
label="最大参与人数"
|
||||||
|
align="center"
|
||||||
|
prop="maxParticipants"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="当前参与人数"
|
||||||
|
align="center"
|
||||||
|
prop="participantCount"
|
||||||
|
/>
|
||||||
<el-table-column label="奖励类型" align="center" prop="rewardType">
|
<el-table-column label="奖励类型" align="center" prop="rewardType">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{
|
{{
|
||||||
row.rewardType == 1
|
row.rewardType == 1
|
||||||
? '积分'
|
? "积分"
|
||||||
: row.rewardType == 2
|
: row.rewardType == 2
|
||||||
? '虚拟币'
|
? "虚拟币"
|
||||||
: row.rewardType == 3
|
: row.rewardType == 3
|
||||||
? '实物'
|
? "实物"
|
||||||
: row.rewardType == 4
|
: row.rewardType == 4
|
||||||
? '勋章'
|
? "勋章"
|
||||||
: '特权'
|
: "特权"
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -235,6 +272,16 @@
|
|||||||
>
|
>
|
||||||
查看
|
查看
|
||||||
</el-button>
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
link
|
||||||
|
type="warning"
|
||||||
|
icon="Edit"
|
||||||
|
v-if="scope.row.status === 1"
|
||||||
|
@click="handleEndActivity(scope.row)"
|
||||||
|
v-hasPermi="['service:imLiveActivity:edit']"
|
||||||
|
>
|
||||||
|
结束活动
|
||||||
|
</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
link
|
link
|
||||||
type="primary"
|
type="primary"
|
||||||
@@ -276,13 +323,25 @@
|
|||||||
label-position="top"
|
label-position="top"
|
||||||
>
|
>
|
||||||
<el-form-item label="活动ID" prop="activityId">
|
<el-form-item label="活动ID" prop="activityId">
|
||||||
<el-input v-model="form.activityId" disabled placeholder="请输入活动ID" />
|
<el-input
|
||||||
|
v-model="form.activityId"
|
||||||
|
disabled
|
||||||
|
placeholder="请输入活动ID"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="直播间ID" prop="roomId">
|
<el-form-item label="直播间ID" prop="roomId">
|
||||||
<el-input v-model="form.roomId" disabled placeholder="请输入直播间ID" />
|
<el-input
|
||||||
|
v-model="form.roomId"
|
||||||
|
disabled
|
||||||
|
placeholder="请输入直播间ID"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="活动标题" prop="title">
|
<el-form-item label="活动标题" prop="title">
|
||||||
<el-input v-model="form.title" disabled placeholder="请输入活动标题" />
|
<el-input
|
||||||
|
v-model="form.title"
|
||||||
|
disabled
|
||||||
|
placeholder="请输入活动标题"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="活动描述" prop="description">
|
<!-- <el-form-item label="活动描述" prop="description">
|
||||||
<el-input v-model="form.description" type="textarea" placeholder="请输入内容" />
|
<el-input v-model="form.description" type="textarea" placeholder="请输入内容" />
|
||||||
@@ -314,10 +373,18 @@
|
|||||||
<el-input v-model="form.duration" placeholder="请输入活动持续时长" />
|
<el-input v-model="form.duration" placeholder="请输入活动持续时长" />
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item label="创建人用户id" prop="userId">
|
<el-form-item label="创建人用户id" prop="userId">
|
||||||
<el-input v-model="form.userId" disabled placeholder="请输入创建人账号" />
|
<el-input
|
||||||
|
v-model="form.userId"
|
||||||
|
disabled
|
||||||
|
placeholder="请输入创建人账号"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="创建人类型" prop="creatorType">
|
<el-form-item label="创建人类型" prop="creatorType">
|
||||||
<el-select v-model="form.creatorType" disabled placeholder="创建人类型">
|
<el-select
|
||||||
|
v-model="form.creatorType"
|
||||||
|
disabled
|
||||||
|
placeholder="创建人类型"
|
||||||
|
>
|
||||||
<el-option label="主播" :value="1"></el-option>
|
<el-option label="主播" :value="1"></el-option>
|
||||||
<el-option label="管理员" :value="2"></el-option>
|
<el-option label="管理员" :value="2"></el-option>
|
||||||
<el-option label="系统" :value="3"></el-option>
|
<el-option label="系统" :value="3"></el-option>
|
||||||
@@ -350,7 +417,11 @@
|
|||||||
<el-input v-model="form.participantCount" placeholder="请输入当前参与人数" />
|
<el-input v-model="form.participantCount" placeholder="请输入当前参与人数" />
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item label="奖励积分" prop="rewardValue">
|
<el-form-item label="奖励积分" prop="rewardValue">
|
||||||
<el-input v-model="form.rewardValue" disabled placeholder="请输入内容" />
|
<el-input
|
||||||
|
v-model="form.rewardValue"
|
||||||
|
disabled
|
||||||
|
placeholder="请输入内容"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="奖励类型" prop="rewardType">
|
<!-- <el-form-item label="奖励类型" prop="rewardType">
|
||||||
<el-select v-model="form.rewardType" placeholder="创建人类型">
|
<el-select v-model="form.rewardType" placeholder="创建人类型">
|
||||||
@@ -384,11 +455,12 @@ import {
|
|||||||
delImLiveActivity,
|
delImLiveActivity,
|
||||||
addImLiveActivity,
|
addImLiveActivity,
|
||||||
updateImLiveActivity,
|
updateImLiveActivity,
|
||||||
} from '@/api/service/imLiveActivity';
|
endImLiveActivity,
|
||||||
import ImLiveActivityRecordModal from '@/components/ImLive/ImLiveActivityRecordModal.vue';
|
} from "@/api/service/imLiveActivity";
|
||||||
|
import ImLiveActivityRecordModal from "@/components/ImLive/ImLiveActivityRecordModal.vue";
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const { sys_general_yes_no } = proxy.useDict('sys_general_yes_no');
|
const { sys_general_yes_no } = proxy.useDict("sys_general_yes_no");
|
||||||
|
|
||||||
const imLiveActivityList = ref([]);
|
const imLiveActivityList = ref([]);
|
||||||
const open = ref(false);
|
const open = ref(false);
|
||||||
@@ -398,7 +470,7 @@ const ids = ref([]);
|
|||||||
const single = ref(true);
|
const single = ref(true);
|
||||||
const multiple = ref(true);
|
const multiple = ref(true);
|
||||||
const total = ref(0);
|
const total = ref(0);
|
||||||
const title = ref('');
|
const title = ref("");
|
||||||
const recordModalRef = ref();
|
const recordModalRef = ref();
|
||||||
const currentActivityId = ref(null); // 当前活动ID,可以从接口获取
|
const currentActivityId = ref(null); // 当前活动ID,可以从接口获取
|
||||||
|
|
||||||
@@ -429,31 +501,40 @@ const data = reactive({
|
|||||||
version: null,
|
version: null,
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
roomId: [{ required: true, message: '直播间ID不能为空', trigger: 'blur' }],
|
roomId: [{ required: true, message: "直播间ID不能为空", trigger: "blur" }],
|
||||||
activityType: [
|
activityType: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '活动类型:1-签到 2-抽奖 3-答题 4-红包 5-任务 6-投票 7-连麦PK不能为空',
|
message:
|
||||||
trigger: 'change',
|
"活动类型:1-签到 2-抽奖 3-答题 4-红包 5-任务 6-投票 7-连麦PK不能为空",
|
||||||
|
trigger: "change",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
title: [{ required: true, message: '活动标题不能为空', trigger: 'blur' }],
|
title: [{ required: true, message: "活动标题不能为空", trigger: "blur" }],
|
||||||
status: [
|
status: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '状态:0-未开始 1-进行中 2-已结束 3-已取消不能为空',
|
message: "状态:0-未开始 1-进行中 2-已结束 3-已取消不能为空",
|
||||||
trigger: 'change',
|
trigger: "change",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
startTime: [{ required: true, message: '活动开始时间不能为空', trigger: 'blur' }],
|
startTime: [
|
||||||
endTime: [{ required: true, message: '活动结束时间不能为空', trigger: 'blur' }],
|
{ required: true, message: "活动开始时间不能为空", trigger: "blur" },
|
||||||
userId: [{ required: true, message: '创建人账号不能为空', trigger: 'blur' }],
|
],
|
||||||
rewardValue: [{ required: true, message: '奖励积分不能为空', trigger: 'blur' }],
|
endTime: [
|
||||||
|
{ required: true, message: "活动结束时间不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
userId: [
|
||||||
|
{ required: true, message: "创建人账号不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
rewardValue: [
|
||||||
|
{ required: true, message: "奖励积分不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
creatorType: [
|
creatorType: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '创建人类型:1-主播 2-管理员 3-系统不能为空',
|
message: "创建人类型:1-主播 2-管理员 3-系统不能为空",
|
||||||
trigger: 'change',
|
trigger: "change",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@@ -464,7 +545,7 @@ const { queryParams, form, rules } = toRefs(data);
|
|||||||
/** 查询直播间活动列表 */
|
/** 查询直播间活动列表 */
|
||||||
function getList() {
|
function getList() {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
listImLiveActivity(queryParams.value).then(response => {
|
listImLiveActivity(queryParams.value).then((response) => {
|
||||||
imLiveActivityList.value = response.rows;
|
imLiveActivityList.value = response.rows;
|
||||||
total.value = response.total;
|
total.value = response.total;
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
@@ -504,7 +585,7 @@ function reset() {
|
|||||||
createTime: null,
|
createTime: null,
|
||||||
updateTime: null,
|
updateTime: null,
|
||||||
};
|
};
|
||||||
proxy.resetForm('imLiveActivityRef');
|
proxy.resetForm("imLiveActivityRef");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 显示记录弹窗
|
// 显示记录弹窗
|
||||||
@@ -524,13 +605,13 @@ function handleQuery() {
|
|||||||
|
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
function resetQuery() {
|
function resetQuery() {
|
||||||
proxy.resetForm('queryRef');
|
proxy.resetForm("queryRef");
|
||||||
handleQuery();
|
handleQuery();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
function handleSelectionChange(selection) {
|
function handleSelectionChange(selection) {
|
||||||
ids.value = selection.map(item => item.id);
|
ids.value = selection.map((item) => item.id);
|
||||||
single.value = selection.length != 1;
|
single.value = selection.length != 1;
|
||||||
multiple.value = !selection.length;
|
multiple.value = !selection.length;
|
||||||
}
|
}
|
||||||
@@ -539,34 +620,50 @@ function handleSelectionChange(selection) {
|
|||||||
function handleAdd() {
|
function handleAdd() {
|
||||||
reset();
|
reset();
|
||||||
open.value = true;
|
open.value = true;
|
||||||
title.value = '添加直播间活动';
|
title.value = "添加直播间活动";
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
function handleUpdate(row) {
|
function handleUpdate(row) {
|
||||||
reset();
|
reset();
|
||||||
const _id = row.id || ids.value;
|
const _id = row.id || ids.value;
|
||||||
getImLiveActivity(_id).then(response => {
|
getImLiveActivity(_id).then((response) => {
|
||||||
form.value = response.data;
|
form.value = response.data;
|
||||||
open.value = true;
|
open.value = true;
|
||||||
title.value = '修改直播间活动';
|
title.value = "修改直播间活动";
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleEndActivity(row) {
|
||||||
|
console.log(row);
|
||||||
|
|
||||||
|
const _id = row.activityId || ids.value;
|
||||||
|
proxy.$modal
|
||||||
|
.confirm('是否确认结束直播间活动编号为"' + _id + '"的数据项?')
|
||||||
|
.then(function () {
|
||||||
|
return endImLiveActivity(_id);
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
getList();
|
||||||
|
proxy.$modal.msgSuccess("活动已结束");
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
}
|
||||||
|
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
function submitForm() {
|
function submitForm() {
|
||||||
proxy.$refs['imLiveActivityRef'].validate(valid => {
|
proxy.$refs["imLiveActivityRef"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
form.isRepeat = 0;
|
form.isRepeat = 0;
|
||||||
if (form.value.id != null) {
|
if (form.value.id != null) {
|
||||||
updateImLiveActivity(form.value).then(response => {
|
updateImLiveActivity(form.value).then((response) => {
|
||||||
proxy.$modal.msgSuccess('修改成功');
|
proxy.$modal.msgSuccess("修改成功");
|
||||||
open.value = false;
|
open.value = false;
|
||||||
getList();
|
getList();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
addImLiveActivity(form.value).then(response => {
|
addImLiveActivity(form.value).then((response) => {
|
||||||
proxy.$modal.msgSuccess('新增成功');
|
proxy.$modal.msgSuccess("新增成功");
|
||||||
open.value = false;
|
open.value = false;
|
||||||
getList();
|
getList();
|
||||||
});
|
});
|
||||||
@@ -585,7 +682,7 @@ function handleDelete(row) {
|
|||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
getList();
|
getList();
|
||||||
proxy.$modal.msgSuccess('删除成功');
|
proxy.$modal.msgSuccess("删除成功");
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => {});
|
||||||
}
|
}
|
||||||
@@ -593,11 +690,11 @@ function handleDelete(row) {
|
|||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
function handleExport() {
|
function handleExport() {
|
||||||
proxy.download(
|
proxy.download(
|
||||||
'service/imLiveActivity/export',
|
"service/imLiveActivity/export",
|
||||||
{
|
{
|
||||||
...queryParams.value,
|
...queryParams.value,
|
||||||
},
|
},
|
||||||
`imLiveActivity_${new Date().getTime()}.xlsx`
|
`imLiveActivity_${new Date().getTime()}.xlsx`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<div class="background-color-fff padding-20 border-radius-8px margin-bottom-20">
|
<div
|
||||||
|
class="background-color-fff padding-20 border-radius-8px margin-bottom-20"
|
||||||
|
>
|
||||||
<el-form
|
<el-form
|
||||||
:model="queryParams"
|
:model="queryParams"
|
||||||
ref="queryRef"
|
ref="queryRef"
|
||||||
@@ -67,13 +69,17 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
<el-button type="primary" icon="Search" @click="handleQuery"
|
||||||
|
>搜索</el-button
|
||||||
|
>
|
||||||
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="background-color-fff padding-20 border-radius-8px margin-bottom-20">
|
<div
|
||||||
|
class="background-color-fff padding-20 border-radius-8px margin-bottom-20"
|
||||||
|
>
|
||||||
<el-row :gutter="10" class="mb8">
|
<el-row :gutter="10" class="mb8">
|
||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button
|
<el-button
|
||||||
@@ -128,7 +134,9 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="background-color-fff padding-20 border-radius-8px margin-bottom-20">
|
<div
|
||||||
|
class="background-color-fff padding-20 border-radius-8px margin-bottom-20"
|
||||||
|
>
|
||||||
<el-table
|
<el-table
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:data="imLiveRoomList"
|
:data="imLiveRoomList"
|
||||||
@@ -177,18 +185,22 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="创建者用户ID" align="center" prop="userId" />
|
<el-table-column label="创建者用户ID" align="center" prop="userId" />
|
||||||
<el-table-column label="直播间创建者账号" align="center" prop="ownerAccount" />
|
<el-table-column
|
||||||
|
label="直播间创建者账号"
|
||||||
|
align="center"
|
||||||
|
prop="ownerAccount"
|
||||||
|
/>
|
||||||
<el-table-column label="主播账号" align="center" prop="anchorAccount" />
|
<el-table-column label="主播账号" align="center" prop="anchorAccount" />
|
||||||
<el-table-column label="状态" align="center" prop="status">
|
<el-table-column label="状态" align="center" prop="status">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{
|
{{
|
||||||
row.status == 0
|
row.status == 0
|
||||||
? '准备中'
|
? "准备中"
|
||||||
: row.status == 1
|
: row.status == 1
|
||||||
? '直播中'
|
? "直播中"
|
||||||
: row.status == 2
|
: row.status == 2
|
||||||
? '已结束'
|
? "已结束"
|
||||||
: '已封禁'
|
: "已封禁"
|
||||||
}}
|
}}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -198,18 +210,40 @@
|
|||||||
prop="liveType"
|
prop="liveType"
|
||||||
/> -->
|
/> -->
|
||||||
<!-- <el-table-column label="最大观众数" align="center" prop="maxViewers" /> -->
|
<!-- <el-table-column label="最大观众数" align="center" prop="maxViewers" /> -->
|
||||||
<el-table-column label="当前观众数" align="center" prop="currentViewers" />
|
<el-table-column
|
||||||
<el-table-column label="虚拟观众数" align="center" prop="virtualViewers" />
|
label="当前观众数"
|
||||||
|
align="center"
|
||||||
|
prop="currentViewers"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
label="虚拟观众数"
|
||||||
|
align="center"
|
||||||
|
prop="virtualViewers"
|
||||||
|
/>
|
||||||
<el-table-column label="点赞数" align="center" prop="likeCount" />
|
<el-table-column label="点赞数" align="center" prop="likeCount" />
|
||||||
<el-table-column label="礼物数" align="center" prop="giftCount" />
|
<el-table-column label="礼物数" align="center" prop="giftCount" />
|
||||||
<el-table-column label="开始时间" align="center" prop="startTime" width="180">
|
<el-table-column
|
||||||
|
label="开始时间"
|
||||||
|
align="center"
|
||||||
|
prop="startTime"
|
||||||
|
width="180"
|
||||||
|
>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ parseTime(scope.row.startTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
<span>{{
|
||||||
|
parseTime(scope.row.startTime, "{y}-{m}-{d} {h}:{i}:{s}")
|
||||||
|
}}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="结束时间" align="center" prop="endTime" width="180">
|
<el-table-column
|
||||||
|
label="结束时间"
|
||||||
|
align="center"
|
||||||
|
prop="endTime"
|
||||||
|
width="180"
|
||||||
|
>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span>{{ parseTime(scope.row.endTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
|
<span>{{
|
||||||
|
parseTime(scope.row.endTime, "{y}-{m}-{d} {h}:{i}:{s}")
|
||||||
|
}}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!-- <el-table-column label="直播时长(秒)" align="center" prop="duration" /> -->
|
<!-- <el-table-column label="直播时长(秒)" align="center" prop="duration" /> -->
|
||||||
@@ -315,10 +349,18 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="直播间封面URL" prop="coverUrl">
|
<el-form-item label="直播间封面URL" prop="coverUrl">
|
||||||
<el-input v-model="form.coverUrl" type="textarea" placeholder="请输入内容" />
|
<el-input
|
||||||
|
v-model="form.coverUrl"
|
||||||
|
type="textarea"
|
||||||
|
placeholder="请输入内容"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="OBS推流地址" prop="liveUrl">
|
<el-form-item label="OBS推流地址" prop="liveUrl">
|
||||||
<el-input v-model="form.liveUrl" type="textarea" placeholder="请输入内容" />
|
<el-input
|
||||||
|
v-model="form.liveUrl"
|
||||||
|
type="textarea"
|
||||||
|
placeholder="请输入内容"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="播放地址" prop="playUrl">
|
<!-- <el-form-item label="播放地址" prop="playUrl">
|
||||||
<el-input v-model="form.playUrl" type="textarea" placeholder="请输入内容" />
|
<el-input v-model="form.playUrl" type="textarea" placeholder="请输入内容" />
|
||||||
@@ -330,7 +372,10 @@
|
|||||||
<el-input v-model="form.userId" placeholder="请输入创建者用户ID" />
|
<el-input v-model="form.userId" placeholder="请输入创建者用户ID" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="直播间创建者账号" prop="ownerAccount">
|
<el-form-item label="直播间创建者账号" prop="ownerAccount">
|
||||||
<el-input v-model="form.ownerAccount" placeholder="请输入直播间创建者账号" />
|
<el-input
|
||||||
|
v-model="form.ownerAccount"
|
||||||
|
placeholder="请输入直播间创建者账号"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="主播账号" prop="anchorAccount">
|
<el-form-item label="主播账号" prop="anchorAccount">
|
||||||
<el-input v-model="form.anchorAccount" placeholder="请输入主播账号" />
|
<el-input v-model="form.anchorAccount" placeholder="请输入主播账号" />
|
||||||
@@ -339,7 +384,10 @@
|
|||||||
<el-input v-model="form.maxViewers" placeholder="请输入最大观众数" />
|
<el-input v-model="form.maxViewers" placeholder="请输入最大观众数" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="当前观众数" prop="currentViewers">
|
<el-form-item label="当前观众数" prop="currentViewers">
|
||||||
<el-input v-model="form.currentViewers" placeholder="请输入当前观众数" />
|
<el-input
|
||||||
|
v-model="form.currentViewers"
|
||||||
|
placeholder="请输入当前观众数"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="虚拟观众数" prop="virtualViewers">
|
<!-- <el-form-item label="虚拟观众数" prop="virtualViewers">
|
||||||
<el-input v-model="form.virtualViewers" placeholder="请输入虚拟观众数" />
|
<el-input v-model="form.virtualViewers" placeholder="请输入虚拟观众数" />
|
||||||
@@ -402,7 +450,12 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-- 添加或修改虚拟观众配置对话框 -->
|
<!-- 添加或修改虚拟观众配置对话框 -->
|
||||||
<el-dialog title="虚拟观众配置" v-model="openVirtual" width="500px" append-to-body>
|
<el-dialog
|
||||||
|
title="虚拟观众配置"
|
||||||
|
v-model="openVirtual"
|
||||||
|
width="500px"
|
||||||
|
append-to-body
|
||||||
|
>
|
||||||
<el-form
|
<el-form
|
||||||
ref="imLiveVirtualConfigRef"
|
ref="imLiveVirtualConfigRef"
|
||||||
:model="formVirtual"
|
:model="formVirtual"
|
||||||
@@ -411,13 +464,23 @@
|
|||||||
label-position="top"
|
label-position="top"
|
||||||
>
|
>
|
||||||
<el-form-item label="直播间ID" prop="roomId">
|
<el-form-item label="直播间ID" prop="roomId">
|
||||||
<el-input v-model="formVirtual.roomId" disabled placeholder="请输入直播间ID" />
|
<el-input
|
||||||
|
v-model="formVirtual.roomId"
|
||||||
|
disabled
|
||||||
|
placeholder="请输入直播间ID"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="虚拟观众数量" prop="virtualCount">
|
<el-form-item label="虚拟观众数量" prop="virtualCount">
|
||||||
<el-input v-model="formVirtual.virtualCount" placeholder="请输入虚拟观众数量" />
|
<el-input
|
||||||
|
v-model="formVirtual.virtualCount"
|
||||||
|
placeholder="请输入虚拟观众数量"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="是否启用" prop="isActive">
|
<el-form-item label="是否启用" prop="isActive">
|
||||||
<el-select v-model="formVirtual.isActive" placeholder="请选择是否启用">
|
<el-select
|
||||||
|
v-model="formVirtual.isActive"
|
||||||
|
placeholder="请选择是否启用"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dict in sys_general_yes_no"
|
v-for="dict in sys_general_yes_no"
|
||||||
:key="dict.value"
|
:key="dict.value"
|
||||||
@@ -445,17 +508,17 @@ import {
|
|||||||
addImLiveRoom,
|
addImLiveRoom,
|
||||||
updateImLiveRoom,
|
updateImLiveRoom,
|
||||||
removeImLiveRoom,
|
removeImLiveRoom,
|
||||||
} from '@/api/service/imLiveRoom';
|
} from "@/api/service/imLiveRoom";
|
||||||
import {
|
import {
|
||||||
listImLiveVirtualConfig,
|
listImLiveVirtualConfig,
|
||||||
getImLiveVirtualConfig,
|
getImLiveVirtualConfig,
|
||||||
delImLiveVirtualConfig,
|
delImLiveVirtualConfig,
|
||||||
addImLiveVirtualConfig,
|
addImLiveVirtualConfig,
|
||||||
updateImLiveVirtualConfig,
|
updateImLiveVirtualConfig,
|
||||||
} from '@/api/service/imLiveVirtualConfig';
|
} from "@/api/service/imLiveVirtualConfig";
|
||||||
|
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const { sys_general_yes_no } = proxy.useDict('sys_general_yes_no');
|
const { sys_general_yes_no } = proxy.useDict("sys_general_yes_no");
|
||||||
|
|
||||||
const imLiveRoomList = ref([]);
|
const imLiveRoomList = ref([]);
|
||||||
const open = ref(false);
|
const open = ref(false);
|
||||||
@@ -466,7 +529,7 @@ const ids = ref([]);
|
|||||||
const single = ref(true);
|
const single = ref(true);
|
||||||
const multiple = ref(true);
|
const multiple = ref(true);
|
||||||
const total = ref(0);
|
const total = ref(0);
|
||||||
const title = ref('');
|
const title = ref("");
|
||||||
|
|
||||||
const data = reactive({
|
const data = reactive({
|
||||||
form: {},
|
form: {},
|
||||||
@@ -502,53 +565,109 @@ const data = reactive({
|
|||||||
version: null,
|
version: null,
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
roomId: [{ required: true, message: '直播间ID不能为空', trigger: 'blur' }],
|
roomId: [{ required: true, message: "直播间ID不能为空", trigger: "blur" }],
|
||||||
groupId: [{ required: true, message: '关联群组ID不能为空', trigger: 'blur' }],
|
groupId: [
|
||||||
roomName: [{ required: true, message: '直播间名称不能为空', trigger: 'blur' }],
|
{ required: true, message: "关联群组ID不能为空", trigger: "blur" },
|
||||||
userId: [{ required: true, message: '创建者用户ID不能为空', trigger: 'blur' }],
|
],
|
||||||
ownerAccount: [{ required: true, message: '直播间创建者账号不能为空', trigger: 'blur' }],
|
roomName: [
|
||||||
anchorAccount: [{ required: true, message: '主播账号不能为空', trigger: 'blur' }],
|
{ required: true, message: "直播间名称不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
userId: [
|
||||||
|
{ required: true, message: "创建者用户ID不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
ownerAccount: [
|
||||||
|
{ required: true, message: "直播间创建者账号不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
anchorAccount: [
|
||||||
|
{ required: true, message: "主播账号不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
status: [
|
status: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '状态:0-准备中 1-直播中 2-已结束 3-已封禁不能为空',
|
message: "状态:0-准备中 1-直播中 2-已结束 3-已封禁不能为空",
|
||||||
trigger: 'change',
|
trigger: "change",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
liveType: [
|
liveType: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: '直播类型:1-普通直播 2-语音直播 3-屏幕分享不能为空',
|
message: "直播类型:1-普通直播 2-语音直播 3-屏幕分享不能为空",
|
||||||
trigger: 'change',
|
trigger: "change",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
maxViewers: [{ required: true, message: '最大观众数不能为空', trigger: 'blur' }],
|
maxViewers: [
|
||||||
currentViewers: [{ required: true, message: '当前观众数不能为空', trigger: 'blur' }],
|
{ required: true, message: "最大观众数不能为空", trigger: "blur" },
|
||||||
virtualViewers: [{ required: true, message: '虚拟观众数不能为空', trigger: 'blur' }],
|
],
|
||||||
likeCount: [{ required: true, message: '点赞数不能为空', trigger: 'blur' }],
|
currentViewers: [
|
||||||
giftCount: [{ required: true, message: '礼物数不能为空', trigger: 'blur' }],
|
{ required: true, message: "当前观众数不能为空", trigger: "blur" },
|
||||||
duration: [{ required: true, message: '直播时长(秒)不能为空', trigger: 'blur' }],
|
],
|
||||||
isRecorded: [{ required: true, message: '是否录制:0-否 1-是不能为空', trigger: 'blur' }],
|
virtualViewers: [
|
||||||
isPrivate: [
|
{ required: true, message: "虚拟观众数不能为空", trigger: "blur" },
|
||||||
{ required: true, message: '是否私密:0-公开 1-私密不能为空', trigger: 'blur' },
|
],
|
||||||
|
likeCount: [{ required: true, message: "点赞数不能为空", trigger: "blur" }],
|
||||||
|
giftCount: [{ required: true, message: "礼物数不能为空", trigger: "blur" }],
|
||||||
|
duration: [
|
||||||
|
{ required: true, message: "直播时长(秒)不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
isRecorded: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "是否录制:0-否 1-是不能为空",
|
||||||
|
trigger: "blur",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
isPrivate: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "是否私密:0-公开 1-私密不能为空",
|
||||||
|
trigger: "blur",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
version: [{ required: true, message: "版本号不能为空", trigger: "blur" }],
|
||||||
|
createTime: [
|
||||||
|
{ required: true, message: "创建时间不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
updateTime: [
|
||||||
|
{ required: true, message: "更新时间不能为空", trigger: "blur" },
|
||||||
],
|
],
|
||||||
version: [{ required: true, message: '版本号不能为空', trigger: 'blur' }],
|
|
||||||
createTime: [{ required: true, message: '创建时间不能为空', trigger: 'blur' }],
|
|
||||||
updateTime: [{ required: true, message: '更新时间不能为空', trigger: 'blur' }],
|
|
||||||
},
|
},
|
||||||
formVirtual: {},
|
formVirtual: {},
|
||||||
Virtualrules: {
|
Virtualrules: {
|
||||||
roomId: [{ required: true, message: '直播间ID不能为空', trigger: 'blur' }],
|
roomId: [{ required: true, message: "直播间ID不能为空", trigger: "blur" }],
|
||||||
virtualCount: [{ required: true, message: '虚拟观众数量不能为空', trigger: 'blur' }],
|
virtualCount: [
|
||||||
enterInterval: [{ required: true, message: '进入间隔(秒)不能为空', trigger: 'blur' }],
|
{ required: true, message: "虚拟观众数量不能为空", trigger: "blur" },
|
||||||
leaveInterval: [{ required: true, message: '离开间隔(秒)不能为空', trigger: 'blur' }],
|
],
|
||||||
minWatchTime: [{ required: true, message: '最小观看时间(秒)不能为空', trigger: 'blur' }],
|
enterInterval: [
|
||||||
maxWatchTime: [{ required: true, message: '最大观看时间(秒)不能为空', trigger: 'blur' }],
|
{ required: true, message: "进入间隔(秒)不能为空", trigger: "blur" },
|
||||||
likeProbability: [{ required: true, message: '点赞概率不能为空', trigger: 'blur' }],
|
],
|
||||||
giftProbability: [{ required: true, message: '送礼概率不能为空', trigger: 'blur' }],
|
leaveInterval: [
|
||||||
isActive: [{ required: true, message: '是否启用:0-否 1-是不能为空', trigger: 'blur' }],
|
{ required: true, message: "离开间隔(秒)不能为空", trigger: "blur" },
|
||||||
createTime: [{ required: true, message: '创建时间不能为空', trigger: 'blur' }],
|
],
|
||||||
updateTime: [{ required: true, message: '更新时间不能为空', trigger: 'blur' }],
|
minWatchTime: [
|
||||||
|
{ required: true, message: "最小观看时间(秒)不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
maxWatchTime: [
|
||||||
|
{ required: true, message: "最大观看时间(秒)不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
likeProbability: [
|
||||||
|
{ required: true, message: "点赞概率不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
giftProbability: [
|
||||||
|
{ required: true, message: "送礼概率不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
isActive: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "是否启用:0-否 1-是不能为空",
|
||||||
|
trigger: "blur",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
createTime: [
|
||||||
|
{ required: true, message: "创建时间不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
|
updateTime: [
|
||||||
|
{ required: true, message: "更新时间不能为空", trigger: "blur" },
|
||||||
|
],
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -557,7 +676,7 @@ const { queryParams, form, rules, formVirtual, Virtualrules } = toRefs(data);
|
|||||||
/** 查询直播间列表 */
|
/** 查询直播间列表 */
|
||||||
function getList() {
|
function getList() {
|
||||||
loading.value = true;
|
loading.value = true;
|
||||||
listImLiveRoom(queryParams.value).then(response => {
|
listImLiveRoom(queryParams.value).then((response) => {
|
||||||
imLiveRoomList.value = response.rows;
|
imLiveRoomList.value = response.rows;
|
||||||
total.value = response.total;
|
total.value = response.total;
|
||||||
loading.value = false;
|
loading.value = false;
|
||||||
@@ -565,7 +684,7 @@ function getList() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function copySuccess() {
|
function copySuccess() {
|
||||||
proxy.$modal.msgSuccess('复制成功');
|
proxy.$modal.msgSuccess("复制成功");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 取消按钮
|
// 取消按钮
|
||||||
@@ -605,21 +724,21 @@ function resetVirtual() {
|
|||||||
createTime: null,
|
createTime: null,
|
||||||
updateTime: null,
|
updateTime: null,
|
||||||
};
|
};
|
||||||
proxy.resetForm('imLiveVirtualConfigRef');
|
proxy.resetForm("imLiveVirtualConfigRef");
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
function submitFormVirtual() {
|
function submitFormVirtual() {
|
||||||
proxy.$refs['imLiveVirtualConfigRef'].validate(valid => {
|
proxy.$refs["imLiveVirtualConfigRef"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (formVirtual.value.id != null) {
|
if (formVirtual.value.id != null) {
|
||||||
updateImLiveVirtualConfig(formVirtual.value).then(response => {
|
updateImLiveVirtualConfig(formVirtual.value).then((response) => {
|
||||||
proxy.$modal.msgSuccess('修改成功');
|
proxy.$modal.msgSuccess("修改成功");
|
||||||
openVirtual.value = false;
|
openVirtual.value = false;
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
addImLiveVirtualConfig(formVirtual.value).then(response => {
|
addImLiveVirtualConfig(formVirtual.value).then((response) => {
|
||||||
proxy.$modal.msgSuccess('新增成功');
|
proxy.$modal.msgSuccess("新增成功");
|
||||||
openVirtual.value = false;
|
openVirtual.value = false;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -661,7 +780,7 @@ function reset() {
|
|||||||
createTime: null,
|
createTime: null,
|
||||||
updateTime: null,
|
updateTime: null,
|
||||||
};
|
};
|
||||||
proxy.resetForm('imLiveRoomRef');
|
proxy.resetForm("imLiveRoomRef");
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 搜索按钮操作 */
|
/** 搜索按钮操作 */
|
||||||
@@ -672,13 +791,13 @@ function handleQuery() {
|
|||||||
|
|
||||||
/** 重置按钮操作 */
|
/** 重置按钮操作 */
|
||||||
function resetQuery() {
|
function resetQuery() {
|
||||||
proxy.resetForm('queryRef');
|
proxy.resetForm("queryRef");
|
||||||
handleQuery();
|
handleQuery();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 多选框选中数据
|
// 多选框选中数据
|
||||||
function handleSelectionChange(selection) {
|
function handleSelectionChange(selection) {
|
||||||
ids.value = selection.map(item => item.id);
|
ids.value = selection.map((item) => item.id);
|
||||||
single.value = selection.length != 1;
|
single.value = selection.length != 1;
|
||||||
multiple.value = !selection.length;
|
multiple.value = !selection.length;
|
||||||
}
|
}
|
||||||
@@ -687,25 +806,25 @@ function handleSelectionChange(selection) {
|
|||||||
function handleAdd() {
|
function handleAdd() {
|
||||||
reset();
|
reset();
|
||||||
open.value = true;
|
open.value = true;
|
||||||
title.value = '添加直播间';
|
title.value = "添加直播间";
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 修改按钮操作 */
|
/** 修改按钮操作 */
|
||||||
function handleUpdate(row) {
|
function handleUpdate(row) {
|
||||||
reset();
|
reset();
|
||||||
const _id = row.id || ids.value;
|
const _id = row.id || ids.value;
|
||||||
getImLiveRoom(_id).then(response => {
|
getImLiveRoom(_id).then((response) => {
|
||||||
form.value = response.data;
|
form.value = response.data;
|
||||||
open.value = true;
|
open.value = true;
|
||||||
title.value = '修改直播间';
|
title.value = "修改直播间";
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleUpdateShow(row, num) {
|
function handleUpdateShow(row, num) {
|
||||||
// console.log(row);
|
// console.log(row);
|
||||||
row.isPrivate = num;
|
row.isPrivate = num;
|
||||||
updateImLiveRoom(row).then(response => {
|
updateImLiveRoom(row).then((response) => {
|
||||||
proxy.$modal.msgSuccess('修改成功');
|
proxy.$modal.msgSuccess("修改成功");
|
||||||
open.value = false;
|
open.value = false;
|
||||||
getList();
|
getList();
|
||||||
});
|
});
|
||||||
@@ -713,17 +832,17 @@ function handleUpdateShow(row, num) {
|
|||||||
|
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
function submitForm() {
|
function submitForm() {
|
||||||
proxy.$refs['imLiveRoomRef'].validate(valid => {
|
proxy.$refs["imLiveRoomRef"].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (form.value.id != null) {
|
if (form.value.id != null) {
|
||||||
updateImLiveRoom(form.value).then(response => {
|
updateImLiveRoom(form.value).then((response) => {
|
||||||
proxy.$modal.msgSuccess('修改成功');
|
proxy.$modal.msgSuccess("修改成功");
|
||||||
open.value = false;
|
open.value = false;
|
||||||
getList();
|
getList();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
addImLiveRoom(form.value).then(response => {
|
addImLiveRoom(form.value).then((response) => {
|
||||||
proxy.$modal.msgSuccess('新增成功');
|
proxy.$modal.msgSuccess("新增成功");
|
||||||
open.value = false;
|
open.value = false;
|
||||||
getList();
|
getList();
|
||||||
});
|
});
|
||||||
@@ -742,7 +861,7 @@ function handleDelete(row) {
|
|||||||
})
|
})
|
||||||
.then(() => {
|
.then(() => {
|
||||||
getList();
|
getList();
|
||||||
proxy.$modal.msgSuccess('删除成功');
|
proxy.$modal.msgSuccess("删除成功");
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => {});
|
||||||
}
|
}
|
||||||
@@ -750,11 +869,11 @@ function handleDelete(row) {
|
|||||||
/** 导出按钮操作 */
|
/** 导出按钮操作 */
|
||||||
function handleExport() {
|
function handleExport() {
|
||||||
proxy.download(
|
proxy.download(
|
||||||
'service/imLiveRoom/export',
|
"service/imLiveRoom/export",
|
||||||
{
|
{
|
||||||
...queryParams.value,
|
...queryParams.value,
|
||||||
},
|
},
|
||||||
`imLiveRoom_${new Date().getTime()}.xlsx`
|
`imLiveRoom_${new Date().getTime()}.xlsx`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user