|
|
|
@ -40,7 +40,7 @@ |
|
|
|
</div> |
|
|
|
<div class="p-l-20"> |
|
|
|
<div v-show="isShowOther(formFields[key])"> |
|
|
|
<div class="form-title">{{ sItem.otherLabel ? $t(sItem.otherLabel) : |
|
|
|
<div class="form-title" >{{ sItem.otherLabel ? $t(sItem.otherLabel) : |
|
|
|
$t("template.common.other") }}</div> |
|
|
|
<div class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" |
|
|
|
@ -84,22 +84,33 @@ |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'select'"> |
|
|
|
<div v-else-if="sItem.type === 'select'" 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]" /> |
|
|
|
<div v-show="isShowOther(formFields[key])" class="flex flex1 ml-10"> |
|
|
|
<div class="other-title" v-if="isShowOtherLabel(sItem)">{{ 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" |
|
|
|
:orange-bg="orangeBgFields[sItem.otherCode]" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<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" |
|
|
|
:ref = "key" |
|
|
|
:orange-bg="orangeBgFields[key]" /> |
|
|
|
:ref="key" :orange-bg="orangeBgFields[key]" /> |
|
|
|
<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)" |
|
|
|
:value="formFields[sItem.subKey]" |
|
|
|
@clickButton="(e,val,data) => handleClickButton(e, sItem,val,data)" /> |
|
|
|
<HandleFormItem class="ml-10" v-else-if="sItem.subType === 'button'" type="button" |
|
|
|
:item="getButtonItem(sItem)" :value="formFields[sItem.subKey]" |
|
|
|
@clickButton="(e, val, data) => handleClickButton(e, sItem, val, data)" /> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'textarea'"> |
|
|
|
@ -125,22 +136,20 @@ |
|
|
|
<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]" |
|
|
|
: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 v-else-if="sItem.type === 'radioAndOther'" class="item-center"> |
|
|
|
<HandleFormItem |
|
|
|
:field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" type="radio" |
|
|
|
:error="errors[key]" |
|
|
|
@update:error="errors[key] = false" |
|
|
|
@change="(e,type) => onSelectChange(key, e, type)" |
|
|
|
:item="sItem" :value="formFields[key]" /> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" |
|
|
|
type="radio" :error="errors[key]" @update:error="errors[key] = false" |
|
|
|
@change="(e, type) => onSelectChange(key, e, type)" :item="sItem" |
|
|
|
:value="formFields[key]" /> |
|
|
|
<div v-show="isShowOtherByRadioAndOther(formFields[key], sItem)" class="flex1 ml-10"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" |
|
|
|
:field-key="prefixKey + '_' + sItem.otherCode" @blur="onBlur(key, $event)" |
|
|
|
:item="getRadioOtherItem(sItem)" v-model="formFields[sItem.otherCode]" |
|
|
|
@copy="onCopy(sItem, key)" :error="errors[sItem.otherCode]" |
|
|
|
@ -148,11 +157,12 @@ |
|
|
|
:orange-bg="orangeBgFields[sItem.otherCode]" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div v-else-if="sItem.type === 'fqyq'" class="flex1" :class="{ 'form-error-border': errors[key] }"> |
|
|
|
<div v-else-if="sItem.type === 'fqyq'" class="flex1" |
|
|
|
:class="{ 'form-error-border': errors[key] }"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" :field-key="prefixKey + '_' + key" |
|
|
|
type="fqyq" :item="sItem" :value="formFields[key]" |
|
|
|
@change="(e) => onFqyqChange(key, e)" |
|
|
|
:error="errors[key]" @update:error="errors[key] = false" /> |
|
|
|
@change="(e) => onFqyqChange(key, e)" :error="errors[key]" |
|
|
|
@update:error="errors[key] = false" /> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
@ -166,7 +176,8 @@ |
|
|
|
<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"> |
|
|
|
: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" |
|
|
|
@ -180,8 +191,8 @@ |
|
|
|
@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) : |
|
|
|
<div v-show="isShowOther(formFields[key])" class="flex flex1 ml-10"> |
|
|
|
<div class="other-title" v-if="isShowOtherLabel(sItem)">{{ sItem.otherLabel ? $t(sItem.otherLabel) : |
|
|
|
$t("template.common.other") }}</div> |
|
|
|
<div class="flex"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" |
|
|
|
@ -198,14 +209,16 @@ |
|
|
|
@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)" |
|
|
|
<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" |
|
|
|
@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)" |
|
|
|
<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" |
|
|
|
@ -213,20 +226,22 @@ |
|
|
|
<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" |
|
|
|
<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" |
|
|
|
<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) : |
|
|
|
<div v-show="isShowOther(formFields[sItem.subKey])" class="flex flex1 ml-10"> |
|
|
|
<div class="other-title" v-if="isShowOtherLabel(sItem)">{{ sItem.otherLabel ? $t(sItem.otherLabel) : |
|
|
|
$t("template.common.other") }}</div> |
|
|
|
<div class="flex flex1"> |
|
|
|
<HandleFormItem :field-item-label="fieldItemLabel" |
|
|
|
@ -248,22 +263,25 @@ |
|
|
|
@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)" |
|
|
|
<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" |
|
|
|
@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'" |
|
|
|
<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" |
|
|
|
<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)" |
|
|
|
@ -320,7 +338,7 @@ |
|
|
|
<script> |
|
|
|
import HandleFormItem from "./HandleFormItem.vue"; |
|
|
|
import LineLabel from "./LineLabel.vue"; |
|
|
|
import { isShowOther,isShowOtherByRadioAndOther } from "@/utils/formPackageCommon.js"; |
|
|
|
import { isShowOther, isShowOtherByRadioAndOther } from "@/utils/formPackageCommon.js"; |
|
|
|
import { isRegent } from "@/utils/index.js"; |
|
|
|
|
|
|
|
import formPackageMixins from '@/components/Template/mixins/formPackageMixins.js' |
|
|
|
@ -372,9 +390,9 @@ export default { |
|
|
|
this.$emit('beforeReagentSubmit', { selectData: data, callback, key, formFields: this.formFields }) |
|
|
|
}, |
|
|
|
// 点击按钮 |
|
|
|
handleClickButton(e, item,val,data) { |
|
|
|
handleClickButton(e, item, val, data) { |
|
|
|
this.formFields[item.subKey] = val; |
|
|
|
this.$emit("clickButton", item,data) |
|
|
|
this.$emit("clickButton", item, data) |
|
|
|
}, |
|
|
|
// 获取按钮项 |
|
|
|
getButtonItem(sItem) { |
|
|
|
@ -385,10 +403,17 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
// 处理fqyq变化 |
|
|
|
onFqyqChange(key, e){ |
|
|
|
console.log(e,key,'fqyq'); |
|
|
|
onFqyqChange(key, e) { |
|
|
|
console.log(e, key, 'fqyq'); |
|
|
|
this.formFields[key] = e; |
|
|
|
} |
|
|
|
}, |
|
|
|
//是否显示其他输入框的标题 |
|
|
|
isShowOtherLabel(sItem){ |
|
|
|
if (sItem.hasOwnProperty("showOtherLabel")) { |
|
|
|
return sItem.showOtherLabel |
|
|
|
} |
|
|
|
return true |
|
|
|
}, |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
@ -551,10 +576,11 @@ export default { |
|
|
|
.mr-20 { |
|
|
|
margin-right: 20px; |
|
|
|
} |
|
|
|
.form-error-border{ |
|
|
|
|
|
|
|
.form-error-border { |
|
|
|
box-shadow: 0 0 6px #ffc3c3; |
|
|
|
padding: 8px; |
|
|
|
border-radius: 4px; |
|
|
|
border: 1px solid #ff5d5d; |
|
|
|
padding: 8px; |
|
|
|
border-radius: 4px; |
|
|
|
border: 1px solid #ff5d5d; |
|
|
|
} |
|
|
|
</style> |