Browse Source

优化

master
陈裕财 2 years ago
parent
commit
ca3b1fe5fa
  1. 74
      src/views/mdp/form/formField/Field.vue
  2. 86
      src/views/mdp/form/formField/FieldCfg.vue
  3. 136
      src/views/mdp/form/formField/Index.vue

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

@ -1,6 +1,6 @@
<template> <template>
<section @click="select=!select" @click.alt.stop="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.extType=='row'" slot="reference" :gutter="gutter">
<template v-if="sample==true"> <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)"> <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 :has-child="hasChild" :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 :has-child="hasChild" :parent-field="field" :gutter="gutter" :span="span" v-if="child" :value="child" @change="(v)=>onChildChange(child,v)" @delete="onChildDelete" :sample="sample"></mdp-field>
@ -12,75 +12,75 @@
</el-col> </el-col>
</draggable> </draggable>
</el-row> </el-row>
<el-form-item slot="reference" v-else :label="field.fieldTitle" :prop="field.fieldIdCamel" :rules="[{ required: field.isRequired=='1', message: '该项必填', trigger: 'change' }]">
<el-form-item slot="reference" v-else :label="field.title" :prop="field.idCamel" :rules="[{ required: field.isRequired=='1', message: '该项必填', trigger: 'change' }]">
<div v-if="field.qx=='nr'"></div> <div v-if="field.qx=='nr'"></div>
<!--用户--> <!--用户-->
<mdp-select-user v-else-if=" field.extFieldType=='user'" :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-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> </mdp-select-user>
<!--部门--> <!--部门-->
<mdp-selecct-dept v-else-if=" field.extFieldType=='deppt'" :show-style="field.showStyle" :branch-id="userInfo.branchId" :show-checkbox="field.isMultiple=='1'" :multiple="field.isMultiple=='1'" split=","></mdp-selecct-dept>
<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.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.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> </mdp-select-tag>
<!--下拉框--> <!--下拉框-->
<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 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> </mdp-select>
<!--html--> <!--html-->
<el-popover v-else-if=" field.extFieldType=='html'"
<el-popover v-else-if=" field.extType=='html'"
placement="top-start" placement="top-start"
width="400" width="400"
trigger="hover"> trigger="hover">
<el-input type="textarea" rows="4" v-model="showData[field.fieldIdCamel]"></el-input>
<div slot="reference" v-html="showData[field.fieldIdCamel]||field.defaultValue||'无'"></div>
<el-input type="textarea" rows="4" v-model="showData[field.idCamel]"></el-input>
<div slot="reference" v-html="showData[field.idCamel]||field.defaultValue||'无'"></div>
</el-popover> </el-popover>
<!--link 链接--> <!--link 链接-->
<el-popover v-else-if=" field.extFieldType=='link'"
<el-popover v-else-if=" field.extType=='link'"
placement="top-start" placement="top-start"
width="400" width="400"
trigger="hover"> trigger="hover">
<el-input v-model="showData[field.fieldIdCamel]" ></el-input>
<el-link slot="reference" :href="showData[field.fieldIdCamel]" target="_blank">{{ showData[field.fieldIdCamel]||field.fieldTitle }}</el-link>
<el-input v-model="showData[field.idCamel]" ></el-input>
<el-link slot="reference" :href="showData[field.idCamel]" target="_blank">{{ showData[field.idCamel]||field.title }}</el-link>
</el-popover> </el-popover>
<!--image--> <!--image-->
<el-popover v-else-if=" field.extFieldType=='image'"
<el-popover v-else-if=" field.extType=='image'"
placement="top-start" placement="top-start"
trigger="hover"> trigger="hover">
<el-button @click="$refs['imageDialog'].open({formData:showData,field:field})">上传图片</el-button> <el-button @click="$refs['imageDialog'].open({formData:showData,field:field})">上传图片</el-button>
<el-image slot="reference" :style="field.styleObj||{maxHeight:'100px',maxWidth:'100px'}" <el-image slot="reference" :style="field.styleObj||{maxHeight:'100px',maxWidth:'100px'}"
:src="showData[field.fieldIdCamel]"
:src="showData[field.idCamel]"
fit="contain" > fit="contain" >
</el-image> </el-image>
</el-popover> </el-popover>
<!--att 附件--> <!--att 附件-->
<el-popover v-else-if=" field.extFieldType=='att'"
<el-popover v-else-if=" field.extType=='att'"
placement="top-start" placement="top-start"
trigger="hover"> trigger="hover">
<el-button @click="$refs['attDialog'].open({formData:showData,field:field})">上传附件</el-button> <el-button @click="$refs['attDialog'].open({formData:showData,field:field})">上传附件</el-button>
<el-link slot="reference" :href="showData[field.fieldIdCamel]" target="_blank">{{ showData[field.fieldIdCamel]||field.fieldTitle }}</el-link>
<el-link slot="reference" :href="showData[field.idCamel]" target="_blank">{{ showData[field.idCamel]||field.title }}</el-link>
</el-popover> </el-popover>
<!--其它类型--> <!--其它类型-->
<mdp-input :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.fieldType=='text'" style="width:99%;" v-model="showData[field.fieldIdCamel]" :label="field.fieldTitle" auto-complete="off" :placeholder="field.placeholder" clearable > </mdp-input>
<mdp-number :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.fieldType=='number'" v-model="showData[field.fieldIdCamel]" :label="field.fieldTitle" auto-complete="off" placeholder="请输入内容" clearable ></mdp-number>
<mdp-number :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.fieldType=='amount'" v-model="showData[field.fieldIdCamel]" :label="field.fieldTitle" auto-complete="off" placeholder="请输入内容" clearable></mdp-number>
<mdp-input :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.fieldType=='textarea'" type="textarea" :rows="2" v-model="showData[field.fieldIdCamel]" :label="field.fieldTitle" placeholder="请输入内容"></mdp-input>
<el-time-picker :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.fieldType=='time'" v-model="showData[field.fieldIdCamel]" placeholder="任意时间点"> </el-time-picker>
<mdp-date :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.fieldType=='date'" v-model="showData[field.fieldIdCamel]" 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.fieldType=='datetime'" v-model="showData[field.fieldIdCamel]" 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.fieldType=='month'" v-model="showData[field.fieldIdCamel]" 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.fieldType=='year'" v-model="showData[field.fieldIdCamel]" 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.fieldType=='daterange'" :value="showData[field.fieldIdCamel]?showData[field.fieldIdCamel].split(','):[]" align="right" type="daterange" value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="选择日期" :picker-options="pickerOptions"
@change="(vs)=>showData[field.fieldIdCamel]=vs.join(',')"
<mdp-input :show-style="field.showStyle" :disabled="field.qx=='r'" v-else-if="field.typ=='text'" style="width:99%;" 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"
@change="(vs)=>showData[field.idCamel]=vs.join(',')"
> </mdp-date-range> > </mdp-date-range>
</el-form-item> </el-form-item>
<mdp-dialog ref="imageDialog" title="选择图片" width="80%" :modal="false"> <mdp-dialog ref="imageDialog" title="选择图片" width="80%" :modal="false">
<template v-slot="{visible,data,dialog}"> <template v-slot="{visible,data,dialog}">
<mdp-select-image v-if="visible" :visible="visible" @select="(imgs)=>{ <mdp-select-image v-if="visible" :visible="visible" @select="(imgs)=>{
if(data.item.isMultiple=='1'){
data.formData[data.item.fieldIdCamel]=imgs&&imgs.length>0?imgs.map(i=>i.url).join(','):null
if(data.item.mul=='1'){
data.formData[data.item.idCamel]=imgs&&imgs.length>0?imgs.map(i=>i.url).join(','):null
}else{ }else{
data.formData[data.item.fieldIdCamel]=imgs&&imgs.length>0?imgs[0].url:null
data.formData[data.item.idCamel]=imgs&&imgs.length>0?imgs[0].url:null
} }
dialog.close(); dialog.close();
}"></mdp-select-image> }"></mdp-select-image>
@ -88,12 +88,12 @@
</mdp-dialog> </mdp-dialog>
<mdp-dialog ref="attDialog" title="选择文件" width="80%" :modal="false"> <mdp-dialog ref="attDialog" title="选择文件" width="80%" :modal="false">
<template v-slot="{visible,data,dialog}"> <template v-slot="{visible,data,dialog}">
<mdp-select-att v-if="visible" :visible="visible" :multiple="data.item.isMultiple=='1'" @select="(imgs)=>{
<mdp-select-att v-if="visible" :visible="visible" :multiple="data.item.mul=='1'" @select="(imgs)=>{
if(data.item.isMultiple=='1'){
data.formData[data.item.fieldIdCamel]=imgs&&imgs.length>0?imgs.map(i=>i.url).join(','):null
if(data.item.mul=='1'){
data.formData[data.item.idCamel]=imgs&&imgs.length>0?imgs.map(i=>i.url).join(','):null
}else{ }else{
data.formData[data.item.fieldIdCamel]= (imgs?imgs.url:null)
data.formData[data.item.idCamel]= (imgs?imgs.url:null)
} }
dialog.close(); dialog.close();
@ -212,7 +212,7 @@
deleteBaseData(){ deleteBaseData(){
this.field.isDict='0'; this.field.isDict='0';
this.field.dictCode='';
this.field.dict='';
}, },
onChildChange(child,$event){ onChildChange(child,$event){
@ -240,7 +240,7 @@
if(child.fieldLength>0){ if(child.fieldLength>0){
return child.fieldLength return child.fieldLength
} }
if(child.extFieldType=='textarea'){
if(child.extType=='textarea'){
return 24 return 24
}else{ }else{
return this.span return this.span
@ -261,7 +261,7 @@
} }
item2.id=noSelectFieldId.id item2.id=noSelectFieldId.id
item2.fieldId=noSelectFieldId.fieldId item2.fieldId=noSelectFieldId.fieldId
item2.fieldIdCamel=noSelectFieldId.fieldIdCamel
item2.idCamel=noSelectFieldId.idCamel
delete item.isNewAdd delete item.isNewAdd
this.selectedFields[evt.newIndex]=item2; this.selectedFields[evt.newIndex]=item2;
this.addForm=item2; this.addForm=item2;

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

@ -2,65 +2,60 @@
<section> <section>
<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" style="width:350px;">
<el-form-item v-if="(field.fieldType=='select' || (field.fieldType=='checkbox') || (field.fieldType=='radio')) && !field.extFieldType" label="数据" prop="isDict">
<el-form-item v-if="(field.typ=='select' || (field.typ=='checkbox') || (field.typ=='radio')) && !field.extType" label="数据" prop="isDict">
<el-col :span="20"> <el-col :span="20">
<el-input v-model="field.dictCode" @focus="$refs['itemDialog'].open(field)" placeholder="点击关联基础数据"> </el-input>
<el-input v-model="field.dict" @focus="$refs['itemDialog'].open(field)" placeholder="点击关联基础数据"> </el-input>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-button type="primary" icon="el-icon-delete" @click="deleteBaseData"></el-button> <el-button type="primary" icon="el-icon-delete" @click="deleteBaseData"></el-button>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="名称" prop="fieldTitle">
<el-form-item label="名称" prop="title">
<el-col :span="20"> <el-col :span="20">
<el-input v-model="field.fieldTitle" label="属性名称" auto-complete="off" placeholder="请输入内容" > </el-input>
<el-input v-model="field.title" label="属性名称" auto-complete="off" placeholder="请输入内容" > </el-input>
</el-col> </el-col>
</el-form-item>
<el-form-item label="主键" prop="isBizKey" v-if=" (field.fieldType!='checkbox') && (field.fieldType!='radio') && field.isMultiple!='1' && field.fieldType!='textarea'" >
</el-form-item>
<el-form-item label="编码" prop="id">
<el-col :span="20">
<el-input v-model="field.id" auto-complete="off" placeholder="请输入内容" > </el-input>
</el-col>
</el-form-item>
<el-form-item label="主键" prop="bkey" v-if=" (field.typ!='checkbox') && (field.typ!='radio') && field.mul!='1' && field.typ!='textarea'" >
<el-select v-model="primaryKeys" multiple label="" clearable placeholder="请选择"> <el-select v-model="primaryKeys" multiple label="" clearable placeholder="请选择">
<el-option label="创建人" key="cuserid" value="cuserid">创建人 </el-option> <el-option label="创建人" key="cuserid" value="cuserid">创建人 </el-option>
<el-option label="创建部门" key="deptid" value="deptid">创建部门 </el-option> <el-option label="创建部门" key="deptid" value="deptid">创建部门 </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="必需" prop="isRequired" >
<el-checkbox v-model="field.isRequired" :disabled="field.isBizKey=='1'" true-label="1" false-label="0">是否必输</el-checkbox>
<el-form-item label="必需" prop="req" >
<el-checkbox v-model="field.req" :disabled="field.bkey=='1'" true-label="1" false-label="0">是否必输</el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="编号" prop="id">
<el-col :span="20">
<el-input :disabled="formDef.isCreateTable!='1'" v-model="field.id" :label="field.id" auto-complete="off" placeholder="请输入内容" > </el-input>
</el-col>
</el-form-item>
<el-form-item label="编码" prop="fieldId">
<el-col :span="20">
<el-input :disabled="formDef.isCreateTable!='1'" v-model="field.fieldId" :label="field.fieldId" auto-complete="off" placeholder="请输入内容" > </el-input>
</el-col>
</el-form-item>
<el-form-item label="长度" prop="fieldLength">
<el-form-item label="长度" prop="len">
<el-col :span="20"> <el-col :span="20">
<el-input v-model="field.fieldLength" :label="field.fieldId" auto-complete="off" placeholder="请输入内容" > </el-input>
<el-input v-model="field.len" auto-complete="off" placeholder="请输入内容" > </el-input>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="占位符" prop="placeholder">
<el-form-item label="占位符" prop="hol">
<el-col :span="20"> <el-col :span="20">
<el-input v-model="field.placeholder" :label="field.placeholder" auto-complete="off" placeholder="请输入内容" > </el-input>
<el-input v-model="field.hol" auto-complete="off" placeholder="请输入内容" > </el-input>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item v-if="field.fieldType=='select' || (field.fieldType=='checkbox') || (field.fieldType=='radio')" label="默认值" prop="defaultValue">
<el-form-item v-if="field.typ=='select' || (field.typ=='checkbox') || (field.typ=='radio')" label="默认值" prop="dval">
<el-col :span="20"> <el-col :span="20">
<mdp-select :item-code="field.dictCode" v-model="field.defaultValue" :label="field.fieldTitle" clearable placeholder="请选择"/>
<mdp-select :item-code="field.dict" v-model="field.dval" clearable placeholder="请选择"/>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item v-else label="默认值" prop="defaultValue">
<el-form-item v-else label="默认值" prop="dval">
<el-col :span="20"> <el-col :span="20">
<el-input v-model="field.defaultValue" :label="field.placeholder" auto-complete="off" placeholder="请输入内容" > </el-input>
<el-input v-model="field.dval" auto-complete="off" placeholder="请输入内容" > </el-input>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="多选" prop="isMultiple">
<el-form-item label="多选" prop="mul">
<el-col :span="20"> <el-col :span="20">
<el-checkbox v-model="field.isMultiple" :disabled=" field.fieldType!='checkbox' && field.fieldType!='select' && field.extFieldType!='dept'" true-label="1" false-label="0">多选</el-checkbox>
<el-checkbox v-model="field.mul" :disabled=" field.typ!='checkbox' && field.typ!='select' && field.extType!='dept'" true-label="1" false-label="0">多选</el-checkbox>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="权限" prop="fieldQx">
<el-form-item label="权限" prop="qx">
<el-button @click="$refs['qxDialog'].open(field)">字段权限设置</el-button> <el-button @click="$refs['qxDialog'].open(field)">字段权限设置</el-button>
</el-form-item> </el-form-item>
<el-form-item label="展示风格" prop="showStyle"> <el-form-item label="展示风格" prop="showStyle">
@ -72,9 +67,29 @@
<el-radio v-model="field.showStyle" label="x">综合-x</el-radio> <el-radio v-model="field.showStyle" label="x">综合-x</el-radio>
</el-col> </el-col>
</el-form-item> </el-form-item>
<el-form-item label="css style" prop="styleObj">
<el-input type="textarea" rows="2" v-model="field.styleObj" :label="field.fieldIdCamel" auto-complete="off" placeholder="请输入json 对象 如 {maxHeight:'100px',maxWidth:'100px'}" > </el-input>
<el-form-item label="样式" prop="styleObj">
<el-popover
placement="top-start"
width="400"
trigger="hover">
<el-input type="textarea" rows="10" v-model="field.styleObj" :label="field.idCamel" auto-complete="off" placeholder="请输入json 对象 如 {maxHeight:'100px',maxWidth:'100px'}" > </el-input>
<el-button slot="reference">css 样式</el-button>
</el-popover>
</el-form-item>
<el-form-item label="校验规则" prop="vrules">
<el-col :span="20">
<el-popover
placement="top-start"
width="400"
trigger="hover">
<el-input type="textarea" rows="4" v-model="field.vrules" auto-complete="off" placeholder='请输入json 对象 如 [{required:true,message:"此项必填",trigger:"change"}]' > </el-input>
<el-button slot="reference">校验规则</el-button>
</el-popover>
</el-col>
</el-form-item> </el-form-item>
<el-form-item label="扩展信息" prop="extInfos"> <el-form-item label="扩展信息" prop="extInfos">
<el-col :span="20"> <el-col :span="20">
@ -97,16 +112,15 @@
<!--基础数据查询 CodeDetail sys_code_detail界面--> <!--基础数据查询 CodeDetail sys_code_detail界面-->
<mdp-dialog ref="itemDialog" title="选择数据组" width="80%" :modal="false"> <mdp-dialog ref="itemDialog" title="选择数据组" width="80%" :modal="false">
<template v-slot="{visible,data,dialog}"> <template v-slot="{visible,data,dialog}">
<mdp-meta-item :visible="visible" sub-op-type="select" @select="(item)=>{
data.isDict='1';
data.dictCode=item.itemCode
<mdp-meta-item :visible="visible" sub-op-type="select" @select="(item)=>{
data.dict=item.itemCode
dialog.close() dialog.close()
}"></mdp-meta-item> }"></mdp-meta-item>
</template> </template>
</mdp-dialog> </mdp-dialog>
<mdp-dialog ref="qxDialog" title="权限配置" width="80%" :modal="false"> <mdp-dialog ref="qxDialog" title="权限配置" width="80%" :modal="false">
<template v-slot="{visible,data,dialog}"> <template v-slot="{visible,data,dialog}">
<field-qx-set :visible="visible" v-model="data.fieldQx" :fieldTitle="data.fieldTitle" @close="dialog.close()" @submit="onQxSetChange"/>
<field-qx-set :visible="visible" v-model="data.qx" :title="data.title" @close="dialog.close()" @submit="onQxSetChange"/>
</template> </template>
</mdp-dialog> </mdp-dialog>
</section> </section>
@ -175,7 +189,7 @@
}, },
deleteBaseData(){ deleteBaseData(){
this.field.isDict='0'; this.field.isDict='0';
this.field.dictCode='';
this.field.dict='';
}, },
onQxSetChange(){ onQxSetChange(){
this.handleConfirm() this.handleConfirm()

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

@ -174,8 +174,8 @@ export default {
} }
this.myFormDef=formDef; this.myFormDef=formDef;
}, },
'addForm.isBizKey':function( isBizKey ) {
if(isBizKey=='1'){
'addForm.bkey':function( bkey ) {
if(bkey=='1'){
this.addForm.isRequired="1" this.addForm.isRequired="1"
} }
}, },
@ -192,8 +192,8 @@ export default {
}, },
data() { data() {
var options={ var options={
list: [{id:'0',name:'选项0'},{id:'1',name:'选项1'},{id:'2',name:'选项2'}],
yesOrNo: [{id:'0',name:'否'},{id:'1',name:'是'}],
list: [{name:'选项0'},{name:'选项1'},{name:'选项2'}],
yesOrNo: [{name:'否'},{name:'是'}],
} }
return { return {
dbForm:{ dbForm:{
@ -223,43 +223,43 @@ export default {
{ required: false, message: '主键', trigger: 'blur' } { required: false, message: '主键', trigger: 'blur' }
] ]
}, },
addForm: {formId:'formId',id:'1',showStyle:'origin',fieldId:'one',fieldIdCamel:'one',fieldTitle:'文本',fieldType:'text',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',isDict:'0',dictCode:'',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
myFormDef:{id:'',tableName:'',tableOwner:'',isCreateTable:'',formName:'',userid:'',deptid:'',formType:'',isTemplate:'',bizType:'',ctime:'',branchId:''},
addForm: {formId:'formId',showStyle:'origin',id:'one',idCamel:'one',title:'文本',typ:'text',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',dict:'',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
myFormDef:{tableName:'',tableOwner:'',isCreateTable:'',formName:'',userid:'',deptid:'',formType:'',isTemplate:'',bizType:'',ctime:'',branchId:''},
selectedFields:[], selectedFields:[],
sampleFields:[ sampleFields:[
{formId:'formId',id:'1',showStyle:'origin',fieldId:'one',fieldIdCamel:'one',fieldTitle:'文本',isDict:'0',dictCode:'',fieldType:'text',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'4',showStyle:'origin',fieldId:'four',fieldIdCamel:'four',fieldTitle:'多行文本',isDict:'0',dictCode:'',fieldType:'textarea',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'41',showStyle:'origin',fieldId:'four1',fieldIdCamel:'four1',fieldTitle:'html',isDict:'0',dictCode:'',fieldType:'text',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'html',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'42',showStyle:'origin',fieldId:'four2',fieldIdCamel:'four2',fieldTitle:'图片',isDict:'0',dictCode:'',fieldType:'image',fieldLength:24,defaultValue:'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'image',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'43',showStyle:'origin',fieldId:'four3',fieldIdCamel:'four3',fieldTitle:'文件',isDict:'0',dictCode:'',fieldType:'att',fieldLength:24,defaultValue:'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'att',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'44',showStyle:'origin',fieldId:'four4',fieldIdCamel:'four4',fieldTitle:'链接',isDict:'0',dictCode:'',fieldType:'link',fieldLength:24,defaultValue:'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'link',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',showStyle:'origin',id:'one',idCamel:'one',title:'文本',dict:'',typ:'text',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'four',idCamel:'four',title:'多行文本',dict:'',typ:'textarea',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'four1',idCamel:'four1',title:'html',dict:'',typ:'text',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'html',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'four2',idCamel:'four2',title:'图片',dict:'',typ:'image',len:24,span:12,dval:'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'image',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'four3',idCamel:'four3',title:'文件',dict:'',typ:'att',len:24,span:12,dval:'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'att',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'four4',idCamel:'four4',title:'链接',dict:'',typ:'link',len:24,span:12,dval:'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'link',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',id:'2',showStyle:'origin',fieldId:'two',fieldIdCamel:'two',fieldTitle:'数字',isDict:'0',dictCode:'',fieldType:'number',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'3',showStyle:'origin',fieldId:'three',fieldIdCamel:'three',fieldTitle:'金额',isDict:'0',dictCode:'',fieldType:'amount',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',showStyle:'origin',id:'two',idCamel:'two',title:'数字',dict:'',typ:'number',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'three',idCamel:'three',title:'金额',dict:'',typ:'amount',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',id:'5',showStyle:'origin',fieldId:'five',fieldIdCamel:'five',fieldTitle:'单选下拉',isDict:'0',dictCode:'',plusOptions:options.list,fieldType:'select',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'6',showStyle:'origin',fieldId:'six',fieldIdCamel:'six',fieldTitle:'多选下拉',isDict:'0',dictCode:'',plusOptions:options.list,fieldType:'select',fieldLength:24,defaultValue:'',isMultiple:'1',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',showStyle:'origin',id:'five',idCamel:'five',title:'单选下拉',dict:'',plusOptions:options.list,typ:'select',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'six',idCamel:'six',title:'多选下拉',dict:'',plusOptions:options.list,typ:'select',len:24,span:12,dval:'',mul:'1',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',id:'7',showStyle:'origin',fieldId:'seven',fieldIdCamel:'seven',fieldTitle:'单选',isDict:'0',dictCode:'',plusOptions:options.yesOrNo,fieldType:'radio',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'8',showStyle:'origin',fieldId:'eight',fieldIdCamel:'eight',fieldTitle:'单选框',isDict:'0',dictCode:'',plusOptions:options.list,fieldType:'checkbox',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'9',showStyle:'origin',fieldId:'nine',fieldIdCamel:'nine',fieldTitle:'多选框',isDict:'0',dictCode:'',plusOptions:options.list,fieldType:'checkbox',fieldLength:24,defaultValue:'',isMultiple:'1',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',showStyle:'origin',id:'seven',idCamel:'seven',title:'单选',dict:'',plusOptions:options.yesOrNo,typ:'radio',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'eight',idCamel:'eight',title:'单选框',dict:'',plusOptions:options.list,typ:'checkbox',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'nine',idCamel:'nine',title:'多选框',dict:'',plusOptions:options.list,typ:'checkbox',len:24,span:12,dval:'',mul:'1',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',id:'10',showStyle:'origin',fieldId:'ten',fieldIdCamel:'ten',fieldTitle:'时间',isDict:'0',dictCode:'',fieldType:'time',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'11',showStyle:'origin',fieldId:'eleven',fieldIdCamel:'eleven',fieldTitle:'日期',isDict:'0',dictCode:'',fieldType:'date',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'12',showStyle:'origin',fieldId:'twelve',fieldIdCamel:'twelve',fieldTitle:'日期时间',isDict:'0',dictCode:'',fieldType:'datetime',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入日期时间',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'13',showStyle:'origin',fieldId:'thirteen',fieldIdCamel:'thirteen',fieldTitle:'年',isDict:'0',dictCode:'',fieldType:'year',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请选中年份',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'14',showStyle:'origin',fieldId:'fourteen',fieldIdCamel:'fourteen',fieldTitle:'月',isDict:'0',dictCode:'',fieldType:'month',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请选中月份',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'141',showStyle:'origin',fieldId:'fourteen1',fieldIdCamel:'fourteen1',fieldTitle:'日期区间',isDict:'0',dictCode:'',fieldType:'daterange',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',showStyle:'origin',id:'ten',idCamel:'ten',title:'时间',dict:'',typ:'time',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'eleven',idCamel:'eleven',title:'日期',dict:'',typ:'date',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'twelve',idCamel:'twelve',title:'日期时间',dict:'',typ:'datetime',len:24,span:12,dval:'',mul:'0',hol:'请输入日期时间',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'thirteen',idCamel:'thirteen',title:'年',dict:'',typ:'year',len:24,span:12,dval:'',mul:'0',hol:'请选中年份',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'fourteen',idCamel:'fourteen',title:'月',dict:'',typ:'month',len:24,span:12,dval:'',mul:'0',hol:'请选中月份',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',id:'141',showStyle:'origin',id:'fourteen1',idCamel:'fourteen1',title:'日期区间',dict:'',typ:'daterange',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',id:'15',showStyle:'origin',fieldId:'fifteen',fieldIdCamel:'fifteen',fieldTitle:'部门',isDict:'0',dictCode:'',fieldType:'select',fieldLength:24,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'dept',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'17',showStyle:'origin',fieldId:'seventeen',fieldIdCamel:'seventeen',fieldTitle:'员工',isDict:'0',dictCode:'',fieldType:'select',fieldLength:24,defaultValue:'',isMultiple:'1',placeholder:'支持多选',isRequired:'0',remark:'属性',extFieldType:'user',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'19',showStyle:'origin',fieldId:'nineteen',fieldIdCamel:'nineteen',fieldTitle:'标签',isDict:'0',dictCode:'',fieldType:'select',fieldLength:24,defaultValue:'',isMultiple:'1',placeholder:'多选标签',isRequired:'0',remark:'属性',extFieldType:'tag',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'21',showStyle:'origin',fieldId:'twentyOne',fieldIdCamel:'twentyOne',fieldTitle:'布局-行',isDict:'0',dictCode:'',fieldType:'row',fieldLength:24,defaultValue:'',isMultiple:'1',placeholder:'行',isRequired:'0',remark:'属性',extFieldType:'row',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:'',
{formId:'formId',showStyle:'origin',id:'fifteen',idCamel:'fifteen',title:'部门',dict:'',typ:'select',len:24,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'dept',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'seventeen',idCamel:'seventeen',title:'员工',dict:'',typ:'select',len:24,span:12,dval:'',mul:'1',hol:'支持多选',isRequired:'0',remark:'属性',extType:'user',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'nineteen',idCamel:'nineteen',title:'标签',dict:'',typ:'select',len:24,span:12,dval:'',mul:'1',hol:'多选标签',isRequired:'0',remark:'属性',extType:'tag',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'twentyOne',idCamel:'twentyOne',title:'布局-行',dict:'',typ:'row',len:24,span:12,dval:'',mul:'1',hol:'行',isRequired:'0',remark:'属性',extType:'row',toFlow:'0',bkey:'0',qx:'',
children:[ children:[
{formId:'formId',id:'22',showStyle:'origin',fieldId:'four',fieldIdCamel:'four',fieldTitle:'布局-列1',isDict:'0',dictCode:'',fieldType:'text',fieldLength:12,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'22',showStyle:'origin',fieldId:'four',fieldIdCamel:'four',fieldTitle:'布局-列2',isDict:'0',dictCode:'',fieldType:'text',fieldLength:12,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'22',showStyle:'origin',fieldId:'four',fieldIdCamel:'four',fieldTitle:'布局-列1',isDict:'0',dictCode:'',fieldType:'text',fieldLength:12,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',id:'22',showStyle:'origin',fieldId:'four',fieldIdCamel:'four',fieldTitle:'布局-列2',isDict:'0',dictCode:'',fieldType:'text',fieldLength:12,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
{formId:'formId',showStyle:'origin',id:'four',idCamel:'four',title:'布局-列1',dict:'',typ:'text',len:12,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'four',idCamel:'four',title:'布局-列2',dict:'',typ:'text',len:12,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'four',idCamel:'four',title:'布局-列1',dict:'',typ:'text',len:12,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
{formId:'formId',showStyle:'origin',id:'four',idCamel:'four',title:'布局-列2',dict:'',typ:'text',len:12,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
] ]
} }
@ -271,22 +271,22 @@ export default {
metaItemSelected:{},// metaItemSelected:{},//
itemOptionMngVisible:false,// itemOptionMngVisible:false,//
fieldIds: [ fieldIds: [
{id:'zero',fieldId:'zero',fieldIdCamel:'zero'},
{id:'one',fieldId:'one',fieldIdCamel:'one'},
{id:'two',fieldId:'two',fieldIdCamel:'two'},
{id:'three',fieldId:'three',fieldIdCamel:'three'},
{id:'four',fieldId:'four',fieldIdCamel:'four'},
{id:'five',fieldId:'five',fieldIdCamel:'five'},
{id:'six',fieldId:'six',fieldIdCamel:'six'},
{id:'seven',fieldId:'seven',fieldIdCamel:'seven'},
{id:'eight',fieldId:'eight',fieldIdCamel:'eight'},
{id:'nine',fieldId:'nine',fieldIdCamel:'nine'},
{id:'ten',fieldId:'ten',fieldIdCamel:'ten'},
{id:'eleven',fieldId:'eleven',fieldIdCamel:'eleven'},
{id:'twelve',fieldId:'twelve',fieldIdCamel:'twelve'},
{id:'thirteen',fieldId:'thirteen',fieldIdCamel:'thirteen'},
{id:'fourteen',fieldId:'fourteen',fieldIdCamel:'fourteen'},
{id:'fifteen',fieldId:'fifteen',fieldIdCamel:'fifteen'}
{id:'zero',idCamel:'zero'},
{id:'one',idCamel:'one'},
{id:'two',idCamel:'two'},
{id:'three',idCamel:'three'},
{id:'four',idCamel:'four'},
{id:'five',idCamel:'five'},
{id:'six',idCamel:'six'},
{id:'seven',idCamel:'seven'},
{id:'eight',idCamel:'eight'},
{id:'nine',idCamel:'nine'},
{id:'ten',idCamel:'ten'},
{id:'eleven',idCamel:'eleven'},
{id:'twelve',idCamel:'twelve'},
{id:'thirteen',idCamel:'thirteen'},
{id:'fourteen',idCamel:'fourteen'},
{id:'fifteen',idCamel:'fifteen'}
], ],
// //
showData: { showData: {
@ -296,7 +296,7 @@ export default {
id:'',two:'',three:'',four:'',five:'',six:'',seven:'',eight:'',nine:'',ten:'',lastTime:'',one:'',zero:'',remark:'',formId:'',userid:'',eleven:'',twelve:'',thirteen:'',fourteen:'',fifteen:'',sixteen:'',seventeen:'',eighteen:'',nineteen:'',twenty:'',deptid:'',branchId:'' id:'',two:'',three:'',four:'',five:'',six:'',seven:'',eight:'',nine:'',ten:'',lastTime:'',one:'',zero:'',remark:'',formId:'',userid:'',eleven:'',twelve:'',thirteen:'',fourteen:'',fifteen:'',sixteen:'',seventeen:'',eighteen:'',nineteen:'',twenty:'',deptid:'',branchId:''
}, },
primaryKeys:[], primaryKeys:[],
defaultField:{formId:'formId',id:'22',showStyle:'origin',fieldId:'four',fieldIdCamel:'four',fieldTitle:'布局-列1',isDict:'0',dictCode:'',fieldType:'text',fieldLength:12,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''},
defaultField:{formId:'formId',showStyle:'origin',id:'four',idCamel:'four',title:'布局-列1',dict:'',typ:'text',len:12,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''},
/**end 在上面加自定义属性**/ /**end 在上面加自定义属性**/
}//end return }//end return
@ -320,23 +320,23 @@ export default {
setPrimaryKeys:function( ) { setPrimaryKeys:function( ) {
var primaryKeys=this.primaryKeys; var primaryKeys=this.primaryKeys;
var isBizKeyPrefix="";
var bkeyPrefix="";
if(primaryKeys.some(i=>i=='cuserid')){ if(primaryKeys.some(i=>i=='cuserid')){
isBizKeyPrefix="1"
bkeyPrefix="1"
}else{ }else{
isBizKeyPrefix="0"
bkeyPrefix="0"
} }
if(primaryKeys.some(i=>i=='deptid')){ if(primaryKeys.some(i=>i=='deptid')){
isBizKeyPrefix=isBizKeyPrefix+"1"
bkeyPrefix=bkeyPrefix+"1"
}else{ }else{
isBizKeyPrefix=isBizKeyPrefix+"0"
bkeyPrefix=bkeyPrefix+"0"
} }
this.selectedFields.forEach(field=>{ this.selectedFields.forEach(field=>{
if(primaryKeys.some(key=>field.fieldIdCamel==key)){
field.isBizKey=isBizKeyPrefix+"1"
if(primaryKeys.some(key=>field.idCamel==key)){
field.bkey=bkeyPrefix+"1"
}else{ }else{
field.isBizKey=isBizKeyPrefix+"0"
field.bkey=bkeyPrefix+"0"
} }
}); });
}, },
@ -356,7 +356,7 @@ export default {
} }
item2.id=noSelectFieldId.id item2.id=noSelectFieldId.id
item2.fieldId=noSelectFieldId.fieldId item2.fieldId=noSelectFieldId.fieldId
item2.fieldIdCamel=noSelectFieldId.fieldIdCamel
item2.idCamel=noSelectFieldId.idCamel
this.selectedFields[evt.newIndex]=item2; this.selectedFields[evt.newIndex]=item2;
this.addForm=item2; this.addForm=item2;
@ -364,13 +364,13 @@ export default {
deleteBaseData(){ deleteBaseData(){
this.addForm.isDict='0'; this.addForm.isDict='0';
this.addForm.dictCode='';
this.addForm.dict='';
}, },
calcSpan(child){ calcSpan(child){
if(child.fieldLength>0){
return child.fieldLength
if(child.lenth>0){
return child.lenth
} }
if(child.extFieldType=='textarea'){
if(child.extType=='textarea'){
return 24 return 24
}else{ }else{
return this.span return this.span
@ -423,7 +423,7 @@ export default {
var columList=datas.slice(1); var columList=datas.slice(1);
columList.forEach(k=>{ columList.forEach(k=>{
var c=k.split("\t") var c=k.split("\t")
var field={formId:'formId',id:c[columnIdIdx],showStyle:'origin',fieldId:c[columnIdIdx],fieldIdCamel:c[columnIdIdx],fieldTitle:c[columnRemarkIdx],isDict:'0',dictCode:'',fieldType:'text',fieldLength:12,defaultValue:'',isMultiple:'0',placeholder:'请输入',isRequired:'0',remark:'属性',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''}
var field={formId:'formId',id:c[columnIdIdx],showStyle:'origin',id:c[columnIdIdx],idCamel:c[columnIdIdx],title:c[columnRemarkIdx],dict:'',typ:'text',len:12,span:12,dval:'',mul:'0',hol:'请输入',isRequired:'0',remark:'属性',extType:'',toFlow:'0',bkey:'0',qx:''}
var noSelectFieldId=this.fieldIds.find(i=>{ var noSelectFieldId=this.fieldIds.find(i=>{
return !this.selectedFields.some(k=>k.id==i.id); return !this.selectedFields.some(k=>k.id==i.id);
}) })
@ -480,7 +480,7 @@ export default {
} }
if(datas && datas.length>0){ if(datas && datas.length>0){
Object.keys(datas[0]).forEach(k=>{ Object.keys(datas[0]).forEach(k=>{
var field={formId:'formId',id:k,showStyle:'origin',fieldId:k,fieldIdCamel:k,fieldTitle:k,isDict:'0',dictCode:'',fieldType:'text',fieldLength:12,defaultValue:'',isMultiple:'0',placeholder:'请输入'+k,isRequired:'0',remark:'',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''}
var field={formId:'formId',id:k,showStyle:'origin',id:k,idCamel:k,title:k,dict:'',typ:'text',len:12,span:12,dval:'',mul:'0',hol:'请输入'+k,isRequired:'0',remark:'',extType:'',toFlow:'0',bkey:'0',qx:''}
var noSelectFieldId=this.fieldIds.find(i=>{ var noSelectFieldId=this.fieldIds.find(i=>{
return !this.selectedFields.some(k=>k.id==i.id); return !this.selectedFields.some(k=>k.id==i.id);
}) })
@ -506,7 +506,7 @@ export default {
}, },
transColumnToField(o){ transColumnToField(o){
var field={formId:'formId',id:o.columnName,showStyle:'origin',fieldId:o.columnName,fieldIdCamel:o.camelsColumnName,fieldTitle:o.chinaName,isDict:'0',dictCode:'',fieldType:'text',fieldLength:12,defaultValue:'',isMultiple:'0',placeholder:'请输入'+o.chinaName,isRequired:'0',remark:'',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''}
var field={formId:'formId',id:o.columnName,showStyle:'origin',id:o.columnName,idCamel:o.camelsColumnName,title:o.chinaName,dict:'',typ:'text',len:12,span:12,dval:'',mul:'0',hol:'请输入'+o.chinaName,isRequired:'0',remark:'',extType:'',toFlow:'0',bkey:'0',qx:''}
var noSelectFieldId=this.fieldIds.find(i=>{ var noSelectFieldId=this.fieldIds.find(i=>{
return !this.selectedFields.some(k=>k.id==i.id); return !this.selectedFields.some(k=>k.id==i.id);
}) })
@ -517,7 +517,7 @@ export default {
return field; return field;
}, },
transOptionToField(o){ transOptionToField(o){
var field={formId:'formId',id:o.id,showStyle:'origin',fieldId:o.id,fieldIdCamel:o.id,fieldTitle:o.name,isDict:'0',dictCode:'',fieldType:'text',fieldLength:12,defaultValue:'',isMultiple:'0',placeholder:'请输入'+o.name,isRequired:'0',remark:'',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''}
var field={formId:'formId',id:o.id,showStyle:'origin',id:o.id,idCamel:o.id,title:o.name,dict:'',typ:'text',len:12,span:12,dval:'',mul:'0',hol:'请输入'+o.name,isRequired:'0',remark:'',extType:'',toFlow:'0',bkey:'0',qx:''}
var noSelectFieldId=this.fieldIds.find(i=>{ var noSelectFieldId=this.fieldIds.find(i=>{
return !this.selectedFields.some(k=>k.id==i.id); return !this.selectedFields.some(k=>k.id==i.id);
}) })
@ -612,7 +612,7 @@ export default {
this.myFormDef=this.formDef this.myFormDef=this.formDef
if(this.formFields){ if(this.formFields){
this.selectedFields=treeTool.translateDataToTree(this.formFields,'groupId','id')
this.selectedFields=treeTool.translateDataToTree(this.formFields,'pid','id')
}else{ }else{
this.selectedFields=[] this.selectedFields=[]
} }

Loading…
Cancel
Save