This commit is contained in:
yanran200730
2022-02-11 10:31:28 +08:00
parent 76af1c2d14
commit 7d31bbe3d0
5 changed files with 201 additions and 69 deletions

View File

@@ -67,20 +67,15 @@
<el-date-picker v-model="formData[item.formDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1" <el-date-picker v-model="formData[item.formDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1"
value-format="yyyy-MM-DD HH-mm-ss"></el-date-picker> value-format="yyyy-MM-DD HH-mm-ss"></el-date-picker>
</template> </template>
<template v-else-if="item.type == 'time'">
<el-time-picker v-model="formData[item.formDbName]" placeholder="请选择" :disabled="item.disable == 1"
value-format="HH-mm-ss"></el-time-picker>
</template>
<template v-else-if="item.type == 'upload'">
<ai-uploader :instance="instance" isShowTip fileType="file" v-model="formData[item.formDbName]" :disabled="item.disable == 1"
acceptType=".zip,.rar,.doc,.docx,.xls,.ppt,.pptx,.pdf,.txt,.jpg,.png,.xlsx"
:limit="item.fileMaxCount" :maxSize="item.fileChoseSize"></ai-uploader>
</template>
<template v-else-if="item.type == 'rtf'">
<ai-editor v-model="formData[item.formDbName]" :instance="instance"/>
</template>
<template v-else-if="item.type == 'area'"> <template v-else-if="item.type == 'area'">
<ai-area-get :instance="instance" v-model="formData[item.formDbName]" :name.sync="formData.areaName" :disabled="item.disable == 1"/> <ai-area-select
placeholder="请选择地区"
clearable
always-show
:instance="instance"
v-model="formData[item.formDbName]"
@fullname="v => formData.areaName = v"
/>
</template> </template>
</el-form-item> </el-form-item>
</div> </div>
@@ -127,6 +122,30 @@ export default {
dict: Object dict: Object
}, },
data() { data() {
var regPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('请输入电话'))
} else {
const reg = /^[0-9]{3,11}$/
if (reg.test(value)) {
callback()
} else {
return callback(new Error('请输入正确的电话号码'))
}
}
}
let IdNumberPass = (rule, value, callback) => {
if (value) {
if (this.idCardNoUtil.checkIdCardNo(value)) {
callback();
} else {
callback(new Error('身份证号格式错误'))
}
} else {
callback(new Error('请输入身份证号'))
}
}
return { return {
showGrid: false, showGrid: false,
formData: { formData: {
@@ -168,20 +187,23 @@ export default {
type: 'input', type: 'input',
formDbName: 'idNumber', formDbName: 'idNumber',
mustFill: 1, mustFill: 1,
fieldTips: '请输入身份证号' fieldTips: '请输入身份证号',
rules: { required: true, validator: IdNumberPass, trigger: 'blur' }
}, },
{ {
label: '联系电话', label: '联系电话',
type: 'input', type: 'input',
formDbName: 'phone', formDbName: 'phone',
mustFill: 1, mustFill: 1,
fieldTips: '请输入联系电话' fieldTips: '请输入联系电话',
rules: { required: true, validator: regPhone, trigger: 'blur' }
}, },
{ {
label: '所属区域', label: '所属区域',
type: 'area', type: 'area',
formDbName: 'areaId', formDbName: 'areaId',
mustFill: 1, mustFill: 1,
grid: 1,
fieldTips: '请选择所属区域' fieldTips: '请选择所属区域'
}, },
{ {
@@ -242,6 +264,9 @@ export default {
if (e.mustFill == 1) { if (e.mustFill == 1) {
rules[e.formDbName]?.push({required: true, message: e.fieldTips}) rules[e.formDbName]?.push({required: true, message: e.fieldTips})
} }
if (e.rules) {
rules[e.formDbName].push(e.rules)
}
}) })
return rules return rules
} }

View File

@@ -67,12 +67,15 @@
<el-date-picker v-model="formData[item.formDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1" <el-date-picker v-model="formData[item.formDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1"
value-format="yyyy-MM-DD HH-mm-ss"></el-date-picker> value-format="yyyy-MM-DD HH-mm-ss"></el-date-picker>
</template> </template>
<template v-else-if="item.type == 'time'">
<el-time-picker v-model="formData[item.formDbName]" placeholder="请选择" :disabled="item.disable == 1"
value-format="HH-mm-ss"></el-time-picker>
</template>
<template v-else-if="item.type == 'area'"> <template v-else-if="item.type == 'area'">
<ai-area-get :instance="instance" v-model="formData[item.formDbName]" :name.sync="formData.areaName" :disabled="item.disable == 1"/> <ai-area-select
placeholder="请选择地区"
clearable
always-show
:instance="instance"
v-model="formData[item.formDbName]"
@fullname="v => formData.areaName = v"
/>
</template> </template>
</el-form-item> </el-form-item>
</div> </div>
@@ -119,6 +122,30 @@ export default {
dict: Object dict: Object
}, },
data() { data() {
var regPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('请输入电话'))
} else {
const reg = /^[0-9]{3,11}$/
if (reg.test(value)) {
callback()
} else {
return callback(new Error('请输入正确的电话号码'))
}
}
}
let IdNumberPass = (rule, value, callback) => {
if (value) {
if (this.idCardNoUtil.checkIdCardNo(value)) {
callback();
} else {
callback(new Error('身份证号格式错误'))
}
} else {
callback(new Error('请输入身份证号'))
}
}
return { return {
showGrid: false, showGrid: false,
formData: { formData: {
@@ -160,20 +187,23 @@ export default {
type: 'input', type: 'input',
formDbName: 'idNumber', formDbName: 'idNumber',
mustFill: 1, mustFill: 1,
fieldTips: '请输入身份证号' fieldTips: '请输入身份证号',
rules: { required: true, validator: IdNumberPass, trigger: 'blur' }
}, },
{ {
label: '联系电话', label: '联系电话',
type: 'input', type: 'input',
formDbName: 'phone', formDbName: 'phone',
mustFill: 1, mustFill: 1,
fieldTips: '请输入联系电话' fieldTips: '请输入联系电话',
rules: { required: true, validator: regPhone, trigger: 'blur' }
}, },
{ {
label: '所属区域', label: '所属区域',
type: 'area', type: 'area',
formDbName: 'areaId', formDbName: 'areaId',
mustFill: 1, mustFill: 1,
grid: 1,
fieldTips: '请选择所属区域' fieldTips: '请选择所属区域'
}, },
{ {
@@ -230,6 +260,9 @@ export default {
if (e.mustFill == 1) { if (e.mustFill == 1) {
rules[e.formDbName]?.push({required: true, message: e.fieldTips}) rules[e.formDbName]?.push({required: true, message: e.fieldTips})
} }
if (e.rules) {
rules[e.formDbName].push(e.rules)
}
}) })
return rules return rules
} }

View File

@@ -67,20 +67,15 @@
<el-date-picker v-model="formData[item.formDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1" <el-date-picker v-model="formData[item.formDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1"
value-format="yyyy-MM-DD HH-mm-ss"></el-date-picker> value-format="yyyy-MM-DD HH-mm-ss"></el-date-picker>
</template> </template>
<template v-else-if="item.type == 'time'">
<el-time-picker v-model="formData[item.formDbName]" placeholder="请选择" :disabled="item.disable == 1"
value-format="HH-mm-ss"></el-time-picker>
</template>
<template v-else-if="item.type == 'upload'">
<ai-uploader :instance="instance" isShowTip fileType="file" v-model="formData[item.formDbName]" :disabled="item.disable == 1"
acceptType=".zip,.rar,.doc,.docx,.xls,.ppt,.pptx,.pdf,.txt,.jpg,.png,.xlsx"
:limit="item.fileMaxCount" :maxSize="item.fileChoseSize"></ai-uploader>
</template>
<template v-else-if="item.type == 'rtf'">
<ai-editor v-model="formData[item.formDbName]" :instance="instance"/>
</template>
<template v-else-if="item.type == 'area'"> <template v-else-if="item.type == 'area'">
<ai-area-get :instance="instance" v-model="formData[item.formDbName]" :name.sync="formData.areaName" :disabled="item.disable == 1"/> <ai-area-select
placeholder="请选择地区"
clearable
always-show
:instance="instance"
v-model="formData[item.formDbName]"
@fullname="v => formData.areaName = v"
/>
</template> </template>
</el-form-item> </el-form-item>
</div> </div>
@@ -127,6 +122,30 @@ export default {
dict: Object dict: Object
}, },
data() { data() {
var regPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('请输入电话'))
} else {
const reg = /^[0-9]{3,11}$/
if (reg.test(value)) {
callback()
} else {
return callback(new Error('请输入正确的电话号码'))
}
}
}
let IdNumberPass = (rule, value, callback) => {
if (value) {
if (this.idCardNoUtil.checkIdCardNo(value)) {
callback();
} else {
callback(new Error('身份证号格式错误'))
}
} else {
callback(new Error('请输入身份证号'))
}
}
return { return {
showGrid: false, showGrid: false,
formData: { formData: {
@@ -169,22 +188,24 @@ export default {
type: 'input', type: 'input',
formDbName: 'idNumber', formDbName: 'idNumber',
mustFill: 1, mustFill: 1,
fieldTips: '请输入身份证号' fieldTips: '请输入身份证号',
rules: { required: true, validator: IdNumberPass, trigger: 'blur' }
}, },
{ {
label: '联系电话', label: '联系电话',
type: 'input', type: 'input',
formDbName: 'phone', formDbName: 'phone',
mustFill: 1, mustFill: 1,
fieldTips: '请输入联系电话' fieldTips: '请输入联系电话',
rules: { required: true, validator: regPhone, trigger: 'blur' }
}, },
{ {
label: '所属区域', label: '所属区域',
type: 'area', type: 'area',
formDbName: 'areaId', formDbName: 'areaId',
mustFill: 1, mustFill: 1,
fieldTips: '请选择所属区域', grid: 1,
maxLength: 20 fieldTips: '请选择所属区域'
}, },
{ {
label: '详细地址', label: '详细地址',
@@ -250,6 +271,9 @@ export default {
if (e.mustFill == 1) { if (e.mustFill == 1) {
rules[e.formDbName]?.push({required: true, message: e.fieldTips}) rules[e.formDbName]?.push({required: true, message: e.fieldTips})
} }
if (e.rules) {
rules[e.formDbName].push(e.rules)
}
}) })
return rules return rules
} }

View File

@@ -67,20 +67,15 @@
<el-date-picker v-model="formData[item.formDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1" <el-date-picker v-model="formData[item.formDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1"
value-format="yyyy-MM-DD HH-mm-ss"></el-date-picker> value-format="yyyy-MM-DD HH-mm-ss"></el-date-picker>
</template> </template>
<template v-else-if="item.type == 'time'">
<el-time-picker v-model="formData[item.formDbName]" placeholder="请选择" :disabled="item.disable == 1"
value-format="HH-mm-ss"></el-time-picker>
</template>
<template v-else-if="item.type == 'upload'">
<ai-uploader :instance="instance" isShowTip fileType="file" v-model="formData[item.formDbName]" :disabled="item.disable == 1"
acceptType=".zip,.rar,.doc,.docx,.xls,.ppt,.pptx,.pdf,.txt,.jpg,.png,.xlsx"
:limit="item.fileMaxCount" :maxSize="item.fileChoseSize"></ai-uploader>
</template>
<template v-else-if="item.type == 'rtf'">
<ai-editor v-model="formData[item.formDbName]" :instance="instance"/>
</template>
<template v-else-if="item.type == 'area'"> <template v-else-if="item.type == 'area'">
<ai-area-get :instance="instance" v-model="formData[item.formDbName]" :name.sync="formData.areaName" :disabled="item.disable == 1"/> <ai-area-select
placeholder="请选择地区"
clearable
always-show
:instance="instance"
v-model="formData[item.formDbName]"
@fullname="v => formData.areaName = v"
/>
</template> </template>
</el-form-item> </el-form-item>
</div> </div>
@@ -127,6 +122,30 @@ export default {
dict: Object dict: Object
}, },
data() { data() {
var regPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('请输入电话'))
} else {
const reg = /^[0-9]{3,11}$/
if (reg.test(value)) {
callback()
} else {
return callback(new Error('请输入正确的电话号码'))
}
}
}
let IdNumberPass = (rule, value, callback) => {
if (value) {
if (this.idCardNoUtil.checkIdCardNo(value)) {
callback();
} else {
callback(new Error('身份证号格式错误'))
}
} else {
callback(new Error('请输入身份证号'))
}
}
return { return {
showGrid: false, showGrid: false,
formData: { formData: {
@@ -168,20 +187,23 @@ export default {
type: 'input', type: 'input',
formDbName: 'idNumber', formDbName: 'idNumber',
mustFill: 1, mustFill: 1,
fieldTips: '请输入身份证号' fieldTips: '请输入身份证号',
rules: { required: true, validator: IdNumberPass, trigger: 'blur' }
}, },
{ {
label: '联系电话', label: '联系电话',
type: 'input', type: 'input',
formDbName: 'phone', formDbName: 'phone',
mustFill: 1, mustFill: 1,
fieldTips: '请输入联系电话' fieldTips: '请输入联系电话',
rules: { required: true, validator: regPhone, trigger: 'blur' }
}, },
{ {
label: '所属区域', label: '所属区域',
type: 'area', type: 'area',
formDbName: 'areaId', formDbName: 'areaId',
mustFill: 1, mustFill: 1,
grid: 1,
fieldTips: '请选择所属区域' fieldTips: '请选择所属区域'
}, },
{ {
@@ -242,6 +264,9 @@ export default {
if (e.mustFill == 1) { if (e.mustFill == 1) {
rules[e.formDbName]?.push({required: true, message: e.fieldTips}) rules[e.formDbName]?.push({required: true, message: e.fieldTips})
} }
if (e.rules) {
rules[e.formDbName].push(e.rules)
}
}) })
return rules return rules
} }

View File

@@ -67,20 +67,15 @@
<el-date-picker v-model="formData[item.formDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1" <el-date-picker v-model="formData[item.formDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1"
value-format="yyyy-MM-DD HH-mm-ss"></el-date-picker> value-format="yyyy-MM-DD HH-mm-ss"></el-date-picker>
</template> </template>
<template v-else-if="item.type == 'time'">
<el-time-picker v-model="formData[item.formDbName]" placeholder="请选择" :disabled="item.disable == 1"
value-format="HH-mm-ss"></el-time-picker>
</template>
<template v-else-if="item.type == 'upload'">
<ai-uploader :instance="instance" isShowTip fileType="file" v-model="formData[item.formDbName]" :disabled="item.disable == 1"
acceptType=".zip,.rar,.doc,.docx,.xls,.ppt,.pptx,.pdf,.txt,.jpg,.png,.xlsx"
:limit="item.fileMaxCount" :maxSize="item.fileChoseSize"></ai-uploader>
</template>
<template v-else-if="item.type == 'rtf'">
<ai-editor v-model="formData[item.formDbName]" :instance="instance"/>
</template>
<template v-else-if="item.type == 'area'"> <template v-else-if="item.type == 'area'">
<ai-area-get :instance="instance" v-model="formData[item.formDbName]" :name.sync="formData.areaName" :disabled="item.disable == 1"/> <ai-area-select
placeholder="请选择地区"
clearable
always-show
:instance="instance"
v-model="formData[item.formDbName]"
@fullname="v => formData.areaName = v"
/>
</template> </template>
</el-form-item> </el-form-item>
</div> </div>
@@ -127,6 +122,30 @@ export default {
dict: Object dict: Object
}, },
data() { data() {
var regPhone = (rule, value, callback) => {
if (!value) {
return callback(new Error('请输入电话'))
} else {
const reg = /^[0-9]{3,11}$/
if (reg.test(value)) {
callback()
} else {
return callback(new Error('请输入正确的电话号码'))
}
}
}
let IdNumberPass = (rule, value, callback) => {
if (value) {
if (this.idCardNoUtil.checkIdCardNo(value)) {
callback();
} else {
callback(new Error('身份证号格式错误'))
}
} else {
callback(new Error('请输入身份证号'))
}
}
return { return {
showGrid: false, showGrid: false,
formData: { formData: {
@@ -170,20 +189,23 @@ export default {
type: 'input', type: 'input',
formDbName: 'idNumber', formDbName: 'idNumber',
mustFill: 1, mustFill: 1,
fieldTips: '请输入身份证号' fieldTips: '请输入身份证号',
rules: { required: true, validator: IdNumberPass, trigger: 'blur' }
}, },
{ {
label: '联系电话', label: '联系电话',
type: 'input', type: 'input',
formDbName: 'phone', formDbName: 'phone',
mustFill: 1, mustFill: 1,
fieldTips: '请输入联系电话' fieldTips: '请输入联系电话',
rules: { required: true, validator: regPhone, trigger: 'blur' }
}, },
{ {
label: '所属区域', label: '所属区域',
type: 'area', type: 'area',
formDbName: 'areaId', formDbName: 'areaId',
mustFill: 1, mustFill: 1,
grid: 1,
fieldTips: '请选择所属区域' fieldTips: '请选择所属区域'
}, },
{ {
@@ -262,6 +284,9 @@ export default {
if (e.mustFill == 1) { if (e.mustFill == 1) {
rules[e.formDbName]?.push({required: true, message: e.fieldTips}) rules[e.formDbName]?.push({required: true, message: e.fieldTips})
} }
if (e.rules) {
rules[e.formDbName].push(e.rules)
}
}) })
return rules return rules
} }