diff --git a/src/views/haomo/components/details/HmComplexDetail.vue b/src/views/haomo/components/details/HmComplexDetail.vue index 2c18ac6437ed6a52b8387484a0fe2896c05188c1..ecd4ba1d7696c923cc5984a6459f27cadbe8d89d 100644 --- a/src/views/haomo/components/details/HmComplexDetail.vue +++ b/src/views/haomo/components/details/HmComplexDetail.vue @@ -111,9 +111,10 @@ } else { self.showColumns = []; // å°†å—符串对象进行替æ¢å¤„ç† - _.each(self.schema['columns'], function(column) { - _.each(self.columns,function(item){ - if(column.codeCamel===item){ + _.each(self.columns,function(item){ + _.each(self.schema['columns'], function(column) { + if(item===column.codeCamel){ + console.log(item); const tmp = JSON.parse(JSON.stringify(column)) self.showColumns.push(tmp) } diff --git a/src/views/haomo/components/details/index.vue b/src/views/haomo/components/details/index.vue index ad7a5dc64cda51a338bed34d0d665f6d0b85b3f6..c85626e3d0d1a2ddd1b931503694210f94aa611e 100644 --- a/src/views/haomo/components/details/index.vue +++ b/src/views/haomo/components/details/index.vue @@ -1,7 +1,7 @@ <template> <div> - <hm-complex-detail :schema="schema['HmUser']" :userId="userId"> - </hm-complex-detail> + <!--<hm-complex-detail :schema="schema['HmUser']" :userId="userId">--> + <!--</hm-complex-detail>--> <hm-complex-detail :schema="schema['HmUser']" :userId="userId" :columns="showUserColumns"> </hm-complex-detail> </div> diff --git a/src/views/haomo/components/forms/HmComplexForm.vue b/src/views/haomo/components/forms/HmComplexForm.vue index b1f85e482558088c9fd168b9752239e749770d71..34e8513488d5ed8d6c112a056dcc6a2a069996d0 100644 --- a/src/views/haomo/components/forms/HmComplexForm.vue +++ b/src/views/haomo/components/forms/HmComplexForm.vue @@ -61,9 +61,10 @@ </el-col> </el-form-item> </el-form>--> - <el-form label-width="110px" status-icon style="width:80%;margin:0 auto"> - <el-form-item v-for="(column,index) in showFields" :key="index" :label="column.name"> - <el-input :placeholder="column.name" v-model="formModel[column.codeCamel]"></el-input> + <el-form ref="form" :model="formModel" :rules="rules" label-width="110px" status-icon style="width:80%;margin:0 auto"> + <el-form-item v-for="(column,index) in showFields" :key="index" :label="column.name" :prop="column.codeCamel"> + <el-input v-if="column.codeCamel==='password'" type="password" :placeholder="column.name" v-model="formModel[column.codeCamel]"></el-input> + <el-input v-if="column.codeCamel!=='password'" :placeholder="column.name" v-model="formModel[column.codeCamel]"></el-input> </el-form-item> <el-form-item> <el-col :span="12"> @@ -123,7 +124,7 @@ return { form: null, formModel: {}, // åŒå‘绑定的数æ®å˜é‡ - showFields: [] // è¦æ˜¾ç¤ºçš„å—æ®µ + showFields: [], // è¦æ˜¾ç¤ºçš„å—æ®µ // form: { // name: '', // gender: 'ç”·', @@ -138,32 +139,25 @@ // email: '', // address: '' // }, - // rules: { - // name: [ - // { required: true, message: '请输入姓å', trigger: 'blur' }, - // { min: 2, max: 5, message: '长度在 2 到 5 个å—符', trigger: 'blur' } - // ], - // age: [ - // { required: true, message: '请输入年龄', trigger: 'blur' }, - // { type: 'number', message: '年龄必须为数å—', trigger: 'change' } - // ], - // website: [ - // { required: true, message: '请输入网å€', trigger: 'blur' }, - // { pattern: /[a-zA-z]+:\/\/[^\s]*/, message: '请输入æ£ç¡®çš„网å€', trigger: 'change' } - // ], - // password: [ - // { required: true, message: '请输入密ç ', trigger: 'blur' }, - // { pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/, message: '密ç å¿…é¡»åŒæ—¶åŒ…嫿•°å—å’Œå—æ¯ 6-20ä½', trigger: 'change' } - // ], - // phone: [ - // { type: 'number', required: true, message: '请输入手机å·', trigger: 'blur' }, - // { pattern: /^1[34578]\d{9}$/, message: '请输入æ£ç¡®çš„æ‰‹æœºå·', trigger: 'change' } - // ], - // email: [ - // { required: true, message: '请输入邮箱地å€', trigger: 'blur' }, - // { type: 'email', message: '请输入æ£ç¡®çš„邮箱地å€', trigger: 'blur,change' } - // ] - // } + rules: { + username: [ + { required: true, message: '请输入用户å', trigger: 'blur' }, + { min: 2, max: 10, message: '长度在 2 到 10 个å—符', trigger: 'blur' } + ], + loginid: [ + { required: true, message: '请输入登陆ID', trigger: 'blur' } + ], + password: [ + { required: true, message: '请输入密ç ', trigger: 'blur' }, + { pattern: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$/, message: '密ç å¿…é¡»åŒæ—¶åŒ…嫿•°å—å’Œå—æ¯ 6-20ä½', trigger: 'change' } + ], + mobile: [ + { pattern: /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/, message: '请输入æ£ç¡®çš„电è¯å·ç 或手机å·', trigger: 'blur&change' } + ], + email: [ + { type: 'email', message: '请输入æ£ç¡®çš„邮箱地å€', trigger: 'blur&change' } + ] + } } }, @@ -178,21 +172,21 @@ if (!self.fields || !self.fields.length) { _.each(self.schema['columns'], function(column) { const tmp = JSON.parse(JSON.stringify(column)) - self.$set(tmp, 'code', tmp.code.toLowerCase()) + // self.$set(tmp, 'code', tmp.code.toLowerCase()) self.showFields.push(tmp) }) - console.log(self.showFields) + // console.log(self.showFields) } else { // å¦‚æžœä¼ å…¥äº†fieldsï¼Œåˆ™åªæ˜¾ç¤ºä¼ å…¥çš„å—æ®µ self.showFields = JSON.parse(JSON.stringify(self.fields)) console.log('1111111') - console.log(self.showFields) + // console.log(self.showFields) // å°†å—符串对象进行替æ¢å¤„ç† _.each(self.showFields, function(column, index) { if (typeof column === 'string') { // 生æˆä¸€ä¸ªæ–°å¯¹è±¡ - var tmp = _.keyBy(self.schema['columns'], 'code')[column.toUpperCase()] - console.log(tmp) - self.$set(tmp, 'code', tmp.code.toLowerCase()) + const tmp = _.keyBy(self.schema['columns'], 'code')[column.toUpperCase()] + // console.log(tmp) + // self.$set(tmp, 'code', tmp.code.toLowerCase()) self.$set(self.showFields, index, tmp) } }) @@ -218,22 +212,27 @@ * 验è¯å¤±è´¥ï¼Œç¦æ¢æäº¤å¹¶ç»™å‡ºæç¤º */ onSubmit() { - // this.formModel['X-Auth-Token'] = '111' - // console.log(this.formModel) - // console.log(this.schema) - request(this.schema.modelUnderscorePlural + '/new', { - params: this.formModel - }).then(resp => { - console.log(resp.data) + const self = this + console.log(self.formModel) + self.$refs.form.validate((valid) => { + if (valid) { + console.log('æäº¤æˆåŠŸ!') + request(self.schema.modelUnderscorePlural + '/new', { + method: 'post', + headers: { 'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8' }, + data: self.formModel + }).then(resp => { + console.log(resp.data) + }) + } else { + console.log('æäº¤å¤±è´¥!!') + return false + } }) - // this.$refs.form.validate((valid) => { - // if (valid) { - // console.log('æäº¤æˆåŠŸ!') - // } else { - // console.log('æäº¤å¤±è´¥!!') - // return false - // } - // }) + // paramsSerializer: function(data) { + // const keys = Object.keys(data) + // return encodeURI(keys.map(name => `${name}=${data[name]}`).join('&')) + // } }, // é‡ç½® /**