Browse Source

优化

master
陈裕财 2 years ago
parent
commit
85eaf9712d
  1. 62
      src/components/mdp-ui-ext/mdp-expand/FormDataItem.vue
  2. 39
      src/views/mdp/form/formField/Field.vue
  3. 2
      src/views/mdp/form/formField/FieldCfg.vue

62
src/components/mdp-ui-ext/mdp-expand/FormDataItem.vue

@ -3,7 +3,7 @@
<el-row>
<el-row v-if="field.extType=='row'" :gutter="gutter">
<el-col v-for="child,idx in field.children" :key="idx" :span="calcSpan(child,field)">
<mdp-form-data-item :field="child" :parent-field="field" :gutter="gutter" :span="span" v-model="editForm" @change="onChildChange" ></mdp-form-data-item>
<mdp-form-data-item :field="child" :parent-field="field" :gutter="gutter" :span="span" v-model="editForm" @change="onChildChange" :style="styleObjCpd"></mdp-form-data-item>
</el-col>
</el-row>
<el-card v-else-if="field.extType=='card'" :gutter="gutter">
@ -12,7 +12,7 @@
</div>
<el-row :gutter="gutter" v-if="field.children && field.children.length>0">
<el-col v-for="child,idx in field.children" :key="idx" :span="calcSpan(child,field)">
<mdp-form-data-item :field="child" :parent-field="field" :gutter="gutter" :span="span" v-model="editForm" @change="onChildChange" ></mdp-form-data-item>
<mdp-form-data-item :field="child" :parent-field="field" :gutter="gutter" :span="span" v-model="editForm" @change="onChildChange" :style="styleObjCpd"></mdp-form-data-item>
</el-col>
</el-row>
</el-card>
@ -20,7 +20,7 @@
<el-tab-pane :label="tab" v-for=" tab,tidx in tabListCpd" :key="tidx" :name="tab">
<el-row :gutter="gutter">
<el-col v-for="child,idx in field.children.filter(c=>c.gname==tab||!c.gname)" :key="idx" :span="calcSpan(child,field)">
<mdp-form-data-item :field="child" :parent-field="field" :gutter="gutter" :span="span" v-model="editForm" @change="onChildChange" ></mdp-form-data-item>
<mdp-form-data-item :field="child" :parent-field="field" :gutter="gutter" :span="span" v-model="editForm" @change="onChildChange" :style="styleObjCpd" ></mdp-form-data-item>
</el-col>
</el-row>
</el-tab-pane>
@ -28,23 +28,23 @@
<el-form-item v-else :label="field.title" :prop="field.idCamel">
<div v-if="field.nr"></div>
<!--用户-->
<mdp-select-user v-else-if=" field.extType=='user'" :show-style="field.showStyle" :disabled="field.ne" :multiple="field.mul=='1'" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" :placeholder="field.hol" split="," @change="onFieldChange">
<mdp-select-user v-else-if=" field.extType=='user'" :show-style="field.showStyle" :disabled="field.ne" :multiple="field.mul=='1'" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" :placeholder="field.hol" split="," @change="onFieldChange" :style="styleObjCpd">
</mdp-select-user>
<!--部门-->
<mdp-selecct-dept v-else-if=" field.extType=='deppt'" :show-style="field.showStyle" :disabled="field.ne" :branch-id="userInfo.branchId" :show-checkbox="field.mul=='1'" :multiple="field.mul=='1'" split="," @change="onFieldChange"></mdp-selecct-dept>
<mdp-selecct-dept v-else-if=" field.extType=='deppt'" :show-style="field.showStyle" :disabled="field.ne" :branch-id="userInfo.branchId" :show-checkbox="field.mul=='1'" :multiple="field.mul=='1'" split="," @change="onFieldChange" :style="styleObjCpd"></mdp-selecct-dept>
<!--标签-->
<mdp-select-tag v-else-if=" field.extType=='tag'" :show-style="field.showStyle" :disabled="field.ne" :multiple="field.mul=='1'" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" :placeholder="field.hol" split="," @change="onFieldChange">
<mdp-select-tag v-else-if=" field.extType=='tag'" :show-style="field.showStyle" :disabled="field.ne" :multiple="field.mul=='1'" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" :placeholder="field.hol" split="," @change="onFieldChange" :style="styleObjCpd">
</mdp-select-tag>
<!--下拉框-->
<mdp-select v-else-if=" ['select','radio','checkbox'].some(k=>k==field.typ)" :show-style="field.showStyle" :disabled="field.ne" :show-type="field.typ" :item-code="field.dict" :multiple="field.mul=='1'" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" :placeholder="field.hol" split="," @change="onFieldChange">
<mdp-select v-else-if=" ['select','radio','checkbox'].some(k=>k==field.typ)" :show-style="field.showStyle" :disabled="field.ne" :show-type="field.typ" :item-code="field.dict" :multiple="field.mul=='1'" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" :placeholder="field.hol" split="," @change="onFieldChange" :style="styleObjCpd">
</mdp-select>
<!--html-->
<el-popover v-else-if=" field.extType=='html'"
placement="top-start"
width="400"
trigger="hover">
<el-input type="textarea" rows="4" v-model="editForm[field.idCamel]" :disabled="field.ne" @change="onFieldChange"></el-input>
<el-input type="textarea" rows="4" v-model="editForm[field.idCamel]" :style="styleObjCpd" :disabled="field.ne" @change="onFieldChange"></el-input>
<div slot="reference" v-html="editForm[field.idCamel]||field.defaultValue||'无'"></div>
</el-popover>
<!--link 链接-->
@ -53,14 +53,14 @@
width="400"
trigger="hover">
<el-input v-model="editForm[field.idCamel]" :disabled="field.ne" @change="onFieldChange"></el-input>
<el-link slot="reference" :href="editForm[field.idCamel]" target="_blank">{{ editForm[field.idCamel]||field.title }}</el-link>
<el-link slot="reference" :href="editForm[field.idCamel]" target="_blank" :style="styleObjCpd">{{ editForm[field.idCamel]||field.title }}</el-link>
</el-popover>
<!--image-->
<el-popover v-else-if=" field.extType=='image'"
placement="top-start"
trigger="hover">
<el-button @click="$refs['imageDialog'].open({formData:editForm,item:item})" :disabled="field.ne">上传图片</el-button>
<el-image slot="reference" :style="field.styleObj||{maxHeight:'100px',maxWidth:'100px'}"
<el-image slot="reference" :style="styleObjCpd"
:src="editForm[field.idCamel]"
fit="contain" >
</el-image>
@ -70,19 +70,19 @@
placement="top-start"
trigger="hover">
<el-button @click="$refs['attDialog'].open({formData:editForm,item:item})" :disabled="field.ne">上传附件</el-button>
<el-link slot="reference" :href="editForm[field.idCamel]" target="_blank">{{ editForm[field.idCamel]||field.title }}</el-link>
<el-link slot="reference" :href="editForm[field.idCamel]" target="_blank" :style="styleObjCpd">{{ editForm[field.idCamel]||field.title }}</el-link>
</el-popover>
<!--其它类型-->
<mdp-input :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='text'" style="width: 90%;" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" auto-complete="off" :placeholder="field.hol" clearable @change="onFieldChange"> </mdp-input>
<mdp-number :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='number'" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" auto-complete="off" placeholder="请输入内容" clearable @change="onFieldChange"></mdp-number>
<mdp-number :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='amount'" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" auto-complete="off" placeholder="请输入内容" clearable @change="onFieldChange"></mdp-number>
<mdp-input :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='textarea'" type="textarea" :rows="2" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" placeholder="请输入内容" @change="onFieldChange"></mdp-input>
<el-time-picker :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='time'" v-model="editForm[field.idCamel]" placeholder="任意时间点" value-format="HH:mm:ss" format="HH:mm:ss" @change="onFieldChange"> </el-time-picker>
<mdp-date :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='date'" v-model="editForm[field.idCamel]" align="right" type="date" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="选择日期" :picker-options="pickerOptions" @change="onFieldChange"> </mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='datetime'" v-model="editForm[field.idCamel]" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间" align="right" :picker-options="pickerOptions" @change="onFieldChange"> </mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='month'" v-model="editForm[field.idCamel]" type="month" value-format="yyyy-MM" format="yyyy-MM" placeholder="选择月份" @change="onFieldChange"></mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='year'" v-model="editForm[field.idCamel]" type="month" value-format="yyyy" format="yyyy" placeholder="选择年" @change="onFieldChange"></mdp-date>
<mdp-date-range :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='daterange'" :value="editForm[field.idCamel]?editForm[field.idCamel].split(','):[]" align="right" type="daterange" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="选择日期" :picker-options="pickerOptions" @change="(vs)=>{editForm[field.idCamel]=vs.join(',');onFieldChange(vs)}"> </mdp-date-range>
<mdp-input :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='text'" :style="styleObjCpd" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" auto-complete="off" :placeholder="field.hol" clearable @change="onFieldChange"> </mdp-input>
<mdp-number :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='number'" :style="styleObjCpd" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" auto-complete="off" placeholder="请输入内容" clearable @change="onFieldChange"></mdp-number>
<mdp-number :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='amount'" :style="styleObjCpd" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" auto-complete="off" placeholder="请输入内容" clearable @change="onFieldChange"></mdp-number>
<mdp-input :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='textarea'" :style="styleObjCpd" type="textarea" :rows="2" v-model="editForm[field.idCamel]" :label-width="labelWidthCpd" :label="field.title" placeholder="请输入内容" @change="onFieldChange"></mdp-input>
<el-time-picker :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='time'" :style="styleObjCpd" v-model="editForm[field.idCamel]" placeholder="任意时间点" value-format="HH:mm:ss" format="HH:mm:ss" @change="onFieldChange"> </el-time-picker>
<mdp-date :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='date'" :style="styleObjCpd" v-model="editForm[field.idCamel]" align="right" type="date" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="选择日期" :picker-options="pickerOptions" @change="onFieldChange"> </mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='datetime'" :style="styleObjCpd" v-model="editForm[field.idCamel]" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间" align="right" :picker-options="pickerOptions" @change="onFieldChange"> </mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='month'" :style="styleObjCpd" v-model="editForm[field.idCamel]" type="month" value-format="yyyy-MM" format="yyyy-MM" placeholder="选择月份" @change="onFieldChange"></mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='year'" :style="styleObjCpd" v-model="editForm[field.idCamel]" type="month" value-format="yyyy" format="yyyy" placeholder="选择年" @change="onFieldChange"></mdp-date>
<mdp-date-range :show-style="field.showStyle" :disabled="field.ne" v-else-if="field.typ=='daterange'" :style="styleObjCpd" :value="editForm[field.idCamel]?editForm[field.idCamel].split(','):[]" align="right" type="daterange" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="选择日期" :picker-options="pickerOptions" @change="(vs)=>{editForm[field.idCamel]=vs.join(',');onFieldChange(vs)}"> </mdp-date-range>
</el-form-item>
</el-row>
@ -92,9 +92,9 @@
<template v-slot="{visible,data,dialog}">
<mdp-select-image v-if="visible" :visible="visible" @select="(imgs)=>{
if(data.field.mul=='1'){
data.formData[data.field.idCamel]=imgs&&imgs.length>0?imgs.map(i=>i.url).join(','):null
$set(data.formData,data.field.idCamel,imgs&&imgs.length>0?imgs.map(i=>i.url).join(','):null)
}else{
data.formData[data.field.idCamel]=imgs&&imgs.length>0?imgs[0].url:null
$set(data.formData,data.field.idCamel,imgs&&imgs.length>0?imgs[0].url:null)
}
dialog.close();
}"></mdp-select-image>
@ -104,11 +104,10 @@
<template v-slot="{visible,data,dialog}">
<mdp-select-att v-if="visible" :visible="visible" :multiple="data.field.mul=='1'" @select="(imgs)=>{
if(data.field.mul=='1'){
data.formData[data.field.idCamel]=imgs&&imgs.length>0?imgs.map(i=>i.url).join(','):null
$set(data.formData,data.field.idCamel,imgs&&imgs.length>0?imgs.map(i=>i.url).join(','):null)
}else{
data.formData[data.field.idCamel]= (imgs?imgs.url:null)
$set(data.formData,data.field.idCamel,imgs&&imgs.length>0?imgs[0].url:null)
}
dialog.close();
}" split=","></mdp-select-att>
</template>
@ -137,6 +136,9 @@
return []
}
return this.field.gname.split(",")
},
styleObjCpd(){
return this.parseFieldStyleObj();
}
},
props:{
@ -207,6 +209,14 @@
this.$emit('change',this.editForm,this.field)
},
parseFieldStyleObj(){
if(this.field.styleObj && this.field.styleObj.indexOf("{")>=0 && this.field.styleObj.indexOf("}")>0){
return JSON.parse(this.field.styleObj)
}else{
return {}
}
}
},//end method
components: {
"mdp-form-data-item": ()=>import('@/components/mdp-ui-ext/mdp-expand/FormDataItem.vue'),

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

@ -1,5 +1,5 @@
<template>
<section @click.alt.stop="showPopover=(sample==true?false:!showPopover)" :class="{'form-field':true,'select':showPopover}" :style="parseFieldStyleObj()">
<section @click.alt.stop="showPopover=(sample==true?false:!showPopover)" :class="{'form-field':true,'select':showPopover}">
<el-row v-if="field.extType=='row'" :gutter="gutter">
<template v-if="sample==true">
<el-col @click.ctrl.native.stop="doChildDelete(child,idx,field.children)" v-for="child,idx in field.children" :key="idx" :span="calcSpan(child,field)">
@ -59,23 +59,23 @@
<div v-if="field.qx=='nr'"></div>
<!--用户-->
<mdp-select-user v-else-if=" field.extType=='user'" :show-style="field.showStyle" :disabled="field.qx=='r'" :multiple="field.mul=='1'" v-model="showData[field.idCamel]" :label="field.title" :placeholder="field.remark" split=",">
<mdp-select-user v-else-if=" field.extType=='user'" :show-style="field.showStyle" :disabled="field.qx=='r'|| field.ronly=='1'" :multiple="field.mul=='1'" v-model="showData[field.idCamel]" :label="field.title" :placeholder="field.remark" split=",">
</mdp-select-user>
<!--部门-->
<mdp-selecct-dept v-else-if=" field.extType=='deppt'" :show-style="field.showStyle" :branch-id="userInfo.branchId" :show-checkbox="field.mul=='1'" :multiple="field.mul=='1'" split=","></mdp-selecct-dept>
<!--标签-->
<mdp-select-tag v-else-if=" field.extType=='tag'" :show-style="field.showStyle" :disabled="field.qx=='r'" :multiple="field.mul=='1'" v-model="showData[field.idCamel]" :label="field.title" :placeholder="field.remark" split=",">
<mdp-select-tag v-else-if=" field.extType=='tag'" :show-style="field.showStyle" :disabled="field.qx=='r'|| field.ronly=='1'" :multiple="field.mul=='1'" v-model="showData[field.idCamel]" :label="field.title" :placeholder="field.remark" split=",">
</mdp-select-tag>
<!--下拉框-->
<mdp-select v-else-if=" ['select','radio','checkbox'].some(k=>k==field.typ)" :show-style="field.showStyle" :plus-options="sample?field.plusOptions:[]" :disabled="field.qx=='r'" :show-type="field.typ" :item-code="field.dict" :multiple="field.mul=='1'" v-model="showData[field.idCamel]" :label="field.title" :placeholder="field.remark" split=",">
<mdp-select v-else-if=" ['select','radio','checkbox'].some(k=>k==field.typ)" :show-style="field.showStyle" :plus-options="sample?field.plusOptions:[]" :disabled="field.qx=='r' || field.ronly=='1'" :show-type="field.typ" :item-code="field.dict" :multiple="field.mul=='1'" v-model="showData[field.idCamel]" :label="field.title" :placeholder="field.remark" split=",">
</mdp-select>
<!--html-->
<el-popover v-else-if=" field.extType=='html'"
placement="top-start"
width="400"
trigger="hover">
<el-input type="textarea" rows="4" v-model="showData[field.idCamel]"></el-input>
<el-input type="textarea" rows="4" v-model="showData[field.idCamel]" v-if="field.ronly!='1'"></el-input>
<div slot="reference" v-html="showData[field.idCamel]||field.defaultValue||'无'"></div>
</el-popover>
<!--link 链接-->
@ -83,14 +83,14 @@
placement="top-start"
width="400"
trigger="hover">
<el-input v-model="showData[field.idCamel]" ></el-input>
<el-input v-model="showData[field.idCamel]" v-if="field.ronly!='1'"></el-input>
<el-link slot="reference" :href="showData[field.idCamel]" target="_blank">{{ showData[field.idCamel]||field.title }}</el-link>
</el-popover>
<!--image-->
<el-popover v-else-if=" field.extType=='image'"
placement="top-start"
trigger="hover">
<el-button @click="$refs['imageDialog'].open({formData:showData,field:field})">上传图片</el-button>
<el-button @click="$refs['imageDialog'].open({formData:showData,field:field})" v-if="field.ronly!='1'">上传图片</el-button>
<el-image slot="reference" :style="parseFieldStyleObj()||{maxHeight:'100px',maxWidth:'100px'}"
:src="showData[field.idCamel]"
fit="contain" >
@ -100,20 +100,20 @@
<el-popover v-else-if=" field.extType=='att'"
placement="top-start"
trigger="hover">
<el-button @click="$refs['attDialog'].open({formData:showData,field:field})">上传附件</el-button>
<el-button @click="$refs['attDialog'].open({formData:showData,field:field})" v-if="field.ronly!='1'">上传附件</el-button>
<el-link slot="reference" :href="showData[field.idCamel]" target="_blank">{{ showData[field.idCamel]||field.title }}</el-link>
</el-popover>
<!--其它类型-->
<mdp-input :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.typ=='text'" :style="parseFieldStyleObj()" v-model="showData[field.idCamel]" :label="field.title" auto-complete="off" :placeholder="field.remark" clearable > </mdp-input>
<mdp-number :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.typ=='number'" v-model="showData[field.idCamel]" :label="field.title" auto-complete="off" placeholder="请输入内容" clearable ></mdp-number>
<mdp-number :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.typ=='amount'" v-model="showData[field.idCamel]" :label="field.title" auto-complete="off" placeholder="请输入内容" clearable></mdp-number>
<mdp-input :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.typ=='textarea'" type="textarea" :rows="2" v-model="showData[field.idCamel]" :label="field.title" placeholder="请输入内容"></mdp-input>
<el-time-picker :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.typ=='time'" v-model="showData[field.idCamel]" placeholder="任意时间点"> </el-time-picker>
<mdp-date :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.typ=='date'" v-model="showData[field.idCamel]" align="right" type="date" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="选择日期" :picker-options="pickerOptions"> </mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.typ=='datetime'" v-model="showData[field.idCamel]" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间" align="right" :picker-options="pickerOptions"> </mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.typ=='month'" v-model="showData[field.idCamel]" type="month" value-format="yyyy-MM" format="yyyy-MM" placeholder="选择月份"></mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.typ=='year'" v-model="showData[field.idCamel]" type="month" value-format="yyyy" format="yyyy" placeholder="选择年"></mdp-date>
<mdp-date-range :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.typ=='daterange'" :value="showData[field.idCamel]?showData[field.idCamel].split(','):[]" align="right" type="daterange" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="选择日期" :picker-options="pickerOptions"
<mdp-input :show-style="field.showStyle" :disabled="field.qx=='r'||field.ronly=='1'" v-else-if="field.typ=='text'" :style="styleObjCpd" v-model="showData[field.idCamel]" :label="field.title" auto-complete="off" :placeholder="field.remark" clearable > </mdp-input>
<mdp-number :show-style="field.showStyle" :disabled="field.qx=='r'||field.ronly=='1'" v-else-if="field.typ=='number'" :style="styleObjCpd" v-model="showData[field.idCamel]" :label="field.title" auto-complete="off" placeholder="请输入内容" clearable ></mdp-number>
<mdp-number :show-style="field.showStyle" :disabled="field.qx=='r'||field.ronly=='1'" v-else-if="field.typ=='amount'" :style="styleObjCpd" v-model="showData[field.idCamel]" :label="field.title" auto-complete="off" placeholder="请输入内容" clearable></mdp-number>
<mdp-input :show-style="field.showStyle" :disabled="field.qx=='r'||field.ronly=='1'" v-else-if="field.typ=='textarea'" :style="styleObjCpd" type="textarea" :rows="2" v-model="showData[field.idCamel]" :label="field.title" placeholder="请输入内容"></mdp-input>
<el-time-picker :show-style="field.showStyle" :disabled="field.qx=='r'||field.ronly=='1'" v-else-if="field.typ=='time'" :style="styleObjCpd" v-model="showData[field.idCamel]" placeholder="任意时间点"> </el-time-picker>
<mdp-date :show-style="field.showStyle" :disabled="field.qx=='r'||field.ronly=='1'" v-else-if="field.typ=='date'" :style="styleObjCpd" v-model="showData[field.idCamel]" align="right" type="date" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="选择日期" :picker-options="pickerOptions"> </mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.qx=='r'||field.ronly=='1'" v-else-if="field.typ=='datetime'" :style="styleObjCpd" v-model="showData[field.idCamel]" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间" align="right" :picker-options="pickerOptions"> </mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.qx=='r'||field.ronly=='1'" v-else-if="field.typ=='month'" :style="styleObjCpd" v-model="showData[field.idCamel]" type="month" value-format="yyyy-MM" format="yyyy-MM" placeholder="选择月份"></mdp-date>
<mdp-date :show-style="field.showStyle" :disabled="field.qx=='r'||field.ronly=='1'" v-else-if="field.typ=='year'" :style="styleObjCpd" v-model="showData[field.idCamel]" type="month" value-format="yyyy" format="yyyy" placeholder="选择年"></mdp-date>
<mdp-date-range :show-style="field.showStyle" :disabled="field.qx=='r'||field.ronly=='1'" v-else-if="field.typ=='daterange'" :style="styleObjCpd" :value="showData[field.idCamel]?showData[field.idCamel].split(','):[]" align="right" type="daterange" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="选择日期" :picker-options="pickerOptions"
@change="(vs)=>showData[field.idCamel]=vs.join(',')"
> </mdp-date-range>
</el-form-item>
@ -162,6 +162,9 @@
return []
}
return this.field.gname.split(",")
},
styleObjCpd(){
return this.parseFieldStyleObj();
}
},
props:{

2
src/views/mdp/form/formField/FieldCfg.vue

@ -1,7 +1,7 @@
<template>
<section v-adaptive>
<el-form v-model="field" :rules="fieldRules" ref="field" label-width="80px" style="width:350px;">
<el-form v-model="field" :rules="fieldRules" ref="field" label-width="80px">
<el-form-item v-if="(field.typ=='select' || (field.typ=='checkbox') || (field.typ=='radio')) && !field.extType" label="数据" prop="isDict">
<el-input v-model="field.dict" @focus="$refs['itemDialog'].open(field)" placeholder="点击关联基础数据">
<template slot="append">

Loading…
Cancel
Save