Browse Source

优化

master
陈裕财 2 years ago
parent
commit
0f1e30b392
  1. 1
      build/webpack.dev.conf.js
  2. 2
      src/api/mdp_pub/mdp_api_base.js
  3. 69
      src/views/mdp/lcode/formDef/Form.vue
  4. 2
      src/views/mdp/lcode/formDef/Index.vue
  5. 6
      src/views/mdp/lcode/formField/Index.vue
  6. 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)

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

@ -34,9 +34,14 @@
<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" > <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-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>
@ -211,6 +217,55 @@ 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;
}
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){
this.$mdp.removeFormFieldsCache(formDef.id)
this.currOpType='edit'
var data=res.data.data
Object.assign(this.editForm,data.formDef)
this.formFields=data.formFields
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' });
@ -258,7 +313,7 @@ export default {
} }
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(()=>{});
}) })

2
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')">

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