|
|
|
@ -7,15 +7,16 @@ |
|
|
|
<div v-for="(sItem, key) in item.config" class="form-item" |
|
|
|
:class="sItem.span == 1 ? 'full-row' : ''" :key="key"> |
|
|
|
<template v-if="sItem.type === 'input'"> |
|
|
|
<div class="form-title">{{ $t( sItem.label) }}</div> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" @blur="onBlur(key, $event)" :item="sItem" v-model="formFields[key]" |
|
|
|
:field-key="prefixKey+'_'+key" |
|
|
|
@copy="onCopy(sItem, key)" :error="errors[key]" @update:error="errors[key] = false" |
|
|
|
<div class="form-title">{{ $t(sItem.label) }}</div> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" @blur="onBlur(key, $event)" :item="sItem" |
|
|
|
v-model="formFields[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">{{ $t( sItem.label) }}</div> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="inputNumber" @blur="onBlur(key, $event)" :item="sItem" |
|
|
|
<div class="form-title">{{ $t(sItem.label) }}</div> |
|
|
|
<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]" /> |
|
|
|
@ -25,25 +26,27 @@ |
|
|
|
</template> |
|
|
|
<template v-else-if="item.type === 'conditionItem'"> |
|
|
|
<div class="form-item "> |
|
|
|
<div class="form-title fs-16" v-if="item.label">{{ $t( item.label) }}</div> |
|
|
|
<div class="form-title fs-16" v-if="item.label">{{ $t(item.label) }}</div> |
|
|
|
<div v-for="(sItem, key) in item.config" class="c-Item grid-container"> |
|
|
|
<div class="p-r-20"> |
|
|
|
<div class="form-title">{{ $t( sItem.label) }}</div> |
|
|
|
<div class="form-title">{{ $t(sItem.label) }}</div> |
|
|
|
<div class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="select" :item="sItem" v-model="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" @change="(e,type)=>onSelectChange(key, e,type)" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" |
|
|
|
type="select" :item="sItem" v-model="formFields[key]" @copy="onCopy(sItem, key)" |
|
|
|
@change="(e, type) => onSelectChange(key, e, type)" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" :orange-bg="orangeBgFields[key]" /> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="p-l-20"> |
|
|
|
<div v-show="isShowOther(formFields[key])"> |
|
|
|
<div class="form-title">{{ sItem.otherLabel ? $t(sItem.otherLabel) : $t("template.common.other") }}</div> |
|
|
|
<div class="form-title">{{ sItem.otherLabel ? $t(sItem.otherLabel) : |
|
|
|
$t("template.common.other") }}</div> |
|
|
|
<div class="flex flex1"> |
|
|
|
<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]" |
|
|
|
<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" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -55,15 +58,15 @@ |
|
|
|
</template> |
|
|
|
<template v-else-if="item.type === 'attachment'"> |
|
|
|
<div class="form-item "> |
|
|
|
<div class="form-title fs-16" v-if="item.label">{{ $t( item.label) }}</div> |
|
|
|
<div class="form-title fs-16" v-if="item.label">{{ $t(item.label) }}</div> |
|
|
|
<div v-for="(sItem, key) in item.config" class="c-Item grid-container"> |
|
|
|
<div class="p-r-20"> |
|
|
|
<div class="form-title">{{ $t( sItem.label) }}</div> |
|
|
|
<div class="form-title">{{ $t(sItem.label) }}</div> |
|
|
|
<div class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="attachment" :item="sItem" :value="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" @change="(e)=>onAttachmentChange(key, e)" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" |
|
|
|
type="attachment" :item="sItem" :value="formFields[key]" @copy="onCopy(sItem, key)" |
|
|
|
@change="(e) => onAttachmentChange(key, e)" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" :orange-bg="orangeBgFields[key]" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -71,54 +74,61 @@ |
|
|
|
</template> |
|
|
|
<template v-else-if="item.type === 'cellItem'"> |
|
|
|
<div class="form-item "> |
|
|
|
<div class="form-title fs-16" v-if="item.label">{{ $t( item.label) }}</div> |
|
|
|
<div class="form-title fs-16" v-if="item.label">{{ $t(item.label) }}</div> |
|
|
|
<div class="grid-container gap2"> |
|
|
|
<div v-for="(sItem, key) in item.config" class="c-Item" :class="getSpanClass(sItem)" :key="key"> |
|
|
|
<div class="form-title" v-if="sItem.label">{{ $t( sItem.label) }}</div> |
|
|
|
<div class="form-title" v-if="sItem.label">{{ $t(sItem.label) }}</div> |
|
|
|
<div v-if="sItem.type === 'dateTime'" class="flex1"> |
|
|
|
<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" |
|
|
|
<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="prefixKey+'_'+key" type="select" :item="sItem" v-model="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" @change="(e,type)=>onSelectChange(key, e,type)" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" |
|
|
|
type="select" :item="sItem" v-model="formFields[key]" @copy="onCopy(sItem, key)" |
|
|
|
@change="(e, type) => onSelectChange(key, e, type)" :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="prefixKey+'_'+key" @blur="onBlur(key, $event)" :item="sItem" v-model="formFields[key]" |
|
|
|
<div v-else-if="sItem.type === 'input'" class="item-center"> |
|
|
|
<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]" /> |
|
|
|
<span v-if="sItem.subType === 'text'" class="sub-text">{{ $t( sItem.subText) }}</span> |
|
|
|
<span v-if="sItem.subType === 'text'" class="sub-text">{{ $t(sItem.subText) }}</span> |
|
|
|
<HandleFormItem class="ml-10" v-else-if="sItem.subType === 'button'" type="button" :item="getButtonItem(sItem)" |
|
|
|
@clickButton="(e) => handleClickButton(e, item)" /> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'textarea'"> |
|
|
|
<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]" /> |
|
|
|
<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="prefixKey+'_'+key" type="clickable" @clickable="handleClickable(sItem, key)" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
@resetRecord="resetRecord(key)" |
|
|
|
:item="sItem" :value="formFields[key]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" |
|
|
|
type="clickable" @clickable="handleClickable(sItem, key)" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" @resetRecord="resetRecord(key)" :item="sItem" |
|
|
|
:value="formFields[key]" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'checkboxList'" class="flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="checkboxList" :item="sItem" :value="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" @change="(e)=>onAttachmentChange(key, e)" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" |
|
|
|
type="checkboxList" :item="sItem" :value="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" @change="(e) => onAttachmentChange(key, e)" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="isRegent(sItem)" class="flex1"> |
|
|
|
<HandleFormItem |
|
|
|
@beforeReagentSubmit="(data, callback)=>onBeforeReagentSubmit(data, callback,key)" |
|
|
|
:field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" :type="sItem.type" |
|
|
|
sourceFrom = "baseInfoFormPackage" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
@onRegentSubmit="(data,inputValue)=>onRegentSubmit(data,inputValue,key,sItem)" |
|
|
|
<HandleFormItem |
|
|
|
@beforeReagentSubmit="(data, callback) => onBeforeReagentSubmit(data, callback, key)" |
|
|
|
:field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" :type="sItem.type" |
|
|
|
sourceFrom="baseInfoFormPackage" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" |
|
|
|
@onRegentSubmit="(data, inputValue) => onRegentSubmit(data, inputValue, key, sItem)" |
|
|
|
:item="sItem" :value="formFields[key]" /> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -129,62 +139,75 @@ |
|
|
|
<div class="grid-container gap2"> |
|
|
|
<div v-for="(sItem, key) in item.config" class="c-Item flex item-center" |
|
|
|
:class="getSpanClass(sItem)" :key="key"> |
|
|
|
<div class="step-form-title" :style = "{'width': sItem.labelWidth ? sItem.labelWidth + 'px' : '150px'}" v-if="sItem.label">{{ $t( sItem.label) }}</div> |
|
|
|
<div class="step-form-title" |
|
|
|
:style="{ 'width': sItem.labelWidth ? sItem.labelWidth + 'px' : '150px' }" v-if="sItem.label"> |
|
|
|
{{ $t(sItem.label) }}</div> |
|
|
|
<div v-if="sItem.type === 'dateTime'" class="flex1"> |
|
|
|
<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" |
|
|
|
<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="prefixKey+'_'+key" type="select" :item="sItem" style="width: auto;flex:1" |
|
|
|
v-model="formFields[key]" @copy="onCopy(sItem, key)" |
|
|
|
@change="(e,type)=>onSelectChange(key, e,type)" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" :orange-bg="orangeBgFields[key]" /> |
|
|
|
<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="(e, type) => onSelectChange(key, e, type)" |
|
|
|
: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">{{sItem.otherLabel ? $t(sItem.otherLabel) : $t("template.common.other") }}</div> |
|
|
|
<div class="other-title">{{ sItem.otherLabel ? $t(sItem.otherLabel) : |
|
|
|
$t("template.common.other") }}</div> |
|
|
|
<div class="flex"> |
|
|
|
<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" |
|
|
|
<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]" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'input'" class="flex flex1"> |
|
|
|
<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="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="(e,type)=>onSelectChange(sItem.subKey, e,type)" :error="errors[sItem.subKey]" |
|
|
|
<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="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="(e, type) => onSelectChange(sItem.subKey, e, type)" :error="errors[sItem.subKey]" |
|
|
|
@update:error="errors[sItem.subKey] = false" |
|
|
|
:orange-bg="orangeBgFields[sItem.subKey]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.subKey" class="ml-10" v-if="sItem.subType === 'input'" type="input" |
|
|
|
:item="getSubItem(sItem)" v-model="formFields[sItem.subKey]" @copy="onCopy(sItem, key)" |
|
|
|
:error="errors[sItem.subKey]" |
|
|
|
@blur="onBlur(sItem.subKey, $event)" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + sItem.subKey" |
|
|
|
class="ml-10" v-if="sItem.subType === 'input'" type="input" :item="getSubItem(sItem)" |
|
|
|
v-model="formFields[sItem.subKey]" @copy="onCopy(sItem, key)" |
|
|
|
:error="errors[sItem.subKey]" @blur="onBlur(sItem.subKey, $event)" |
|
|
|
@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> |
|
|
|
<span v-else-if="sItem.subType === 'text'" class="sub-text">{{ $t( sItem.subText) }}</span> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.subKey" class="ml-10" v-else-if="sItem.subType === 'clickable'" type="clickable" |
|
|
|
<div class="ml-10 item-span" v-else-if="sItem.subType === 'span'">{{ |
|
|
|
formFields[sItem.subKey] }}</div> |
|
|
|
<span v-else-if="sItem.subType === 'text'" class="sub-text">{{ $t(sItem.subText) }}</span> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + sItem.subKey" |
|
|
|
class="ml-10" v-else-if="sItem.subType === 'clickable'" type="clickable" |
|
|
|
@clickable="handleClickable(sItem, sItem.subKey)" :item="getClickableItem(sItem)" |
|
|
|
:error="errors[sItem.subKey]" @update:error="errors[sItem.subKey] = false" |
|
|
|
@resetRecord="resetRecord(sItem.subKey)" |
|
|
|
:value="formFields[sItem.subKey]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.subKey" class="ml-10" v-else-if="isRegent(sItem,'subType')" :type="sItem.subType" |
|
|
|
:item="getRegentItem(sItem,'subType')" |
|
|
|
sourceFrom = "baseInfoFormPackage" |
|
|
|
@beforeReagentSubmit="(data, callback)=>onBeforeReagentSubmit(data, callback,sItem.subKey)" |
|
|
|
@onRegentSubmit="(data,inputValue)=>onRegentSubmit(data,inputValue,sItem.subKey,sItem)" |
|
|
|
@resetRecord="resetRecord(sItem.subKey)" :value="formFields[sItem.subKey]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + sItem.subKey" |
|
|
|
class="ml-10" v-else-if="isRegent(sItem, 'subType')" :type="sItem.subType" |
|
|
|
:item="getRegentItem(sItem, 'subType')" sourceFrom="baseInfoFormPackage" |
|
|
|
@beforeReagentSubmit="(data, callback) => onBeforeReagentSubmit(data, callback, sItem.subKey)" |
|
|
|
@onRegentSubmit="(data, inputValue) => onRegentSubmit(data, inputValue, sItem.subKey, sItem)" |
|
|
|
:error="errors[sItem.subKey]" @update:error="errors[sItem.subKey] = false" |
|
|
|
:value="formFields[sItem.subKey]" /> |
|
|
|
<div v-show="isShowOther(formFields[sItem.subKey])" class="flex flex1"> |
|
|
|
<div class="other-title">{{sItem.otherLabel ? $t(sItem.otherLabel) : $t("template.common.other") }}</div> |
|
|
|
<div class="other-title">{{ sItem.otherLabel ? $t(sItem.otherLabel) : |
|
|
|
$t("template.common.other") }}</div> |
|
|
|
<div class="flex flex1"> |
|
|
|
<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" |
|
|
|
<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]" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
@ -194,72 +217,74 @@ |
|
|
|
</div> --> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'inputNumber'" class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+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="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="(e,type)=>onSelectChange(sItem.subKey, e,type)" :error="errors[sItem.subKey]" |
|
|
|
<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="(e, type) => onSelectChange(sItem.subKey, e, type)" :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="prefixKey+'_'+sItem.subKey" class="ml-10" v-else-if="sItem.subType === 'clickable'" |
|
|
|
@clickable="handleClickable(sItem, sItem.subKey)" :error="errors[sItem.subKey]" type="clickable" |
|
|
|
@update:error="errors[sItem.subKey] = false" |
|
|
|
@resetRecord="resetRecord(sItem.subKey)" |
|
|
|
:item="getClickableItem(sItem)" :value="formFields[sItem.subKey]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+sItem.subKey" class="ml-10" v-else-if="isRegent(sItem,'subType')" |
|
|
|
sourceFrom = "baseInfoFormPackage" |
|
|
|
<div class="ml-10 item-span" v-else-if="sItem.subType === 'span'">{{ |
|
|
|
formFields[sItem.subKey] }}</div> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + sItem.subKey" |
|
|
|
class="ml-10" v-else-if="sItem.subType === 'clickable'" |
|
|
|
@clickable="handleClickable(sItem, sItem.subKey)" :error="errors[sItem.subKey]" |
|
|
|
type="clickable" @update:error="errors[sItem.subKey] = false" |
|
|
|
@resetRecord="resetRecord(sItem.subKey)" :item="getClickableItem(sItem)" |
|
|
|
:value="formFields[sItem.subKey]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + sItem.subKey" |
|
|
|
class="ml-10" v-else-if="isRegent(sItem, 'subType')" sourceFrom="baseInfoFormPackage" |
|
|
|
:error="errors[sItem.subKey]" :type="sItem.subType" |
|
|
|
@beforeReagentSubmit="(data, callback)=>onBeforeReagentSubmit(data, callback,sItem.subKey)" |
|
|
|
@onRegentSubmit="(data,inputValue)=>onRegentSubmit(data,inputValue,sItem.subKey,sItem)" |
|
|
|
:item="getRegentItem(sItem,'subType')" :value="formFields[sItem.subKey]" /> |
|
|
|
@beforeReagentSubmit="(data, callback) => onBeforeReagentSubmit(data, callback, sItem.subKey)" |
|
|
|
@onRegentSubmit="(data, inputValue) => onRegentSubmit(data, inputValue, sItem.subKey, sItem)" |
|
|
|
:item="getRegentItem(sItem, 'subType')" :value="formFields[sItem.subKey]" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'clickable'" class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" |
|
|
|
:field-key="prefixKey+'_'+key" type="clickable" @clickable="handleClickable(sItem,key)" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
@resetRecord="resetRecord(key)" |
|
|
|
:item="sItem" :value="formFields[key]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" |
|
|
|
type="clickable" @clickable="handleClickable(sItem, key)" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" @resetRecord="resetRecord(key)" :item="sItem" |
|
|
|
:value="formFields[key]" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'checkboxList'" class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="checkboxList" :item="sItem" :value="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" @change="(e)=>onAttachmentChange(key, e)" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" |
|
|
|
type="checkboxList" :item="sItem" :value="formFields[key]" @copy="onCopy(sItem, key)" |
|
|
|
@change="(e) => onAttachmentChange(key, e)" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" :orange-bg="orangeBgFields[key]" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="isRegent(sItem)" |
|
|
|
class="flex item-center flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" |
|
|
|
sourceFrom = "baseInfoFormPackage" |
|
|
|
@beforeReagentSubmit="(data, callback)=>onBeforeReagentSubmit(data, callback,key)" |
|
|
|
@onRegentSubmit="(data,inputValue)=>onRegentSubmit(data,inputValue,key,sItem)" |
|
|
|
:field-key="prefixKey+'_'+key" :type="sItem.type" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:item="getRegentItem(sItem)" :value="formFields[key]" /> |
|
|
|
<span v-if="sItem.subType === 'text'" class="sub-text">{{ $t( sItem.subText) }}</span> |
|
|
|
<div v-else-if="isRegent(sItem)" class="flex item-center flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" sourceFrom="baseInfoFormPackage" |
|
|
|
@beforeReagentSubmit="(data, callback) => onBeforeReagentSubmit(data, callback, key)" |
|
|
|
@onRegentSubmit="(data, inputValue) => onRegentSubmit(data, inputValue, key, sItem)" |
|
|
|
:field-key="prefixKey + '_' + key" :type="sItem.type" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" :item="getRegentItem(sItem)" |
|
|
|
:value="formFields[key]" /> |
|
|
|
<span v-if="sItem.subType === 'text'" class="sub-text">{{ $t(sItem.subText) }}</span> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
<template v-else-if="item.type === 'checkboxList'"> |
|
|
|
<div class="form-item "> |
|
|
|
<div class="form-title fs-16" v-if="item.label">{{ $t( item.label) }}</div> |
|
|
|
<div class="form-item "> |
|
|
|
<div class="form-title fs-16" v-if="item.label">{{ $t(item.label) }}</div> |
|
|
|
<div v-for="(sItem, key) in item.config" class="c-Item grid-container"> |
|
|
|
<div class="p-r-20 item-center"> |
|
|
|
<div class="form-title mr-20">{{ $t( sItem.label) }}</div> |
|
|
|
<div class="form-title mr-20">{{ $t(sItem.label) }}</div> |
|
|
|
<div class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey+'_'+key" type="checkboxList" :item="sItem" :value="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" @change="(e)=>onAttachmentChange(key, e)" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" |
|
|
|
type="checkboxList" :item="sItem" :value="formFields[key]" |
|
|
|
@copy="onCopy(sItem, key)" @change="(e) => onAttachmentChange(key, e)" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
</template> |
|
|
|
|
|
|
|
</div> |
|
|
|
@ -299,7 +324,7 @@ export default { |
|
|
|
default: "", |
|
|
|
}, |
|
|
|
//循环组件的情况下需要用这个来区分字段 |
|
|
|
prefixKey:{ |
|
|
|
prefixKey: { |
|
|
|
type: String, |
|
|
|
default: "", |
|
|
|
} |
|
|
|
@ -317,7 +342,18 @@ export default { |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
onBeforeReagentSubmit(data, callback, key) { |
|
|
|
this.$emit('beforeReagentSubmit',{selectData:data, callback, key,formFields:this.formFields}) |
|
|
|
this.$emit('beforeReagentSubmit', { selectData: data, callback, key, formFields: this.formFields }) |
|
|
|
}, |
|
|
|
// 点击按钮 |
|
|
|
handleClickButton(e, item) { |
|
|
|
this.$emit("clickButton", e, item) |
|
|
|
}, |
|
|
|
// 获取按钮项 |
|
|
|
getButtonItem(sItem) { |
|
|
|
return { |
|
|
|
...sItem, |
|
|
|
fillType: sItem.subFillType || sItem.fillType |
|
|
|
} |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
@ -329,7 +365,7 @@ export default { |
|
|
|
grid-template-columns: repeat(2, 1fr); |
|
|
|
/* 默认2列 */ |
|
|
|
gap: 0 20px; |
|
|
|
/* 防止网格容器被分割到不同页面 */ |
|
|
|
/* 防止网格容器被分割到不同页面 */ |
|
|
|
page-break-inside: avoid; |
|
|
|
break-inside: avoid; |
|
|
|
} |
|
|
|
@ -456,23 +492,28 @@ export default { |
|
|
|
.ml-10 { |
|
|
|
margin-left: 10px; |
|
|
|
} |
|
|
|
.item-span{ |
|
|
|
|
|
|
|
.item-span { |
|
|
|
color: #606266; |
|
|
|
font-size: 14px; |
|
|
|
} |
|
|
|
.item-center{ |
|
|
|
|
|
|
|
.item-center { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
.ml-5{ |
|
|
|
|
|
|
|
.ml-5 { |
|
|
|
margin-left: 5px; |
|
|
|
} |
|
|
|
.sub-text{ |
|
|
|
|
|
|
|
.sub-text { |
|
|
|
color: #606266; |
|
|
|
font-size: 14px; |
|
|
|
margin-left: 5px; |
|
|
|
} |
|
|
|
.mr-20{ |
|
|
|
|
|
|
|
.mr-20 { |
|
|
|
margin-right: 20px; |
|
|
|
} |
|
|
|
</style> |