提交 93d1a295 authored 作者: liuluyu's avatar liuluyu

更新TB2字段和表单配置文件

上级 217d97cc
......@@ -13,13 +13,68 @@
<template v-else-if="row[column.field].formType=='radio-group'">
<vxe-radio-group v-model="formData[row[column.field].field]">
<vxe-radio v-for="(opt, optIndex) in row[column.field].options" :key="optIndex" :label="opt">{{ opt }}</vxe-radio>
<vxe-radio
v-for="(opt, optIndex) in row[column.field].options"
:key="optIndex"
:label="opt"
>
{{ opt }}
</vxe-radio>
</vxe-radio-group>
<!-- 1)通用“其他”选项 -->
<template
v-if="
row[column.field].otherOption &&
formData[row[column.field].field] === '其他'
"
>
<vxe-input
v-model="formData[row[column.field].otherField]"
placeholder="请输入其他"
style="width: 120px; margin-left: 8px;"
/>
</template>
<!-- 2)指定值触发的额外输入,例如 extraWhen: '外部机构' -->
<template
v-else-if="
row[column.field].extraField &&
(!row[column.field].extraWhen ||
formData[row[column.field].field] === row[column.field].extraWhen)
"
>
<vxe-input
v-model="formData[row[column.field].extraField]"
:placeholder="row[column.field].extraPlaceholder || '请输入'"
style="width: 150px; margin-left: 8px;"
/>
<span v-if="row[column.field].extraUnit" class="unit">
{{ row[column.field].extraUnit }}
</span>
</template>
</template>
<template v-else-if="row[column.field].formType=='checkbox-group'">
<vxe-checkbox-group v-model="formData[row[column.field].field]">
<vxe-checkbox v-for="(opt, optIndex) in row[column.field].options" :key="optIndex" :label="opt">{{ opt }}</vxe-checkbox>
<vxe-checkbox
v-for="(opt, optIndex) in row[column.field].options"
:key="optIndex"
:label="opt"
>
{{ opt }}
</vxe-checkbox>
</vxe-checkbox-group>
<template
v-if="
row[column.field].otherField &&
Array.isArray(formData[row[column.field].field]) &&
formData[row[column.field].field].includes('其他')
"
>
<vxe-input
v-model="formData[row[column.field].otherField]"
:placeholder="row[column.field].extraPlaceholder || '请输入其他'"
style="width: 150px; margin-left: 8px;"
/>
</template>
</template>
<template v-else-if="row[column.field].formType=='textarea'">
<vxe-textarea v-model="formData[row[column.field].field]" :row="3"></vxe-textarea>
......@@ -29,6 +84,18 @@
<vxe-radio label="是"></vxe-radio>
<vxe-radio label="否"></vxe-radio>
</vxe-radio-group>
<template
v-if="
row[column.field].extraField &&
formData[row[column.field].field] === '是'
"
>
<vxe-input
v-model="formData[row[column.field].extraField]"
:placeholder="row[column.field].extraPlaceholder || '请输入'"
style="width: 150px; margin-left: 8px;"
/>
</template>
</template>
<template v-else>
<vxe-input
......
......@@ -113,7 +113,6 @@
<template v-if="field.extraFields">
<template v-for="(ccopt,ccind) in field.extraFields[row[field.field]]" :key="ccind">
<span style="margin-left:20px">{{ ccopt.label }}: </span>
<component
:is="getExtraFieldComponent(ccopt.formType)"
......@@ -124,12 +123,19 @@
:style="{width:ccopt.width}"
size="small"
/>
<template v-if="ccopt.otherOption&&row[ccopt.field]=='其他'">
<template
v-if="
ccopt.otherOption &&
(
(ccopt.formType === 'radio' && row[ccopt.field] === '其他') ||
(ccopt.formType === 'checkbox' && Array.isArray(row[ccopt.field]) && row[ccopt.field].includes('其他'))
)
"
>
<vxe-input v-model="row[ccopt.otherField]" placeholder="请输入其他" style="width: 100px;">
</vxe-input>
</template>
<span class="unit"> {{ ccopt.unit }}</span>
</template>
</template>
</template>
......@@ -151,7 +157,7 @@
<template v-if="field.extraFields">
<template v-for="(ccopts,ccind) in field.extraFields" :key="ccind">
<template v-for="(ccopt,ind) in ccopts" :key="ind">
<br>
<br/>
<span style="margin-left:20px">{{ ccopt.label }}: </span>
<component
:is="getExtraFieldComponent(ccopt.formType)"
......@@ -179,9 +185,17 @@
class="extra-input"
/>
<template v-if="item.formType==='checkbox'|| item.formType==='radio'">
<template v-if="item.otherOption&&row[item.field]==='其他'">
<template
v-if="
item.otherOption &&
(
(item.formType === 'radio' && row[item.field] === '其他') ||
(item.formType === 'checkbox' && Array.isArray(row[item.field]) && row[item.field].includes('其他'))
)
"
>
<span class="extra-label">{{ item.otherLabel}}</span>
<vxe-input v-model="row[item.otherField]" placeholder="请输入其他" style="width: 150px;">
<vxe-input v-model="row[item.otherField]" placeholder="请输入" style="width: 150px;">
</vxe-input>
</template>
</template>
......@@ -222,6 +236,21 @@
:type="extraObject.formType === 'number' ? 'number' : undefined"
class="extra-input"
/>
<template
v-if="
extraObject.otherOption &&
(
(extraObject.formType === 'radio' && row[extraObject.field] === '其他') ||
(extraObject.formType === 'checkbox' && Array.isArray(row[extraObject.field]) && row[extraObject.field].includes('其他'))
)
"
>
<vxe-input
v-model="row[extraObject.otherField]"
placeholder="请输入其他"
style="width: 150px; margin-left: 8px;"
/>
</template>
<span v-if="extraObject.extraUnit" class="unit">{{ extraObject.unit }}</span>
</div>
</template>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论