|
@@ -23,7 +23,13 @@
|
|
|
</edit-item>
|
|
|
</div>
|
|
|
<el-dialog title="" :visible.sync="show" width="1200px">
|
|
|
- <div class="main-wrap">
|
|
|
+ <exeList
|
|
|
+ ref="exeListRef"
|
|
|
+ :formItemsList="formItemsList"
|
|
|
+ :afterNodeData="afterNodeData"
|
|
|
+ :isEdit="isEdit"
|
|
|
+ ></exeList>
|
|
|
+ <!-- <div class="main-wrap">
|
|
|
<div class="header">
|
|
|
<el-select
|
|
|
v-model="tableName"
|
|
@@ -59,22 +65,8 @@
|
|
|
>{{ item.model }}</el-descriptions-item
|
|
|
>
|
|
|
</el-descriptions>
|
|
|
- <!-- <el-form ref="form" :rules="rules" :inline="true" size="small">
|
|
|
- <el-form-item
|
|
|
- v-for="item in formItemsList"
|
|
|
- :key="item.model"
|
|
|
- :label="item.label + ':'"
|
|
|
- >
|
|
|
- <el-input :disabled="true"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-form> -->
|
|
|
</div>
|
|
|
<div class="center-wrap">
|
|
|
- <!-- <el-form ref="form" :rules="rules" size="small">
|
|
|
- <el-form-item v-for="item in formItemsList" :key="item.model">
|
|
|
- <el-input :disabled="true"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-form> -->
|
|
|
<el-descriptions title="同步表格字段" :column="1" :colon="false">
|
|
|
<el-descriptions-item
|
|
|
v-for="(item, index) in listData"
|
|
@@ -110,11 +102,6 @@
|
|
|
</el-descriptions>
|
|
|
</div>
|
|
|
<div class="right-wrap">
|
|
|
- <!-- <el-form ref="form" :rules="rules" size="small">
|
|
|
- <el-form-item v-for="item in formItemsList" :key="item.model">
|
|
|
- <el-input :disabled="true"></el-input>
|
|
|
- </el-form-item>
|
|
|
- </el-form> -->
|
|
|
<el-descriptions title="默认值" :column="1" :colon="false">
|
|
|
<el-descriptions-item
|
|
|
v-for="(item, index) in listData"
|
|
@@ -125,7 +112,7 @@
|
|
|
</el-descriptions>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
+ </div> -->
|
|
|
<template #footer>
|
|
|
<span>
|
|
|
<el-button @click="show = false">取消</el-button>
|
|
@@ -141,6 +128,8 @@ import EventEmitter from "@utils/EventEmitter";
|
|
|
import {
|
|
|
setAfterNdoe,
|
|
|
getAfterNdoe,
|
|
|
+ getAfterNodeData,
|
|
|
+ setAfterNodeData,
|
|
|
getFormKey,
|
|
|
setFormKey,
|
|
|
setFId,
|
|
@@ -154,10 +143,13 @@ import {
|
|
|
getListName,
|
|
|
dragTablePreview,
|
|
|
} from "@/api/dragform/form.js";
|
|
|
+import { getFormGroup, getFormGroupData } from "@/api/system/formGroup";
|
|
|
import { getDicts } from "@/api/system/dict/data";
|
|
|
import { mapState } from "vuex";
|
|
|
+import exeList from "./afterNodeComponents/index.vue";
|
|
|
export default {
|
|
|
name: "ElementAfterNode",
|
|
|
+ components: { exeList },
|
|
|
data() {
|
|
|
return {
|
|
|
afterNodeValue: "",
|
|
@@ -167,6 +159,9 @@ export default {
|
|
|
tableList: [], //表格列表
|
|
|
tableItemList: [], //表格字段列表
|
|
|
listData: [],
|
|
|
+
|
|
|
+ isEdit: false,
|
|
|
+ afterNodeData: [],
|
|
|
};
|
|
|
},
|
|
|
inject: {
|
|
@@ -174,6 +169,10 @@ export default {
|
|
|
from: "getMyFid",
|
|
|
default: "",
|
|
|
},
|
|
|
+ getFormType: {
|
|
|
+ from: "getFormType",
|
|
|
+ default: "",
|
|
|
+ },
|
|
|
},
|
|
|
mounted() {
|
|
|
this.initFormData();
|
|
@@ -239,9 +238,13 @@ export default {
|
|
|
},
|
|
|
// 确认回调
|
|
|
confirmHandler() {
|
|
|
- console.log(this.listData);
|
|
|
- let temp = this.filterListData(this.listData);
|
|
|
- console.log("temp", temp);
|
|
|
+ // console.log(this.listData);
|
|
|
+ // let temp = this.filterListData(this.listData);
|
|
|
+ // console.log("temp", temp);
|
|
|
+ let exeData = this.$refs.exeListRef.getExeData();
|
|
|
+ console.log("exeData", exeData);
|
|
|
+ setAfterNodeData(getActive(), JSON.stringify(exeData));
|
|
|
+ this.show = false;
|
|
|
},
|
|
|
// 过滤数据返回有效数据
|
|
|
filterListData(data) {
|
|
@@ -275,6 +278,14 @@ export default {
|
|
|
},
|
|
|
initFormData() {
|
|
|
this.afterNodeValue = getAfterNdoe(getActive()) || "";
|
|
|
+ let afterNodeData = getAfterNodeData(getActive()) || "";
|
|
|
+
|
|
|
+ if (afterNodeData) {
|
|
|
+ this.isEdit = true;
|
|
|
+ this.afterNodeData = JSON.parse(afterNodeData);
|
|
|
+ } else {
|
|
|
+ this.isEdit = false;
|
|
|
+ }
|
|
|
},
|
|
|
updateBeforeNodeValue(value) {
|
|
|
setAfterNdoe(getActive(), value);
|
|
@@ -283,12 +294,35 @@ export default {
|
|
|
async editHandler() {
|
|
|
// let fId = getFId(getActive());
|
|
|
let fId = this.getMyFid();
|
|
|
- console.log(fId);
|
|
|
+ let formType = this.getFormType();
|
|
|
+
|
|
|
+ console.log(fId, formType);
|
|
|
if (!fId) {
|
|
|
this.$message.warning(`请在'常规信息'中绑定表单`);
|
|
|
return;
|
|
|
}
|
|
|
+ if (formType == "") {
|
|
|
+ this.$message.warning(`请在'常规信息'中选择表单类型`);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (formType == "dragForm") {
|
|
|
+ //单个表单
|
|
|
+ //获取表单数据
|
|
|
+ this.initDragFormData(fId);
|
|
|
+ } else {
|
|
|
+ //表单组
|
|
|
+ this.initDragFormGroupData(fId);
|
|
|
+ }
|
|
|
//获取表单数据
|
|
|
+
|
|
|
+ this.show = true;
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.exeListRef.initData();
|
|
|
+ });
|
|
|
+ },
|
|
|
+
|
|
|
+ // 初始化单独表单数据
|
|
|
+ async initDragFormData(fId) {
|
|
|
try {
|
|
|
let res = await getInfoByFormKey(fId);
|
|
|
if (res.code == 200) {
|
|
@@ -301,7 +335,54 @@ export default {
|
|
|
console.log(e);
|
|
|
this.$message.error("网络异常请稍后再试");
|
|
|
}
|
|
|
- this.show = true;
|
|
|
+ },
|
|
|
+ // 初始化表单组数据
|
|
|
+ async initDragFormGroupData(fId) {
|
|
|
+ console.log("表单组", fId);
|
|
|
+ try {
|
|
|
+ let res = await getFormGroupData(fId);
|
|
|
+ console.log(res);
|
|
|
+ if (res.code == 200) {
|
|
|
+ let jsonData = res.data.relationJson;
|
|
|
+ if (jsonData) {
|
|
|
+ this.getFormGroupData(jsonData);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ((res.code = 200)) {
|
|
|
+ } else {
|
|
|
+ this.$message.error("网络异常请稍后再试");
|
|
|
+ }
|
|
|
+ } catch (error) {
|
|
|
+ console.log(error);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 格式化表单组字段数据
|
|
|
+ getFormGroupData(jsonData) {
|
|
|
+ let { mainForm, subFormList } = JSON.parse(jsonData);
|
|
|
+ let res = [];
|
|
|
+ let { formKey, mainFormName, showTemplate } = mainForm;
|
|
|
+ res.push({
|
|
|
+ formKey, //表单key
|
|
|
+ formName: mainFormName, //表单name
|
|
|
+ template: showTemplate.dfVueTemplate, //表单模板
|
|
|
+ tableName: showTemplate.dfTableName, //表名
|
|
|
+ });
|
|
|
+ subFormList.forEach((item) => {
|
|
|
+ let { formKey, showTemplate } = item;
|
|
|
+ res.push({
|
|
|
+ formKey, //表单key
|
|
|
+ formName: showTemplate.dfName, //表单name
|
|
|
+ template: showTemplate.dfVueTemplate, //表单模板
|
|
|
+ tableName: item.formItem?.split(".")[0], //表名
|
|
|
+ });
|
|
|
+ });
|
|
|
+ this.formItemsList = [];
|
|
|
+ res.forEach((item) => {
|
|
|
+ item.itemList = getFormItems(item.template);
|
|
|
+ this.formItemsList.push(...item.itemList);
|
|
|
+ });
|
|
|
+
|
|
|
+ console.log(res);
|
|
|
},
|
|
|
},
|
|
|
};
|