|
|
|
@ -9,13 +9,13 @@ |
|
|
|
<template v-if="sItem.type === 'input'"> |
|
|
|
<div class="form-title">{{ sItem.label }}</div> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" @blur="onBlur(key, $event)" :item="sItem" v-model="formFields[key]" |
|
|
|
:field-key="key" |
|
|
|
:field-key="prefixKey+'_'+key" |
|
|
|
@copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
</template> |
|
|
|
<template v-else-if="sItem.type === 'inputNumber'"> |
|
|
|
<div class="form-title">{{ sItem.label }}</div> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" type="inputNumber" @blur="onBlur(key, $event)" :item="sItem" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="inputNumber" @blur="onBlur(key, $event)" :item="sItem" |
|
|
|
@input="onInputNumberChange(key, $event)" v-model="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
@ -30,7 +30,7 @@ |
|
|
|
<div class="p-r-20"> |
|
|
|
<div class="form-title">{{ sItem.label }}</div> |
|
|
|
<div class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" type="select" :item="sItem" v-model="formFields[key]" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="select" :item="sItem" v-model="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" @change="onSelectChange(key, $event)" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
@ -41,7 +41,7 @@ |
|
|
|
<div v-show="isShowOther(formFields[key])"> |
|
|
|
<div class="form-title">其他</div> |
|
|
|
<div class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="sItem.otherCode" @blur="onBlur(key, $event)" :item="getOtherItem(sItem)" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.otherCode" @blur="onBlur(key, $event)" :item="getOtherItem(sItem)" |
|
|
|
v-model="formFields[sItem.otherCode]" @copy="onCopy(sItem, key)" |
|
|
|
:error="errors[sItem.otherCode]" |
|
|
|
@update:error="errors[sItem.otherCode] = false" /> |
|
|
|
@ -60,28 +60,28 @@ |
|
|
|
<div v-for="(sItem, key) in item.config" class="c-Item" :class="getSpanClass(sItem)" :key="key"> |
|
|
|
<div class="form-title" v-if="sItem.label">{{ sItem.label }}</div> |
|
|
|
<div v-if="sItem.type === 'dateTime'" class="flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" type="dateTime" :item="sItem" v-model="formFields[key]" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="dateTime" :item="sItem" v-model="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'select'"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" type="select" :item="sItem" v-model="formFields[key]" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="select" :item="sItem" v-model="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" @change="onSelectChange(key, $event)" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'input'"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" @blur="onBlur(key, $event)" :item="sItem" v-model="formFields[key]" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" @blur="onBlur(key, $event)" :item="sItem" v-model="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'textarea'"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" @blur="onBlur(key, $event)" type="textarea" :item="sItem" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" @blur="onBlur(key, $event)" type="textarea" :item="sItem" |
|
|
|
v-model="formFields[key]" @copy="onCopy(sItem, key)" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" :orange-bg="orangeBgFields[key]" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'clickable'" class="flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" type="clickable" @clickable="handleClickable(sItem, $event)" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="clickable" @clickable="handleClickable(sItem, $event)" |
|
|
|
:item="sItem" :value="formFields[key]" /> |
|
|
|
</div> |
|
|
|
|
|
|
|
@ -96,19 +96,19 @@ |
|
|
|
:class="getSpanClass(sItem)" :key="key"> |
|
|
|
<div class="step-form-title" v-if="sItem.label">{{ sItem.label }}</div> |
|
|
|
<div v-if="sItem.type === 'dateTime'" class="flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" type="dateTime" :item="sItem" v-model="formFields[key]" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="dateTime" :item="sItem" v-model="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'select'" class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" type="select" :item="sItem" style="width: auto;flex:1" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="select" :item="sItem" style="width: auto;flex:1" |
|
|
|
v-model="formFields[key]" @copy="onCopy(sItem, key)" |
|
|
|
@change="onSelectChange(key, $event)" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" :orange-bg="orangeBgFields[key]" /> |
|
|
|
<div v-show="isShowOther(formFields[key])" class="flex flex1"> |
|
|
|
<div class="other-title">其他</div> |
|
|
|
<div class="flex"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="sItem.otherCode" @blur="onBlur(key, $event)" :item="getOtherItem(sItem)" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.otherCode" @blur="onBlur(key, $event)" :item="getOtherItem(sItem)" |
|
|
|
v-model="formFields[sItem.otherCode]" @copy="onCopy(sItem, key)" |
|
|
|
:error="errors[sItem.otherCode]" @update:error="errors[sItem.otherCode] = false" |
|
|
|
:orange-bg="orangeBgFields[sItem.otherCode]" /> |
|
|
|
@ -116,22 +116,22 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'input'" class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" @blur="onBlur(key, $event)" class="flex1" :item="sItem" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" @blur="onBlur(key, $event)" class="flex1" :item="sItem" |
|
|
|
v-model="formFields[key]" @copy="onCopy(sItem, key)" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" :orange-bg="orangeBgFields[key]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="sItem.subKey" class="ml-10" v-if="sItem.subType === 'select'" type="select" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.subKey" class="ml-10" v-if="sItem.subType === 'select'" type="select" |
|
|
|
:item="getSubItem(sItem)" v-model="formFields[sItem.subKey]" @copy="onCopy(sItem, key)" |
|
|
|
@change="onSelectChange(sItem.subKey, $event)" :error="errors[sItem.subKey]" |
|
|
|
@update:error="errors[sItem.subKey] = false" |
|
|
|
:orange-bg="orangeBgFields[sItem.subKey]" /> |
|
|
|
<div class="ml-10 item-span" v-else-if="sItem.subType === 'span'">{{ formFields[sItem.subKey] }}</div> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="sItem.subKey" class="ml-10" v-else-if="sItem.subType === 'clickable'" type="clickable" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.subKey" class="ml-10" v-else-if="sItem.subType === 'clickable'" type="clickable" |
|
|
|
@clickable="handleClickable(sItem, $event)" :item="getClickableItem(sItem)" |
|
|
|
:value="formFields[sItem.subKey]" /> |
|
|
|
<div v-show="isShowOther(formFields[sItem.subKey])" class="flex flex1"> |
|
|
|
<div class="other-title">其他</div> |
|
|
|
<div class="flex"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="sItem.otherCode" @blur="onBlur(key, $event)" :item="getOtherItem(sItem)" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.otherCode" @blur="onBlur(key, $event)" :item="getOtherItem(sItem)" |
|
|
|
v-model="formFields[sItem.otherCode]" @copy="onCopy(sItem, key)" |
|
|
|
:error="errors[sItem.otherCode]" @update:error="errors[sItem.otherCode] = false" |
|
|
|
:orange-bg="orangeBgFields[sItem.otherCode]" /> |
|
|
|
@ -143,17 +143,17 @@ |
|
|
|
</div> --> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'inputNumber'" class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" type="inputNumber" @blur="onBlur(key, $event)" class="flex1" :item="sItem" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="inputNumber" @blur="onBlur(key, $event)" class="flex1" :item="sItem" |
|
|
|
@input="onInputNumberChange(key, $event)" :value="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="sItem.subKey" class="ml-10" v-if="sItem.subType === 'select'" type="select" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.subKey" class="ml-10" v-if="sItem.subType === 'select'" type="select" |
|
|
|
:item="getSubItem(sItem)" v-model="formFields[sItem.subKey]" @copy="onCopy(sItem, key)" |
|
|
|
@change="onSelectChange(sItem.subKey, $event)" :error="errors[sItem.subKey]" |
|
|
|
@update:error="errors[sItem.subKey] = false" |
|
|
|
:orange-bg="orangeBgFields[sItem.subKey]" /> |
|
|
|
<div class="ml-10 item-span" v-else-if="sItem.subType === 'span'">{{ formFields[sItem.subKey] }}</div> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="sItem.subKey" class="ml-10" v-else-if="sItem.subType === 'clickable'" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.subKey" class="ml-10" v-else-if="sItem.subType === 'clickable'" |
|
|
|
@clickable="handleClickable(sItem, $event)" type="clickable" |
|
|
|
:item="getClickableItem(sItem)" :value="formFields[sItem.subKey]" /> |
|
|
|
<!-- <div class="clickable" :class="getFillType(sItem.subFillType)" v-else-if = "sItem.subType ==='clickable'" @click="handleClickable(sItem,$event)"> |
|
|
|
@ -162,7 +162,7 @@ |
|
|
|
</div> --> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'clickable'" class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="key" type="clickable" @clickable="handleClickable(sItem, $event)" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="clickable" @clickable="handleClickable(sItem, $event)" |
|
|
|
:error="errors[key]" :item="sItem" :value="formFields[key]" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -198,6 +198,11 @@ export default { |
|
|
|
fieldItemLabel: { |
|
|
|
type: String, |
|
|
|
default: "", |
|
|
|
}, |
|
|
|
//循环组件的情况下需要用这个来区分字段 |
|
|
|
prefixKey:{ |
|
|
|
type: String, |
|
|
|
default: "", |
|
|
|
} |
|
|
|
}, |
|
|
|
data() { |
|
|
|
|