|
@@ -1,193 +1,223 @@
|
|
<template>
|
|
<template>
|
|
-<div>
|
|
|
|
- <el-dialog
|
|
|
|
- :close-on-click-modal="false"
|
|
|
|
- :close-on-press-escape="false"
|
|
|
|
- :visible.sync="showEditComputedField"
|
|
|
|
- append-to-body
|
|
|
|
- class="dataset-edit-computed-fields"
|
|
|
|
- width="40%">
|
|
|
|
- <p slot="title">
|
|
|
|
- {{ id ? '编辑自定义事件' : '新增自定义事件' }}
|
|
|
|
- <el-popover placement="bottom" title="注意事项" width="400" trigger="hover">
|
|
|
|
- <div v-if="addForm.eventType === 1">
|
|
|
|
- <p>1、将自动执行类中的第一个静态方法;</p>
|
|
|
|
- <p>2、前置事件必须返回一行一列数据,当返回值为0允许继续执行,非0时终止执行;</p>
|
|
|
|
- <p>3、自定义参数定在后,需要在‘插入参数’中进行插入到代码中,自定义变量值放在两个&号中间;</p>
|
|
|
|
- <p>样例如下:</p>
|
|
|
|
- <p>public class lowCodeTest {</p>
|
|
|
|
- <p> public static Integer main() {</p>
|
|
|
|
- <p> String username = "jakcy";</p>
|
|
|
|
- <p> Integer result = 0;</p>
|
|
|
|
- <p> if(username.equals("jakcy")){</p>
|
|
|
|
- <p> result = 1;</p>
|
|
|
|
- <p> }</p>
|
|
|
|
- <p> return result;</p>
|
|
|
|
- <p> }</p>
|
|
|
|
- <p>}</p>
|
|
|
|
- </div>
|
|
|
|
- <div v-else>
|
|
|
|
- <p>1、前置事件必须返回一行一列数据,当返回值为0允许继续执行,非0时终止执行;</p>
|
|
|
|
- <p>2、'包路径'表示jar执行类的路径地址,如:com.demo.utils.DcService</p>
|
|
|
|
- <p>3、'函数名'表示jar执行类的方法名,方法必须为静态方法,如:main,函数名不需要加括号;</p>
|
|
|
|
- <p>4、添加参数key值必须为java.lang.String类型,如需其它类型,在main方法中进行转换;</p>
|
|
|
|
- </div>
|
|
|
|
- <el-button slot="reference" type="text" >注意事项<i class="el-icon-question" /></el-button>
|
|
|
|
- </el-popover>
|
|
|
|
- </p>
|
|
|
|
- <el-form :model="addForm" label-position="left" label-width="100px" ref="addForm">
|
|
|
|
- <el-form-item label="事件名称">
|
|
|
|
- <el-input v-model="addForm.eventName" placeholder="请输入事件名称"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="处理时机">
|
|
|
|
- <el-radio-group v-model="addForm.executeTiming">
|
|
|
|
- <el-radio v-model="addForm.executeTiming" :label="2">后置执行</el-radio>
|
|
|
|
- <el-radio v-model="addForm.executeTiming" :label="1">
|
|
|
|
- 前置执行
|
|
|
|
- <el-tooltip style="cursor: pointer" effect="dark" placement="top">
|
|
|
|
- <div slot="content">
|
|
|
|
- 注:前置事件必须返回一行一列数据,当返回值为0允许继续执行,非0时终止执行;
|
|
|
|
|
|
+ <div>
|
|
|
|
+ <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="showEditComputedField" append-to-body class="dataset-edit-computed-fields" width="40%">
|
|
|
|
+ <p slot="title">
|
|
|
|
+ {{ id ? '编辑自定义事件' : '新增自定义事件' }}
|
|
|
|
+ <el-popover placement="bottom" title="注意事项" width="400" trigger="hover">
|
|
|
|
+ <div v-if="addForm.eventType === 1">
|
|
|
|
+ <p>1、将自动执行类中的第一个静态方法;</p>
|
|
|
|
+ <p>2、前置事件必须返回一行一列数据,当返回值为0允许继续执行,非0时终止执行;</p>
|
|
|
|
+ <p>3、自定义参数定在后,需要在‘插入参数’中进行插入到代码中,自定义变量值放在两个&号中间;</p>
|
|
|
|
+ <p>样例如下:</p>
|
|
|
|
+ <p>public class lowCodeTest {</p>
|
|
|
|
+ <p> public static Integer main() {</p>
|
|
|
|
+ <p> String username = "jakcy";</p>
|
|
|
|
+ <p> Integer result = 0;</p>
|
|
|
|
+ <p> if(username.equals("jakcy")){</p>
|
|
|
|
+ <p> result = 1;</p>
|
|
|
|
+ <p> }</p>
|
|
|
|
+ <p> return result;</p>
|
|
|
|
+ <p> }</p>
|
|
|
|
+ <p>}</p>
|
|
|
|
+ </div>
|
|
|
|
+ <div v-else>
|
|
|
|
+ <p>1、前置事件必须返回一行一列数据,当返回值为0允许继续执行,非0时终止执行;</p>
|
|
|
|
+ <p>2、'包路径'表示jar执行类的路径地址,如:com.demo.utils.DcService</p>
|
|
|
|
+ <p>3、'函数名'表示jar执行类的方法名,方法必须为静态方法,如:main,函数名不需要加括号;</p>
|
|
|
|
+ <p>4、添加参数key值必须为java.lang.String类型,如需其它类型,在main方法中进行转换;</p>
|
|
|
|
+ </div>
|
|
|
|
+ <el-button slot="reference" type="text">注意事项<i class="el-icon-question" /></el-button>
|
|
|
|
+ </el-popover>
|
|
|
|
+ </p>
|
|
|
|
+ <el-form :model="addForm" label-position="left" label-width="100px" ref="addForm">
|
|
|
|
+ <el-form-item label="事件名称">
|
|
|
|
+ <el-input v-model="addForm.eventName" placeholder="请输入事件名称"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="处理时机">
|
|
|
|
+ <el-radio-group v-model="addForm.executeTiming">
|
|
|
|
+ <el-radio v-model="addForm.executeTiming" :label="2">后置执行</el-radio>
|
|
|
|
+ <el-radio v-model="addForm.executeTiming" :label="1">
|
|
|
|
+ 前置执行
|
|
|
|
+ <el-tooltip style="cursor: pointer" effect="dark" placement="top">
|
|
|
|
+ <div slot="content">注:前置事件必须返回一行一列数据,当返回值为0允许继续执行,非0时终止执行;</div>
|
|
|
|
+ <i class="el-icon-question" />
|
|
|
|
+ </el-tooltip>
|
|
|
|
+ </el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="jar包上传" v-if="addForm.eventType === 2">
|
|
|
|
+ <el-upload
|
|
|
|
+ :action="define.comUploadUrl"
|
|
|
|
+ :headers="uploadHeaders"
|
|
|
|
+ :file-list="fileList"
|
|
|
|
+ :on-success="handleSuccess"
|
|
|
|
+ :show-file-list="false"
|
|
|
|
+ :before-upload="beforeUpload"
|
|
|
|
+ :on-exceed="handleExceed"
|
|
|
|
+ :limit="1"
|
|
|
|
+ >
|
|
|
|
+ <el-button size="small" icon="el-icon-upload">点击上传</el-button>
|
|
|
|
+ </el-upload>
|
|
|
|
+ <template v-if="fileList.length">
|
|
|
|
+ <transition-group class="el-upload-list el-upload-list el-upload-list--text" tag="ul" name="el-list">
|
|
|
|
+ <li class="el-upload-list__item is-success" v-for="(file, index) in fileList" :key="file.fileId">
|
|
|
|
+ <a class="el-upload-list__item-name"> <i class="el-icon-document"></i>{{ file.name }} </a>
|
|
|
|
+ <label class="el-upload-list__item-status-label">
|
|
|
|
+ <i class="el-icon-upload-success el-icon-circle-check"></i>
|
|
|
|
+ </label>
|
|
|
|
+ <i class="el-icon-close" @click="handleRemove(file, index)"></i>
|
|
|
|
+ </li>
|
|
|
|
+ </transition-group>
|
|
|
|
+ </template>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="包路径" v-if="addForm.eventType === 2">
|
|
|
|
+ <el-input v-model="addForm.className" placeholder="请输入包路径"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="函数名" v-if="addForm.eventType === 2">
|
|
|
|
+ <el-input v-model="addForm.methodName" placeholder="请输入函数名"></el-input>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item v-if="addForm.eventType === 2">
|
|
|
|
+ <el-button type="text" size="mini" @click="eventJarValueList.push({ parameterType: 'java.lang.String', value: '自定义的value2' })">+添加参数</el-button>
|
|
|
|
+ <div v-for="(value, key) in eventJarValueList" style="display: flex; align-content: center; flex-wrap: nowrap; align-items: center; margin-bottom: 10px" :key="key">
|
|
|
|
+ <el-popover :ref="`jarParamSelector-${key}`" :key="key" placement="bottom-start" trigger="click">
|
|
|
|
+ <div style="display: flex">
|
|
|
|
+ <div style="margin-right: 10px; max-height: 300px; overflow-y: auto">
|
|
|
|
+ <p>引用字段</p>
|
|
|
|
+ <template v-for="field of tobeChooseWeidu">
|
|
|
|
+ <div :key="field.columnTitle" :title="field.columnName" class="weidu" @click="setJarValueFun(value, `[${field.columnName}]`)">
|
|
|
|
+ {{ field.columnTitle + '【' + field.columnName + '】' }}
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <template v-for="field of tobeChooseZhibiao">
|
|
|
|
+ <div :key="field.columnTitle" :title="field.columnName" class="zhibiao" @click="setJarValueFun(value, `[${field.columnName}]`)">
|
|
|
|
+ {{ field.columnTitle + '【' + field.columnName + '】' }}
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </div>
|
|
|
|
+ <el-cascader-panel
|
|
|
|
+ v-model="nowParam"
|
|
|
|
+ :options="paramList"
|
|
|
|
+ :props="{ expandTrigger: 'click', emitPath: false, value: 'paramKey' }"
|
|
|
|
+ @change="setJarValueFun(value, `\${${$event}}`)"
|
|
|
|
+ ></el-cascader-panel>
|
|
</div>
|
|
</div>
|
|
- <i class="el-icon-question" />
|
|
|
|
- </el-tooltip>
|
|
|
|
- </el-radio>
|
|
|
|
- </el-radio-group>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="jar包上传" v-if="addForm.eventType === 2">
|
|
|
|
- <el-upload
|
|
|
|
- :action="define.comUploadUrl"
|
|
|
|
- :headers="uploadHeaders"
|
|
|
|
- :file-list="fileList"
|
|
|
|
- :on-success="handleSuccess"
|
|
|
|
- :show-file-list="false"
|
|
|
|
- :before-upload="beforeUpload"
|
|
|
|
- :on-exceed="handleExceed"
|
|
|
|
- :limit="1">
|
|
|
|
- <el-button size="small" icon="el-icon-upload" >点击上传</el-button>
|
|
|
|
- </el-upload>
|
|
|
|
- <template v-if="fileList.length">
|
|
|
|
- <transition-group class="el-upload-list el-upload-list el-upload-list--text" tag="ul" name="el-list">
|
|
|
|
- <li class="el-upload-list__item is-success" v-for="(file, index) in fileList" :key="file.fileId">
|
|
|
|
- <a class="el-upload-list__item-name"> <i class="el-icon-document"></i>{{ file.name }} </a>
|
|
|
|
- <label class="el-upload-list__item-status-label">
|
|
|
|
- <i class="el-icon-upload-success el-icon-circle-check"></i>
|
|
|
|
- </label>
|
|
|
|
- <i class="el-icon-close" @click="handleRemove(file, index)"></i>
|
|
|
|
- </li>
|
|
|
|
- </transition-group>
|
|
|
|
- </template>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="包路径" v-if="addForm.eventType === 2">
|
|
|
|
- <el-input v-model="addForm.className" placeholder="请输入包路径"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="函数名" v-if="addForm.eventType === 2">
|
|
|
|
- <el-input v-model="addForm.methodName" placeholder="请输入函数名"></el-input>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item v-if="addForm.eventType === 2">
|
|
|
|
- <el-button type="text" size="mini" @click="eventJarValueList.push({parameterType:'java.lang.String', value:'自定义的value2'});">+添加参数</el-button>
|
|
|
|
- <div v-for="(value,key) in eventJarValueList" style="display: flex;align-content: center;flex-wrap: nowrap;align-items: center;margin-bottom: 10px" :key="key">
|
|
|
|
- <el-popover :ref="`jarParamSelector-${key}`" :key="key" placement="bottom-start" trigger="click">
|
|
|
|
|
|
+ <el-button slot="reference" type="text" size="mini">+插入变量</el-button>
|
|
|
|
+ </el-popover>
|
|
|
|
+ <div>
|
|
|
|
+ <el-input v-model="value.parameterType" placeholder="请输入参数" disabled></el-input>
|
|
|
|
+ </div>
|
|
|
|
+ <p style="margin: 0 10px">:</p>
|
|
|
|
+ <div style="position: relative">
|
|
|
|
+ <el-input v-model="value.value" placeholder="请输入值"></el-input>
|
|
|
|
+ </div>
|
|
|
|
+ <i class="el-icon-delete delete-btn" @click="eventJarValueList.splice(key, 1)" style="cursor: pointer; margin-left: 10px"></i>
|
|
|
|
+ </div>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="脚本" v-if="addForm.eventType === 1">
|
|
|
|
+ <el-popover ref="paramSelector" placement="bottom-start" trigger="click">
|
|
<div style="display: flex">
|
|
<div style="display: flex">
|
|
- <div style="margin-right: 10px;max-height: 300px;overflow-y: auto">
|
|
|
|
|
|
+ <div style="margin-right: 10px">
|
|
|
|
+ <p>自定义参数</p>
|
|
|
|
+ <template v-for="(field, k) in eventValueList">
|
|
|
|
+ <div
|
|
|
|
+ :key="k"
|
|
|
|
+ :title="field.key"
|
|
|
|
+ class="diyText"
|
|
|
|
+ @click="
|
|
|
|
+ $refs.editor.editor.insert(`&${field.key}&`)
|
|
|
|
+ $refs.paramSelector.doClose()
|
|
|
|
+ "
|
|
|
|
+ >
|
|
|
|
+ {{ field.key + '【' + field.value + '】' }}
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </div>
|
|
|
|
+ <div style="margin-right: 10px; max-height: 300px; overflow-y: auto">
|
|
<p>引用字段</p>
|
|
<p>引用字段</p>
|
|
<template v-for="field of tobeChooseWeidu">
|
|
<template v-for="field of tobeChooseWeidu">
|
|
- <div :key="field.columnTitle" :title="field.columnName" class="weidu" @click="setJarValueFun(value,`[${field.columnName}]`)">
|
|
|
|
|
|
+ <div
|
|
|
|
+ :key="field.columnTitle"
|
|
|
|
+ :title="field.columnName"
|
|
|
|
+ class="weidu"
|
|
|
|
+ @click="
|
|
|
|
+ $refs.editor.editor.insert(`[${field.columnName}]`)
|
|
|
|
+ $refs.paramSelector.doClose()
|
|
|
|
+ "
|
|
|
|
+ >
|
|
{{ field.columnTitle + '【' + field.columnName + '】' }}
|
|
{{ field.columnTitle + '【' + field.columnName + '】' }}
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<template v-for="field of tobeChooseZhibiao">
|
|
<template v-for="field of tobeChooseZhibiao">
|
|
- <div :key="field.columnTitle" :title="field.columnName" class="zhibiao" @click="setJarValueFun(value,`[${field.columnName}]`)">
|
|
|
|
|
|
+ <div
|
|
|
|
+ :key="field.columnTitle"
|
|
|
|
+ :title="field.columnName"
|
|
|
|
+ class="zhibiao"
|
|
|
|
+ @click="
|
|
|
|
+ $refs.editor.editor.insert(`[${field.columnName}]`)
|
|
|
|
+ $refs.paramSelector.doClose()
|
|
|
|
+ "
|
|
|
|
+ >
|
|
{{ field.columnTitle + '【' + field.columnName + '】' }}
|
|
{{ field.columnTitle + '【' + field.columnName + '】' }}
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
</div>
|
|
</div>
|
|
- <el-cascader-panel v-model="nowParam" :options="paramList" :props="{ expandTrigger: 'click', emitPath: false, value: 'paramKey' }" @change="setJarValueFun(value,`\${${$event}}`)"></el-cascader-panel>
|
|
|
|
|
|
+ <el-cascader-panel
|
|
|
|
+ v-model="nowParam"
|
|
|
|
+ :options="paramList"
|
|
|
|
+ :props="{ expandTrigger: 'click', emitPath: false, value: 'paramKey' }"
|
|
|
|
+ @change="
|
|
|
|
+ $refs.editor.editor.insert(`\${${$event}}`)
|
|
|
|
+ $refs.paramSelector.doClose()
|
|
|
|
+ "
|
|
|
|
+ ></el-cascader-panel>
|
|
</div>
|
|
</div>
|
|
- <el-button slot="reference" type="text" size="mini">+插入变量</el-button>
|
|
|
|
|
|
+ <el-button slot="reference" type="text" size="mini">+插入参数</el-button>
|
|
</el-popover>
|
|
</el-popover>
|
|
- <div>
|
|
|
|
- <el-input v-model="value.parameterType" placeholder="请输入参数" disabled></el-input>
|
|
|
|
- </div>
|
|
|
|
- <p style="margin: 0 10px">:</p>
|
|
|
|
- <div style="position: relative">
|
|
|
|
- <el-input v-model="value.value" placeholder="请输入值" ></el-input>
|
|
|
|
- </div>
|
|
|
|
- <i class="el-icon-delete delete-btn" @click="eventJarValueList.splice(key,1)" style="cursor: pointer;margin-left: 10px"></i>
|
|
|
|
- </div>
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item label="脚本" v-if="addForm.eventType === 1">
|
|
|
|
- <el-popover ref="paramSelector" placement="bottom-start" trigger="click">
|
|
|
|
- <div style="display: flex">
|
|
|
|
- <div style="margin-right: 10px">
|
|
|
|
- <p>自定义参数</p>
|
|
|
|
- <template v-for="(field,k) in eventValueList">
|
|
|
|
- <div :key="k" :title="field.key" class="diyText" @click="$refs.editor.editor.insert(`&${field.key}&`);$refs.paramSelector.doClose()">
|
|
|
|
- {{ field.key + '【' + field.value + '】' }}
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
|
|
+ <aceEditor ref="editor" v-model="nowComputedField.columnFormula" height="200" lang="javascript" snippets wrap />
|
|
|
|
+ <!-- <el-input type="textarea" :autosize="{ minRows: 8, maxRows: 12}" placeholder="请输入脚本" v-model="addForm.eventSql"></el-input>-->
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item v-if="addForm.eventType === 1">
|
|
|
|
+ <el-button type="text" size="mini" @click="eventValueList.push({ key: '自定义的key', value: '自定义的value2' })">+添加参数</el-button>
|
|
|
|
+ <div v-for="(value, key) in eventValueList" style="display: flex; align-content: center; flex-wrap: nowrap; align-items: center; margin-bottom: 10px" :key="key">
|
|
|
|
+ <div>
|
|
|
|
+ <el-input v-model="value.key" placeholder="请输入参数"></el-input>
|
|
</div>
|
|
</div>
|
|
- <div style="margin-right: 10px;max-height: 300px;overflow-y: auto">
|
|
|
|
- <p>引用字段</p>
|
|
|
|
- <template v-for="field of tobeChooseWeidu">
|
|
|
|
- <div :key="field.columnTitle" :title="field.columnName" class="weidu" @click="$refs.editor.editor.insert(`[${field.columnName}]`);$refs.paramSelector.doClose()">
|
|
|
|
- {{ field.columnTitle + '【' + field.columnName + '】' }}
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- <template v-for="field of tobeChooseZhibiao">
|
|
|
|
- <div :key="field.columnTitle" :title="field.columnName" class="zhibiao" @click="$refs.editor.editor.insert( `[${field.columnName}]`);$refs.paramSelector.doClose()">
|
|
|
|
- {{ field.columnTitle + '【' + field.columnName + '】' }}
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
|
|
+ <p style="margin: 0 10px">:</p>
|
|
|
|
+ <div style="position: relative">
|
|
|
|
+ <el-input v-model="value.value" placeholder="请输入值"></el-input>
|
|
</div>
|
|
</div>
|
|
- <el-cascader-panel v-model="nowParam" :options="paramList" :props="{ expandTrigger: 'click', emitPath: false, value: 'paramKey' }" @change="$refs.editor.editor.insert( `\${${$event}}`);$refs.paramSelector.doClose()"></el-cascader-panel>
|
|
|
|
- </div>
|
|
|
|
- <el-button slot="reference" type="text" size="mini">+插入参数</el-button>
|
|
|
|
- </el-popover>
|
|
|
|
- <aceEditor ref="editor" v-model="nowComputedField.columnFormula" height="200" lang="javascript" snippets wrap />
|
|
|
|
-<!-- <el-input type="textarea" :autosize="{ minRows: 8, maxRows: 12}" placeholder="请输入脚本" v-model="addForm.eventSql"></el-input>-->
|
|
|
|
- </el-form-item>
|
|
|
|
- <el-form-item v-if="addForm.eventType === 1">
|
|
|
|
- <el-button type="text" size="mini" @click="eventValueList.push({key:'自定义的key', value:'自定义的value2'})">+添加参数</el-button>
|
|
|
|
- <div v-for="(value,key) in eventValueList" style="display: flex;align-content: center;flex-wrap: nowrap;align-items: center;margin-bottom: 10px" :key="key">
|
|
|
|
- <div>
|
|
|
|
- <el-input v-model="value.key" placeholder="请输入参数" ></el-input>
|
|
|
|
- </div>
|
|
|
|
- <p style="margin: 0 10px">:</p>
|
|
|
|
- <div style="position: relative">
|
|
|
|
- <el-input v-model="value.value" placeholder="请输入值" ></el-input>
|
|
|
|
|
|
+ <i class="el-icon-delete delete-btn" @click="eventValueList.splice(key, 1)" style="cursor: pointer; margin-left: 10px"></i>
|
|
</div>
|
|
</div>
|
|
- <i class="el-icon-delete delete-btn" @click="eventValueList.splice(key,1)" style="cursor: pointer;margin-left: 10px"></i>
|
|
|
|
- </div>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
|
- <el-button @click="showEditComputedField = false">取 消</el-button>
|
|
|
|
- <el-button type="primary" @click="codeModeSubmit">确 定</el-button>
|
|
|
|
- </span>
|
|
|
|
- </el-dialog>
|
|
|
|
-</div>
|
|
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
|
+ <el-button @click="showEditComputedField = false">取 消</el-button>
|
|
|
|
+ <el-button type="primary" @click="codeModeSubmit">确 定</el-button>
|
|
|
|
+ </span>
|
|
|
|
+ </el-dialog>
|
|
|
|
+ </div>
|
|
</template>
|
|
</template>
|
|
<script>
|
|
<script>
|
|
-import {getToken} from "@/utils/auth";
|
|
|
|
|
|
+import { getToken } from '@/utils/auth'
|
|
import { categoryList, paramList } from '@/api/newbi/globalParams'
|
|
import { categoryList, paramList } from '@/api/newbi/globalParams'
|
|
import { cubeFieldList } from '@/api/workFlow/FlowEngine'
|
|
import { cubeFieldList } from '@/api/workFlow/FlowEngine'
|
|
-import aceEditor from "@/components/AceEditor/index.vue";
|
|
|
|
-import {addCustomEvent} from "@/api/onlineDev/visualDev";
|
|
|
|
-import alert from "element-ui/packages/alert";
|
|
|
|
|
|
+import aceEditor from '@/components/AceEditor/index.vue'
|
|
|
|
+import { addCustomEvent } from '@/api/onlineDev/visualDev'
|
|
|
|
+import alert from 'element-ui/packages/alert'
|
|
export default {
|
|
export default {
|
|
computed: {
|
|
computed: {
|
|
alert() {
|
|
alert() {
|
|
return alert
|
|
return alert
|
|
}
|
|
}
|
|
},
|
|
},
|
|
- components: {aceEditor},
|
|
|
|
- props: ['dbLinkId', 'modelId', 'dbSourceId','eventTypeRadio'],
|
|
|
|
|
|
+ components: { aceEditor },
|
|
|
|
+ props: ['dbLinkId', 'modelId', 'dbSourceId', 'eventTypeRadio'],
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
showEditComputedField: false,
|
|
showEditComputedField: false,
|
|
- uploadHeaders: { 'Blade-Auth': 'bearer ' + getToken() },
|
|
|
|
- fileList:[],
|
|
|
|
- id:'',
|
|
|
|
|
|
+ uploadHeaders: { Authorization: 'bearer ' + getToken() },
|
|
|
|
+ fileList: [],
|
|
|
|
+ id: '',
|
|
addForm: {
|
|
addForm: {
|
|
eventName: '',
|
|
eventName: '',
|
|
jarFilePath: '',
|
|
jarFilePath: '',
|
|
@@ -195,28 +225,27 @@ export default {
|
|
className: '',
|
|
className: '',
|
|
eventSql: '',
|
|
eventSql: '',
|
|
eventType: 1,
|
|
eventType: 1,
|
|
- executeTiming:2,
|
|
|
|
- eventStatus: 0,
|
|
|
|
|
|
+ executeTiming: 2,
|
|
|
|
+ eventStatus: 0
|
|
},
|
|
},
|
|
- eventValueList: [{key:'自定义的key', value:'自定义的value2'}],
|
|
|
|
- eventJarValueList: [{parameterType:'java.lang.String', value:'自定义的value2'}],
|
|
|
|
|
|
+ eventValueList: [{ key: '自定义的key', value: '自定义的value2' }],
|
|
|
|
+ eventJarValueList: [{ parameterType: 'java.lang.String', value: '自定义的value2' }],
|
|
paramList: [],
|
|
paramList: [],
|
|
tobeChooseWeidu: [], // 计算字段编辑框里维度字段
|
|
tobeChooseWeidu: [], // 计算字段编辑框里维度字段
|
|
tobeChooseZhibiao: [], // 计算字段编辑框里指标字段
|
|
tobeChooseZhibiao: [], // 计算字段编辑框里指标字段
|
|
- nowParam:[],
|
|
|
|
|
|
+ nowParam: [],
|
|
nowComputedField: {
|
|
nowComputedField: {
|
|
columnFormula: ''
|
|
columnFormula: ''
|
|
- },
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
this.getGlobalData()
|
|
this.getGlobalData()
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
- setJarValueFun(value,field){
|
|
|
|
- value.value = field;
|
|
|
|
|
|
+ setJarValueFun(value, field) {
|
|
|
|
+ value.value = field
|
|
document.body.click()
|
|
document.body.click()
|
|
-
|
|
|
|
},
|
|
},
|
|
// 获取系统变量
|
|
// 获取系统变量
|
|
getGlobalData() {
|
|
getGlobalData() {
|
|
@@ -257,11 +286,11 @@ export default {
|
|
addFuncClick(row) {
|
|
addFuncClick(row) {
|
|
this.showEditComputedField = true
|
|
this.showEditComputedField = true
|
|
this.fileList = []
|
|
this.fileList = []
|
|
- this.eventValueList = [{key:'自定义的key', value:'自定义的value2'}]
|
|
|
|
- this.eventJarValueList = [{parameterType:'java.lang.String', value:'自定义的value2'}]
|
|
|
|
- if (row && row.id){
|
|
|
|
|
|
+ this.eventValueList = [{ key: '自定义的key', value: '自定义的value2' }]
|
|
|
|
+ this.eventJarValueList = [{ parameterType: 'java.lang.String', value: '自定义的value2' }]
|
|
|
|
+ if (row && row.id) {
|
|
this.addForm.eventType = row.eventType
|
|
this.addForm.eventType = row.eventType
|
|
- }else {
|
|
|
|
|
|
+ } else {
|
|
this.addForm.eventType = this.eventTypeRadio
|
|
this.addForm.eventType = this.eventTypeRadio
|
|
}
|
|
}
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
@@ -272,14 +301,14 @@ export default {
|
|
this.addForm.eventStatus = row.eventStatus
|
|
this.addForm.eventStatus = row.eventStatus
|
|
this.id = row.id
|
|
this.id = row.id
|
|
let obj = JSON.parse(row.eventValue)
|
|
let obj = JSON.parse(row.eventValue)
|
|
- this.eventValueList = Object.keys(obj).map(key => ({ key, value: obj[key] }));
|
|
|
|
|
|
+ this.eventValueList = Object.keys(obj).map((key) => ({ key, value: obj[key] }))
|
|
if (this.addForm.eventType === 1) this.$refs.editor.editor.setValue(row.eventSql)
|
|
if (this.addForm.eventType === 1) this.$refs.editor.editor.setValue(row.eventSql)
|
|
- if (this.addForm.eventType === 2){
|
|
|
|
|
|
+ if (this.addForm.eventType === 2) {
|
|
let jarEventVal = JSON.parse(row.eventSql)
|
|
let jarEventVal = JSON.parse(row.eventSql)
|
|
this.addForm.className = jarEventVal.className
|
|
this.addForm.className = jarEventVal.className
|
|
this.addForm.methodName = jarEventVal.methodName
|
|
this.addForm.methodName = jarEventVal.methodName
|
|
this.addForm.jarFilePath = jarEventVal.jarFilePath
|
|
this.addForm.jarFilePath = jarEventVal.jarFilePath
|
|
- this.fileList = [{name: jarEventVal.jarFilePath,fileId: jarEventVal.jarFilePath,url: jarEventVal.jarFilePath}]
|
|
|
|
|
|
+ this.fileList = [{ name: jarEventVal.jarFilePath, fileId: jarEventVal.jarFilePath, url: jarEventVal.jarFilePath }]
|
|
this.eventJarValueList = obj
|
|
this.eventJarValueList = obj
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -305,7 +334,7 @@ export default {
|
|
handleSuccess(res, file, fileList) {
|
|
handleSuccess(res, file, fileList) {
|
|
// 如果数组类型
|
|
// 如果数组类型
|
|
if (res.code === 200) {
|
|
if (res.code === 200) {
|
|
- this.fileList.push({name: file.name,fileId: res.msg,url: res.msg})
|
|
|
|
|
|
+ this.fileList.push({ name: file.name, fileId: res.msg, url: res.msg })
|
|
this.addForm.jarFilePath = res.msg
|
|
this.addForm.jarFilePath = res.msg
|
|
} else {
|
|
} else {
|
|
fileList.filter((o) => o.uid != file.uid)
|
|
fileList.filter((o) => o.uid != file.uid)
|
|
@@ -320,14 +349,16 @@ export default {
|
|
this.fileList.splice(index, 1)
|
|
this.fileList.splice(index, 1)
|
|
this.$emit('input', this.fileList)
|
|
this.$emit('input', this.fileList)
|
|
},
|
|
},
|
|
- codeModeSubmit(){
|
|
|
|
|
|
+ codeModeSubmit() {
|
|
let eventValue = {}
|
|
let eventValue = {}
|
|
- this.eventValueList.forEach((i,k)=>{eventValue[i.key] = i.value})
|
|
|
|
|
|
+ this.eventValueList.forEach((i, k) => {
|
|
|
|
+ eventValue[i.key] = i.value
|
|
|
|
+ })
|
|
let { columnFormula } = this.nowComputedField
|
|
let { columnFormula } = this.nowComputedField
|
|
if (this.addForm.eventType === 1 && !columnFormula) {
|
|
if (this.addForm.eventType === 1 && !columnFormula) {
|
|
return this.$message({ message: '请补充完整', type: 'warning' })
|
|
return this.$message({ message: '请补充完整', type: 'warning' })
|
|
}
|
|
}
|
|
- let jarEventSql = {jarFilePath : this.addForm.jarFilePath, className : this.addForm.className, methodName : this.addForm.methodName}
|
|
|
|
|
|
+ let jarEventSql = { jarFilePath: this.addForm.jarFilePath, className: this.addForm.className, methodName: this.addForm.methodName }
|
|
let params = {
|
|
let params = {
|
|
id: this.id,
|
|
id: this.id,
|
|
eventName: this.addForm.eventName,
|
|
eventName: this.addForm.eventName,
|
|
@@ -349,9 +380,8 @@ export default {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
})
|
|
})
|
|
- },
|
|
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
</script>
|
|
</script>
|
|
<style scoped lang="scss">
|
|
<style scoped lang="scss">
|