Browse Source

修改参数删除与添加

qin_v3
超级管理员 1 year ago
parent
commit
853227c107
  1. 7
      src/components/DesignForm/app/formPage.vue
  2. 24
      src/components/DesignForm/formControlPropertiNew.vue
  3. 10
      src/components/DesignForm/public/form/childTable.vue
  4. 6
      src/components/DesignForm/public/form/form.vue
  5. 39
      src/components/DesignForm/validateInt.ts
  6. 60
      src/components/DesignForm/validateText.ts

7
src/components/DesignForm/app/formPage.vue

@ -604,7 +604,9 @@ provide(constControlChange, ({ key, value, data, tProp, type, attribute }: any)
if(type == "digitpage"){
let oldFormConfig = props.formData.config
let newFormConfig = props.formData.config.groupKey
let odlHideField = props.formData.config.hideField
delete props.formData.config.groupKey
delete props.formData.config.hideField
let sendInfo = {
"fieldKey":key,
"mathsFornula":props.formData.config,
@ -640,8 +642,13 @@ provide(constControlChange, ({ key, value, data, tProp, type, attribute }: any)
resultDict.value = formatRes.dict
}
props.formData.config.groupKey = newFormConfig
props.formData.config.hideField = odlHideField
})
})
.finally(()=>{
props.formData.config.groupKey = newFormConfig
props.formData.config.hideField = odlHideField
})
}
if (typeof props.changeKeyVal === 'function') {
props.changeKeyVal(key, value,type,attribute)

24
src/components/DesignForm/formControlPropertiNew.vue

@ -8,6 +8,7 @@ import { reactive, computed, toRefs, ref, watch, inject } from 'vue'
import { getRequest } from '@/api/DesignForm'
import { useDesignFormStore } from '@/store/DesignForm/designForm'
import validate from './validate'
import { ValidateTextTypes } from '@/components/DesignForm/validateText'
import { ElMessage } from 'element-plus'
import { formatNumber } from '@/api/DesignForm/utils'
import { PublicAtrr } from '@/api/DesignForm/types'
@ -127,7 +128,16 @@ const state = reactive({
}
]
})
/**
@ 作者: 秦东
@ 时间: 2024-08-14 08:41:02
@ 功能: 必填
*/
const ValidateTextTypes = reactive({
})
const formAttr = computed(() => {
const isSearch = state.isSearch
return [
@ -3382,6 +3392,18 @@ const disabledIstrue = (val:string) => {
<el-divider content-position="left">校验设置</el-divider>
<div v-if="showHide(['input', 'password', 'component'], true)">
{{controlData.customRules}}
<el-form-item class="form_cont">
<el-input v-model="message" placeholder="校验提示信息">
<template #prepend>
必填
</template>
<template #append>
<el-checkbox v-model="checked1" />
</template>
</el-input>
</el-form-item>
<el-form-item
v-for="(item, index) in controlData.customRules"
:key="item.type"

10
src/components/DesignForm/public/form/childTable.vue

@ -21,10 +21,10 @@ const props = withDefaults(
)
const formProps = inject(constFormProps, {}) as any
const tableDataNew = computed(() => {
console.log("如果编辑页禁用时-----1---->",props.data.name)
console.log("如果编辑页禁用时-----2---->",formProps.value.model[props.data.name])
console.log("如果编辑页禁用时-----3---->",formProps.value.model)
console.log("如果编辑页禁用时-----4---->",formProps.value)
// console.log("-----1---->",props.data.name)
// console.log("-----2---->",formProps.value.model[props.data.name])
// console.log("-----3---->",formProps.value.model)
// console.log("-----4---->",formProps.value)
return formProps.value.model[props.data.name]
})
const type = computed(() => {
@ -35,7 +35,7 @@ const editDisabled = computed(() => {
return formProps.value.type === 2 && props.data.config?.editDisabled
})
const addColumn = () => {
console.log("如果编辑页禁用时--------->",tableDataNew.value)
// console.log("--------->",tableDataNew.value)
const temp: any = {}
if (props.data.list) {
props.data.list.forEach((item: any) => {

6
src/components/DesignForm/public/form/form.vue

@ -452,6 +452,7 @@ provide(constControlChange, ({ key, value, data, tProp, type, attribute }: any)
let oldFormConfig = props.formData.config
let newFormConfig = props.formData.config.groupKey
let odlHideField = props.formData.config.hideField
delete props.formData.config.groupKey
delete props.formData.config.hideField
let sendInfo = {
@ -489,8 +490,13 @@ provide(constControlChange, ({ key, value, data, tProp, type, attribute }: any)
resultDict.value = formatRes.dict
}
props.formData.config.groupKey = newFormConfig
props.formData.config.hideField = odlHideField
})
})
.finally(()=>{
props.formData.config.groupKey = newFormConfig
props.formData.config.hideField = odlHideField
})
}
// })

39
src/components/DesignForm/validateInt.ts

@ -0,0 +1,39 @@
import { ValidateTextTypes } from '@/components/DesignForm/validateText'
/**
@ 作者: 秦东
@ 时间: 2024-08-13 16:37:23
@ 功能: 数字类校验规则
*/
const validateIntConfig: ValidateTextTypes[] = [
{
type: 'int',
label: '正整数',
regExp: /^[0-9]*[1-9][0-9]*$/,
message: '请输入正整数',
checkbox: false
},
{
type: 'number',
label: '数字',
regExp: /^\d+(\.\d+)?$/,
message: '请输入数字',
checkbox: false
},
{
type: 'money',
label: '金额',
regExp: /^[0-9]+\.?[0-9]{0,2}$/,
message: '请输入正确的金额,最多两位小数',
checkbox: false
},
{
type: 'float',
label: '浮点数',
regExp: /^(\-|\+)?\d+(\.\d+)?$/,
message: '请输入正确的金额,最多两位小数',
checkbox: false
}
]
export default validateIntConfig

60
src/components/DesignForm/validateText.ts

@ -0,0 +1,60 @@
/**
@ 作者: 秦东
@ 时间: 2024-08-13 16:33:46
@ 功能: 文本类校验规则
*/
export interface ValidateTextTypes {
type: string
label: string
regExp: RegExp
message: string
checkbox: boolean
}
const validateTextConfig: ValidateTextTypes[] = [
{
type: 'mobile',
label: '手机号码',
regExp: /^0{0,1}(13[0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/,
message: '请输入手机号码',
checkbox: false
},
{
type: 'tel',
label: '固话',
regExp: /^0\d{2,3}-\d{7,8}$/,
message: '请输入固定电话号码',
checkbox: false
},
{
type: 'phone',
label: '固话或手机',
regExp: /^((0\d{2,3}(-?)\d{7,8})|(1[3456789]\d{9}))$/,
message: '请输入固定电话号码或手机号',
checkbox: false
},
{
type: 'email',
label: '邮箱',
regExp: /^[a-z0-9A-Z._%-]+@([a-z0-9A-Z-]+\.)+[a-zA-Z]{2,4}$/,
message: '请输入邮箱地址',
checkbox: false
},
{
type: 'card',
label: '身份证',
regExp:
/(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/,
message: '请输入身份证号',
checkbox: false
},
{
type: 'url',
label: '网址',
regExp: /^https?:\/\/((.)+(\.)?)*(:\d+)?(\/((\.)?(\?)?=?&?.(\?)?)*)*$/,
message: '请输入网址',
checkbox: false
}
]
export default validateTextConfig
Loading…
Cancel
Save