|
|
@ -37,7 +37,7 @@ const props = withDefaults( |
|
|
} |
|
|
} |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
let emits = defineEmits(['optionsValue3Get2']); |
|
|
let emits = defineEmits(['optionsValue3Get2','asfValueChanged']); |
|
|
|
|
|
|
|
|
const store = useDesignFormStore() as any //自定义表单存储器 |
|
|
const store = useDesignFormStore() as any //自定义表单存储器 |
|
|
const formProps = inject(constFormProps, {}) as any |
|
|
const formProps = inject(constFormProps, {}) as any |
|
|
@ -372,11 +372,132 @@ onUnmounted(() => { |
|
|
store.setActiveKey('') |
|
|
store.setActiveKey('') |
|
|
store.setControlAttr({}) |
|
|
store.setControlAttr({}) |
|
|
}) |
|
|
}) |
|
|
|
|
|
const asfs: any[] = [] |
|
|
onMounted(()=>{ |
|
|
onMounted(()=>{ |
|
|
// console.log('非设计模式才触发事件',props.nodeKey,"---------------->",props.purview) |
|
|
// console.log('非设计模式才触发事件',props.nodeKey,"---------------->",props.purview) |
|
|
// console.log('formGroup onMounted',props.data,dataList.value,props.tableinfo) |
|
|
// console.log('formGroup onMounted',props.data,dataList.value,props.tableinfo) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setTimeout(()=>{ |
|
|
|
|
|
if(dataList&&Array.isArray(dataList.value)&&dataList.value.length>0){ |
|
|
|
|
|
for(let i = 0;i<dataList.value.length;i++){ |
|
|
|
|
|
if(dataList.value[i].type=="associatedForms"){ |
|
|
|
|
|
asfs.push(dataList.value[i]) |
|
|
|
|
|
}else if(dataList.value[i].type=="card"||dataList.value[i].type=="flex"||dataList.value[i].type=="div"||dataList.value[i].type=="table"){ |
|
|
|
|
|
|
|
|
|
|
|
dataList.value[i].list.forEach((element:any) => { |
|
|
|
|
|
if(element.type=="associatedForms"){ |
|
|
|
|
|
asfs.push(element) |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
}else if(dataList.value[i].type=="grid"){ |
|
|
|
|
|
let columns = JSON.parse(JSON.stringify(dataList.value[i].columns)); |
|
|
|
|
|
//console.log(columns) |
|
|
|
|
|
if(columns.length>0){ |
|
|
|
|
|
for(let z = 0;z<columns.length;z++){ |
|
|
|
|
|
for(let x = 0; x<columns[z].list.length;x++){ |
|
|
|
|
|
let a = JSON.parse(JSON.stringify(columns[z].list[x])); |
|
|
|
|
|
//console.log(a) |
|
|
|
|
|
if(a.type=="associatedForms"){ |
|
|
|
|
|
asfs.push(a) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
}else if(dataList.value[i].type=="tabs"){//tabs标签页有可能再嵌套一层flex或者table |
|
|
|
|
|
let columns = JSON.parse(JSON.stringify(dataList.value[i].columns)); |
|
|
|
|
|
if(columns.length>0){ |
|
|
|
|
|
for(let z = 0;z<columns.length;z++){ |
|
|
|
|
|
for(let x = 0; x<columns[z].list.length;x++){ |
|
|
|
|
|
let a = JSON.parse(JSON.stringify(columns[z].list[x])); |
|
|
|
|
|
//console.log(a) |
|
|
|
|
|
if(a.type=="associatedForms"){ |
|
|
|
|
|
asfs.push(a) |
|
|
|
|
|
}else if(a.type=="flex"||a.type=="table"){ |
|
|
|
|
|
if(a.list.length>0){ |
|
|
|
|
|
for(let m = 0;m<a.list.length;m++){ |
|
|
|
|
|
let q = JSON.parse(JSON.stringify(a.list[m])) |
|
|
|
|
|
//console.log(q) |
|
|
|
|
|
if(q.type=="associatedForms"){ |
|
|
|
|
|
asfs.push(q) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
/* if(asfs.length>0){ |
|
|
|
|
|
//console.log(asfs) |
|
|
|
|
|
} */ |
|
|
|
|
|
} |
|
|
|
|
|
},500) |
|
|
|
|
|
}) |
|
|
|
|
|
function getNewObject(obj:any, arr:any) { |
|
|
|
|
|
//console.log(obj) |
|
|
|
|
|
//console.log(arr) |
|
|
|
|
|
let key = arr[0]; |
|
|
|
|
|
let newKey = arr[1]; |
|
|
|
|
|
if (obj[key]) { |
|
|
|
|
|
return { [newKey]: obj[key] }; |
|
|
|
|
|
} |
|
|
|
|
|
return {}; |
|
|
|
|
|
} |
|
|
|
|
|
function asfValueChanged(val:any){ |
|
|
|
|
|
|
|
|
|
|
|
/* console.log("asfValueChanged",val) |
|
|
|
|
|
console.log(val.currentVal) |
|
|
|
|
|
console.log(val.fillFieldsMaster) |
|
|
|
|
|
console.log(val.fillFieldsChild) */ |
|
|
|
|
|
let fillFieldsMaster = "" |
|
|
|
|
|
let masterFillRoleFieldsArray1: any[] = []; |
|
|
|
|
|
|
|
|
|
|
|
if(val.fillFieldsMaster.length>0){ |
|
|
|
|
|
fillFieldsMaster = val.fillFieldsMaster.substring(0, val.fillFieldsMaster.length - 1); |
|
|
|
|
|
let masterFillRoleFieldsArray = fillFieldsMaster.split(";"); |
|
|
|
|
|
//console.log(masterFillRoleFieldsArray) |
|
|
|
|
|
masterFillRoleFieldsArray.forEach((item:any)=>{ |
|
|
|
|
|
let itemArray = item.split("_"); |
|
|
|
|
|
itemArray.splice(0, 1); |
|
|
|
|
|
|
|
|
|
|
|
itemArray = itemArray.map((item1:any) => item1.split(':').pop()); |
|
|
|
|
|
//console.log(itemArray) |
|
|
|
|
|
masterFillRoleFieldsArray1.push(itemArray) |
|
|
|
|
|
|
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
//emits("asfValueChanged",val) |
|
|
|
|
|
if(val.options.length>0){ |
|
|
|
|
|
//console.log(val.options) |
|
|
|
|
|
if(val.options[0].fillRolesFieldsMap){ |
|
|
|
|
|
val.options.forEach((item:any)=>{ |
|
|
|
|
|
if(item.fillRolesFieldsMap.value == val.currentVal){ |
|
|
|
|
|
//console.log(item.fillRolesFieldsMap) |
|
|
|
|
|
if(masterFillRoleFieldsArray1.length>0){ |
|
|
|
|
|
masterFillRoleFieldsArray1.forEach((item1:any)=>{ |
|
|
|
|
|
let x = convertObjectToArray(getNewObject(item.fillRolesFieldsMap,item1)) |
|
|
|
|
|
formProps.value.model[x[0]] = x[1] |
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
function convertObjectToArray(obj:any) { |
|
|
|
|
|
for (let key in obj) { |
|
|
|
|
|
return [key, obj[key]]; |
|
|
|
|
|
} |
|
|
|
|
|
return []; |
|
|
|
|
|
} |
|
|
const getFormItemLableStyle = (ele: any) => { |
|
|
const getFormItemLableStyle = (ele: any) => { |
|
|
if(ele?.labelStyle){ |
|
|
if(ele?.labelStyle){ |
|
|
// console.log("返回栅格宽度3",AnalysisCss(ele)) |
|
|
// console.log("返回栅格宽度3",AnalysisCss(ele)) |
|
|
@ -387,10 +508,11 @@ const getFormItemLableStyle = (ele: any) => { |
|
|
function optionsValue3Get1(data: any,fieldName: string){ |
|
|
function optionsValue3Get1(data: any,fieldName: string){ |
|
|
emits('optionsValue3Get2',data,fieldName) |
|
|
emits('optionsValue3Get2',data,fieldName) |
|
|
} |
|
|
} |
|
|
|
|
|
/* |
|
|
|
|
|
|
|
|
|
|
|
*/ |
|
|
</script> |
|
|
</script> |
|
|
<template> |
|
|
<template> |
|
|
|
|
|
|
|
|
<draggable |
|
|
<draggable |
|
|
itemKey="id" |
|
|
itemKey="id" |
|
|
:list="dataList" |
|
|
:list="dataList" |
|
|
@ -591,7 +713,7 @@ function optionsValue3Get1(data: any,fieldName: string){ |
|
|
<UrlLink v-else-if="element.type === 'urllink' && type != 4" :data="element" /> |
|
|
<UrlLink v-else-if="element.type === 'urllink' && type != 4" :data="element" /> |
|
|
<SerialNumber v-else-if="element.type === 'serialNumber' && type != 4" :data="element" :tablekey="props.tableinfo" :numrun="props.numrun" /> --> |
|
|
<SerialNumber v-else-if="element.type === 'serialNumber' && type != 4" :data="element" :tablekey="props.tableinfo" :numrun="props.numrun" /> --> |
|
|
<!--其他组件--> |
|
|
<!--其他组件--> |
|
|
<FormItem v-else :data="element" @optionsValue3Get1="optionsValue3Get1" :purview="props.purview" :node-key="props.nodeKey" :tablekey="props.tableinfo" :numrun="props.numrun" /> |
|
|
<FormItem v-else :data="element" @optionsValue3Get1="optionsValue3Get1" :purview="props.purview" :node-key="props.nodeKey" :tablekey="props.tableinfo" :numrun="props.numrun" @asf-value-changed="asfValueChanged" /> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--组件设计外功能框架--> |
|
|
<!--组件设计外功能框架--> |
|
|
|