feat: There is no way the, bug #55663 父子组件没有做关联绑定

This commit is contained in:
super_liu
2022-06-15 14:44:15 +08:00
parent 6a9810f84d
commit a0024b5e1d
3 changed files with 98 additions and 50 deletions
@@ -66,23 +66,23 @@
<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",
props: {
list: {
type: Array,
required: false
},
},
data(){
return{
roleFlag: false,
nodeList: [],
mergeSelectList: [],
// 上传地址
actionPath: 'api/att/attFile/uploadNew',
importModalshowflagtemp: false,
@@ -102,21 +102,25 @@ export default {
methods:{
//提交
handleSubmit(){
this.$emit('emitInsState',false)
let asdId = sessionStorage.getItem('queId')
this.form.fileList = this.fileList
this.form.askId = asdId
this.$http.postData('lawss/Reply/insertReply',{ ...this.form },{
_this: this
}, res => {
if(res.ok){
this.form.reply = ''
this.fileList = []
this.$emit('emitInsState',true)
//此处需要调用父组件中的方法,将问题列表进行刷新操作
}
}, e => {
this.$refs['form'].validate((valid) => {
if (valid) {
this.$emit('emitInsState',false)
let asdId = sessionStorage.getItem('queId')
this.form.fileList = this.fileList
this.form.askId = asdId
this.$http.postData('lawss/Reply/insertReply',{ ...this.form },{
_this: this
}, res => {
if(res.respCode === '200'){
this.form.reply = ''
this.fileList = []
this.$emit('emitInsState',true)
//此处需要调用父组件中的方法,将问题列表进行刷新操作
}
}, e => {
})
}
})
},
//上传文件
@@ -187,25 +191,37 @@ export default {
//问题归档
queArchive(){
let list = []
let mergeList = JSON.parse(sessionStorage.getItem('mergeList'))
for (let i = 0; i < mergeList.length; i++) {
list.push(mergeList[i])
this.mergeSelectList = this.mergeSelectList.filter ( item => item.state !== 'yes' && item.checked);
for (let i = 0; i < this.mergeSelectList.length; i++) {
if(this.mergeSelectList[i].checked){
list.push(this.mergeSelectList[i].id)
}
}
if(this.mergeSelectList && this.mergeSelectList.length > 0){
this.$emit('emitInsState',false)
let listId = list.join(',')
this.$http.post('lawss/Reply/updateReply', {
id: listId,
},{
_this: this
}, res => {
if(res.respCode === '200'){
this.$emit('emitInsState',true)
}
}, e => {
})
}else {
this.$message.warning('请选择归档内容')
}
let listId = list.join(',')
this.$http.post('lawss/Reply/updateReply', {
id: listId,
},{
_this: this
}, res => {
}, e => {
})
},
//邀请
invitation(){
this.roleFlag = true
this.$emit('roleFlagBoo',true)
},
},
mounted () {
this.mergeSelectList = this.list
},
};
</script>
@@ -24,7 +24,7 @@
</div>
</div>
<div style="float: right; margin-top: 20px">
<el-checkbox v-if="answer.checkedShow" @change="answerChang" v-model="answer.checked">归档</el-checkbox>
<el-checkbox v-if="answer.checkedShow" @change="answerChang" :disabled="answer.state && answer.state === 'yes'" v-model="answer.checked">归档</el-checkbox>
</div>
</div>
<!-- <div class="footer-box">-->
+47 -15
View File
@@ -63,8 +63,8 @@
</template>
<div v-if="!questionsList || questionsList.length === 0">
<div style="padding: 20px;">
暂无数据
</div>
暂无数据
</div>
</div>
<div style="height: 100%" v-else>
<el-tabs
@@ -334,8 +334,8 @@
</template>
<loading :loading="dataLoading">正在加载数据</loading>
</div>
<div class="info-answer" >
<answer-item @emitInsState="emitInsState"></answer-item>
<div class="info-answer" v-if="answerList && answerList.length > 0">
<answer-item :key="aiKey" :list="answerList" @roleFlagBoo="roleFlagBooFunc" @emitInsState="emitInsState"></answer-item>
</div>
</el-tab-pane>
</template>
@@ -395,7 +395,7 @@
</template>
<loading :loading="dataLoading">正在加载数据</loading>
</div>
<div class="info-answer" >
<div class="info-answer" v-if="answerList && answerList.length > 0">
<answer-item @emitInsState="emitInsState"></answer-item>
</div>
</el-tab-pane>
@@ -456,7 +456,7 @@
</template>
<loading :loading="dataLoading">正在加载数据</loading>
</div>
<div class="info-answer" >
<div class="info-answer" v-if="answerList && answerList.length > 0">
<answer-item @emitInsState="emitInsState"></answer-item>
</div>
</el-tab-pane>
@@ -519,7 +519,7 @@
</template>
<loading :loading="dataLoading">正在加载数据</loading>
</div>
<div class="info-answer" >
<div class="info-answer" v-if="answerList && answerList.length > 0">
<answer-item @emitInsState="emitInsState"></answer-item>
</div>
</el-tab-pane>
@@ -1210,6 +1210,13 @@
</div>
</div>
</el-drawer>
<!-- 选择回答人-->
<Role-tree
is-title="选择回答人"
:is-visible.sync="roleFlag"
@checkedRole="checkedRole"
:nodeList="nodeList"
></Role-tree>
</div>
</template>
@@ -1239,7 +1246,10 @@ export default {
},
data(){
return{
aiKey:1,
dataLoading: true,
roleFlag: false,
nodeList: [],
mergeList: [],
historyList: [], //相似历史问题
handleSelectForm: {
@@ -1322,13 +1332,8 @@ export default {
immediate: true,
deep: true,
handler(val) {
this.mergeList = []
val.forEach(item =>{
if(item.checked){
this.mergeList.push(item.id)
}
})
sessionStorage.setItem('mergeList', JSON.stringify(this.mergeList))
this.aiKey++
// sessionStorage.setItem('mergeList', JSON.stringify(this.mergeList))
}
},
'questionForm.problemDescription':{
@@ -1337,8 +1342,27 @@ export default {
}
},
methods:{
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 => {
})
},
roleFlagBooFunc(boo){
if(boo){
this.roleFlag = true
}
},
emitInsState(state){
console.log(state)
if(state){
this.questionClick()
}else {
@@ -1611,6 +1635,11 @@ export default {
if(res.data.length){
res.data.forEach(item => {
item.checkedShow = true
if(item.state && item.state === 'yes'){
item.checked = true
}else {
item.checked = false
}
})
}
this.answerList = res.data
@@ -1699,6 +1728,7 @@ export default {
_this: this,
}, res => {
this.standList = res.data
this.questionClick()
})
},
//查询订阅标准
@@ -1710,6 +1740,7 @@ export default {
_this: this
}, res => {
this.standList = res.data
this.questionClick()
}, e =>{
})
@@ -1720,6 +1751,7 @@ export default {
_this: this
}, res =>{
this.standList = res.data
this.questionClick()
}, e => {
})