Browse Source

Merge branch 'mdp-lcode-ui-web-2.0.0-qqkj-inner'

master
陈裕财 2 years ago
parent
commit
5473f2f5db
  1. 1
      build/webpack.dev.conf.js
  2. 2
      src/api/mdp_pub/mdp_api_base.js
  3. 61
      src/components/mdp-ui-ext/mdp-expand/FormData.vue
  4. 8
      src/components/mdp-ui-ext/mdp-expand/FormDataItem.vue
  5. 1
      src/router/routes_lcode.js
  6. 45
      src/views/mdp/lcode/formData/Index.vue
  7. 115
      src/views/mdp/lcode/formDef/Form.vue
  8. 6
      src/views/mdp/lcode/formDef/Index.vue
  9. 10
      src/views/mdp/lcode/formField/FieldCfg.vue
  10. 6
      src/views/mdp/lcode/formField/Index.vue
  11. 5
      src/views/mdp/lcode/gen/Index.vue

1
build/webpack.dev.conf.js

@ -42,6 +42,7 @@ const devWebpackConfig = merge(baseWebpackConfig, {
overlay: { overlay: {
errors: config.dev.errorOverlay, errors: config.dev.errorOverlay,
warnings: false, warnings: false,
runtimeErrors:false,
}, },
}, },
}, },

2
src/api/mdp_pub/mdp_api_base.js

@ -69,7 +69,7 @@ clearDictCache:function(itemCode,params){
**/ **/
ajaxGetDictOptions:function(itemCode, params) ajaxGetDictOptions:function(itemCode, params)
{ {
debugger;
var codeKey=funcs.getCodeKey(itemCode,params); var codeKey=funcs.getCodeKey(itemCode,params);
return new Promise((resolve,reject)=>{ return new Promise((resolve,reject)=>{
var data=funcs.getDictOptionsFromCache(codeKey,itemCode,params) var data=funcs.getDictOptionsFromCache(codeKey,itemCode,params)

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

@ -4,7 +4,8 @@
<!--新增界面 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"> <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>
<mdp-form-data-item v-if="isExtInfosCpd" v-model="editForm[camelDataField+'2']" :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>
@ -15,33 +16,6 @@
<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> </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>
</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)
}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},
@ -140,19 +127,19 @@ import treeTool from '@/components/mdp-ui/js/treeTool.js'
editSubmit: function () { editSubmit: function () {
this.$refs.editForm.validate((valid) => { this.$refs.editForm.validate((valid) => {
if (valid) { if (valid) {
debugger
this.editLoading = true; this.editLoading = true;
let params = Object.assign({}, this.editForm); let params = Object.assign({}, this.editForm);
var extInfosKeys=Object.keys(params).filter(k=>k.indexOf(".")>0)
if(extInfosKeys && extInfosKeys.length>0){
if(this.isExtInfosCpd){
var extInfos=[] var extInfos=[]
extInfosKeys.forEach(k=>{
var key=k.split(".")[1]
extInfos[key]=params[k]
var extInfo={id:key,value:params[k]}
var extInfos2=this.editForm[this.camelDataField+"2"]
Object.keys(extInfos2).forEach(k=>{
var key=k
var extInfo={id:key,value:extInfos2[k]}
extInfos.push(extInfo) extInfos.push(extInfo)
delete params[k]
}) })
params['extInfos']=JSON.stringify(extInfos)
delete params[this.camelDataField+"2"]
params[this.camelDataField]=JSON.stringify(extInfos)
} }
if(params.formId==null || params.formId==''){ if(params.formId==null || params.formId==''){
params.formId=this.formDef.id params.formId=this.formDef.id

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

@ -1,5 +1,5 @@
<template> <template>
<section>
<section v-if="field.hidden!='1'">
<el-row> <el-row>
<el-row v-if="field.extType=='row'" :gutter="gutter"> <el-row v-if="field.extType=='row'" :gutter="gutter">
<el-col v-for="child,idx in field.children" :key="idx" :span="calcSpan(child,field)"> <el-col v-for="child,idx in field.children" :key="idx" :span="calcSpan(child,field)">
@ -156,7 +156,10 @@
return {} return {}
} }
}, },
gutter:{
type:Number,
default:0
}
}, },
watch: { watch: {
value:function(){ value:function(){
@ -205,6 +208,7 @@
}, },
onFieldChange(val){ onFieldChange(val){
debugger;
this.$emit('input',this.editForm) this.$emit('input',this.editForm)
this.$emit('change',this.editForm,this.field) this.$emit('change',this.editForm,this.field)

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 }
] ]

45
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)">
<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"> <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>
<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']={}
}
} }
}) })

115
src/views/mdp/lcode/formDef/Form.vue

@ -4,7 +4,7 @@
<form-field ref="formFields" :form-def.sync="editForm" :form-fields="formFields" :visible="formFieldsVisible"> <form-field ref="formFields" :form-def.sync="editForm" :form-fields="formFields" :visible="formFieldsVisible">
<span slot="setBtn"> <span slot="setBtn">
<el-button type="success" @click="goToFormDefIndex()" icon="el-icon-search">表单中心</el-button> <el-button type="success" @click="goToFormDefIndex()" icon="el-icon-search">表单中心</el-button>
<el-button type="primary" icon="el-icon-setting" @click="$refs['formSetDialog'].open(editForm)">表单配置</el-button>
<el-button type="primary" icon="el-icon-setting" @click="$refs['formSetDialog'].open({pkOptions:getPkOptions()})">表单配置</el-button>
</span> </span>
<el-input slot="formName" label="标题" v-model="editForm.formName" required width="100%"> </el-input> <el-input slot="formName" label="标题" v-model="editForm.formName" required width="100%"> </el-input>
</form-field> </form-field>
@ -33,10 +33,15 @@
<el-form-item label="存储方式" prop="dataType"> <el-form-item label="存储方式" prop="dataType">
<mdp-select item-code="form_data_type" show-style="tag" v-model="editForm.dataType"></mdp-select> <mdp-select item-code="form_data_type" show-style="tag" v-model="editForm.dataType"></mdp-select>
</el-form-item> </el-form-item>
<el-form-item label="主键" prop="pks">
<mdp-select show-style="tag" :multiple="true" v-model="editForm.pks" :plus-options="pkOptions" :props="{id:'id',name:'title'}" split="," @change2="onPksChange"></mdp-select>
<el-form-item label="主键" prop="pks" :rules="[{required:true,message:'此项必填',trigger:'change'}]" v-if="editForm.dataType=='1'||editForm.dataType=='3'">
<el-input v-model="editForm.pks" v-if="editForm.dataType=='2'" placeholder="宿主表主键将由后台自动获取" readonly></el-input>
<mdp-select v-else show-style="tag" :multiple="true" v-model="editForm.pks" :plus-options="pkOptions" :props="{id:'id',name:'title'}" split="," @change2="onPksChange"></mdp-select>
</el-form-item> </el-form-item>
<span v-if="['2'].some(k=>k==editForm.dataType)"> <span v-if="['2'].some(k=>k==editForm.dataType)">
<el-form-item label="数据源名称" :rules="{required:true,message:'此项必填',trigger:'change'}">
<mdp-select v-model="editForm.tableOwner" :load-fun="dataSourceList" ></mdp-select>
</el-form-item>
<el-form-item label="表名" prop="tableName" :rules="{required:true,message:'此项必填',trigger:'change'}"> <el-form-item label="表名" prop="tableName" :rules="{required:true,message:'此项必填',trigger:'change'}">
<el-input v-model="editForm.tableName" placeholder="请保持与数据库表名一致"></el-input> <el-input v-model="editForm.tableName" placeholder="请保持与数据库表名一致"></el-input>
</el-form-item> </el-form-item>
@ -46,12 +51,13 @@
</span> </span>
<span v-if="['3'].some(k=>k==editForm.dataType)"> <span v-if="['3'].some(k=>k==editForm.dataType)">
<el-form-item label="表名" prop="tableName" :rules="{required:true,message:'此项必填',trigger:'change'}">
<el-input v-model="editForm.tableName" placeholder="请保持与数据库表名一致"></el-input>
</el-form-item>
<el-form-item label="数据源名称" :rules="{required:true,message:'此项必填',trigger:'change'}"> <el-form-item label="数据源名称" :rules="{required:true,message:'此项必填',trigger:'change'}">
<mdp-select v-model="editForm.tableOwner" :load-fun="dataSourceList" ></mdp-select> <mdp-select v-model="editForm.tableOwner" :load-fun="dataSourceList" ></mdp-select>
</el-form-item> </el-form-item>
<el-form-item label="表名" prop="tableName" :rules="{required:true,message:'此项必填',trigger:'change'}">
<el-input v-model="editForm.tableName" placeholder="请保持与数据库表名一致"></el-input>
</el-form-item>
<el-form-item label="建表方式" :rules="{required:true,message:'此项必填',trigger:'change'}"> <el-form-item label="建表方式" :rules="{required:true,message:'此项必填',trigger:'change'}">
<mdp-select v-model="editForm.ctType" item-code="lcode_create_table_type"></mdp-select> <mdp-select v-model="editForm.ctType" item-code="lcode_create_table_type"></mdp-select>
</el-form-item> </el-form-item>
@ -61,8 +67,8 @@
</template> </template>
<template #footer="{visible,data,dialog}"> <template #footer="{visible,data,dialog}">
<el-row slot="footer" class="footer"> <el-row slot="footer" class="footer">
<el-button @click="$refs['formSetDialog'].close()">关闭</el-button>
<el-button type="primary" @click="saveSubmit">确认</el-button>
<el-button @click="dialog.close()">关闭</el-button>
<el-button type="primary" @click="saveSubmitDialog">确认</el-button>
</el-row> </el-row>
</template> </template>
</mdp-dialog> </mdp-dialog>
@ -89,19 +95,7 @@ export default {
}, },
computed: { computed: {
pkOptions(){ pkOptions(){
var pkOptions=[]
if(this.formFields){
pkOptions.push(...this.formFields.filter(k=>k.extType!='row' && k.extType!='card' && k.extType!='tabs'))
}
pkOptions.push({id:'cuserid',title:'创建用户编号'})
pkOptions.push({id:'deptid',title:'创建部门编号'})
pkOptions.push({id:'ctime:1',title:'创建日期(yyy)'})
pkOptions.push({id:'ctime:2',title:'创建日期(yyy-MM)'})
pkOptions.push({id:'ctime:3',title:'创建日期(yyy-MM-dd)'})
pkOptions.push({id:'ctime:4',title:'创建日期(yyy-MM-dd HH)'})
pkOptions.push({id:'ctime:5',title:'创建日期(yyy-MM-dd HH:mm)'})
pkOptions.push({id:'ctime:6',title:'创建日期(yyy-MM-dd HH:mm:ss)'})
return pkOptions;
return this.getPkOptions()
} }
}, },
props:{ props:{
@ -148,6 +142,21 @@ export default {
}, },
methods: { methods: {
dataSourceList, dataSourceList,
getPkOptions(){
var formFields=this.$refs.formFields.getFieldList();
var pkOptions=[...formFields.filter(k=>k.extType!='row' && k.extType!='card' && k.extType!='tabs')];
if(this.editForm.dataType=='1'){
pkOptions.push({id:'cuserid',title:'创建用户编号'})
pkOptions.push({id:'deptid',title:'创建部门编号'})
pkOptions.push({id:'ctime:1',title:'创建日期(yyy)'})
pkOptions.push({id:'ctime:2',title:'创建日期(yyy-MM)'})
pkOptions.push({id:'ctime:3',title:'创建日期(yyy-MM-dd)'})
pkOptions.push({id:'ctime:4',title:'创建日期(yyy-MM-dd HH)'})
pkOptions.push({id:'ctime:5',title:'创建日期(yyy-MM-dd HH:mm)'})
pkOptions.push({id:'ctime:6',title:'创建日期(yyy-MM-dd HH:mm:ss)'})
}
return pkOptions;
},
//(mounted+onOpen) //(mounted+onOpen)
initCurrData(){ initCurrData(){
if(!this.formId){ if(!this.formId){
@ -211,6 +220,63 @@ export default {
return true; return true;
}, },
saveSubmit: function () { saveSubmit: function () {
if(this.editForm.formName==''){
this.$notify({position:'bottom-left',showClose:true,message: '表单名称不能为空', type: 'error' });
return;
}
var formFields=this.$refs.formFields.getFieldList();
if(formFields.length==0 ){
this.$notify({position:'bottom-left',showClose:true,message: '最少需要定义一个字段', type: 'error' });
return;
}
if(this.editForm.dataType=='1'||this.editForm.dataType=='3'){
if(!this.editForm.pks){
this.$notify({position:'bottom-left',showClose:true,message: '请设置表单主键', type: 'error' });
return;
}
}
this.$confirm('确认提交吗?', '提示', {}).then(() => {
this.load.edit=true
let formDef = Object.assign({}, this.editForm);
if(this.currOpType=='add'){
formDef.deptid=this.userInfo.deptid
formDef.branchId=this.userInfo.branchId
}
this.$refs.formFields.setPrimaryKeys();
formFields.forEach((i,index)=>{i.seq=index});
var params={formDef:formDef,formFields:formFields};
if(!this.preParamCheck(params)){
this.load.edit=false
return;
}
var func=this.apis.add
if(this.currOpType=='edit'){
func=this.apis.edit
}
func(params).then((res) => {
this.load.edit=false
var tips=res.data.tips;
if(tips.isOk){
var data=res.data.data
Object.assign(this.editForm,data.formDef)
this.formFields=data.formFields
this.$mdp.removeFormFieldsCache(this.editForm.id)
this.currOpType='edit'
this.afterSubmit(res,tips.isOk,this.currOpType);
}
this.$notify({ position:'bottom-left',showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err =>this.load.edit=false);
}).catch(()=>{});
},
saveSubmitDialog: function () {
this.$refs['editFormRef'].validate(valid=>{ this.$refs['editFormRef'].validate(valid=>{
if(valid==false){ if(valid==false){
this.$notify({position:'bottom-left',showClose:true,message: '表单验证不通过', type: 'error' }); this.$notify({position:'bottom-left',showClose:true,message: '表单验证不通过', type: 'error' });
@ -249,16 +315,17 @@ export default {
this.load.edit=false this.load.edit=false
var tips=res.data.tips; var tips=res.data.tips;
if(tips.isOk){ if(tips.isOk){
this.$mdp.removeFormFieldsCache(formDef.id)
this.currOpType='edit'
var data=res.data.data var data=res.data.data
Object.assign(this.editForm,data.formDef) Object.assign(this.editForm,data.formDef)
this.formFields=data.formFields this.formFields=data.formFields
this.$mdp.removeFormFieldsCache(this.editForm.id)
this.currOpType='edit'
this.afterSubmit(res,tips.isOk,this.currOpType); this.afterSubmit(res,tips.isOk,this.currOpType);
} }
this.$notify({ position:'bottom-left',showClose:true, message: tips.msg, type: tips.isOk?'success':'error' }); this.$notify({ position:'bottom-left',showClose:true, message: tips.msg, type: tips.isOk?'success':'error' });
}).catch( err =>this.load.edit=false); }).catch( err =>this.load.edit=false);
});
}).catch(()=>{});
}) })

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

@ -50,7 +50,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="dataType" label="存储方式" min-width="150" item-code="form_data_type" show-overflow-tooltip col-type="String" v-if="showCol('dataType')"> <el-table-column prop="dataType" label="存储方式" min-width="150" item-code="form_data_type" show-overflow-tooltip col-type="String" v-if="showCol('dataType')">
<template slot-scope="scope"> <template slot-scope="scope">
<mdp-select show-style="tag" item-code="form_data_type" v-model="scope.row.dataType" :maxlength="255" @change="editSomeFields(scope.row,'dataType',$event)" :disabled="disabledJudge('dataType')"/>
<mdp-select show-style="tag" item-code="form_data_type" v-model="scope.row.dataType" :maxlength="255" @change="editSomeFields(scope.row,'dataType',$event)" :disabled="true||disabledJudge('dataType')"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="branchId" label="机构编号" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('branchId')"> <el-table-column prop="branchId" label="机构编号" min-width="120" show-overflow-tooltip col-type="String" v-if="showCol('branchId')">
@ -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(){

10
src/views/mdp/lcode/formField/FieldCfg.vue

@ -20,9 +20,7 @@
:open-delay="700" :open-delay="700"
trigger="hover"> trigger="hover">
<div> <div>
编码规则 支持两种编码格式假设有字段 客户姓名 cust_name <br>
1. ext_infos.cust_name, 此编码方式的字段用户录入的客户姓名将存储在ext_infos.cust_name<br>
2. cust_name 不带ext_infos.此编码方式的字段用户录入的客户姓名将存储在 cust_name<br>
编码规则 举例 客户姓名 cust_name <br>
</div> </div>
<el-input slot="reference" v-model="field.id" auto-complete="off" placeholder="请输入内容" @change="onIdChange" @click.native="oldId=field.id"> <el-input slot="reference" v-model="field.id" auto-complete="off" placeholder="请输入内容" @change="onIdChange" @click.native="oldId=field.id">
<template slot="append"> <template slot="append">
@ -33,12 +31,14 @@
</el-popover> </el-popover>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-checkbox v-model="field.bkey" true-label="1" false-label="0" @change="onBkeyChange">是否主键</el-checkbox>
<el-checkbox v-model="field.req" :disabled="field.bkey=='1'" true-label="1" false-label="0">是否必输</el-checkbox>
<el-checkbox v-model="field.bkey" true-label="1" false-label="0" @change="onBkeyChange">主键</el-checkbox>
<el-checkbox v-model="field.req" :disabled="field.bkey=='1'" 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-checkbox v-model="field.mul" :disabled=" field.typ!='checkbox' && field.typ!='select' && field.extType!='dept'" true-label="1" false-label="0">多选</el-checkbox>
<el-checkbox v-model="field.ronly" true-label="1" false-label="0">只读</el-checkbox> <el-checkbox v-model="field.ronly" true-label="1" false-label="0">只读</el-checkbox>
<el-checkbox v-model="field.hidden" true-label="1" false-label="0">隐藏</el-checkbox>
</el-form-item> </el-form-item>
<el-form-item label="长度" prop="len"> <el-form-item label="长度" prop="len">

6
src/views/mdp/lcode/formField/Index.vue

@ -64,8 +64,8 @@
</el-row> </el-row>
<mdp-dialog ref="dbFormDialog"> <mdp-dialog ref="dbFormDialog">
<el-form :model="dbForm" ref="dbFormRef"> <el-form :model="dbForm" ref="dbFormRef">
<el-form-item label="数据" :rules="{required:true,message:'此项必输',trigger:'blur'}" prop="owner">
<el-input v-model="dbForm.owner"></el-input>
<el-form-item label="数据" :rules="{required:true,message:'此项必输',trigger:'blur'}" prop="owner">
<mdp-select v-model="dbForm.owner" :load-fun="dataSourceList" ></mdp-select>
</el-form-item> </el-form-item>
<el-form-item label="表名" :rules="{required:true,message:'此项必输',trigger:'blur'}" prop="tableName"> <el-form-item label="表名" :rules="{required:true,message:'此项必输',trigger:'blur'}" prop="tableName">
<el-input v-model="dbForm.tableName"></el-input> <el-input v-model="dbForm.tableName"></el-input>
@ -138,6 +138,7 @@ import axios from '@/utils/request'
import axiosNoAuth from '@/utils/requestNoAuth' import axiosNoAuth from '@/utils/requestNoAuth'
import { getToken} from '@/utils/auth' import { getToken} from '@/utils/auth'
import {dataSourceList} from '@/api/mdp/lcode/dev'
import draggable from 'vuedraggable' import draggable from 'vuedraggable'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import MdpFormField from './Field.vue' import MdpFormField from './Field.vue'
@ -316,6 +317,7 @@ export default {
}//end return }//end return
},//end data },//end data
methods: { methods: {
dataSourceList,
// @cancel="addFormVisible=false" // @cancel="addFormVisible=false"
handleCancel:function(){ handleCancel:function(){
this.$emit('cancel'); this.$emit('cancel');

5
src/views/mdp/lcode/gen/Index.vue

@ -4,7 +4,7 @@
<el-col :span="24"> <el-col :span="24">
<el-form :model="dbForm" ref="dbFormRef"> <el-form :model="dbForm" ref="dbFormRef">
<el-form-item label="数据库" :rules="{required:true,message:'此项必输',trigger:'blur'}" prop="dbOwner"> <el-form-item label="数据库" :rules="{required:true,message:'此项必输',trigger:'blur'}" prop="dbOwner">
<el-input v-model="dbForm.dbOwner" placeholder="数据库用户"></el-input>
<mdp-select v-model="dbForm.dbOwner" :load-fun="dataSourceList" ></mdp-select>
</el-form-item> </el-form-item>
<el-form-item label="表名" :rules="{required:true,message:'此项必输',trigger:'blur'}" prop="tableNames" title="支持多个表,逗号分割"> <el-form-item label="表名" :rules="{required:true,message:'此项必输',trigger:'blur'}" prop="tableNames" title="支持多个表,逗号分割">
<el-input type="textarea" :rows="4" v-model="dbForm.tableNames" placeholder="支持多个表,逗号分割,如sys_user,sys_dept"></el-input> <el-input type="textarea" :rows="4" v-model="dbForm.tableNames" placeholder="支持多个表,逗号分割,如sys_user,sys_dept"></el-input>
@ -40,6 +40,8 @@
</template> </template>
<script> <script>
import {dataSourceList} from '@/api/mdp/lcode/dev'
export default { export default {
computed: { computed: {
}, },
@ -61,6 +63,7 @@ export default {
} }
},//end data },//end data
methods: { methods: {
dataSourceList,
genCode(){ genCode(){
this.$refs['dbFormRef'].validate(valid=>{ this.$refs['dbFormRef'].validate(valid=>{
if(valid){ if(valid){

Loading…
Cancel
Save