|
|
|
@ -1,18 +1,18 @@ |
|
|
|
<template> |
|
|
|
<section @click="showPopover=(sample==true?false:!showPopover)"> |
|
|
|
<el-row v-if="field.extFieldType=='row'" class="form-field" slot="reference" :gutter="gutter"> |
|
|
|
<section @click="select=!select" @click.alt="showPopover=(sample==true?false:!showPopover)" :class="{'form-field':true,'select':showPopover}"> |
|
|
|
<el-row v-if="field.extFieldType=='row'" slot="reference" :gutter="gutter"> |
|
|
|
<template v-if="sample==true"> |
|
|
|
<el-col v-for="child,idx in field.children" :key="idx" :span="calcSpan(child,field)"> |
|
|
|
<mdp-field :parent-field="field" :gutter="gutter" :span="span" v-if="child" :value="child" @change="(v)=>onChildChange(child,v)" @delete="doChildDelete(child,idx,field.children)" :sample="sample"></mdp-field> |
|
|
|
<el-col @click.ctrl.native="doChildDelete(child,idx,field.children)" v-for="child,idx in field.children" :key="idx" :span="calcSpan(child,field)"> |
|
|
|
<mdp-field :parent-field="field" :gutter="gutter" :span="span" v-if="child" :value="child" @change="(v)=>onChildChange(child,v)" @delete="onChildDelete" :sample="sample"></mdp-field> |
|
|
|
</el-col> |
|
|
|
</template> |
|
|
|
<draggable v-else-if="field.children && field.children.length>0" v-model="field.children" :options="{group:{ name:'g1', pull:'clone'}, animation:150}"> |
|
|
|
<el-col v-for="child,idx in field.children" :key="idx" :span="calcSpan(child,field)"> |
|
|
|
<mdp-field :parent-field="field" :gutter="gutter" :span="span" v-if="child" :value="child" @change="(v)=>onChildChange(child,v)" @delete="doChildDelete(child,idx,field.children)"></mdp-field> |
|
|
|
<el-col @click.ctrl.native="doChildDelete(child,idx,field.children)" v-for="child,idx in field.children" :key="idx" :span="calcSpan(child,field)"> |
|
|
|
<mdp-field :parent-field="field" :gutter="gutter" :span="span" v-if="child" :value="child" @change="(v)=>onChildChange(child,v)" @delete="onChildDelete"></mdp-field> |
|
|
|
</el-col> |
|
|
|
</draggable> |
|
|
|
</el-row> |
|
|
|
<el-form-item slot="reference" v-else class="form-field" :label="field.fieldTitle" :prop="field.fieldIdCamel" :rules="[{ required: field.isRequired=='1', message: '该项必填', trigger: 'change' }]"> |
|
|
|
<el-form-item slot="reference" v-else :label="field.fieldTitle" :prop="field.fieldIdCamel" :rules="[{ required: field.isRequired=='1', message: '该项必填', trigger: 'change' }]"> |
|
|
|
<div v-if="field.qx=='nr'"></div> |
|
|
|
|
|
|
|
<!--用户--> |
|
|
|
@ -179,6 +179,7 @@ |
|
|
|
list: [{id:'0',name:'选项0'},{id:'1',name:'选项1'},{id:'2',name:'选项2'}], |
|
|
|
yesOrNo: [{id:'0',name:'否'},{id:'1',name:'是'}], |
|
|
|
}, |
|
|
|
select:false, |
|
|
|
}//end return |
|
|
|
},//end data |
|
|
|
methods: { |
|
|
|
@ -213,8 +214,12 @@ |
|
|
|
this.$emit('change',this.field) |
|
|
|
this.$emit('change2',this.field) |
|
|
|
}, |
|
|
|
onChildDelete(child,idx,children){ |
|
|
|
this.$emit('delete',child,idx,children) |
|
|
|
}, |
|
|
|
doChildDelete(child,idx,children){ |
|
|
|
children.splice(idx,1) |
|
|
|
this.$emit('delete',child,idx,children) |
|
|
|
}, |
|
|
|
calcSpan(child,parent){ |
|
|
|
|
|
|
|
@ -261,4 +266,7 @@ |
|
|
|
display: inline-block; |
|
|
|
} |
|
|
|
} |
|
|
|
.select { |
|
|
|
border: 1px dashed #0000ff; /* 蓝色虚线边框 */ |
|
|
|
} |
|
|
|
</style> |