文章详情 Reviewer detail 打开弹窗

This commit is contained in:
2025-11-19 15:05:07 +08:00
parent 04bfcc1256
commit 9fd6b73850
9 changed files with 299 additions and 219 deletions

View File

@@ -1,111 +1,96 @@
<!--对话模块-->
<template>
<div class="kuang_communtion" v-loading="loading">
<h2>
Communication
</h2>
<div :style="{'max-height': height+'px'}" style="overflow: auto;">
<div v-for="(item, index) in talkMsgs" class="kuang_communtion_conmt">
<div v-if="item.user_id == msgform.user_id" class="talk_aued">
<p>
Author :
</p>
<el-card>Dear Editor,
<p style="white-space: pre-wrap;">{{item.ad_content}}</p>
</el-card>
<b>{{formatDate(item.ad_ctime)}}</b>
</div>
<div v-if="item.user_id != msgform.user_id" class="talk_aued talk_edit">
<p>
Editor :
</p>
<el-card>
<p style="white-space: pre-wrap;">{{item.ad_content}}</p>
</el-card>
<b>{{formatDate(item.ad_ctime)}}</b>
</div>
</div>
</div>
<div class="kuang_communtion" v-loading="loading">
<h2 :style="{ 'margin-bottom': talkMsgs && talkMsgs.length > 0 ? '15px' : '0' }">Communication</h2>
<div :style="{ 'max-height': height + 'px' }" style="overflow: auto">
<div v-for="(item, index) in talkMsgs" class="kuang_communtion_conmt">
<div v-if="item.user_id == msgform.user_id" class="talk_aued">
<p>Author :</p>
<el-card
>Dear Editor,
<p style="white-space: pre-wrap">{{ item.ad_content }}</p>
</el-card>
<b>{{ formatDate(item.ad_ctime) }}</b>
</div>
<div v-if="item.user_id != msgform.user_id" class="talk_aued talk_edit">
<p>Editor :</p>
<el-card>
<p style="white-space: pre-wrap">{{ item.ad_content }}</p>
</el-card>
<b>{{ formatDate(item.ad_ctime) }}</b>
</div>
</div>
</div>
<div class="kuang_communtion_input">
<p v-if="talkMsgs"></p>
<el-input type="textarea" rows="3" v-model="msgform.ad_content" placeholder="Editor messages" resize="none">
</el-input>
<div class="kuang_communtion_input_text">
Dear Editor, through this window, you can have informal communication with the author. Please be aware
of the
prompt reply, standard use of English, and no offensive, insulting, discriminatory language.
<el-button type="primary" @click="saveMsg">Send</el-button>
</div>
</div>
</div>
<div class="kuang_communtion_input">
<p v-if="talkMsgs"></p>
<el-input type="textarea" rows="3" v-model="msgform.ad_content" placeholder="Editor messages" resize="none"> </el-input>
<div class="kuang_communtion_input_text">
Dear Editor, through this window, you can have informal communication with the author. Please be aware of the prompt reply,
standard use of English, and no offensive, insulting, discriminatory language.
<el-button type="primary" @click="saveMsg">Send</el-button>
</div>
</div>
</div>
</template>
<script>
import Vue from 'vue'
export default {
props: {
talkMsgs: {
type: Array,
required: true
},
msgform: {
type: Object,
required: true
},
height: {
type: Number,
},
// loading: {
// type: Boolean,
// required: true
// }
},
components: {},
data() {
return {
username: localStorage.getItem('U_name'),
loading:false
}
},
computed: {},
methods: {
formatDate(timestamp) {
var date = new Date(timestamp * 1000); //时间戳为10位需*1000时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return Y + M + D + ' ' + h + ':' + m + ':' + s;
},
// 留言弹出框
saveMsg() {
if (this.msgform.ad_content == '') {
this.$message.error('Please input messages!');
return false;
}
this.loading = true;
this.$api
.post('api/Article/pushArticleDialog', this.msgform)
.then((res) => {
this.loading = false;
// this.$message.success('Sent successfully');
this.$emit('talksave',true) // 传递成功信号
// setTimeout(()=>{
// this.$router.go(0);
// },1000)
});
},
}
}
import Vue from 'vue';
export default {
props: {
talkMsgs: {
type: Array,
required: true
},
msgform: {
type: Object,
required: true
},
height: {
type: Number
}
// loading: {
// type: Boolean,
// required: true
// }
},
components: {},
data() {
return {
username: localStorage.getItem('U_name'),
loading: false
};
},
computed: {},
methods: {
formatDate(timestamp) {
var date = new Date(timestamp * 1000); //时间戳为10位需*1000时间戳为13位的话不需乘1000
var Y = date.getFullYear() + '-';
var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
var D = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
var m = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
return Y + M + D + ' ' + h + ':' + m + ':' + s;
},
// 留言弹出框
saveMsg() {
if (this.msgform.ad_content == '') {
this.$message.error('Please input messages!');
return false;
}
this.loading = true;
this.$api.post('api/Article/pushArticleDialog', this.msgform).then((res) => {
this.loading = false;
// this.$message.success('Sent successfully');
this.$emit('talksave', true); // 传递成功信号
// setTimeout(()=>{
// this.$router.go(0);
// },1000)
});
}
}
};
</script>
<style scoped>
</style>
<style scoped></style>