th.vue
2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<template>
<div class="from-clues">
<!-- 表单部分 -->
<div class="from-clues-header">
<el-form ref="queryForm" label-width="90px">
<ul style="margin-bottom:15px">
<li v-for="(item,index) in dataList" class="listDetail" :key="index">
<p class="icon">
<el-radio v-model="selectActivity" :label="item.activityId" @change="changeSelectItem(item)"></el-radio>
</p>
<p>{{item.activityName}}</p>
<p v-for="(child,childIndex) in item.userInfos" :key="childIndex">{{child.name}}</p>
</li>
</ul>
<el-form-item label="退回意见:">
<el-input class="textArea" type="textarea" v-model="outstepopinion"></el-input>
</el-form-item>
</el-form>
</div>
</div>
</template>
<script>
import { getTaskBackNode, sendBackTask } from "@/api/fqsq.js"
export default {
props: {
formData: {
type: Object,
default: {}
}
},
data () {
return {
selectActivity: '',
dataList: [],
outstepopinion: '',
selectItem: {}
}
},
created () {
this.getBackNode();
},
methods: {
childFn () {
this.selectItem.outstepopinion = this.outstepopinion;
sendBackTask({
bsmSlsq: this.formData.bsmSlsq,
backNodeList: [this.selectItem]
}).then(res => {
this.$message.success('退回成功')
setTimeout(() => {
window.opener = null;
window.open("about:blank", "_self");
window.close();
this.$emit('input', false)
}, 1000);
})
},
changeSelectItem(item){
this.selectItem = item
},
getBackNode () {
getTaskBackNode(this.formData).then(res => {
if (res.code == 200) {
this.dataList = res.result
if(res.result){
this.selectActivity = res.result[0].activityId
this.selectItem = res.result[0]
}
}
})
}
}
}
</script>
<style scoped lang="scss">
@import "~@/styles/mixin.scss";
.listDetail {
display: flex;
align-items: center;
width: 100%;
p {
line-height: 30px;
height: 30px;
@include flex-center;
flex: 1;
width: 100%;
border: 1px solid rgb(233, 235, 237);
margin-top: -1px;
margin-left: -1px;
}
.icon {
flex: 0 0 60px;
}
}
.textArea {
/deep/.el-textarea__inner {
min-height: 90px !important;
}
}
/deep/.el-radio .el-radio__label {
display: none;
}
</style>