|
|
|
@ -90,17 +90,29 @@ |
|
|
|
<mdp-select item-code="request_method" v-model="apiParams.method" placeholder="如 get/post/"></mdp-select> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="请求参数" prop="params"> |
|
|
|
<el-input type="textarea" :rows="10" v-model="apiParams.params" placeholder="如 { userid:xxxx }"></el-input> |
|
|
|
<el-input type="textarea" :rows="10" v-model="apiParams.params" placeholder='如 { userid:"xxxx" }'></el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="授权信息" prop="header"> |
|
|
|
<el-checkbox v-model="apiParams.useMyLoginToken">使用本系统登陆的token</el-checkbox> |
|
|
|
<el-input v-if="apiParams.useMyLoginToken==false" type="textarea" :rows="10" v-model="apiParams.header" placeholder="格式 如 Authorization:Bearer jwtTokenXXadkfdfdadfd"></el-input> |
|
|
|
<el-input v-if="apiParams.useMyLoginToken==false" type="textarea" :rows="10" v-model="apiParams.header" placeholder='格式 如 {Authorization:"Bearer jwtTokenXXadkfdfdadfd"}'></el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="取数函数JS" prop="parseDataFunc"> |
|
|
|
<el-input type="textarea" :rows="10" v-model="apiParams.parseDataFunc" placeholder="请求结果,默认取res.data.data的数据,如果返回结构不一致,请在此用js写取值逻辑"></el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item label="例子"> |
|
|
|
if(res.data.tips.isOk){<br/> |
|
|
|
return res.data.data;<br/> |
|
|
|
}else{<br/> |
|
|
|
return null;<br/> |
|
|
|
}<br/> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-row slot="footer"> |
|
|
|
<el-button @click="$refs['apiDialog'].close()">关闭</el-button> |
|
|
|
<el-button type="primary" @click="initFormFieldsByAiTable">确定</el-button> |
|
|
|
<el-button type="primary" @click="initFormFieldsByApi">确定</el-button> |
|
|
|
</el-row> |
|
|
|
</mdp-dialog> |
|
|
|
<mdp-dialog ref="itemDialog" title="选择数据组" width="80%" :modal="false"> |
|
|
|
@ -115,9 +127,14 @@ |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import axios from '@/utils/request' |
|
|
|
import axiosNoAuth from '@/utils/requestNoAuth' |
|
|
|
import { getToken} from '@/utils/auth' |
|
|
|
|
|
|
|
import draggable from 'vuedraggable' |
|
|
|
import { mapGetters } from 'vuex' |
|
|
|
import MdpField from './Field.vue' |
|
|
|
import {listTableColumn} from '@/api/mdp/form/FormField.js' |
|
|
|
export default { |
|
|
|
computed: { |
|
|
|
...mapGetters([ |
|
|
|
@ -175,10 +192,11 @@ |
|
|
|
aiTableInfosStr:'', |
|
|
|
apiParams:{ |
|
|
|
url:'', |
|
|
|
method:'', |
|
|
|
method:'GET', |
|
|
|
params:'', |
|
|
|
header:'Authorization:Bearer jwtTokenXXadkfdfdadfd', |
|
|
|
headers:'',//{Authorization:"Bearer jwtTokenXXadkfdfdadfd"} |
|
|
|
useMyLoginToken:true, |
|
|
|
parseDataFunc:'', |
|
|
|
}, |
|
|
|
filters:{ |
|
|
|
users:[] |
|
|
|
@ -240,22 +258,22 @@ |
|
|
|
metaItemSelected:{},//选择的基础数据二级分类代码 |
|
|
|
itemOptionMngVisible:false,//基础数据弹出框 |
|
|
|
fieldIds: [ |
|
|
|
{fieldId:'zero',fieldIdCamel:'zero'}, |
|
|
|
{fieldId:'one',fieldIdCamel:'one'}, |
|
|
|
{fieldId:'two',fieldIdCamel:'two'}, |
|
|
|
{fieldId:'three',fieldIdCamel:'three'}, |
|
|
|
{fieldId:'four',fieldIdCamel:'four'}, |
|
|
|
{fieldId:'five',fieldIdCamel:'five'}, |
|
|
|
{fieldId:'six',fieldIdCamel:'six'}, |
|
|
|
{fieldId:'seven',fieldIdCamel:'seven'}, |
|
|
|
{fieldId:'eight',fieldIdCamel:'eight'}, |
|
|
|
{fieldId:'nine',fieldIdCamel:'nine'}, |
|
|
|
{fieldId:'ten',fieldIdCamel:'ten'}, |
|
|
|
{fieldId:'eleven',fieldIdCamel:'eleven'}, |
|
|
|
{fieldId:'twelve',fieldIdCamel:'twelve'}, |
|
|
|
{fieldId:'thirteen',fieldIdCamel:'thirteen'}, |
|
|
|
{fieldId:'fourteen',fieldIdCamel:'fourteen'}, |
|
|
|
{fieldId:'fifteen',fieldIdCamel:'fifteen'} |
|
|
|
{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'} |
|
|
|
], |
|
|
|
//新增界面数据 表单数据表 |
|
|
|
showData: { |
|
|
|
@ -265,6 +283,8 @@ |
|
|
|
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:[], |
|
|
|
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:''}, |
|
|
|
|
|
|
|
/**end 在上面加自定义属性**/ |
|
|
|
}//end return |
|
|
|
},//end data |
|
|
|
@ -311,12 +331,10 @@ |
|
|
|
let item=this.selectedFields[evt.newIndex]; |
|
|
|
item.isNewAdd='1' |
|
|
|
var item2=JSON.parse(JSON.stringify(item)) |
|
|
|
if(item2.fieldLength==24){ |
|
|
|
item2.fieldLength=12 |
|
|
|
} |
|
|
|
var noSelectFieldId=this.fieldIds.find(i=>{ |
|
|
|
return !this.selectedFields.some(k=>k.fieldId==i.fieldId && k.isNewAdd!='1'); |
|
|
|
return !this.selectedFields.some(k=>k.id==i.id && k.isNewAdd!='1'); |
|
|
|
}) |
|
|
|
item2.id=noSelectFieldId.id |
|
|
|
item2.fieldId=noSelectFieldId.fieldId |
|
|
|
item2.fieldIdCamel=noSelectFieldId.fieldIdCamel |
|
|
|
item2.isNewAdd='0' |
|
|
|
@ -346,15 +364,117 @@ |
|
|
|
return true; |
|
|
|
}, |
|
|
|
initFormFieldsByTable(){ |
|
|
|
this.$mdp.getTableInfos({tableName:this.tableName}).then(res=>{ |
|
|
|
|
|
|
|
listTableColumn({owner:'adm',tableName:this.tableName}).then(res=>{ |
|
|
|
var tips = res.data.tips |
|
|
|
if(tips.isOk){ |
|
|
|
var columns=res.data.data |
|
|
|
columns.forEach(c=>{ |
|
|
|
var field=this.transColumnToField(c) |
|
|
|
if(field){ |
|
|
|
this.selectedFields.push(field) |
|
|
|
} |
|
|
|
}) |
|
|
|
}else{ |
|
|
|
this.$notify.error(tips.msg) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
initFormFieldsByAiTable(){ |
|
|
|
|
|
|
|
}, |
|
|
|
initFormFieldsByItemCode(item){ |
|
|
|
this.$mdp.ajaxGetDictOptions(item.itemCode,{}).then(res=>{ |
|
|
|
var tips = res.tips |
|
|
|
if(tips.isOk){ |
|
|
|
var options=res.data.options |
|
|
|
options.forEach(o=>{ |
|
|
|
var field=this.transOptionToField(o) |
|
|
|
if(field){ |
|
|
|
this.selectedFields.push(field) |
|
|
|
} |
|
|
|
}) |
|
|
|
}else{ |
|
|
|
this.$notify.error(tips.msg) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
initFormFieldsByApi(){ |
|
|
|
var axiosParams=this.apiParamsToAxiosParams(this.apiParams); |
|
|
|
var axiosFun=axios |
|
|
|
if(this.apiParams.useMyLoginToken==false){ |
|
|
|
var axiosFun=axiosNoAuth; |
|
|
|
} |
|
|
|
axiosFun(axiosParams).then(res=>{ |
|
|
|
var datas=null; |
|
|
|
if(this.apiParams.parseDataFunc){ |
|
|
|
var func=new Function('res',apiParams.parseDataFunc) |
|
|
|
datas=func(res) |
|
|
|
}else{ |
|
|
|
datas=res.data.data; |
|
|
|
} |
|
|
|
if(datas && datas.length>0){ |
|
|
|
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 noSelectFieldId=this.fieldIds.find(i=>{ |
|
|
|
return !this.selectedFields.some(k=>k.id==i.id); |
|
|
|
}) |
|
|
|
if(!noSelectFieldId){ |
|
|
|
return; |
|
|
|
} |
|
|
|
field.id=noSelectFieldId.id |
|
|
|
this.selectedFields.push(field) |
|
|
|
}) |
|
|
|
this.$notify({position:'bottom-left',showClose:true,message:'成功',type: 'success'}) |
|
|
|
}else{ |
|
|
|
this.$notify({position:'bottom-left',showClose:true,message:'失败',type: 'error'}) |
|
|
|
|
|
|
|
} |
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
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.name,isRequired:'0',remark:'',extFieldType:'',toFlow:'0',flowFieldId:'',isBizKey:'0',fieldQx:''} |
|
|
|
var noSelectFieldId=this.fieldIds.find(i=>{ |
|
|
|
return !this.selectedFields.some(k=>k.id==i.id); |
|
|
|
}) |
|
|
|
if(!noSelectFieldId){ |
|
|
|
return null; |
|
|
|
} |
|
|
|
field.id=noSelectFieldId.id |
|
|
|
return field; |
|
|
|
}, |
|
|
|
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 noSelectFieldId=this.fieldIds.find(i=>{ |
|
|
|
return !this.selectedFields.some(k=>k.id==i.id); |
|
|
|
}) |
|
|
|
|
|
|
|
if(!noSelectFieldId){ |
|
|
|
return null; |
|
|
|
} |
|
|
|
field.id=noSelectFieldId.id |
|
|
|
return field; |
|
|
|
}, |
|
|
|
|
|
|
|
apiParamsToAxiosParams(apiParams,env){ |
|
|
|
var axiosObj={url:apiParams.url,method:apiParams.method,headers:{}} |
|
|
|
|
|
|
|
//参数处理 |
|
|
|
if(apiParams.params && apiParams.params.indexOf('{')>=0){ |
|
|
|
axiosObj.params=JSON.parse(apiParams.params) |
|
|
|
} |
|
|
|
|
|
|
|
//header处理 |
|
|
|
if(apiParams.useMyLoginToken==true){ |
|
|
|
axiosObj.headers['Authorization'] = 'Bearer '+getToken() |
|
|
|
}else if(apiParams.headers && apiParams.headers.indexOf("{")>=0){ |
|
|
|
axiosObj.headers=JSON.parse(apiParams.headers) |
|
|
|
}else { |
|
|
|
axiosObj.headers={} |
|
|
|
} |
|
|
|
return axiosObj |
|
|
|
} |
|
|
|
/**end 在上面加自定义方法**/ |
|
|
|
|
|
|
|
|