FlowCustomScriptSelector.vue
3.4 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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<template>
<el-dialog
width="80%"
title="自定脚本选择器"
:visible.sync="dialogVisible"
:close-on-click-modal="false"
v-if="dialogVisible"
top="8vh"
append-to-body>
<div style="width:100%;height:500px">
<el-button @click="showScriptDialog('eipScriptDialog')">常用脚本</el-button>
<el-button style="margin-right:10px" @click="showConditionBuild">条件脚本</el-button>
<FlowVarSelector :defId="bpmDefinition.id" @node-click="varTreeOnConfirm" /><br/>
<ht-input :rows="8" style="width: 100%;" type="textarea" v-model="curScript" permission="b"/>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false" size="medium">取 消</el-button>
<el-button type="primary" @click="handleClose" size="medium">确 定</el-button>
</span>
<FlowConditionBuildDialog @onConfirm="conditionDialogConfirm" :defId="bpmDefinition.id" ref="flowConditionBuildDialog" />
<!-- 常用脚本选择对话框 -->
<eip-script-dialog ref="eipScriptDialog" name="eipScriptDialog" @onConfirm="dialogOnConfirm" append-to-body
/>
</el-dialog>
</template>
<script>
import req from "@/request.js";
import { mapState, mapActions } from "vuex";
import { Message } from 'element-ui';
import FlowVarSelector from "@/components/flow/FlowVarSelector.vue";
import FlowConditionBuildDialog from "@/components/flow/FlowConditionBuildDialog.vue";
const eipScriptDialog = () => import("@/components/dialog/EipScriptDialog.vue");
export default {
name:"hsScript",
components: {FlowVarSelector,FlowConditionBuildDialog,eipScriptDialog},
data() {
return {
dialogVisible:false,//是否显示设置节点按钮侧边栏
curScript:'',
defId:''
};
},
computed: mapState({
bpmDefinition: state => state.flow.defConfigData.initData.bpmDefinition,
}),
methods: {
dialogOnConfirm(data) {
this.curScript = data;
},
showScriptDialog(ref) {
this.$refs[ref].showDialog({});
},
conditionDialogConfirm(data) {
this.curScript = data;
},
showConditionBuild() {
this.$refs.flowConditionBuildDialog.showDialog();
},
varTreeOnConfirm(data) {
this.curScript = this.curScript+data.pathValue;
},
showDialog (param) {
this.curScript = param ;
this.dialogVisible = true;
},
handleClose(){
if(!this.curScript){
this.$message.error("脚本不能为空");
return;
}
this.$emit('customScriptSelectorConfirm',this.curScript);
this.dialogVisible=false;
}
},
mounted() {
}
};
</script>
<style lang="scss" scoped>
.div_list{
height: 30px;
background: #e2e2e2;
line-height: 30px;
font-weight: bold;
padding-left: 10px;
margin-bottom: 10px;
}
>>>label.el-checkbox {
margin: 5px 10px 0 0;
}
.ht{
width: 300px;
}
.form-inline{
float: left;
width: 100%;
}
.left-label {
width: 18%;
float: left;
}
.control-label {
word-break: break-all;
text-align: right;
color: #545252;
font-size: 12px;
padding: 0px 10px !important;
font-weight: bold;
line-height: 35px;
}
div>>>.box-card{
margin-bottom: 20px;
}
div>>>.box-card .clearfix{
padding-top: 20px;
}
div>>>.el-collapse-item__header{
height: 40px;
line-height: 40px;
font-size: 14px;
font-weight: bold;
}
</style>