|
@@ -121,6 +121,64 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item prop="formType" label="表单类型" size="normal">
|
|
|
+ <el-select
|
|
|
+ v-model="newUnusualTask.formType"
|
|
|
+ placeholder="请选择表单类型"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ @change="formTypeChangeHandler"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in formTypeList"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item
|
|
|
+ v-if="newUnusualTask.formType == 'designForm'"
|
|
|
+ label="表单:"
|
|
|
+ size="normal"
|
|
|
+ >
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-input
|
|
|
+ v-model="newUnusualTask.compName"
|
|
|
+ placeholder="组件名"
|
|
|
+ size="normal"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-col>
|
|
|
+ <el-col class="line" :span="2">---</el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-input
|
|
|
+ v-model="newUnusualTask.scriptName"
|
|
|
+ placeholder="脚本名"
|
|
|
+ size="normal"
|
|
|
+ clearable
|
|
|
+ ></el-input>
|
|
|
+ </el-col>
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
+ <el-form-item v-else prop="formId" label="表单" size="normal">
|
|
|
+ <el-select
|
|
|
+ v-model="newUnusualTask.formId"
|
|
|
+ placeholder="请选择表单"
|
|
|
+ clearable
|
|
|
+ filterable
|
|
|
+ @change="formChangeHandler"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="item in formList"
|
|
|
+ :key="item.value"
|
|
|
+ :label="item.label"
|
|
|
+ :value="item.value"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<el-button @click="modelVisible = false">取 消</el-button>
|
|
@@ -145,10 +203,13 @@ import { getScriptType } from "@packages/bo-utils/scriptUtil";
|
|
|
import EventEmitter from "@utils/EventEmitter";
|
|
|
import { getActive } from "@packages/bpmn-utils/BpmnDesignerUtils";
|
|
|
import { listScript } from "@/api/bpmprocess/process";
|
|
|
-
|
|
|
+import { listForm } from "@/api/dragform/form";
|
|
|
+import { listGroup } from "@/api/relateTable/index.js";
|
|
|
+import { filterUtil } from "@packages/bo-utils/filterUtil.js";
|
|
|
export default {
|
|
|
name: "ElementUnusualTasks",
|
|
|
dicts: ["script_trigger_type", "bpm_script_type", "industry_type"],
|
|
|
+ props: ["allScriptList"],
|
|
|
data() {
|
|
|
return {
|
|
|
modelVisible: false,
|
|
@@ -160,7 +221,7 @@ export default {
|
|
|
formRules: {
|
|
|
scriptKey: {
|
|
|
required: true,
|
|
|
- trigger: ["blur", "change"],
|
|
|
+ trigger: ["change"],
|
|
|
message: "任务脚本不能为空",
|
|
|
},
|
|
|
// scriptTriggerType: {
|
|
@@ -180,28 +241,38 @@ export default {
|
|
|
label: "自动",
|
|
|
},
|
|
|
],
|
|
|
+ formTypeList: [
|
|
|
+ {
|
|
|
+ value: "dragForm",
|
|
|
+ label: "拖拽表单",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "composeForm",
|
|
|
+ label: "组合表单",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ value: "designForm",
|
|
|
+ label: "自定义表单",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ formList: [],
|
|
|
};
|
|
|
},
|
|
|
|
|
|
mounted() {
|
|
|
+ console.log("allScriptList", this.allScriptList);
|
|
|
this.reloadExtensionListeners();
|
|
|
EventEmitter.on("element-update", this.reloadExtensionListeners);
|
|
|
},
|
|
|
methods: {
|
|
|
reloadExtensionListeners() {
|
|
|
this.modelVisible = false;
|
|
|
- this.newUnusualTask = {
|
|
|
- scriptKey: "",
|
|
|
- scriptTriggerType: "0",
|
|
|
- industryType: "0",
|
|
|
- scriptName: "",
|
|
|
- // event: getDefaultEvent(getActive()),
|
|
|
- // type: "class",
|
|
|
- };
|
|
|
+
|
|
|
this._listenersRaw = getUnusualTasks(getActive());
|
|
|
this.scriptForm.scriptTriggerType = getScriptTriggerType(getActive());
|
|
|
|
|
|
this.listeners = getUnusualTaskTableData(this._listenersRaw);
|
|
|
+ console.log(this.listeners);
|
|
|
},
|
|
|
|
|
|
updateScriptType(value) {
|
|
@@ -229,8 +300,23 @@ export default {
|
|
|
|
|
|
async openScriptModel(index, TaskData) {
|
|
|
this.activeIndex = index;
|
|
|
+ this.newUnusualTask = {
|
|
|
+ scriptKey: "",
|
|
|
+ scriptTriggerType: "0",
|
|
|
+ industryType: "0",
|
|
|
+ scriptName: "",
|
|
|
+ formType: "",
|
|
|
+ formId: "",
|
|
|
+ compName: "", //组件名
|
|
|
+ // event: getDefaultEvent(getActive()),
|
|
|
+ // type: "class",
|
|
|
+ };
|
|
|
+ console.log(JSON.parse(JSON.stringify(TaskData)));
|
|
|
TaskData && (this.newUnusualTask = JSON.parse(JSON.stringify(TaskData)));
|
|
|
- this.getScriptList(this.newUnusualTask.industryType);
|
|
|
+ console.log(this.newUnusualTask);
|
|
|
+ let { industryType, formType } = this.newUnusualTask;
|
|
|
+ this.getScriptList(industryType);
|
|
|
+ formType && this.switchFormType(formType);
|
|
|
this.modelVisible = true;
|
|
|
await this.$nextTick();
|
|
|
this.$refs.formRef && this.$refs.formRef.clearValidate();
|
|
@@ -260,16 +346,91 @@ export default {
|
|
|
|
|
|
// 获取脚本列表
|
|
|
async getScriptList(industryType = "0") {
|
|
|
- let res = await listScript({
|
|
|
- isEnablePaging: false,
|
|
|
+ // let res = await listScript({
|
|
|
+ // isEnablePaging: false,
|
|
|
+ // scriptType: "0",
|
|
|
+ // industryType,
|
|
|
+ // });
|
|
|
+ // this.scriptKeyList = res.rows.map((item) => ({
|
|
|
+ // value: item.scriptKey,
|
|
|
+ // label: item.scriptName,
|
|
|
+ // }));
|
|
|
+ // 自定义筛选数据
|
|
|
+ let condition = {
|
|
|
scriptType: "0",
|
|
|
industryType,
|
|
|
- });
|
|
|
- this.scriptKeyList = res.rows.map((item) => ({
|
|
|
- value: item.scriptKey,
|
|
|
- label: item.scriptName,
|
|
|
- }));
|
|
|
+ };
|
|
|
+ this.scriptKeyList = filterUtil(condition, this.allScriptList).map(
|
|
|
+ (item) => ({
|
|
|
+ value: item.scriptKey,
|
|
|
+ label: item.scriptName,
|
|
|
+ })
|
|
|
+ );
|
|
|
+ },
|
|
|
+ async getDragFormList() {
|
|
|
+ try {
|
|
|
+ let res = await listForm({ isEnablePaging: false });
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.formList = res.rows.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.dfName,
|
|
|
+ value: item.fId + "",
|
|
|
+ };
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ throw Error(res);
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ this.$message.warning("网络异常,获取表单列表失败");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async getComposeFormList() {
|
|
|
+ try {
|
|
|
+ let res = await listGroup({ isEnablePaging: false });
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.formList = res.rows.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.groupName,
|
|
|
+ value: item.groupKey,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ throw Error(res);
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ this.$message.warning("网络异常,获取表单列表失败");
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 表单类型改变回调
|
|
|
+ formTypeChangeHandler(type) {
|
|
|
+ this.switchFormType(type);
|
|
|
+ this.newUnusualTask.formId = "";
|
|
|
+ },
|
|
|
+ switchFormType(type) {
|
|
|
+ switch (type) {
|
|
|
+ case "dragForm":
|
|
|
+ this.getDragFormList();
|
|
|
+ break;
|
|
|
+ case "composeForm":
|
|
|
+ this.getComposeFormList();
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 表单改变回调
|
|
|
+ formChangeHandler(formId) {
|
|
|
+ console.log(this.newUnusualTask.formId);
|
|
|
+ console.log(this.formList);
|
|
|
},
|
|
|
},
|
|
|
};
|
|
|
</script>
|
|
|
+<style lang="scss" scoped>
|
|
|
+.line {
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+}
|
|
|
+</style>
|