我的问答

This commit is contained in:
宋伟佳
2022-06-06 13:17:50 +08:00
parent 7a3afc0975
commit c3cd41150d
5 changed files with 1341 additions and 62 deletions
@@ -0,0 +1,190 @@
<!--我的回答-->
<template>
<div>
<el-divider style="margin: 10px 0;"></el-divider>
<div id="message-content">
<el-form ref="form" :model="form" :rules="rules">
<el-form-item prop="textarea">
<el-input
type="textarea"
:rows="2"
placeholder="请输入回答内容"
v-model="form.textarea">
</el-input>
</el-form-item>
<div>
<el-button
type="primary"
class="common-button-primary"
size="small"
style="float: right;"
@click="handleSubmit"
>提交</el-button>
<el-button
type="primary"
class="common-button-primary"
size="small"
style="float: right;margin-right: 10px;"
@click="openUploadFileDialog"
>上传文件</el-button>
<el-button
type="primary"
class="common-button-primary"
size="small"
style="float: right;"
@click="queArchive"
>问题归档</el-button>
<el-button
type="primary"
class="common-button-primary"
size="small"
style="float: right;margin-right: 10px;"
@click="invitation"
>邀请</el-button>
</div>
</el-form>
</div>
<el-dialog
width='400px'
:visible.sync="importModalshowflagtemp"
title="上传文件"
:footer-hide="true"
append-to-body
>
<el-upload
multiple
drag
:on-success="uploadSuccess"
:before-upload="beforeUpload"
:on-remove="removeOneFile"
:action="actionPath"
accept=".ZIP, .zip, .docx, .DOCX, .xls, .xlsx, .pdf, .PDF"
name="file"
:file-list="fileList"
ref="importFileAboutStand">
<i class="el-icon-upload"></i>
<div class="el-upload__text">点击或拖拽上传文件</div>
</el-upload>
</el-dialog>
<!-- 选择回答人-->
<Role-tree
is-title="选择回答人"
:is-visible.sync="roleFlag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
<script>
export default {
name: "answerItem",
data(){
return{
roleFlag: false,
nodeList: [],
// 上传地址
actionPath: 'api/att/attFile/uploadNew',
importModalshowflagtemp: false,
fileList: [],
form:{
textarea: '',
invitationId: '',
invitationName: '',
},
rules: {
textarea: [
{ required: true, message: '请输入回复内容', trigger: 'blur' },
{ min: 1, max: 500, message: '长度在 1 到 500 个字符', trigger: 'blur' }
]
},
}
},
methods:{
//提交
handleSubmit(){
this.form.fileList = this.fileList
console.log(this.form);
},
//上传文件
openUploadFileDialog(){
this.importModalshowflagtemp = true
},
//上传成功
uploadSuccess(res,file,fileList){
if(res.ok){
this.fileList.push(res.data)
this.$message.success('上传成功')
}else{
this.$message.warning(res.message)
fileList.pop()
}
this.importModalshowflagtemp = false
},
//文件上传前
beforeUpload(file){
console.log(file);
var filename = file.name;
var index1 = filename.lastIndexOf('.')
var index2 = filename.length
var fileSuffix = filename.substring(index1, index2)
//把后缀转大写
if(fileSuffix){
fileSuffix = fileSuffix.toUpperCase()
}
// 判断上传文件格式
if (fileSuffix === ".PDF" || fileSuffix === ".DOC" || fileSuffix === ".DOCX" || fileSuffix === ".PPT"
|| fileSuffix === ".PPTX" || fileSuffix === ".XLS" || fileSuffix === ".XLSX"
|| fileSuffix === ".PNG" || fileSuffix === ".JPG" || fileSuffix === ".JPEG") {
return true;
} else {
this.$message.error("文件" + file.name + "格式不正确,请上传pdf、doc、docx、ppt、pptx、xls、xlsx、png、jpg、jpeg等文件");
return false;
}
// 判断文件上传大小
if (file.size / 1024 / 1024 > 300) {
this.$message.warning("文件" + file.name + "大小不能超过300M");
return false;
}
return true;
},
//删除文件
removeOneFile(){
this.fileList.forEach((item,index) => {
if(item.name === file.name || item.id === file.id){
this.fileList.splice(index, 1)
}
})
},
checkedRole(data){
let asdId = sessionStorage.getItem('queId')
this.$http.postData('lawss/AskUser/insertAskUser',{
asdId: asdId,
usid: data[0].id,
},{
_this: this
}, res => {
if(res.ok){
this.$message.success('邀请成功')
}
}, e => {
})
},
//问题归档
queArchive(){
},
//邀请
invitation(){
this.roleFlag = true
},
},
};
</script>
<style lang="less" scoped>
#message-content{
}
</style>
@@ -5,29 +5,72 @@
<div class="row">
<div class="item">
<div>回答
<span>{{question.question}}</span>
<span>{{answer. reply}}</span>
</div>
</div>
</div>
<div class="row">
<div class="item">
<div>{{question.person}}
<span>{{question.modifyTime}}</span>
<div>附件
<span style="color: #409EFF">{{answer.annex}}</span>
</div>
</div>
</div>
<div class="row" style="float: right; margin-right: 10px">
<div class="item">
<div>{{answer.answerer}}
<span>{{answer.replyTime}}</span>
</div>
</div>
</div>
<!-- <div>-->
<!-- <el-checkbox v-model="checked">归档</el-checkbox>-->
<!-- </div>-->
</div>
<!-- <div class="footer-box">-->
<!-- </div>-->
</div>
</template>
<script>
export default {
name: "questionItemInfo"
name: "questionItemInfo",
props:['answer'],
data(){
return{
checked: true,
}
},
watch:{
answer: {
immediate: true,
deep: true,
handler(val) {
this.answer = val
}
}
}
};
</script>
<style lang="less" scoped>
#answer-item{
width: 100%;
min-width: 130px;
padding: 15px 5px;
.row {
line-height: 1.8;
}
.item {
display: inline-block;
}
.footer-box{
height: 200px;
width: 100%;
position: absolute;
bottom: 0;
border-top: 1px solid #cccccc;
}
}
</style>
@@ -5,14 +5,14 @@
<div class="row">
<div class="item">
<div>提问
<span>{{question.question}}</span>
<span>{{question.problemDescription}}</span>
</div>
</div>
</div>
<div class="row">
<div class="item">
<div>{{question.person}}
<span>{{question.modifyTime}}</span>
<div>{{userName}}
<span>{{question.questionTime}}</span>
</div>
</div>
</div>
@@ -28,6 +28,7 @@ export default {
},
data(){
return{
userName: this.$store.getters.userInfo.userName,
}
},
watch:{
@@ -35,7 +36,6 @@ export default {
immediate: true,
deep: true,
handler(val){
console.log(val);
}
}
}
@@ -4,12 +4,12 @@
<div>
<div class="row">
<div class="item">
<span>{{stand.resCode}}</span>
<span>{{stand.standardEncdoing}}</span>
</div>
</div>
<div class="row">
<div class="item">
<span>{{stand.resName}}</span>
<span>{{stand.standardName}}</span>
</div>
</div>
</div>
@@ -31,7 +31,6 @@ export default {
immediate: true,
deep: true,
handler(val) {
console.log(val);
this.stand = val
}
}
File diff suppressed because it is too large Load Diff