Merge branch 'main' of http://123.132.248.154:10000/HC_YFZX/CaiYuanYiTiHua into zzq
commit
ce4c15b40e
|
|
@ -1,49 +1,3 @@
|
|||
export const formItemPropsScript_ = `
|
||||
prop:组件id;
|
||||
data:组件改变数据;
|
||||
isUpdate:表单状态,新增或更新;
|
||||
get(path):获取数据方法, 如果想获取某一个组件值就设置path参数值为组件id, 如果是子表的一行数据值就设置子表id.行号, 如果是子表某一行某一列值就设置子表id.行号.子组件id;
|
||||
set(path,value):设置值方法,path说明和get方法一致;
|
||||
getLabel(prop):获取组件的显示值,prop为组件id;
|
||||
setRequired(prop,isRequired):设置组件是否必填,prop为组件id,isRequired 默认值true,如果取消必填就设置成false
|
||||
setDisabled(prop,isDisabled):设置组件是否只读,prop为组件id,isDisabled 默认值true,如果取消只读就设置成false
|
||||
setHide(prop,isHide):设置组件是否隐藏,isHide 默认值true,如果取消隐藏就设置成false
|
||||
httpGet(option):get请求方法
|
||||
httpPost(option):post请求方法
|
||||
httpDelete(option):delete请求方法
|
||||
httpPut(option):put请求方法
|
||||
option:上面四个请求方法参数描述:url:请求地址,data:提交数据(get方法不支持),params:url参数,errorTips:请求失败错误提示,callback请求回调方法 返回结果为请求数据
|
||||
loading:显示加载状态
|
||||
hideLoading:隐藏加载状态
|
||||
message:显示提示消息
|
||||
loginUser:当前登录者信息
|
||||
callback:回调方法,在脚本里使用了http方法后才需要使用';
|
||||
`;
|
||||
|
||||
export const formItemPropsScript__ = `
|
||||
// 示例代码,只支持ES5语法
|
||||
// 获取子表行数据
|
||||
var childRow = utils.get('子表组件id.行号')
|
||||
// 获取子表单元格数据
|
||||
var childCell = utils.get('子表组件id.行号.单元格组件id')
|
||||
|
||||
|
||||
// 添加子表行数据
|
||||
var row = {}
|
||||
utils.set({path:'子表组件id',value:row,type:'addTable'})
|
||||
// 删除子表行数据
|
||||
utils.set({path:'子表组件id.行号',type:'deleteTable'})
|
||||
// 设置子表某一个单元格数据
|
||||
utils.set({path:'子表组件id.行号.单元格组件id',value:'xxxxxx'})
|
||||
// 去掉子表某一行删除按钮
|
||||
utils.set({path:'子表组件id.行号.hasNoDeleteBtn',value:false})
|
||||
// 让子表某一行变成不可编辑
|
||||
utils.set({path:'子表组件id.行号.disabled',value:true})
|
||||
// 让子表某一行除了某一列外不可以编辑
|
||||
utils.set({path:'子表组件id.行号.disabled',value:true})
|
||||
utils.set({path:'子表组件id.行号.abledList',value:['编辑列组件id']})
|
||||
`;
|
||||
|
||||
export const formItemPropsScript = `
|
||||
// 获取表单是新增还是编辑
|
||||
var isUpdate = utils.isUpdate();
|
||||
|
|
@ -52,10 +6,21 @@ var data = utils.data();
|
|||
|
||||
// 数据设置
|
||||
// 获取主表数据
|
||||
utils.getValue('组件的字段标识');
|
||||
let mainValue = utils.getValue('组件的字段标识');
|
||||
// 设置主表数据
|
||||
setFieldsValue(utils.setValue('组件的字段标识', '设置的值'));
|
||||
|
||||
// 获取子表数据
|
||||
let childValue = getChildValue('组件的字段标识');
|
||||
// 添加子表数据
|
||||
subTableList.value = addChildValue(data);
|
||||
data格式为[{组件的字段标识1: "value1", {组件的字段标识2: "value2"}]或者{组件的字段标识1: "value1"}
|
||||
// 修改子表数据
|
||||
subTableList.value = addChildValue('组件的字段标识', '旧value', '新value');
|
||||
// 删除子表数据
|
||||
subTableList.value = deleteChildValue('组件的字段标识', 'value');
|
||||
|
||||
|
||||
// 组件设置
|
||||
// 设置组件为隐藏
|
||||
formColumns.value = utils.setHide('组件的字段标识', false);
|
||||
|
|
@ -96,8 +61,8 @@ url:api地址, params:参数
|
|||
`;
|
||||
|
||||
export function addBreakLines(text: string): string {
|
||||
// 根据换行符分割文本为行
|
||||
const lines = text.split(/\r?\n/);
|
||||
// 在每行后面添加
|
||||
return lines.map((line) => line + '<br />').join('');
|
||||
};
|
||||
// 根据换行符分割文本为行
|
||||
const lines = text.split(/\r?\n/);
|
||||
// 在每行后面添加
|
||||
return lines.map((line) => line + '<br />').join('');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -529,14 +529,16 @@
|
|||
columns.push(val);
|
||||
});
|
||||
});
|
||||
const obj = await validate();
|
||||
setTimeout(() => {
|
||||
updateSchema(columns);
|
||||
resetFields();
|
||||
}, 100);
|
||||
setTimeout(() => {
|
||||
setFieldsValue(obj);
|
||||
}, 500);
|
||||
if(!isDetail.value){
|
||||
const obj = await validate();
|
||||
setTimeout(() => {
|
||||
setFieldsValue(obj);
|
||||
}, 500);
|
||||
}
|
||||
}
|
||||
function generateUniqueDigits(length: number): number[] {
|
||||
const digits = new Set<number>();
|
||||
|
|
|
|||
|
|
@ -228,7 +228,10 @@
|
|||
formBoxRef.value
|
||||
.getForm()
|
||||
.then(async (res) => {
|
||||
if (res) {
|
||||
console.log(res);
|
||||
if (!res) {
|
||||
createMessage.error('请检查表单必填项');
|
||||
} else {
|
||||
if (!props.isUpdate) {
|
||||
res[designerData.formCurrentNode.formRelationId] = processId;
|
||||
querys.pkeyValue = processId;
|
||||
|
|
@ -254,8 +257,6 @@
|
|||
if (formValue) {
|
||||
handleCreateFlow(processId, querys.pkeyValue);
|
||||
}
|
||||
} else {
|
||||
createMessage.error('请检查表单必填项');
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
|
|
|
|||
|
|
@ -141,12 +141,51 @@ export const utils = {
|
|||
},
|
||||
// 获取子表数据
|
||||
getChildValue: (field: any): any => {
|
||||
return c_record[field];
|
||||
if (field == '') {
|
||||
return c_subTableList;
|
||||
} else {
|
||||
const res: any = [];
|
||||
c_subTableList.forEach((v) => {
|
||||
res.push(v[field]);
|
||||
});
|
||||
return res;
|
||||
}
|
||||
},
|
||||
// 设置子表数据
|
||||
setChildValue: (field: any, value: any): any => {
|
||||
c_record[field] = value;
|
||||
return c_record;
|
||||
// 添加子表数据
|
||||
addChildValue: (data: any): any => {
|
||||
if (typeof data == 'object') {
|
||||
if (Array.isArray(data)) {
|
||||
data.forEach((d) => {
|
||||
c_subTableList.push(d);
|
||||
});
|
||||
} else {
|
||||
c_subTableList.push(data);
|
||||
}
|
||||
}
|
||||
return c_subTableList;
|
||||
},
|
||||
// 修改子表数据
|
||||
updateChildValue: (field: string, oldValue: string, newValue: string): any => {
|
||||
const c_subTableList_temp: any = [];
|
||||
c_subTableList.forEach((sub) => {
|
||||
if (sub[field] == oldValue) {
|
||||
sub[field] = newValue;
|
||||
}
|
||||
c_subTableList_temp.push(sub);
|
||||
});
|
||||
c_subTableList = c_subTableList_temp;
|
||||
return c_subTableList;
|
||||
},
|
||||
// 删除子表数据
|
||||
deleteChildValue: (field: string, value: string): any => {
|
||||
const c_subTableList_temp: any = [];
|
||||
c_subTableList.forEach((sub) => {
|
||||
if (sub[field] != value) {
|
||||
c_subTableList_temp.push(sub);
|
||||
}
|
||||
});
|
||||
c_subTableList = c_subTableList_temp;
|
||||
return c_subTableList;
|
||||
},
|
||||
// 组件-----------------------------
|
||||
// 获取组件
|
||||
|
|
|
|||
|
|
@ -141,6 +141,7 @@
|
|||
asyncValidator: async (rule, value, callback) => {
|
||||
// 验证逻辑
|
||||
if (value) {
|
||||
// 判断数据表字段重复
|
||||
try {
|
||||
let filedsJson = {
|
||||
Code: formData.value.code,
|
||||
|
|
@ -176,104 +177,51 @@
|
|||
});
|
||||
}
|
||||
} catch (error) {
|
||||
('验证出错');
|
||||
if (error) {
|
||||
emit('set-steps-current', false);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
callback(new Error('请输入编号'));
|
||||
}
|
||||
},
|
||||
trigger: ['blur'],
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
validator: (rule, value, callback) => {
|
||||
try {
|
||||
// 验证逻辑
|
||||
if (value) {
|
||||
callback();
|
||||
} else {
|
||||
callback(new Error('请输入名称'));
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
},
|
||||
trigger: ['blur'],
|
||||
message: '请输入名称',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
icon: [
|
||||
{
|
||||
component: 'IconPicker',
|
||||
required: true,
|
||||
validator: (rule, value, callback) => {
|
||||
try {
|
||||
// 验证逻辑
|
||||
if (value) {
|
||||
callback();
|
||||
} else {
|
||||
callback(new Error('请选择图标'));
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
},
|
||||
trigger: ['blur'],
|
||||
message: '请选择图标',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
formCodeName: [
|
||||
{
|
||||
required: true,
|
||||
validator: (rule, value, callback) => {
|
||||
try {
|
||||
// 验证逻辑
|
||||
if (value) {
|
||||
callback();
|
||||
} else {
|
||||
callback(new Error('请选择表单'));
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
},
|
||||
trigger: ['blur'],
|
||||
message: '请选择表单版本',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
formVerison: [
|
||||
{
|
||||
required: true,
|
||||
validator: (rule, value, callback) => {
|
||||
try {
|
||||
// 验证逻辑
|
||||
if (value) {
|
||||
callback();
|
||||
} else {
|
||||
callback(new Error('请选择表单版本'));
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
},
|
||||
trigger: ['blur'],
|
||||
message: '请选择表单版本',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
pmoduleId: [
|
||||
{
|
||||
required: true,
|
||||
validator: (rule, value, callback) => {
|
||||
try {
|
||||
// 验证逻辑
|
||||
if (value) {
|
||||
callback();
|
||||
} else {
|
||||
callback(new Error('请选择上级'));
|
||||
}
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
},
|
||||
trigger: ['blur'],
|
||||
message: '请选择上级',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
enabledMark: [{ required: true }],
|
||||
|
|
@ -292,36 +240,25 @@
|
|||
}
|
||||
},
|
||||
);
|
||||
|
||||
// 监视props
|
||||
watch(
|
||||
() => props.isNextSteps,
|
||||
async () => {
|
||||
if (props.isNextSteps) {
|
||||
// if (formModuleRef) {
|
||||
// try {
|
||||
// await formModuleRef.validate();
|
||||
// } catch (error) {
|
||||
// console.log(error);
|
||||
// }
|
||||
// }
|
||||
if (
|
||||
formData.value.code === '' ||
|
||||
formData.value.name === '' ||
|
||||
formData.value.icon === '' ||
|
||||
formData.value.formCode === '' ||
|
||||
formData.value.formVerison === '' ||
|
||||
formData.value.pmoduleId === ''
|
||||
) {
|
||||
createMessage.error(t('数据未填写完整'));
|
||||
emit('set-steps-current', false);
|
||||
} else {
|
||||
// 验证通过后的逻辑
|
||||
let res = await checkExistFiled();
|
||||
if (res) {
|
||||
emit('set-steps-current', true);
|
||||
} else {
|
||||
createMessage.error(t('表单的编号值重复'));
|
||||
emit('set-steps-current', false);
|
||||
// 判断数据表字段重复
|
||||
if (formModuleRef) {
|
||||
try {
|
||||
const valid = await formModuleRef.validate();
|
||||
if (valid.errorFields) {
|
||||
emit('set-steps-current', false);
|
||||
} else {
|
||||
emit('set-steps-current', true);
|
||||
}
|
||||
} catch (error) {
|
||||
if (error) {
|
||||
emit('set-steps-current', false);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -387,59 +324,6 @@
|
|||
getSchemeRow(result.info);
|
||||
}
|
||||
|
||||
// 验证通过后的逻辑
|
||||
async function checkExistFiled() {
|
||||
try {
|
||||
let filedsJson = {
|
||||
Code: formData.value.code,
|
||||
};
|
||||
let result = false;
|
||||
if (props.isEdit) {
|
||||
// 编辑
|
||||
let query: any = {
|
||||
keyValue: props.editData.record.id,
|
||||
tableName: 'form_module',
|
||||
keyName: 'Id',
|
||||
filedsJson: JSON.stringify(filedsJson),
|
||||
};
|
||||
await Get_Get_ExistFiled(query)
|
||||
.then((res) => {
|
||||
if (res) {
|
||||
result = true;
|
||||
} else {
|
||||
result = false;
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
createMessage.error('验证出错' + error);
|
||||
result = true;
|
||||
});
|
||||
} else {
|
||||
// 新增
|
||||
let query: any = {
|
||||
tableName: 'form_module',
|
||||
keyName: 'Id',
|
||||
filedsJson: JSON.stringify(filedsJson),
|
||||
};
|
||||
await Get_Get_ExistFiled(query)
|
||||
.then((res) => {
|
||||
if (res) {
|
||||
result = true;
|
||||
} else {
|
||||
result = false;
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
createMessage.error('验证出错' + error);
|
||||
result = false;
|
||||
});
|
||||
}
|
||||
return result;
|
||||
} catch (error) {
|
||||
('验证出错');
|
||||
}
|
||||
}
|
||||
|
||||
defineExpose({
|
||||
formData,
|
||||
});
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@
|
|||
getOutKeyList,
|
||||
} from '@/api/formdesign/index';
|
||||
import { functionGetForm } from '@/api/demo/formScheme';
|
||||
import { cardNestStructure, changeCardStructure } from '@/views/demo/onlineform/util.ts'
|
||||
|
||||
defineOptions({ name: 'FormModal' });
|
||||
|
||||
|
|
@ -118,66 +119,6 @@
|
|||
}
|
||||
return arr;
|
||||
}
|
||||
const changeCardStructure = (data) => {
|
||||
let result = [];
|
||||
if (data && data.length > 0) {
|
||||
data.forEach((item) => {
|
||||
if (item.component === 'Tabs') {
|
||||
item.componentProps.options = changeCardStructure(item.componentProps.options);
|
||||
} else if (item.component === 'CardGroup') {
|
||||
item.componentProps.options = changeCardStructure(item.componentProps.options);
|
||||
item.componentProps.options.forEach((childItem) => {
|
||||
if (childItem.pfield) {
|
||||
result.push(childItem);
|
||||
} else {
|
||||
result.push({ ...childItem, ptype: 'card', pfield: item.field });
|
||||
}
|
||||
});
|
||||
item.componentProps.options = [];
|
||||
} else if (item.component === 'Grid' && item.label === '栅格布局') {
|
||||
item.columns = changeCardStructure(item.columns);
|
||||
item.columns.forEach((childItem) => {
|
||||
childItem.children.forEach((col) => {
|
||||
result.push({ ...col, ptype: 'gridlayout', pfield: item.field });
|
||||
});
|
||||
});
|
||||
} else if (item.children && !item.field) {
|
||||
item.children = changeCardStructure(item.children);
|
||||
} else if (item.children && item.field.indexOf('use_card') === -1) {
|
||||
item.children = changeCardStructure(item.children);
|
||||
item.children = [];
|
||||
} else {
|
||||
if (['Card'].includes(item.component)) {
|
||||
item.columns[0].children = changeCardStructure(item.columns[0].children);
|
||||
if (item.component === 'Card' && item.columns[0].children) {
|
||||
item.columns[0].children.forEach((childItem) => {
|
||||
if (childItem.pfield) {
|
||||
result.push(childItem);
|
||||
} else {
|
||||
result.push({ ...childItem, ptype: 'card', pfield: item.field });
|
||||
}
|
||||
});
|
||||
item.columns[0].children = [];
|
||||
}
|
||||
} else if (item.field && item.field.indexOf('use_card') !== -1) {
|
||||
item.children = changeCardStructure(item.children);
|
||||
item.children.forEach((childItem) => {
|
||||
if (childItem.pfield) {
|
||||
result.push(childItem);
|
||||
} else {
|
||||
result.push({ ...childItem, ptype: 'card', pfield: item.field });
|
||||
}
|
||||
});
|
||||
item.children = [];
|
||||
}
|
||||
}
|
||||
result.push(item);
|
||||
});
|
||||
return result;
|
||||
} else {
|
||||
return data;
|
||||
}
|
||||
};
|
||||
async function designSendGrandson(value) {
|
||||
let designTab = JSON.parse(value);
|
||||
let schems = saveFormDatas.value.scheme.scheme
|
||||
|
|
@ -525,53 +466,6 @@
|
|||
saveFormDatas.value.scheme.type = 1;
|
||||
}
|
||||
}
|
||||
|
||||
const cardNestStructure = (data) => {
|
||||
let childList = {};
|
||||
let result = [];
|
||||
data.forEach((item) => {
|
||||
if (item.schemas) {
|
||||
item.schemas = cardNestStructure(item.schemas);
|
||||
result.push(item);
|
||||
}else if(item.component === 'Tabs'){
|
||||
item.componentProps.options = cardNestStructure(item.componentProps.options);
|
||||
result.push(item);
|
||||
}else if(!item.ptype && Object.keys(item).includes('children')){
|
||||
item.children = cardNestStructure(item.children)
|
||||
result.push(item);
|
||||
} else if (item.ptype) {
|
||||
if (Object.keys(item).includes('children')) {
|
||||
item.children = childList[item.field] || [];
|
||||
}
|
||||
if (item.component === 'CardGroup' && Object.keys(item).includes('componentProps')) {
|
||||
item.componentProps.options = childList[item.field] || [];
|
||||
}
|
||||
let pushItem = {};
|
||||
Object.keys(item).forEach((key) => {
|
||||
if (key !== 'ptype' && key !== 'pfield') {
|
||||
pushItem[key] = item[key];
|
||||
}
|
||||
});
|
||||
if (childList[item.pfield]) {
|
||||
childList[item.pfield].push(pushItem);
|
||||
} else {
|
||||
childList[item.pfield] = [pushItem];
|
||||
}
|
||||
} else if (item.component === 'CardGroup') {
|
||||
item.componentProps.options = childList[item.field] || [];
|
||||
result.push(item);
|
||||
} else if (item.component === 'Card') {
|
||||
item.columns[0].children = childList[item.field] || [];
|
||||
result.push(item);
|
||||
} else if (item.field &&item.field.indexOf('use_card') !== -1) {
|
||||
item.children = childList[item.field] || [];
|
||||
result.push(item);
|
||||
} else {
|
||||
result.push(item);
|
||||
}
|
||||
});
|
||||
return result;
|
||||
};
|
||||
// 自动建表返回后,保存数据
|
||||
function automaticFormDataBack(data) {
|
||||
if (isStageClick.value && stepsCurrent.value === 0) {
|
||||
|
|
|
|||
|
|
@ -9,12 +9,12 @@
|
|||
:showCancelBtn="true"
|
||||
:showOkBtn="true"
|
||||
@ok="submit"
|
||||
@cancel="closeModal()"
|
||||
@cancel="closeModalDeleteGrid"
|
||||
@visible-change="
|
||||
() => {
|
||||
db_list.value = [];
|
||||
chlidTableName = '';
|
||||
closeModal();
|
||||
isCloseSubmit.value = false;
|
||||
}
|
||||
"
|
||||
>
|
||||
|
|
@ -381,6 +381,10 @@
|
|||
else if (item.component == 'Card') {
|
||||
// 卡片布局的组件会自动进入主组件表内
|
||||
}
|
||||
// 栅格布局
|
||||
else if (item.component == 'Grid') {
|
||||
// 栅格布局的组件会进入主组件表内
|
||||
}
|
||||
} else {
|
||||
// 普通组件
|
||||
let temp = cloneDeep(dbColumnInfo);
|
||||
|
|
@ -401,7 +405,16 @@
|
|||
item.componentProps.dataTable = db_temp.tableName;
|
||||
item.componentProps.fieldName = temp.dbColumnName;
|
||||
|
||||
db_temp.dbColumnInfoList.push(temp);
|
||||
// 主表不添加重复的普通组件(编辑情况下的栅格)
|
||||
let gridFlag = true;
|
||||
db_temp.dbColumnInfoList.forEach((dbColumn) => {
|
||||
if (dbColumn.dbColumnName == temp.dbColumnName) {
|
||||
gridFlag = false;
|
||||
}
|
||||
});
|
||||
if (gridFlag) {
|
||||
db_temp.dbColumnInfoList.push(temp);
|
||||
}
|
||||
}
|
||||
}
|
||||
schemas[index] = item;
|
||||
|
|
@ -413,7 +426,16 @@
|
|||
}
|
||||
});
|
||||
if (gridType == 'main') {
|
||||
db_list.value.unshift(db_temp);
|
||||
// 筛掉重复项
|
||||
let dbFlag = true;
|
||||
db_list.value.forEach((db) => {
|
||||
if (db.tableName == db_temp.tableName) {
|
||||
dbFlag = false;
|
||||
}
|
||||
});
|
||||
if (dbFlag) {
|
||||
db_list.value.unshift(db_temp);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -677,7 +699,16 @@
|
|||
}
|
||||
});
|
||||
if (gridType == 'chlid') {
|
||||
db_list.value.push(db_temp);
|
||||
// 筛掉重复项
|
||||
let dbFlag = true;
|
||||
db_list.value.forEach((db) => {
|
||||
if (db.tableName == db_temp.tableName) {
|
||||
dbFlag = false;
|
||||
}
|
||||
});
|
||||
if (dbFlag) {
|
||||
db_list.value.push(db_temp);
|
||||
}
|
||||
}
|
||||
}
|
||||
return scheme;
|
||||
|
|
@ -745,6 +776,7 @@
|
|||
}
|
||||
});
|
||||
}
|
||||
// 把弹窗的信息写入saveFormDatas
|
||||
getFromAndTable();
|
||||
}
|
||||
|
||||
|
|
@ -790,6 +822,8 @@
|
|||
saveFormDatas.scheme.scheme = JSON.stringify(schems);
|
||||
}
|
||||
|
||||
// submit提交关闭的
|
||||
const isCloseSubmit = ref(false);
|
||||
// 把弹窗的信息写入saveFormDatas
|
||||
function getFromAndTable() {
|
||||
let schems = JSON.parse(saveFormDatas.scheme.scheme);
|
||||
|
|
@ -802,7 +836,8 @@
|
|||
});
|
||||
saveFormDatas.scheme.scheme = JSON.stringify(schems);
|
||||
emit('automatic-modal-submitsuccess', saveFormDatas);
|
||||
closeModal();
|
||||
isCloseSubmit.value = true;
|
||||
closeModalDeleteGrid();
|
||||
}
|
||||
|
||||
// 表名变化后修改表单里的表名
|
||||
|
|
@ -816,6 +851,32 @@
|
|||
});
|
||||
}
|
||||
|
||||
// 非提交关闭窗口时,栅格布局清除取出来的表单组件删除掉
|
||||
function closeModalDeleteGrid() {
|
||||
// 非提交
|
||||
if (!isCloseSubmit.value) {
|
||||
let scheme_close = JSON.parse(saveFormDatas.scheme.scheme);
|
||||
let tabList_close = scheme_close.formInfo.tabList;
|
||||
// tabList遍历
|
||||
tabList_close.forEach((list, list_index) => {
|
||||
let schemas_temp: any = [];
|
||||
let schemas_close = list.schemas;
|
||||
// schemas遍历
|
||||
schemas_close.forEach((sch) => {
|
||||
if (!sch.ptype || sch.ptype != 'gridlayout') {
|
||||
// schemas添加
|
||||
schemas_temp.push(sch);
|
||||
}
|
||||
});
|
||||
tabList_close[list_index].schemas = schemas_temp;
|
||||
});
|
||||
// scheme赋值
|
||||
scheme_close.formInfo.tabList = tabList_close;
|
||||
saveFormDatas.scheme.scheme = JSON.stringify(scheme_close);
|
||||
}
|
||||
closeModal();
|
||||
}
|
||||
|
||||
// 数据格式(默认varchar)变化后修改字段长度
|
||||
function isBoolChangeLength(record: Recordable) {
|
||||
if (record.dataType == 'bool') {
|
||||
|
|
|
|||
|
|
@ -5,12 +5,6 @@ export const cardNestStructure = (data) => {
|
|||
if(item.schemas){
|
||||
item.schemas = cardNestStructure(item.schemas)
|
||||
result.push(item)
|
||||
}else if(item.component === 'Tabs'){
|
||||
item.componentProps.options = cardNestStructure(item.componentProps.options);
|
||||
result.push(item);
|
||||
}else if(!item.ptype && Object.keys(item).includes('children')){
|
||||
item.children = cardNestStructure(item.children)
|
||||
result.push(item);
|
||||
}else if(item.ptype){
|
||||
if(Object.keys(item).includes('children')){
|
||||
item.children = childList[item.field] || []
|
||||
|
|
|
|||
|
|
@ -95,6 +95,8 @@
|
|||
unref(asyncBtnExpandTreeRef)?.expandAll(true);
|
||||
});
|
||||
}
|
||||
let moduleIds = ref([]);
|
||||
let elementIds = ref([]);
|
||||
async function getMenusForRol(id) {
|
||||
var menusForRol = await loadForRole({
|
||||
roleId: id,
|
||||
|
|
@ -107,9 +109,11 @@
|
|||
unref(asyncExpandTreeRef)?.setCheckedKeys(menusForRol.moduleIds);
|
||||
checkData.moduleIds = menusForRol.moduleIds;
|
||||
checkData.elementIds = menusForRol.elementIds;
|
||||
unref(asyncBtnExpandTreeRef)?.setCheckedKeys(checkData.elementIds);
|
||||
moduleIds.value = menusForRol.moduleIds;
|
||||
elementIds.value = menusForRol.elementIds;
|
||||
}
|
||||
let moduleIds = ref([]);
|
||||
let elementIds = ref([]);
|
||||
|
||||
function handleSelect(checkedKeys, e: { checked: boolean; checkedNodes; node; event }) {
|
||||
const list = e.checkedNodes;
|
||||
moduleIds.value = [];
|
||||
|
|
@ -143,6 +147,9 @@
|
|||
try {
|
||||
if (step.value == 1) {
|
||||
step.value = 2;
|
||||
setTimeout(() => {
|
||||
unref(asyncBtnExpandTreeRef)?.setCheckedKeys(checkData.elementIds);
|
||||
}, 10);
|
||||
} else {
|
||||
var query = {
|
||||
roleId: rowId.value,
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
>关闭
|
||||
</a-button>
|
||||
</div>
|
||||
<a-tabs v-model:activeKey="activeName" @change="changeActive">
|
||||
<a-tabs v-model:activeKey="activeName" @change="changeActive" type="card">
|
||||
<a-tab-pane
|
||||
key="form"
|
||||
:tab="
|
||||
|
|
|
|||
|
|
@ -6,13 +6,6 @@ export const getRFields = (dataList, rFieldList,fieldList) => {
|
|||
// value:element.prop
|
||||
value: element.field,
|
||||
});
|
||||
}
|
||||
if(element.component === 'Tabs'){
|
||||
element.componentProps.options.forEach(childElement => {
|
||||
const {rFieldList:rField, fieldList:field} = getRFields(childElement.children,rFieldList,fieldList)
|
||||
rFieldList = rField
|
||||
fieldList = field
|
||||
})
|
||||
}else if (
|
||||
![
|
||||
'Divider',
|
||||
|
|
|
|||
|
|
@ -12,7 +12,15 @@
|
|||
<a-layout>
|
||||
<a-layout-content>
|
||||
<a-tabs v-model:activeKey="activeName" @change="changeActive" type="card">
|
||||
<a-tab-pane key="form" tab="表单信息" v-if="formVisble">
|
||||
<a-tab-pane
|
||||
key="form"
|
||||
:tab="
|
||||
designerData.formCurrentNode.formTitle
|
||||
? designerData.formCurrentNode.formTitle
|
||||
: '表单信息'
|
||||
"
|
||||
v-if="formVisble"
|
||||
>
|
||||
<div :class="mapConfig?.isShowMap ? 'form-container' : ''">
|
||||
<FormViewer
|
||||
ref="formBoxRef"
|
||||
|
|
|
|||
Loading…
Reference in New Issue