Compare commits
2 Commits
1a3eb97292
...
fc4d5636c2
| Author | SHA1 | Date |
|---|---|---|
|
|
fc4d5636c2 | |
|
|
fbdb0819a9 |
|
|
@ -11,7 +11,9 @@ enum Api {
|
||||||
GETFORMPAGEDATA = '/api/FormScheme/GetFormDataPage?id=', //获取表单分页数据
|
GETFORMPAGEDATA = '/api/FormScheme/GetFormDataPage?id=', //获取表单分页数据
|
||||||
SAVEFORMDATA = '/api/FormScheme/SaveForm', //新增编辑自定义表单
|
SAVEFORMDATA = '/api/FormScheme/SaveForm', //新增编辑自定义表单
|
||||||
DELFORMSDATA = '/api/FormScheme/DeleteFormData?id=', //删除表单数据
|
DELFORMSDATA = '/api/FormScheme/DeleteFormData?id=', //删除表单数据
|
||||||
|
GETFORMSDATADETAIL = '/api/FormScheme/GetFormData', //删除表单数据详情
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @description: Get sample options value
|
* @description: Get sample options value
|
||||||
*/
|
*/
|
||||||
|
|
@ -26,3 +28,5 @@ export const delFormsData = (params: DeleteFormsParams) =>
|
||||||
url: Api.DELFORMSDATA + params.id + '&key=' + params.key + '&keyValue=' + params.keyValue,
|
url: Api.DELFORMSDATA + params.id + '&key=' + params.key + '&keyValue=' + params.keyValue,
|
||||||
params,
|
params,
|
||||||
});
|
});
|
||||||
|
export const getFormsDataDetail = (params: DeleteFormsParams) =>
|
||||||
|
defHttp.get<AccountListGetResultModel[]>({ url: Api.GETFORMSDATADETAIL, params });
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,19 @@
|
||||||
<template>
|
<template>
|
||||||
<PageHeader title="返回" />
|
<div :class="`${prefixCls}`">
|
||||||
<div class="form-box">
|
<div :class="`${prefixCls}-header`">{{ paramsTitle }}</div>
|
||||||
<BasicForm ref="myDataBaseFormRef" @register="registerForm" v-if="formModalVisible" />
|
<div :class="`${prefixCls}-content`">
|
||||||
</div>
|
<BasicForm ref="myDataBaseFormRef" @register="registerForm" v-if="formModalVisible" />
|
||||||
<div class="btn-box">
|
</div>
|
||||||
<a-button class="leftbtn" size="large" @click="closeModalClick">取消</a-button>
|
<div :class="`${prefixCls}-footer`">
|
||||||
<a-button class="rightbtn" type="primary" size="large" @click="closeModalClick">保存</a-button>
|
<div :class="`${prefixCls}-footer-confirm`" @click="submitClick">保存</div>
|
||||||
|
<div :class="`${prefixCls}-footer-cancle`" @click="close">取消</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import { unref, ref, onMounted } from 'vue';
|
import { unref, ref, onMounted } from 'vue';
|
||||||
import {
|
import { getFormsDesignData, getFormsDataDetail, saveFormsData } from '@/api/formrender/index';
|
||||||
getFormsDesignData,
|
import { getOutKeyList } from '@/api/formdesign/index';
|
||||||
getFormsPageData,
|
|
||||||
delFormsData,
|
|
||||||
saveFormsData,
|
|
||||||
} from '@/api/formrender/index';
|
|
||||||
import { FormSchema } from '@/components/Table';
|
import { FormSchema } from '@/components/Table';
|
||||||
import { BasicForm, useForm } from '@/components/Form';
|
import { BasicForm, useForm } from '@/components/Form';
|
||||||
import { useMessage } from '@/hooks/web/useMessage';
|
import { useMessage } from '@/hooks/web/useMessage';
|
||||||
|
|
@ -27,10 +25,17 @@
|
||||||
const formModalVisible = ref(false);
|
const formModalVisible = ref(false);
|
||||||
const isUpdate = ref(true);
|
const isUpdate = ref(true);
|
||||||
const schemeId = ref();
|
const schemeId = ref();
|
||||||
const primaryQuery = ref();
|
const paramsKey = ref();
|
||||||
const addQuery: any = ref([]);
|
const addQuery: any = ref([]);
|
||||||
const formColumns: FormSchema[] = [];
|
const formColumns: FormSchema[] = [];
|
||||||
|
const paramsTitle = route.query.name;
|
||||||
const paramsCode = route.query.code;
|
const paramsCode = route.query.code;
|
||||||
|
const paramsKeyValue = route.query.keyValue; //keyValue编辑传新增不传
|
||||||
|
if (paramsKeyValue) {
|
||||||
|
isUpdate.value = true;
|
||||||
|
} else {
|
||||||
|
isUpdate.value = false;
|
||||||
|
}
|
||||||
|
|
||||||
function generateUniqueDigits(length: number): number[] {
|
function generateUniqueDigits(length: number): number[] {
|
||||||
const digits = new Set<number>();
|
const digits = new Set<number>();
|
||||||
|
|
@ -40,7 +45,6 @@
|
||||||
}
|
}
|
||||||
return Array.from(digits);
|
return Array.from(digits);
|
||||||
}
|
}
|
||||||
const uniqueDigits = generateUniqueDigits(20);
|
|
||||||
|
|
||||||
const [registerForm, { setFieldsValue, validate }] = useForm({
|
const [registerForm, { setFieldsValue, validate }] = useForm({
|
||||||
labelWidth: 100,
|
labelWidth: 100,
|
||||||
|
|
@ -49,31 +53,32 @@
|
||||||
showActionButtonGroup: false,
|
showActionButtonGroup: false,
|
||||||
baseColProps: { lg: 24, md: 24 },
|
baseColProps: { lg: 24, md: 24 },
|
||||||
});
|
});
|
||||||
|
//取消
|
||||||
|
function close() {}
|
||||||
//表单填写数据
|
//表单填写数据
|
||||||
async function ModalSureClick() {
|
async function submitClick() {
|
||||||
try {
|
try {
|
||||||
const values = await validate();
|
const values = await validate();
|
||||||
let query = values;
|
let query = values;
|
||||||
console.log('query', query);
|
|
||||||
let params: any = {
|
let params: any = {
|
||||||
schemeId: primaryQuery.value.id,
|
schemeId: schemeId.value,
|
||||||
isUpdate: isUpdate.value,
|
isUpdate: isUpdate.value,
|
||||||
pkey: primaryQuery.value.key,
|
pkey: paramsKey.value,
|
||||||
};
|
};
|
||||||
console.log('params', params);
|
|
||||||
if (unref(isUpdate)) {
|
if (unref(isUpdate)) {
|
||||||
params.pkeyValue = primaryQuery.value.keyValue;
|
params.pkeyValue = paramsKeyValue;
|
||||||
} else {
|
} else {
|
||||||
addQuery.value.forEach((item) => {
|
addQuery.value.forEach((item) => {
|
||||||
if (item.type == 'main') {
|
if (item.type == 'main') {
|
||||||
params.pkeyValue = item.value;
|
params.pkeyValue = item.value;
|
||||||
}
|
}
|
||||||
query[item.field] = item.value;
|
if (!query[item.field]) {
|
||||||
|
query[item.field] = item.value;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
params.data = JSON.stringify(query);
|
params.data = JSON.stringify(query);
|
||||||
console.log('query222', query);
|
|
||||||
console.log('params222', params);
|
|
||||||
const data = await saveFormsData(params);
|
const data = await saveFormsData(params);
|
||||||
if (data) {
|
if (data) {
|
||||||
emit('success');
|
emit('success');
|
||||||
|
|
@ -82,6 +87,7 @@
|
||||||
return createMessage.error('操作失败');
|
return createMessage.error('操作失败');
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
|
console.log('err');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
function getPublicForm() {
|
function getPublicForm() {
|
||||||
|
|
@ -89,55 +95,144 @@
|
||||||
code: paramsCode,
|
code: paramsCode,
|
||||||
};
|
};
|
||||||
getFormsDesignData(params).then((res: Recordable) => {
|
getFormsDesignData(params).then((res: Recordable) => {
|
||||||
console.log('res', res);
|
|
||||||
let columnObj = JSON.parse(res.entity.scheme);
|
|
||||||
let formObj = JSON.parse(res.formScheme.scheme);
|
let formObj = JSON.parse(res.formScheme.scheme);
|
||||||
console.log('formObj', formObj);
|
|
||||||
formObj.formInfo.schemas.forEach((item) => {
|
formObj.formInfo.schemas.forEach((item) => {
|
||||||
formColumns.push(item);
|
formColumns.push(item);
|
||||||
});
|
});
|
||||||
formModalVisible.value = true;
|
formModalVisible.value = true;
|
||||||
schemeId.value = res.formScheme.id;
|
schemeId.value = res.formScheme.id;
|
||||||
|
paramsKey.value = formObj.primaryKey;
|
||||||
|
let arr: any = [];
|
||||||
|
formObj.db.forEach((val) => {
|
||||||
|
let params = {
|
||||||
|
dbCode: formObj.dbCode,
|
||||||
|
tableNames: val.name,
|
||||||
|
};
|
||||||
|
let chlidKey: any = ref();
|
||||||
|
if (val.type === 'chlid') {
|
||||||
|
getOutKeyList(params).then((res: Recordable) => {
|
||||||
|
if (res[0]) {
|
||||||
|
res[0].db_codecolumnsList.forEach((item) => {
|
||||||
|
if (item.isPrimaryKey == 1) {
|
||||||
|
chlidKey.value = item.dbColumnName;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
formObj.formInfo.schemas.forEach((item) => {
|
||||||
|
if (
|
||||||
|
item.componentProps.dataTable == val.name &&
|
||||||
|
formObj.primaryKey == item.componentProps.fieldName
|
||||||
|
) {
|
||||||
|
arr.push({
|
||||||
|
type: val.type,
|
||||||
|
field: item.field,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (
|
||||||
|
val.type == 'chlid' &&
|
||||||
|
val.name == item.componentProps.dataTable &&
|
||||||
|
chlidKey.value == item.componentProps.fieldName
|
||||||
|
) {
|
||||||
|
arr.push({
|
||||||
|
type: val.type,
|
||||||
|
field: item.field,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
let newArr: any = [...new Set(arr)];
|
||||||
|
addQuery.value = [];
|
||||||
|
if (newArr && !unref(isUpdate)) {
|
||||||
|
newArr.forEach((item) => {
|
||||||
|
addQuery.value.push({
|
||||||
|
type: item.type,
|
||||||
|
field: item.field,
|
||||||
|
value: generateUniqueDigits(20).join(''),
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (formObj.primaryKey) {
|
||||||
|
getFormDetail(formObj.primaryKey);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
function getFormDetail(key: '') {
|
||||||
|
if (!paramsKeyValue) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
id: schemeId.value,
|
||||||
|
key: key,
|
||||||
|
keyValue: paramsKeyValue,
|
||||||
|
};
|
||||||
|
getFormsDataDetail(params).then((res: Recordable) => {
|
||||||
|
if (res) {
|
||||||
|
let obj: any = {};
|
||||||
|
res.forEach((item) => {
|
||||||
|
obj[item.columnName] = item.value;
|
||||||
|
});
|
||||||
|
setFieldsValue(obj);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getPublicForm();
|
getPublicForm();
|
||||||
});
|
});
|
||||||
|
const prefixCls = 'form-box';
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style lang="less" scoped>
|
||||||
.form-box {
|
.form-box {
|
||||||
height: calc(100% - 90px);
|
|
||||||
padding: 20px 20px 40px 10px;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-box {
|
|
||||||
display: flex;
|
|
||||||
position: fixed;
|
|
||||||
bottom: 0;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 80px;
|
height: 100%;
|
||||||
border-top: 1px solid #eee;
|
background: #eceff9;
|
||||||
}
|
|
||||||
|
|
||||||
.leftbtn {
|
&-header {
|
||||||
width: 100px;
|
display: flex;
|
||||||
margin-right: 20px;
|
align-items: center;
|
||||||
}
|
justify-content: center;
|
||||||
|
height: 80px;
|
||||||
|
background: #fff;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
.rightbtn {
|
&-content {
|
||||||
width: 100px;
|
height: calc(100% - 220px);
|
||||||
}
|
padding: 20px;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
::v-deep .ant-form-item-label {
|
&-footer {
|
||||||
flex: none !important;
|
position: fixed;
|
||||||
padding-right: 10px !important;
|
bottom: 30px;
|
||||||
text-align: right !important;
|
width: 100%;
|
||||||
}
|
|
||||||
|
|
||||||
::v-deep .ant-form-item-control {
|
&-cancle {
|
||||||
flex: none !important;
|
width: 94%;
|
||||||
|
height: 50px;
|
||||||
|
margin-top: 10px;
|
||||||
|
margin-left: 3%;
|
||||||
|
border-radius: 4px;
|
||||||
|
background: #fff;
|
||||||
|
color: #a7afd0;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 50px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
&-confirm {
|
||||||
|
width: 94%;
|
||||||
|
height: 50px;
|
||||||
|
margin-left: 3%;
|
||||||
|
border-radius: 4px;
|
||||||
|
background: #1e5eff;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 18px;
|
||||||
|
line-height: 50px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,6 @@
|
||||||
}
|
}
|
||||||
return Array.from(digits);
|
return Array.from(digits);
|
||||||
}
|
}
|
||||||
const uniqueDigits = generateUniqueDigits(20);
|
|
||||||
|
|
||||||
const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
|
const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
|
||||||
labelWidth: 100,
|
labelWidth: 100,
|
||||||
|
|
@ -104,7 +103,9 @@
|
||||||
if (item.type == 'main') {
|
if (item.type == 'main') {
|
||||||
params.pkeyValue = item.value;
|
params.pkeyValue = item.value;
|
||||||
}
|
}
|
||||||
query[item.field] = item.value;
|
if (!query[item.field]) {
|
||||||
|
query[item.field] = item.value;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
params.data = JSON.stringify(query);
|
params.data = JSON.stringify(query);
|
||||||
|
|
@ -123,35 +124,4 @@
|
||||||
setModalProps({ confirmLoading: false });
|
setModalProps({ confirmLoading: false });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// async function handleSubmit() {
|
|
||||||
// try {
|
|
||||||
// const values = await validate();
|
|
||||||
// let query = values;
|
|
||||||
// // 调用接口
|
|
||||||
// if (!unref(isUpdate)) {
|
|
||||||
// const data = await addDataBaseInfo(query);
|
|
||||||
// if (data) {
|
|
||||||
// setModalProps({ confirmLoading: true });
|
|
||||||
// closeModal();
|
|
||||||
// emit('success');
|
|
||||||
// return createMessage.success('新增成功');
|
|
||||||
// } else {
|
|
||||||
// return createMessage.error('新增失败');
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// query.databaseLinkId = detailValue.value.databaseLinkId
|
|
||||||
// const data = await editDataBaseInfo(query);
|
|
||||||
// if (data) {
|
|
||||||
// setModalProps({ confirmLoading: true });
|
|
||||||
// closeModal();
|
|
||||||
// emit('success');
|
|
||||||
// return createMessage.success('编辑成功');
|
|
||||||
// } else {
|
|
||||||
// return createMessage.error('编辑失败');
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// } finally {
|
|
||||||
// setModalProps({ confirmLoading: false });
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@
|
||||||
import { BasicTable, useTable, BasicColumn } from '@/components/Table';
|
import { BasicTable, useTable, BasicColumn } from '@/components/Table';
|
||||||
import { BasicTree, TreeItem, TreeActionItem, TreeActionType } from '@/components/Tree';
|
import { BasicTree, TreeItem, TreeActionItem, TreeActionType } from '@/components/Tree';
|
||||||
import { getFormsDesignData, getFormsPageData, delFormsData } from '@/api/formrender/index';
|
import { getFormsDesignData, getFormsPageData, delFormsData } from '@/api/formrender/index';
|
||||||
|
import { getOutKeyList } from '@/api/formdesign/index';
|
||||||
import { searchFormSchema } from './index.data';
|
import { searchFormSchema } from './index.data';
|
||||||
import { PageWrapper } from '@/components/Page';
|
import { PageWrapper } from '@/components/Page';
|
||||||
import { cloneDeep } from 'lodash-es';
|
import { cloneDeep } from 'lodash-es';
|
||||||
|
|
@ -53,6 +54,7 @@
|
||||||
const treeVisible: any = ref(false);
|
const treeVisible: any = ref(false);
|
||||||
const paramsId: any = ref();
|
const paramsId: any = ref();
|
||||||
const designData: any = ref();
|
const designData: any = ref();
|
||||||
|
const searchValue: any = ref();
|
||||||
const addParamsArr: any = ref([]);
|
const addParamsArr: any = ref([]);
|
||||||
const primaryKeyFailed: any = ref();
|
const primaryKeyFailed: any = ref();
|
||||||
const paramsCode = route.query.code;
|
const paramsCode = route.query.code;
|
||||||
|
|
@ -62,14 +64,14 @@
|
||||||
const asyncExpandTreeRef = ref<Nullable<TreeActionType>>(null);
|
const asyncExpandTreeRef = ref<Nullable<TreeActionType>>(null);
|
||||||
const actionList: TreeActionItem[] = [];
|
const actionList: TreeActionItem[] = [];
|
||||||
const [registerModal, { openModal }] = useModal();
|
const [registerModal, { openModal }] = useModal();
|
||||||
const [registerTable, { reload, setColumns, getSelectRows }] = useTable({
|
const [registerTable, { reload, setColumns, getSelectRows, clearSelectedRowKeys }] = useTable({
|
||||||
title: '表单列表',
|
title: '表单列表',
|
||||||
api: getFormsPageData,
|
api: getFormsPageData,
|
||||||
// rowKey: 'f_Id',
|
// rowKey: 'f_Id',
|
||||||
columns: callColumns,
|
columns: callColumns,
|
||||||
formConfig: {
|
formConfig: {
|
||||||
labelWidth: 120,
|
labelWidth: 120,
|
||||||
schemas: searchFormSchema,
|
// schemas: searchFormSchema,
|
||||||
},
|
},
|
||||||
rowSelection: {
|
rowSelection: {
|
||||||
type: 'radio',
|
type: 'radio',
|
||||||
|
|
@ -87,6 +89,7 @@
|
||||||
rows: data.limit,
|
rows: data.limit,
|
||||||
keyWord: data.key,
|
keyWord: data.key,
|
||||||
},
|
},
|
||||||
|
queryJson: searchValue.value,
|
||||||
};
|
};
|
||||||
return temp;
|
return temp;
|
||||||
},
|
},
|
||||||
|
|
@ -96,6 +99,24 @@
|
||||||
let arr: any = [];
|
let arr: any = [];
|
||||||
if (rel.primaryKey) {
|
if (rel.primaryKey) {
|
||||||
rel.db.forEach((val) => {
|
rel.db.forEach((val) => {
|
||||||
|
let params = {
|
||||||
|
dbCode: rel.dbCode,
|
||||||
|
tableNames: val.name,
|
||||||
|
};
|
||||||
|
let chlidKey: any = ref();
|
||||||
|
if (val.type === 'chlid') {
|
||||||
|
getOutKeyList(params).then((res: Recordable) => {
|
||||||
|
if (res[0]) {
|
||||||
|
res[0].db_codecolumnsList.forEach((item) => {
|
||||||
|
if (item.isPrimaryKey == 1) {
|
||||||
|
chlidKey.value = item.dbColumnName;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log('chlidKey', chlidKey);
|
||||||
rel.formInfo.schemas.forEach((item) => {
|
rel.formInfo.schemas.forEach((item) => {
|
||||||
if (
|
if (
|
||||||
item.componentProps.dataTable == val.name &&
|
item.componentProps.dataTable == val.name &&
|
||||||
|
|
@ -106,6 +127,16 @@
|
||||||
field: item.field,
|
field: item.field,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (
|
||||||
|
val.type == 'chlid' &&
|
||||||
|
val.name == item.componentProps.dataTable &&
|
||||||
|
chlidKey.value == item.componentProps.fieldName
|
||||||
|
) {
|
||||||
|
arr.push({
|
||||||
|
type: val.type,
|
||||||
|
field: item.field,
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
@ -191,11 +222,14 @@
|
||||||
console.log('rrr', res);
|
console.log('rrr', res);
|
||||||
if (res) {
|
if (res) {
|
||||||
createMessage.success('删除成功', 2);
|
createMessage.success('删除成功', 2);
|
||||||
|
setTimeout(() => {
|
||||||
|
clearSelectedRowKeys();
|
||||||
|
reload();
|
||||||
|
}, 100);
|
||||||
} else {
|
} else {
|
||||||
createMessage.error('删除失败', 2);
|
createMessage.error('删除失败', 2);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
reload();
|
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
|
|
@ -219,10 +253,15 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
function handleSelect(GroupId = '') {
|
function handleSelect(selectedKeys: any, selected: any) {
|
||||||
console.log('GroupId', GroupId);
|
const rel = selected.node.dataRef;
|
||||||
|
const obj: any = {};
|
||||||
|
obj[rel.key] = rel.value;
|
||||||
|
console.log('obj', obj);
|
||||||
|
searchValue.value = JSON.stringify(obj);
|
||||||
reload();
|
reload();
|
||||||
}
|
}
|
||||||
|
|
||||||
function getPublicForm() {
|
function getPublicForm() {
|
||||||
let params = {
|
let params = {
|
||||||
code: paramsCode,
|
code: paramsCode,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue