增加管理员删除操作

This commit is contained in:
A1300399510 2024-08-26 16:58:58 +08:00
parent 98301d80fe
commit 11056a74a4
15 changed files with 143 additions and 10 deletions

1
dist/css/116.145ce8ac.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/css/878.0c2853cd.css vendored Normal file
View File

@ -0,0 +1 @@
.container[data-v-500ea229]{padding-top:1.3rem;padding-bottom:1.3rem}.container .search-input-box[data-v-500ea229]{margin-left:.32rem}.container .search-input-box .search-input[data-v-500ea229]{width:8.2rem;height:.96rem;border-radius:2.56rem;background:#ebebeb}.container .search-input-box .search-input .search-input-cross[data-v-500ea229],.container .search-input-box .search-input .search-input-icon[data-v-500ea229]{width:.4rem;height:.4rem}.container .search-input-box .search-input .search-input-icon[data-v-500ea229]{padding:0 .4rem}.container .search-input-box .search-input .search-input-cross[data-v-500ea229]{padding-right:.4rem}.container .search-input-box .search-input .search-input-input[data-v-500ea229]{height:100%;font-size:.4rem}.container .search-input-box .search-input-cancel[data-v-500ea229]{color:#000;font-size:.36rem;padding-left:.46rem;width:.74rem}.container .numberResults[data-v-500ea229]{font-size:.32rem;color:#555;margin:.64rem .32rem .48rem}.container .numberResults .number[data-v-500ea229]{color:#000;font-weight:650;margin:0 .1667rem}.container .result-box[data-v-500ea229]{justify-content:center;flex-direction:column;overflow:auto}.container .result-box .result-item[data-v-500ea229]{margin-bottom:.32rem;width:9.36rem;height:3.96rem;background-color:#fff;border:none;border-radius:.32rem;box-shadow:0 0 .16rem rgba(0,0,0,.08);padding:.4rem;box-sizing:border-box;flex-direction:column;position:relative}.container .result-box .result-item .result-header[data-v-500ea229]{margin-bottom:.32rem}.container .result-box .result-item .result-header .result-label[data-v-500ea229]{font-size:.28rem;height:.52rem;line-height:.52rem;background:#333;color:#fff;display:inline-block;border-radius:.16rem;padding:0 .12rem;margin-right:.12rem}.container .result-box .result-item .result-header .result-title[data-v-500ea229]{color:#000;font-size:.37333rem;line-height:.65rem;display:inline}.container .result-box .result-item .result-header .result-title[data-v-500ea229] em{color:#f95d5d}.container .result-box .result-item .result-content[data-v-500ea229]{line-height:.52rem;font-size:.3rem;color:#7f7f7f;height:1.04rem}.container .result-box .result-item .reply-visible[data-v-500ea229]{font-size:.32rem;height:1.04rem;background:hsla(0,0%,95%,.7)}.container .result-box .result-item .result-info[data-v-500ea229]{align-items:self-end;justify-content:space-between}.container .result-box .result-item .result-info .user-info .icon-head[data-v-500ea229]{width:.64rem;height:.64rem;border-radius:50%}.container .result-box .result-item .result-info .user-info .user-name[data-v-500ea229]{font-size:.32rem;color:#333;margin-left:.2rem}.container .result-box .result-item .result-info .item-data[data-v-500ea229]{font-size:.28rem}.container .result-box .result-item .result-info .item-data .item-data-item[data-v-500ea229]:last-of-type{margin-left:.4rem}.container .result-box .result-item .result-info .item-data .item-data-item .icon-look[data-v-500ea229]{width:.4267rem;height:.18rem;margin-right:.16rem}.container .result-box .result-item .result-info .item-data .item-data-item .icon-msg[data-v-500ea229]{width:.32rem;height:.28rem;margin-right:.16rem}.container .paging[data-v-500ea229]{margin-top:.48rem}.container .paging[data-v-500ea229] .el-pagination.is-background .el-pager li:not(.disabled).active{background:#62b1ff;border-radius:50%}.container .paging[data-v-500ea229] .el-pagination .btn-next .el-icon,.container .paging[data-v-500ea229] .el-pagination .btn-prev .el-icon{font-size:.4rem}.container .result-empty-box[data-v-500ea229]{height:70vh;width:9.36rem;background:#fff;margin:0 auto;border-radius:.32rem}.container .result-empty-box .result-empty-icon[data-v-500ea229]{width:2.04rem;height:2.4rem}

View File

@ -1 +0,0 @@
.container[data-v-128503e4]{padding-top:1.3rem;padding-bottom:1.3rem}.container .search-input-box[data-v-128503e4]{margin-left:.32rem}.container .search-input-box .search-input[data-v-128503e4]{width:8.2rem;height:.96rem;border-radius:2.56rem;background:#ebebeb}.container .search-input-box .search-input .search-input-cross[data-v-128503e4],.container .search-input-box .search-input .search-input-icon[data-v-128503e4]{width:.4rem;height:.4rem}.container .search-input-box .search-input .search-input-icon[data-v-128503e4]{padding:0 .4rem}.container .search-input-box .search-input .search-input-cross[data-v-128503e4]{padding-right:.4rem}.container .search-input-box .search-input .search-input-input[data-v-128503e4]{height:100%;font-size:.4rem}.container .search-input-box .search-input-cancel[data-v-128503e4]{color:#000;font-size:.36rem;padding-left:.46rem;width:.74rem}.container .numberResults[data-v-128503e4]{font-size:.32rem;color:#555;margin:.64rem .32rem .48rem}.container .numberResults .number[data-v-128503e4]{color:#000;font-weight:650;margin:0 .1667rem}.container .result-box[data-v-128503e4]{justify-content:center;flex-direction:column;overflow:auto}.container .result-box .result-item[data-v-128503e4]{margin-bottom:.32rem;width:9.36rem;height:3.96rem;background-color:#fff;border:none;border-radius:.32rem;box-shadow:0 0 .16rem rgba(0,0,0,.08);padding:.4rem;box-sizing:border-box;flex-direction:column;position:relative}.container .result-box .result-item .result-header[data-v-128503e4]{margin-bottom:.32rem}.container .result-box .result-item .result-header .result-label[data-v-128503e4]{font-size:.28rem;height:.52rem;line-height:.52rem;background:#333;color:#fff;display:inline-block;border-radius:.16rem;padding:0 .12rem;margin-right:.12rem}.container .result-box .result-item .result-header .result-title[data-v-128503e4]{color:#000;font-size:.37333rem;line-height:.65rem;display:inline}.container .result-box .result-item .result-header .result-title[data-v-128503e4] em{color:#f95d5d}.container .result-box .result-item .result-content[data-v-128503e4]{line-height:.52rem;font-size:.3rem;color:#7f7f7f;height:1.04rem}.container .result-box .result-item .reply-visible[data-v-128503e4]{font-size:.32rem;height:1.04rem;background:hsla(0,0%,95%,.7)}.container .result-box .result-item .result-info[data-v-128503e4]{align-items:self-end;justify-content:space-between}.container .result-box .result-item .result-info .user-info .icon-head[data-v-128503e4]{width:.64rem;height:.64rem;border-radius:50%}.container .result-box .result-item .result-info .user-info .user-name[data-v-128503e4]{font-size:.32rem;color:#333;margin-left:.2rem}.container .result-box .result-item .result-info .item-data[data-v-128503e4]{font-size:.28rem}.container .result-box .result-item .result-info .item-data .item-data-item[data-v-128503e4]:last-of-type{margin-left:.4rem}.container .result-box .result-item .result-info .item-data .item-data-item .icon-look[data-v-128503e4]{width:.4267rem;height:.18rem;margin-right:.16rem}.container .result-box .result-item .result-info .item-data .item-data-item .icon-msg[data-v-128503e4]{width:.32rem;height:.28rem;margin-right:.16rem}.container .paging[data-v-128503e4]{margin-top:.48rem}.container .paging[data-v-128503e4] .el-pagination.is-background .el-pager li:not(.disabled).active{background:#62b1ff;border-radius:50%}.container .paging[data-v-128503e4] .el-pagination .btn-next .el-icon,.container .paging[data-v-128503e4] .el-pagination .btn-prev .el-icon{font-size:.4rem}.container .result-empty-box[data-v-128503e4]{height:70vh;width:9.36rem;background:#fff;margin:0 auto;border-radius:.32rem}.container .result-empty-box .result-empty-icon[data-v-128503e4]{width:2.04rem;height:2.4rem}

2
dist/index.html vendored

File diff suppressed because one or more lines are too long

1
dist/js/116.4eb5bccf.js vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/js/192.73429f3c.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
dist/js/878.25f811f5.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@ import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import { Message, Pagination, Alert, Loading } from 'element-ui';
import { Message, Pagination, Alert, Loading, Dialog } from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import { skipUrl, pageStop, pageMove, goTologin, copy, startupUnderLoading, closeUnderLoading, formattedDate, updateURLSearchParams, clearCookies } from "@/utils/common.js"
import http from "@/utils/request"
@ -44,6 +44,7 @@ if (!Array.isArray) {
Vue.use(Pagination);
Vue.use(Alert);
Vue.use(Loading);
Vue.use(Dialog);
// v-focus
Vue.directive('focus', {

View File

@ -32,7 +32,7 @@ service.interceptors.request.use(
// config['headers']['authorization'] = "661aiz52k5e6vqgmkxnz0wvbv8nciz8h"
// if (process.env.NODE_ENV == "development") config['headers']['authorization'] = "0h870ovk2xckoqfsh8a3t3sg4sg5z7eg"
if (process.env.NODE_ENV == "development") config["headers"]["authorization"] = "95paemsnrr393p9vikpp16qo72"
if (process.env.NODE_ENV == "development") config["headers"]["authorization"] = "d515090446191e8cc90d98f9a216af1c"
return config
},

View File

@ -29,6 +29,21 @@
<a class="edit-box flexcenter" v-if="info.isauthor == 1" :href="`https://www.gter.net/bbs/post/edit.html?tid=${tid}&pid=${info.pid}`">
<img class="edit-icom" src="@/assets/img/detail/edit.png" />
</a>
<div class="manager-box" v-if="managementauthority">
<div class="dot-box flexflex" @click="openAdminOperate(null)">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<template v-if="adminOperateState">
<div class="operate-mask" @click="closeAdminOperate"></div>
<div class="operate">
<div class="item" @click="popUupDialog(0)">删除该帖</div>
<div class="item" @click="popUupDialog(1)">删帖且禁言</div>
</div>
</template>
</div>
</div>
<template v-if="type == 5">
<div class="summary-content">
@ -165,6 +180,20 @@
<div class="edit-box flexcenter" v-if="item.ismyself == 1" @click.stop="openEditPop(item)">
<img class="edit-icom" src="@/assets/img/detail/edit.png" />
</div>
<div class="manager-box" v-if="managementauthority">
<div class="dot-box flexflex" @click="openAdminOperate(index)">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
<template v-if="item.adminOperateState">
<div class="operate-mask" @click="closeAdminOperate"></div>
<div class="operate">
<div class="item" @click="popUupDialog(0)">删除该楼</div>
<div class="item" @click="popUupDialog(1)">删楼且禁言</div>
</div>
</template>
</div>
</div>
<div class="card-content flex1" @click.stop="handleReplyPop(item)" v-html="item.message"></div>
@ -527,6 +556,10 @@ export default {
9: "CS/EE",
10: "生农医药",
},
adminOperateState: false, //
deletePostToken: "",
managementauthority: 0, //
}
},
@ -569,7 +602,7 @@ export default {
let data = res.data
let info = data.info
console.log(data.type)
this.managementauthority = data.managementauthority
info["message"] = info["message"].trim()
@ -1165,6 +1198,53 @@ export default {
this.locationThreadData = obj1
})
},
//
openAdminOperate(index) {
this.deletePostToken = ""
if (index == null) {
this.adminOperateState = true
this.deletePostToken = this.token
return
}
this.postList.list[index]["adminOperateState"] = true
this.deletePostToken = this.postList.list[index].token
this.$forceUpdate()
// this.postList = this.token
},
//
closeAdminOperate() {
this.adminOperateState = false
this.postList.list.forEach(element => {
element["adminOperateState"] = false
})
this.$forceUpdate()
},
//
popUupDialog(hackinguser) {
this.closeAdminOperate()
const userConfirmed = confirm(`确定要${hackinguser ? "删除且禁言" : "删除"}?`)
if (userConfirmed) {
this.deletePost(hackinguser)
}
},
//
deletePost(hackinguser) {
this.$http.post("/api/manage/delete", { token: this.deletePostToken, hackinguser }).then(res => {
if (res.code != 200) return
if (document.referrer) window.history.back()
else window.location.href = "/"
this.openHintBox("res.message")
this.deletePostToken = ""
})
},
},
components: {
@ -1338,6 +1418,57 @@ export default {
width: 0.4rem;
}
}
.manager-box {
position: relative;
.dot-box {
margin-left: 0.4533rem;
height: 0.8rem;
align-items: center;
.item {
width: 0.1333rem;
height: 0.1333rem;
border-radius: 50%;
background: #8a8a8a;
border: 0.0133rem #7f7f7f solid;
&:not(:last-of-type) {
margin-right: 0.04rem;
}
}
}
.operate-mask {
width: 100vw;
height: 100vh;
background: rgba(138, 138, 138, 0.6);
position: fixed;
top: 0;
left: 0;
}
.operate {
box-shadow: 0 0 0.3rem rgba(0, 0, 0, 0.1);
background: #fff;
position: absolute;
top: 0.8rem;
right: 0;
font-size: 0.36rem;
width: 2.9067rem;
border-radius: 0.1rem;
.item {
height: 1.0667rem;
line-height: 1.0667rem;
text-align: center;
color: #333;
&:not(:last-of-type) {
border-bottom: 0.0133rem solid #f0f0f0;
}
}
}
}
}
.card-content {

View File

@ -55,7 +55,7 @@
<div v-if="count > limit" class="paging flexcenter">
<el-pagination small background layout="prev, pager, next" @current-change="currentChange()"
:current-page.sync="page" :page-size="limit" :total="count">
:current-page.sync="page" :page-size="limit" :total="count * 1">
</el-pagination>
</div>