|
|
|
@ -4,15 +4,11 @@ |
|
|
|
@ 备注: |
|
|
|
--> |
|
|
|
<template> |
|
|
|
<el-form-item |
|
|
|
v-bind="data.item" |
|
|
|
:prop="tProp || data.name" |
|
|
|
:class="config.className" |
|
|
|
:rules="itemRules as any" |
|
|
|
:label="getLabel(data.item as FormItem)" |
|
|
|
> |
|
|
|
<input v-model="value" type="hidden" > |
|
|
|
<AssociatedForms :data="props.data" :form-props="formProps" :tablekey="props.tablekey" @value-changed="valueChanged"></AssociatedForms> |
|
|
|
<el-form-item v-bind="data.item" :prop="tProp || data.name" :class="config.className" :rules="itemRules as any" |
|
|
|
:label="getLabel(data.item as FormItem)"> |
|
|
|
<input v-model="value" type="hidden"> |
|
|
|
<AssociatedForms :data="props.data" :form-props="formProps" :tablekey="props.tablekey" |
|
|
|
:row-index="props.rowIndex" @value-changed="valueChanged" @value-changed-table="valueChangedTable"></AssociatedForms> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
|
|
@ -29,6 +25,7 @@ const props = withDefaults( |
|
|
|
defineProps<{ |
|
|
|
data: FormList |
|
|
|
tablekey: any |
|
|
|
rowIndex: any |
|
|
|
numrun?: number |
|
|
|
modelValue?: any // 子表和弹性布局时时有传 |
|
|
|
tProp?: string // 子表时的form-item的prop值,用于子表校验用 |
|
|
|
@ -68,10 +65,10 @@ const value = computed({ |
|
|
|
} |
|
|
|
}) |
|
|
|
const updateModel = (val: any) => { |
|
|
|
console.log("dfsasdfasdf") |
|
|
|
//console.log("dfsasdfasdf") |
|
|
|
let controlAttribute = "" |
|
|
|
if(props.data.control){ |
|
|
|
if(props.data.control.type){ |
|
|
|
if (props.data.control) { |
|
|
|
if (props.data.control.type) { |
|
|
|
controlAttribute = props.data.control.type |
|
|
|
} |
|
|
|
} |
|
|
|
@ -158,11 +155,52 @@ const formatCustomRules = () => { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const valueChanged = (val:any) =>{ |
|
|
|
//console.log("关联表单选择--->",val) |
|
|
|
const valueChanged = (val: any) => { |
|
|
|
//console.log("关联表单选择--->", val) |
|
|
|
|
|
|
|
value.value = val.currentVal |
|
|
|
emits("asfValueChanged",val) |
|
|
|
emits("asfValueChanged", val) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const valueChangedTable = (val: any) => { |
|
|
|
//console.log("关联表单选择table--->", val) |
|
|
|
|
|
|
|
|
|
|
|
emits("asfValueChanged", val) |
|
|
|
|
|
|
|
|
|
|
|
//确定哪个或哪些表单是被放置在子表中的 |
|
|
|
//valueTest.value = formProps.model |
|
|
|
//console.log(formProps.value.model) |
|
|
|
for (let key in formProps.value.model) { |
|
|
|
if (key.startsWith("table")) { |
|
|
|
if (Array.isArray(formProps.value.model[key])) { |
|
|
|
if (formProps.value.model[key].length > 0) { |
|
|
|
for (let key1 in formProps.value.model[key][0]) { |
|
|
|
|
|
|
|
if (key1 == props.data.name) { |
|
|
|
/* console.log(key1) |
|
|
|
//当前关联表单在子表的第几行 |
|
|
|
console.log(props.rowIndex) |
|
|
|
//当值变化时 |
|
|
|
console.log(formProps.value.model[key][props.rowIndex][key1]) |
|
|
|
console.log(val.currentVal) */ |
|
|
|
formProps.value.model[key][props.rowIndex][key1] = val.currentVal |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
@ -170,12 +208,13 @@ const valueChanged = (val:any) =>{ |
|
|
|
|
|
|
|
</script> |
|
|
|
<style lang='scss' scoped> |
|
|
|
.imgbox{ |
|
|
|
.imgbox { |
|
|
|
padding: 0 5px; |
|
|
|
max-width: 300px; |
|
|
|
max-height: 200px; |
|
|
|
width: 100%; |
|
|
|
height: 200px; |
|
|
|
|
|
|
|
.image-slot { |
|
|
|
display: flex; |
|
|
|
justify-content: center; |
|
|
|
|