|
|
@@ -34,6 +34,12 @@
|
|
|
<el-card shadow="hover">
|
|
|
<template #header>
|
|
|
<el-row :gutter="10">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button v-has-permi="['miniapp:subscription:edit']" type="success" plain icon="Edit" :disabled="single" @click="handleEditSelected">修改</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button v-has-permi="['miniapp:subscription:remove']" type="danger" plain icon="Delete" :disabled="multiple" @click="handleDeleteSelected">删除</el-button>
|
|
|
+ </el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-button v-has-permi="['miniapp:subscription:export']" type="warning" plain icon="Download" @click="handleExport">导出</el-button>
|
|
|
</el-col>
|
|
|
@@ -44,7 +50,8 @@
|
|
|
</el-row>
|
|
|
</template>
|
|
|
|
|
|
- <el-table v-loading="loading" border :data="dataList" stripe>
|
|
|
+ <el-table v-loading="loading" border :data="dataList" stripe @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column type="selection" width="55" align="center" />
|
|
|
<el-table-column label="ID" align="center" prop="id" width="80" />
|
|
|
<el-table-column label="用户昵称" align="center" prop="nickname" :show-overflow-tooltip="true" />
|
|
|
<el-table-column label="手机号" align="center" prop="phone" />
|
|
|
@@ -121,6 +128,9 @@ const loading = ref(true);
|
|
|
const refreshing = ref(false);
|
|
|
const showSearch = ref(true);
|
|
|
const total = ref(0);
|
|
|
+const ids = ref<number[]>([]);
|
|
|
+const single = ref(true);
|
|
|
+const multiple = ref(true);
|
|
|
|
|
|
const queryFormRef = ref<ElFormInstance>();
|
|
|
const formRef = ref<ElFormInstance>();
|
|
|
@@ -185,6 +195,33 @@ const resetQuery = () => {
|
|
|
handleQuery();
|
|
|
};
|
|
|
|
|
|
+/** 多选框选中数据 */
|
|
|
+const handleSelectionChange = (selection: any[]) => {
|
|
|
+ ids.value = selection.map(item => item.id);
|
|
|
+ single.value = selection.length !== 1;
|
|
|
+ multiple.value = !selection.length;
|
|
|
+};
|
|
|
+
|
|
|
+/** 修改按钮(工具栏) */
|
|
|
+const handleEditSelected = () => {
|
|
|
+ const row = dataList.value.find(item => item.id === ids.value[0]);
|
|
|
+ if (row) {
|
|
|
+ handleEdit(row);
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
+/** 删除按钮(工具栏) */
|
|
|
+const handleDeleteSelected = async () => {
|
|
|
+ try {
|
|
|
+ await proxy?.$modal.confirm(`确认要删除选中的${ids.value.length}条订阅记录吗?`);
|
|
|
+ await request.delete(`/miniapp/subscription/${ids.value.join(',')}`);
|
|
|
+ proxy?.$modal.msgSuccess('删除成功');
|
|
|
+ getList();
|
|
|
+ } catch {
|
|
|
+ // 取消操作
|
|
|
+ }
|
|
|
+};
|
|
|
+
|
|
|
/** 编辑 */
|
|
|
const handleEdit = (row: any) => {
|
|
|
form.value = {
|