Browse Source

优化

master
陈裕财 2 years ago
parent
commit
1510ec5451
  1. 2
      src/components/mdp-ui/mdp-select/Index.vue
  2. 2
      src/components/mdp-ui/mixin/MdpSelectMixin.js
  3. 8
      src/views/mdp/form/formField/Field.vue
  4. 14
      src/views/mdp/form/formField/Index.vue

2
src/components/mdp-ui/mdp-select/Index.vue

@ -25,7 +25,7 @@
</span> </span>
<span v-else-if="showType=='checkbox' && multiple==true"> <span v-else-if="showType=='checkbox' && multiple==true">
<el-checkbox-group :size="size" v-model="myVal" @change="onChange" @focus="$emit('focus',$event)" @blur="$emit('blur',$event)" @clear="$emit('blur',$event)" @click="$emit('click',$event)"> <el-checkbox-group :size="size" v-model="myVal" @change="onChange" @focus="$emit('focus',$event)" @blur="$emit('blur',$event)" @clear="$emit('blur',$event)" @click="$emit('click',$event)">
<el-checkbox v-for="(option,index) in optionsCpd" :label="option.id" :key="index">{{ option.name }}</el-checkbox >
<el-checkbox v-for="(option,index) in optionsCpd" :label="option.id" :key="index" :disabled="disabled">{{ option.name }}</el-checkbox >
</el-checkbox-group> </el-checkbox-group>
</span> </span>
<span v-else-if="showType=='checkbox' && multiple==false"> <span v-else-if="showType=='checkbox' && multiple==false">

2
src/components/mdp-ui/mixin/MdpSelectMixin.js

@ -132,7 +132,7 @@ export const MdpSelectMixin = {
data(){ data(){
return { return {
defaultColors:util.getDefaultColors(), defaultColors:util.getDefaultColors(),
myVal:null,
myVal:[],
item:{ item:{
itemType:'4', itemType:'4',
options:[] options:[]

8
src/views/mdp/form/formField/Field.vue

@ -1,13 +1,13 @@
<template> <template>
<section @click="select=!select" @click.alt="showPopover=(sample==true?false:!showPopover)" :class="{'form-field':true,'select':showPopover}">
<section @click="select=!select" @click.alt.stop="showPopover=(sample==true?false:!showPopover)" :class="{'form-field':true,'select':showPopover}">
<el-row v-if="field.extFieldType=='row'" slot="reference" :gutter="gutter"> <el-row v-if="field.extFieldType=='row'" slot="reference" :gutter="gutter">
<template v-if="sample==true"> <template v-if="sample==true">
<el-col @click.ctrl.native="doChildDelete(child,idx,field.children)" v-for="child,idx in field.children" :key="idx" :span="calcSpan(child,field)">
<el-col @click.ctrl.native.stop="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> <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> </el-col>
</template> </template>
<draggable v-else-if="field.children && field.children.length>0" v-model="field.children" :options="{group:{ name:'g1', pull:'clone'}, animation:150}"> <draggable v-else-if="field.children && field.children.length>0" v-model="field.children" :options="{group:{ name:'g1', pull:'clone'}, animation:150}">
<el-col @click.ctrl.native="doChildDelete(child,idx,field.children)" v-for="child,idx in field.children" :key="idx" :span="calcSpan(child,field)">
<el-col @click.ctrl.native.stop="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> <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> </el-col>
</draggable> </draggable>
@ -25,7 +25,7 @@
<mdp-select-tag v-else-if=" field.extFieldType=='tag'" :show-style="field.showStyle" :disabled="field.qx=='r'" :multiple="field.isMultiple=='1'" v-model="showData[field.fieldIdCamel]" :label="field.fieldTitle" :placeholder="field.placeholder" split=","> <mdp-select-tag v-else-if=" field.extFieldType=='tag'" :show-style="field.showStyle" :disabled="field.qx=='r'" :multiple="field.isMultiple=='1'" v-model="showData[field.fieldIdCamel]" :label="field.fieldTitle" :placeholder="field.placeholder" split=",">
</mdp-select-tag> </mdp-select-tag>
<!--下拉框--> <!--下拉框-->
<mdp-select v-else-if=" ['select','radio','checkbox'].some(k=>k==field.fieldType)" :show-style="field.showStyle" :plus-options="field.plusOptions" :disabled="field.qx=='r'" :show-type="field.fieldType" :item-code="field.dictCode" :multiple="field.isMultiple=='1'" v-model="showData[field.fieldIdCamel]" :label="field.fieldTitle" :placeholder="field.placeholder" split=",">
<mdp-select v-else-if=" ['select','radio','checkbox'].some(k=>k==field.fieldType)" :show-style="field.showStyle" :plus-options="sample?field.plusOptions:[]" :disabled="field.qx=='r'" :show-type="field.fieldType" :item-code="field.dictCode" :multiple="field.isMultiple=='1'" v-model="showData[field.fieldIdCamel]" :label="field.fieldTitle" :placeholder="field.placeholder" split=",">
</mdp-select> </mdp-select>
<!--html--> <!--html-->
<el-popover v-else-if=" field.extFieldType=='html'" <el-popover v-else-if=" field.extFieldType=='html'"

14
src/views/mdp/form/formField/Index.vue

@ -50,7 +50,7 @@
</el-row> </el-row>
</el-form-item> </el-form-item>
<el-row> <el-row>
<draggable id="af" class="dragArea" :options="{group:{ name:'g1', pull:'clone'}, animation:150}" v-model="sampleFields" :move="onMove">
<draggable id="af" class="dragArea" @start="onTplStart" :options="{group:{ name:'g1', pull:'clone'}, animation:150}" v-model="sampleFields" :move="onMove">
<el-col v-for="(item,index) in sampleFields" :key="index" :span="calcSpan(item)"> <el-col v-for="(item,index) in sampleFields" :key="index" :span="calcSpan(item)">
<mdp-field :gutter="0" :span="24" :value="item" :sample="true"></mdp-field> <mdp-field :gutter="0" :span="24" :value="item" :sample="true"></mdp-field>
@ -339,7 +339,19 @@ export default {
} }
}); });
}, },
onTplStart(evt){
var item=evt.item
var item2=JSON.parse(JSON.stringify(item))
var noSelectFieldId=this.fieldIds.find(i=>{
return !this.selectedFields.some(k=>k.id==i.id && k.isNewAdd!='1');
})
item2.id=noSelectFieldId.id
item2.fieldId=noSelectFieldId.fieldId
item2.fieldIdCamel=noSelectFieldId.fieldIdCamel
item=item2
},
add(evt){ add(evt){
debugger;
let item=this.selectedFields[evt.newIndex]; let item=this.selectedFields[evt.newIndex];
item.isNewAdd='1' item.isNewAdd='1'
var item2=JSON.parse(JSON.stringify(item)) var item2=JSON.parse(JSON.stringify(item))

Loading…
Cancel
Save