Browse Source

优化

master
陈裕财 2 years ago
parent
commit
e3cdb4c750
  1. 4
      config/index.js
  2. 3
      src/api/mdp/form/formField.js
  3. 2
      src/views/mdp/form/formDef/Index.vue
  4. 604
      src/views/mdp/form/formField/Index.vue

4
config/index.js

@ -10,7 +10,7 @@ module.exports = {
assetsSubDirectory: '',
assetsPublicPath: '/',
proxyTable: {
/**
'/api/m1/form': {
target: 'http://localhost:7013',
changeOrigin: true,
@ -18,7 +18,7 @@ module.exports = {
'^/api/m1/form': '/form'
}
},
/**
'/api/m1/xm': {
target: 'http://localhost:7067',
changeOrigin: true,

3
src/api/mdp/form/formField.js

@ -14,6 +14,9 @@ let base = config.getFormContext();
//普通查询 条件之间and关系
export const listFormField = params => { return axios.get(`${base}/mdp/form/formField/list`, { params: params }); };
//查询数据库表的字段列表
export const listTableColumn = params => { return axios.get(`${base}/mdp/dev/db/table/column/list`, { params: params }); };
//模糊查询表单字段定义 条件之间or关系
//export const listFormFieldKey = params => { return axios.get(`${base}/mdp/form/formField/listKey`, { params: params }); };

2
src/views/mdp/form/formDef/Index.vue

@ -312,7 +312,7 @@ export default {
toDesignAdd(){
if(!this.$route.params.expandId){
this.$router.push({path:'/mdp/form/design/'})
this.$router.push({path:'/mdp/form/create'})
}else{
this.$router.push({path:'/mdp/form/design/'+this.$route.params.expandId})
}

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

@ -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/>
&nbsp;&nbsp;return res.data.data;<br/>
}else{<br/>
&nbsp;&nbsp;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,265 +127,373 @@
</template>
<script>
import draggable from 'vuedraggable'
import { mapGetters } from 'vuex'
import MdpField from './Field.vue'
export default {
computed: {
...mapGetters([
'userInfo'
])
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([
'userInfo'
])
},
props:{
visible:{
type:Boolean,
default:false,
},
formDef:{
type:Object,
default:null,
},
formFields:{
type:Array,
default:[]
},
props:{
visible:{
type:Boolean,
default:false,
},
formDef:{
type:Object,
default:null,
},
formFields:{
type:Array,
default:[]
},
span:{
type:Number,
default:12,
}
span:{
type:Number,
default:12,
}
},
watch: {
'formDef':function( formDef ) {
if(formDef==this.myFormDef){
return;
}
this.myFormDef=formDef;
},
'addForm.isBizKey':function( isBizKey ) {
if(isBizKey=='1'){
this.addForm.isRequired="1"
}
},
watch: {
'formDef':function( formDef ) {
if(formDef==this.myFormDef){
return;
'visible':function(visible) {
if(visible==true){
this.selectedFields=JSON.parse(JSON.stringify(this.formFields))
this.setPrimaryKeys();
this.$nextTick(()=>{
this.$refs.showDataRef.clearValidate();
})
}
}
},
data() {
var options={
list: [{id:'0',name:'选项0'},{id:'1',name:'选项1'},{id:'2',name:'选项2'}],
yesOrNo: [{id:'0',name:'否'},{id:'1',name:'是'}],
}
this.myFormDef=formDef;
},
'addForm.isBizKey':function( isBizKey ) {
if(isBizKey=='1'){
this.addForm.isRequired="1"
}
},
'visible':function(visible) {
if(visible==true){
this.selectedFields=JSON.parse(JSON.stringify(this.formFields))
this.setPrimaryKeys();
this.$nextTick(()=>{
this.$refs.showDataRef.clearValidate();
})
}
}
},
data() {
var options={
list: [{id:'0',name:'选项0'},{id:'1',name:'选项1'},{id:'2',name:'选项2'}],
yesOrNo: [{id:'0',name:'否'},{id:'1',name:'是'}],
}
return {
tableName:'',
aiTableInfosStr:'',
apiParams:{
url:'',
method:'',
params:'',
header:'Authorization:Bearer jwtTokenXXadkfdfdadfd',
useMyLoginToken:true,
},
filters:{
users:[]
},
pickerOptions:this.$mdp.getPickerOptions(),
options:options,
load:{list: false,},
addFormRules: {
id: [
{ 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:''},
selectedFields:[],
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:''},
return {
tableName:'',
aiTableInfosStr:'',
apiParams:{
url:'',
method:'GET',
params:'',
headers:'',//{Authorization:"Bearer jwtTokenXXadkfdfdadfd"}
useMyLoginToken:true,
parseDataFunc:'',
},
filters:{
users:[]
},
pickerOptions:this.$mdp.getPickerOptions(),
options:options,
load:{list: false,},
addFormRules: {
id: [
{ 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:''},
selectedFields:[],
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',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',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',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',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',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',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',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',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',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:'',
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',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:'',
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:''},
]
}
],
delFields:[],//
drag:true,
showPopover:false,
activeName:'first',
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'}
],
//
showData: {
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:''
},
sampleData:{
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:[],
/**end 在上面加自定义属性**/
}//end return
},//end data
methods: {
// @cancel="addFormVisible=false"
handleCancel:function(){
this.$emit('cancel');
},
itemDelete(item,index){
this.addForm ={};
this.showPopover=false;
this.selectedFields.splice(index, 1);
},
itemClick(item,index){
this.addForm =item;
this.showPopover=true;
],
delFields:[],//
drag:true,
showPopover:false,
activeName:'first',
metaItemSelected:{},//
itemOptionMngVisible:false,//
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'}
],
//
showData: {
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:''
},
sampleData:{
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
methods: {
// @cancel="addFormVisible=false"
handleCancel:function(){
this.$emit('cancel');
},
itemDelete(item,index){
this.addForm ={};
this.showPopover=false;
this.selectedFields.splice(index, 1);
setPrimaryKeys:function( ) {
var primaryKeys=this.primaryKeys;
var isBizKeyPrefix="";
if(primaryKeys.some(i=>i=='cuserid')){
isBizKeyPrefix="1"
}else{
isBizKeyPrefix="0"
}
if(primaryKeys.some(i=>i=='deptid')){
isBizKeyPrefix=isBizKeyPrefix+"1"
}else{
isBizKeyPrefix=isBizKeyPrefix+"0"
}
this.selectedFields.forEach(field=>{
if(primaryKeys.some(key=>field.fieldIdCamel==key)){
field.isBizKey=isBizKeyPrefix+"1"
}else{
field.isBizKey=isBizKeyPrefix+"0"
}
});
},
add(evt){
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');
})
item2.fieldId=noSelectFieldId.fieldId
item2.fieldIdCamel=noSelectFieldId.fieldIdCamel
item2.isNewAdd='0'
this.selectedFields[evt.newIndex]=item2;
this.addForm=item2;
},
deleteBaseData(){
this.addForm.isDict='0';
this.addForm.dictCode='';
},
calcSpan(child){
if(child.fieldLength>0){
return child.fieldLength
},
itemClick(item,index){
this.addForm =item;
this.showPopover=true;
},
setPrimaryKeys:function( ) {
var primaryKeys=this.primaryKeys;
var isBizKeyPrefix="";
if(primaryKeys.some(i=>i=='cuserid')){
isBizKeyPrefix="1"
}else{
isBizKeyPrefix="0"
}
if(primaryKeys.some(i=>i=='deptid')){
isBizKeyPrefix=isBizKeyPrefix+"1"
}else{
isBizKeyPrefix=isBizKeyPrefix+"0"
}
this.selectedFields.forEach(field=>{
if(primaryKeys.some(key=>field.fieldIdCamel==key)){
field.isBizKey=isBizKeyPrefix+"1"
}else{
field.isBizKey=isBizKeyPrefix+"0"
}
});
},
add(evt){
let item=this.selectedFields[evt.newIndex];
item.isNewAdd='1'
var item2=JSON.parse(JSON.stringify(item))
var noSelectFieldId=this.fieldIds.find(i=>{
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'
this.selectedFields[evt.newIndex]=item2;
this.addForm=item2;
},
deleteBaseData(){
this.addForm.isDict='0';
this.addForm.dictCode='';
},
calcSpan(child){
if(child.fieldLength>0){
return child.fieldLength
}
if(child.extFieldType=='textarea'){
return 24
}else{
return this.span
}
},
//move
onMove(e,originalEvent){
//
if (e.draggedContext.element.id == '22') return false;
return true;
},
initFormFieldsByTable(){
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)
}
if(child.extFieldType=='textarea'){
return 24
})
},
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{
return this.span
this.$notify.error(tips.msg)
}
},
//move
onMove(e,originalEvent){
//
if (e.draggedContext.element.id == '22') return false;
return true;
},
initFormFieldsByTable(){
this.$mdp.getTableInfos({tableName:this.tableName}).then(res=>{
})
},
initFormFieldsByAiTable(){
},
initFormFieldsByItemCode(item){
})
},
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'})
}
/**end 在上面加自定义方法**/
}
})
},//end method
components: {
// 'form-field-edit':FormFieldEdit
draggable, MdpField
},
mounted() {
this.myFormDef=this.formDef
if(this.formFields){
this.selectedFields=JSON.parse(JSON.stringify(this.formFields))
}else{
this.selectedFields=[]
},
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);
})
}//end mounted
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 在上面加自定义方法**/
},//end method
components: {
// 'form-field-edit':FormFieldEdit
draggable, MdpField
},
mounted() {
this.myFormDef=this.formDef
if(this.formFields){
this.selectedFields=JSON.parse(JSON.stringify(this.formFields))
}else{
this.selectedFields=[]
}
}//end mounted
}
</script>

Loading…
Cancel
Save