refactor: form input

master
xiaojunnuo 2021-02-04 20:31:04 +08:00
parent eab0c3be60
commit a8f41d3c48
5 changed files with 50 additions and 12 deletions

View File

@ -1,9 +1,14 @@
import { request } from './service'
import inputHandler from './util.input.handler'
export default {
list () {
return request({
async list () {
const ret = await request({
url: '/plugins/list'
})
inputHandler.handle(ret)
console.log('plugins', ret)
return ret
}
}

View File

@ -1,9 +1,14 @@
import { request } from './service'
import inputHandler from '@/api/util.input.handler'
export default {
list () {
return request({
async list () {
const ret = await request({
url: '/providers/list'
})
inputHandler.handle(ret)
return ret
}
}

View File

@ -36,16 +36,11 @@ function createService () {
switch (code) {
case 0:
// [ 示例 ] code === 0 代表没有错误
// TODO 可能结果还需要code和msg进行后续处理所以返回全部结果
return dataAxios.data
case 'xxx':
// [ 示例 ] 其它和后台约定的 code
errorCreate(`[ code: xxx ] ${dataAxios.msg}: ${response.config.url}`)
break
default:
// 不是正确的 code
errorCreate(`${dataAxios.msg}: ${response.config.url}`)
break
return dataAxios
}
}
},

View File

@ -0,0 +1,33 @@
import _ from 'lodash-es'
function handleInputs (inputs) {
if (inputs == null) {
return
}
_.forEach(inputs, (item, key) => {
if (item.component?.required === true) {
if (item.component.rules == null) {
item.component.rules = []
}
if (item.component.rules.length > 0) {
const hasRequired = item.rules.filter(rule => {
return rule.required === true
})
if (hasRequired.length > 0) {
return
}
}
item.component.rules.push({ required: true, message: '该项必填' })
delete item.component.required
}
})
}
export default {
handle (list) {
_.forEach(list, item => {
handleInputs(item.input)
})
}
}

View File

@ -23,8 +23,8 @@ const define = {
value: 'upload',
label: '证书来源',
component: {
placeholder: '证书来源',
required: true,
placeholder: '证书来源',
name: 'a-select',
options: [
{ value: 'upload', label: '直接上传' },