封禁bug

This commit is contained in:
helen 2024-12-27 14:18:06 +08:00
parent 95a14f596c
commit 9768b04c88
7 changed files with 214 additions and 21 deletions

View File

@ -43,9 +43,9 @@ export const addBanned = (data: BannedForm) => {
*
* @param data
*/
export const updateBanned = (data: BannedForm) => {
export const updatemanage = (data: BannedForm) => {
return request({
url: '/manage/banned',
url: '/manage/report',
method: 'put',
data: data
});

View File

@ -95,3 +95,14 @@ export const productCategoryall = (query?: MkJigsawQuery): AxiosPromise<MkJigsaw
params: query
});
};
/**
*
* @param query
*/
export const mkJoinlist = (query?: MkJigsawQuery): AxiosPromise<MkJigsawVO[]> => {
return request({
url: '/manage/mkJoin/list',
method: 'get',
params: query
});
};

View File

@ -136,7 +136,7 @@ const onClick = (e: any) => {
data.result.address_component.city +
data.result.address_component.district +
data.result.address_component.street +
data.result.address_component.street_number +data.result.title;
data.result.address_component.street_number + data.result.formatted_addresses.recommend;
form.value.latitude = data.result.location.lat;
form.value.longitude = data.result.location.lng;
// form.value.address = data.result.formatted_addresses.recommend;

View File

@ -10,7 +10,8 @@
<el-form-item label="发布状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择发布状态" style="width: 200px" @keyup.enter="handleQuery">
<el-option label="未发布" value="0" />
<el-option label="已发布" value="1" />
<el-option label="已发布" value="2" />
<el-option label="审核中" value="1" />
</el-select>
</el-form-item>
<el-form-item>
@ -36,7 +37,8 @@
<el-table-column label="联系方式" align="center" prop="number" />
<el-table-column label="状态" align="center" prop="status">
<template #default="scope">
<el-tag v-if="scope.row.status == 1" type="primary">已发布</el-tag>
<el-tag v-if="scope.row.status == 1" type="success">审核中</el-tag>
<el-tag v-if="scope.row.status == 2" type="primary">已发布</el-tag>
<el-tag v-if="scope.row.status == 0" type="info">未发布</el-tag>
</template>
</el-table-column>
@ -44,16 +46,16 @@
<el-table-column label="更新时间" align="center" prop="updateTime" width="180" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip v-if="scope.row.status != 1" content="编辑" placement="top">
<el-tooltip v-if="scope.row.status == 0" content="编辑" placement="top">
<el-button v-hasPermi="['manage:hotel:edit']" link type="primary" @click="handleUpdate(scope.row)">编辑</el-button>
</el-tooltip>
<el-tooltip v-if="scope.row.status != 1" content="删除" placement="top">
<el-tooltip v-if="scope.row.status == 0" content="删除" placement="top">
<el-button v-hasPermi="['manage:hotel:remove']" link type="primary" @click="handleDelete(scope.row)">删除</el-button>
</el-tooltip>
<el-tooltip v-if="scope.row.status == 0" content="发布" placement="top">
<el-button v-hasPermi="['manage:hotel:remove']" link type="primary" @click="handleEdit(scope.row)">发布</el-button>
</el-tooltip>
<el-tooltip v-if="scope.row.status == 1" content="撤销发布" placement="top">
<el-tooltip v-if="scope.row.status == 2" content="撤销发布" placement="top">
<el-button v-hasPermi="['manage:hotel:remove']" link type="primary" @click="handleEdit(scope.row)">撤销发布</el-button>
</el-tooltip>
</template>
@ -282,6 +284,7 @@ const handleUpdate = async (row?: HotelVO) => {
Object.assign(form.value, res.data);
center.value = { lat: row.latitude, lng: row.longitude };
geometries.value = [{ styleId: 'marker', position: { lat: row.latitude, lng: row.longitude } }];
searchLocation.value = form.value.address;
dialog.visible = true;
dialog.title = '修改住宿';
};
@ -416,7 +419,7 @@ const onClick = (e: any) => {
data.result.address_component.district +
data.result.address_component.street +
data.result.address_component.street_number +
data.result.title;
data.result.formatted_addresses.recommend;
form.value.latitude = data.result.location.lat;
form.value.longitude = data.result.location.lng;
// form.value.province = data.result.address_component.province;

View File

@ -47,12 +47,12 @@
<el-table-column label="设置得奖人数" align="center" prop="awardConfigCount" />
<el-table-column label="参与人数" align="center" prop="joinCount">
<template #default="scope">
<el-button type="primary" link>{{ scope.row.joinCount }}</el-button>
<el-button type="primary" link @click="handleJoin(scope.row)">{{ scope.row.joinCount }}</el-button>
</template>
</el-table-column>
<el-table-column label="实际得奖人数" align="center" prop="awardCount">
<template #default="scope">
<el-button type="primary" link>{{ scope.row.awardCount }}</el-button>
<el-button link type="primary" @click="handleAward(scope.row)">{{ scope.row.awardCount }}</el-button>
</template>
</el-table-column>
<el-table-column label="拼图碎片获得人数" align="center" prop="awardCount">
@ -222,6 +222,64 @@
<el-table-column prop="joinCount" label="获得人数" />
</el-table>
</el-dialog>
<!-- 获奖人员 -->
<el-dialog v-model="mkReward.visible" title="获奖人员" width="600px" append-to-body>
<div>
<el-table :data="mkRewardUserLists" border style="width: 100%">
<el-table-column prop="userId" label="用户ID" />
<el-table-column prop="nickName" label="昵称" />
<el-table-column prop="" label="获得奖品">
<template #default="scope">
<el-button link type="primary" @click="getproductInfo(scope.row.productId)">查看详情</el-button>
</template>
</el-table-column>
</el-table>
</div>
<template #footer>
<div class="dialog-footer">
<el-button @click="cancel"> </el-button>
</div>
</template>
</el-dialog>
<!-- 奖品详情 -->
<el-dialog v-model="productInfo.visible" title="奖品详情" width="600px" append-to-body>
<div>
<el-form ref="" :model="productInfo.form" label-width="70px">
<el-row :gutter="10" style="margin-bottom: 10px; margin-right: 5px !important">
<el-col :span="8">
<el-form-item label="商品名称" prop="">
<span>{{ productInfo.form.productName }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="商品类别" prop="">
<span>{{ formatCategoryName(productInfo.form.categoryId) }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="供应商" prop="">
<span>{{ formatVendorName(productInfo.form.vendorId) }}</span>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="商品图片" prop="">
<image-preview :src="productInfo.form.image" :width="100" :height="100" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="商品说明" prop="">
<span>{{ productInfo.form.productShows }}</span>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<template #footer>
<div class="dialog-footer">
<el-button @click="cancelProductInfo()"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
@ -234,9 +292,12 @@ import {
updateMkJigsaw,
productall,
mkJigsawDetaillist,
productCategoryall
} from '@/api/manage/mkJigsaw';
productCategoryall, mkJoinlist
} from "@/api/manage/mkJigsaw";
import { MkJigsawVO, MkJigsawQuery, MkJigsawForm } from '@/api/manage/mkJigsaw/types';
import { mkRewardUserList } from '@/api/manage/mkConfig';
import { listProductCategory } from '@/api/manage/productCategory';
import { getProduct } from '@/api/manage/product';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
const { mk_jigsaw_task_catagory } = toRefs<any>(proxy?.useDict('mk_jigsaw_task_catagory'));
@ -266,7 +327,24 @@ const dialog = reactive<DialogOption>({
visible: false,
title: ''
});
const mkRewardUserParams = reactive({
pageNum: 1,
pageSize: 10,
bizId: null
});
const mkReward = reactive({
visible: false
});
const productInfo = reactive({
visible: false,
form: {
image: null,
vendorId: null,
categoryId: null,
productName: null,
productShows: null
}
});
const mksave = reactive<DialogOption>({
visible: false,
title: '拼图详情'
@ -364,6 +442,7 @@ const getList = async () => {
const cancel = () => {
reset();
dialog.visible = false;
mkReward.visible = false;
};
/** 表单重置 */
@ -570,10 +649,80 @@ const mkdatetime = () => {
form.value.endDate = value2.value[1];
}
};
//
const handleJoin = async () => {
const res = await mkJoinlist()
};
//
const cancelProductInfo = () => {
productInfo.visible = false;
};
/**
* 查看奖品详情
* @param productId
*/
const getproductInfo = async (productId: any) => {
const res = await getProduct(productId);
productInfo.form = res.data;
productInfo.visible = true;
};
const mkRewardUserLists = ref([]);
const handleAward = async (row: any) => {
loading.value = true;
mkRewardUserParams.bizId = row.id;
const res = await mkRewardUserList(mkRewardUserParams).finally(() => (loading.value = false));
mkRewardUserLists.value = res.rows;
mkReward.visible = true;
// dialog.title = "";
};
/**
* 供应商列表
*/
const listVendorList = ref([]);
const getlistVendor = async () => {
let res = await listVendor({ pageNum: 1, pageSize: 9999 });
listVendorList.value = res.rows;
};
/**
* 格式化 供应商名称
* @param id
*/
const formatVendorName = (id: any) => {
for (let i = 0; i < listVendorList.value.length; i++) {
const element = listVendorList.value[i];
if (element.id == id) {
return element.vendorName;
}
}
};
/**
* 商品类别列表
*/
const productCategoryList = ref([]);
const getProductCategoryList = async () => {
let res = await listProductCategory({ pageNum: 1, pageSize: 9999 });
productCategoryList.value = res.rows;
};
/**
* 格式化商品类别名称
* @param row
*/
const formatCategoryName = (id: any) => {
for (let i = 0; i < productCategoryList.value.length; i++) {
const element = productCategoryList.value[i];
if (element.id == id) {
return element.category;
}
}
};
onMounted(() => {
getList();
getproductall();
goodleibie();
getlistVendor(); //
getProductCategoryList(); //
});
</script>
<style>

View File

@ -76,6 +76,13 @@
<el-table-column label="举报时间" align="center" prop="createTime" width="200px" />
<el-table-column label="操作时间" align="center" prop="updateTime" width="200px" />
<el-table-column label="操作人" align="center" prop="updateName" width="150px" />
<el-table-column label="用户状态" align="center" prop="status" width="150px" >
<template #default="scope">
<el-tag v-if="scope.row.status == 1" type="info">禁言</el-tag>
<el-tag v-if="scope.row.status == 2" type="warning">封禁</el-tag>
<el-tag v-if="scope.row.status == 0" type="primary">正常</el-tag>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="handlingStatus">
<template #default="scope">
<el-tag v-if="scope.row.handlingStatus == 0" type="info">未处理</el-tag>
@ -85,13 +92,31 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="150px">
<template #default="scope">
<el-button v-hasPermi="['manage:report:edit']" link type="primary" @click="handleUpdate(scope.row)">封禁</el-button>
<el-button v-if="queryParams.type == 1" v-hasPermi="['manage:report:remove']" link type="primary" @click="handleDelete(scope.row)"
<el-button
v-if="queryParams.type == 1"
v-hasPermi="['manage:report:remove']"
link
type="primary"
:disabled="scope.row.status == 1"
@click="handleDelete(scope.row)"
>删除笔记</el-button
>
<el-button v-if="queryParams.type == 2" v-hasPermi="['manage:report:remove']" link type="primary" @click="handleDelete(scope.row)"
<el-button
v-if="queryParams.type == 2"
v-hasPermi="['manage:report:remove']"
link
type="primary"
:disabled="scope.row.status == 1"
@click="handleDelete(scope.row)"
>删除活动</el-button
>
<el-button v-if="queryParams.type == 3" v-hasPermi="['manage:report:remove']" link type="primary" @click="handleDelete(scope.row)"
<el-button
v-if="queryParams.type == 3"
v-hasPermi="['manage:report:remove']"
link
type="primary"
:disabled="scope.row.status == 1"
@click="handleDelete(scope.row)"
>删除评论</el-button
>
</template>
@ -131,7 +156,7 @@
</template>
<script setup name="Banned" lang="ts">
import { listBanned, getBanned, delBanned, addBanned, updateBanned, userLevelall } from '@/api/manage/banned';
import { listBanned, getBanned, delBanned, addBanned, updatemanage, userLevelall } from '@/api/manage/banned';
import { BannedVO, BannedQuery, BannedForm } from '@/api/manage/banned/types';
import { delNotebook } from '@/api/manage/notebook';
@ -292,9 +317,14 @@ const submitForm = () => {
const handleDelete = async (row?: BannedVO) => {
const _ids = row?.contentId;
const _idsname = row?.contentName;
const arr = {
id: row?.contentId,
type: queryParams.value.type,
handlingStatus: 1
};
const text = queryParams.value.type == 1 ? '笔记名称为“' : queryParams.value.type == 2 ? '活动名称为“' : '评论内容为“';
await proxy?.$modal.confirm('是否确认删除' + text + _idsname + '"的数据项?').finally(() => (loading.value = false));
await delNotebook(_ids);
await updatemanage(arr);
proxy?.$modal.msgSuccess('删除成功');
await getList();
};

View File

@ -25,8 +25,8 @@ export default defineConfig(({ mode, command }: ConfigEnv): UserConfig => {
open: true,
proxy: {
[env.VITE_APP_BASE_API]: {
// target: 'http://192.168.18.23:8080', //维嘉
target: 'http://192.168.18.113:8080',//华伟
target: 'http://192.168.18.23:8080', //维嘉
// target: 'http://192.168.18.113:8080',//华伟
changeOrigin: true,
ws: true,
rewrite: (path) => path.replace(new RegExp('^' + env.VITE_APP_BASE_API), '')