Browse Source

优化extInfos

master
陈裕财 2 years ago
parent
commit
f75b263039
  1. 49
      src/components/mdp-ui-ext/mdp-expand/FormData.vue
  2. 1
      src/router/routes_lcode.js
  3. 47
      src/views/mdp/lcode/formData/Index.vue
  4. 4
      src/views/mdp/lcode/formDef/Index.vue

49
src/components/mdp-ui-ext/mdp-expand/FormData.vue

@ -3,8 +3,9 @@
<el-row v-if="fields.length>0"> <el-row v-if="fields.length>0">
<!--新增界面 FormData 表单数据表--> <!--新增界面 FormData 表单数据表-->
<el-form :model="editForm" :label-width="labelWidthCpd" :label-position="labelPosition" :show-message="true" :rules="editFormRules" ref="editForm"> <el-form :model="editForm" :label-width="labelWidthCpd" :label-position="labelPosition" :show-message="true" :rules="editFormRules" ref="editForm">
<el-col :span="spanCalc(item)" v-for="(item,index) in fields" :key="index">
<mdp-form-data-item v-model="editForm" :field="item"></mdp-form-data-item>
<el-col :span="spanCalc(item)" v-for="(item,index) in fields" :key="index">
<mdp-form-data-item v-if="isExtInfosCpd" v-model="editForm[camelDataField]" :field="item"></mdp-form-data-item>
<mdp-form-data-item v-else v-model="editForm" :field="item"></mdp-form-data-item>
</el-col> </el-col>
</el-form> </el-form>
</el-row> </el-row>
@ -14,34 +15,7 @@
<el-button @click.native="handleCancel">关闭</el-button> <el-button @click.native="handleCancel">关闭</el-button>
<el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button> <el-button type="primary" @click.native="editSubmit" :loading="editLoading">提交</el-button>
</el-row> </el-row>
</slot>
<mdp-dialog ref="imageDialog" title="选择图片" width="80%" :modal="false">
<template v-slot="{visible,data,dialog}">
<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
}else{
data.formData[data.item.fieldIdCamel]=imgs&&imgs.length>0?imgs[0].url:null
}
dialog.close();
}"></mdp-select-image>
</template>
</mdp-dialog>
<mdp-dialog ref="attDialog" title="选择文件" width="80%" :modal="false">
<template v-slot="{visible,data,dialog}">
<mdp-select-att v-if="visible" :visible="visible" :multiple="data.item.isMultiple=='1'" @select="(imgs)=>{
if(data.item.isMultiple=='1'){
data.formData[data.item.fieldIdCamel]=imgs&&imgs.length>0?imgs.map(i=>i.url).join(','):null
}else{
data.formData[data.item.fieldIdCamel]= (imgs?imgs.url:null)
}
dialog.close();
}" split=","></mdp-select-att>
</template>
</mdp-dialog>
</slot>
</section> </section>
</template> </template>
@ -70,9 +44,22 @@ import treeTool from '@/components/mdp-ui/js/treeTool.js'
this.initFieldQx(k) this.initFieldQx(k)
}) })
return formFields return formFields
}
},
isExtInfosCpd(){
return this.formDef?this.formDef.dataType=='2':false
},
camelDataField(){
if(this.formDef){
return this.$mdp.toCamel(this.formDef.dataField)+"2"
}else{
return 'extInfos2'
}
},
}, },
props:{ props:{
visible:{type:Boolean,default:false}, visible:{type:Boolean,default:false},
value:{type:Object,default:null}, value:{type:Object,default:null},
formDef:{type:Object,default:null}, formDef:{type:Object,default:null},

1
src/router/routes_lcode.js

@ -27,6 +27,7 @@ export default {
{ path: 'data/add/:formId', component: _import("mdp/lcode/formData/FormRoute"), name: '数据填报',meta:{title:'FormDataAddRoute'} ,hidden:true }, { path: 'data/add/:formId', component: _import("mdp/lcode/formData/FormRoute"), name: '数据填报',meta:{title:'FormDataAddRoute'} ,hidden:true },
{ path: 'data/index/:formId', component: _import("mdp/lcode/formData/Index"), name: '智能表单数据管理',meta:{title:'FormDataMng' } ,hidden:true }, { path: 'data/index/:formId', component: _import("mdp/lcode/formData/Index"), name: '智能表单数据管理',meta:{title:'FormDataMng' } ,hidden:true },
{ path: 'data/index/:formId/:dataType/:dataField', component: _import("mdp/lcode/formData/Index"), name: '智能表单数据管理',meta:{title:'FormDataMng' } ,hidden:true },
{ path: 'data/mng', component: _import("mdp/lcode/formData/Index"), name: 'FormDataMng', meta:{title:'FormDataMng'},hidden:true } { path: 'data/mng', component: _import("mdp/lcode/formData/Index"), name: 'FormDataMng', meta:{title:'FormDataMng'},hidden:true }
] ]

47
src/views/mdp/lcode/formData/Index.vue

@ -55,10 +55,16 @@
<mdp-select-tag show-style="tag" v-model="scope.row.tagIds" multiple split="," :maxlength="255" @change="editSomeFields(scope.row,'tagIds',$event)" :disabled="disabledJudge('tagIds')"/> <mdp-select-tag show-style="tag" v-model="scope.row.tagIds" multiple split="," :maxlength="255" @change="editSomeFields(scope.row,'tagIds',$event)" :disabled="disabledJudge('tagIds')"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column v-for="c,idx in fields.filter(k=>k.extType!='row' && k.extType!='card' && k.extType!='tabs')" :key="idx" :prop="c.idCamel" :label="c.title" min-width="120" show-overflow-tooltip col-type="String" v-show="showCol(c.idCamel)">
<template slot-scope="scope">
<mdp-select v-if="c.dict" :item-code="c.dict" show-style="tag" v-model="scope.row[c.idCamel]" :multiple="c.mul=='1'" split="," :maxlength="255" :disabled="true||disabledJudge(c.idCamel)"/>
<div v-else>{{scope.row[c.idCamel]}}</div>
<el-table-column v-for="c,idx in fields.filter(k=>k.extType!='row' && k.extType!='card' && k.extType!='tabs')" :key="idx" :label="c.title" min-width="120" show-overflow-tooltip col-type="String" v-show="showCol(c.idCamel)">
<template slot-scope="scope">
<div v-if="isExtInfosCpd">
<mdp-select v-if="c.dict" :item-code="c.dict" show-style="tag" v-model="scope.row[camelDataField][c.idCamel]" :multiple="c.mul=='1'" split="," :maxlength="255" :disabled="true||disabledJudge(c.idCamel)"/>
<div v-else>{{scope.row[camelDataField][c.idCamel]}}</div>
</div>
<div v-else>
<mdp-select v-if="c.dict" :item-code="c.dict" show-style="tag" v-model="scope.row[c.idCamel]" :multiple="c.mul=='1'" split="," :maxlength="255" :disabled="true||disabledJudge(c.idCamel)"/>
<div v-else>{{scope.row[c.idCamel]}}</div>
</div>
</template> </template>
</el-table-column> </el-table-column>
@ -175,6 +181,12 @@ export default {
FormDataForm, FormDataForm,
}, },
computed: { computed: {
isExtInfosCpd(){
return this.myFormDef.dataType=='2'
},
camelDataField(){
return this.$mdp.toCamel(this.myFormDef.dataField)+"2"
}
}, },
watch:{ watch:{
$route(to){ $route(to){
@ -253,15 +265,26 @@ export default {
// //
afterList(datas,isOk,apiName){ afterList(datas,isOk,apiName){
if(datas){ if(datas){
debugger;
var dataType=this.$route.params.dataType
var dataField=this.$route.params.dataField
var camelDf=this.$mdp.toCamel(dataField)
datas.forEach(d=>{ datas.forEach(d=>{
if(d.extInfos){
var extInfos=JSON.parse(d.extInfos)
var extInfos2={}
extInfos.forEach(e=>{
extInfos2[e.id]=e.value
d['extInfos.'+e.id]=e.value
})
d.extInfos=extInfos2
if(d[camelDf]){
var extInfosStr=d[camelDf]
if(extInfosStr){
var extInfos=typeof(extInfosStr)=='string'?JSON.parse(extInfosStr):extInfosStr
var extInfos2={}
extInfos.forEach(e=>{
extInfos2[e.id]=e.value
})
d[camelDf]=extInfos
d[camelDf+'2']=extInfos2
}else{
d[camelDf]=[]
d[camelDf+'2']={}
}
} }
}) })

4
src/views/mdp/lcode/formDef/Index.vue

@ -131,7 +131,7 @@
<el-button :disabled="disabledJudge('editBtn') || !checkBtnQx('editBtn',menuDefId) || !checkFormDefQx(scope.row,'editBtn') " type="primary" @click="toDesign(scope.row)" icon="el-icon-edit" title="修改一条数据">设计</el-button> <el-button :disabled="disabledJudge('editBtn') || !checkBtnQx('editBtn',menuDefId) || !checkFormDefQx(scope.row,'editBtn') " type="primary" @click="toDesign(scope.row)" icon="el-icon-edit" title="修改一条数据">设计</el-button>
<el-button :disabled="disabledJudge('delBtn') || !checkBtnQx('delBtn',menuDefId) || !checkFormDefQx(scope.row,'editBtn') " type="danger" @click="handleDel2(scope.row,scope.$index)" icon="el-icon-delete" title="删除一条数据"/> <el-button :disabled="disabledJudge('delBtn') || !checkBtnQx('delBtn',menuDefId) || !checkFormDefQx(scope.row,'editBtn') " type="danger" @click="handleDel2(scope.row,scope.$index)" icon="el-icon-delete" title="删除一条数据"/>
<el-button :disabled="disabledJudge('editBtn') || !checkBtnQx('editBtn',menuDefId) || !checkFormDefQx(scope.row,'editBtn') " @click="$refs['formQxDialog'].open({formData:scope.row})">权限</el-button> <el-button :disabled="disabledJudge('editBtn') || !checkBtnQx('editBtn',menuDefId) || !checkFormDefQx(scope.row,'editBtn') " @click="$refs['formQxDialog'].open({formData:scope.row})">权限</el-button>
<el-button @click="openRoute({formId:scope.row.id,title:scope.row.formName})">数据</el-button>
<el-button @click="openRoute({formId:scope.row.id,dataType:scope.row.dataType,dataField:scope.row.dataField,title:scope.row.formName})">数据</el-button>
</template> </template>
@ -302,7 +302,7 @@ export default {
} }
}, },
openRoute(data){ openRoute(data){
this.$router.push({path:'/mdp/lcode/data/index/'+data.formId})
this.$router.push({path:`/mdp/lcode/data/index/${data.formId}/${data.dataType}/${data.dataField}`})
}, },
toDesignAdd(){ toDesignAdd(){

Loading…
Cancel
Save