提交 320bc7ff authored 作者: kxjia's avatar kxjia

Merge branch 'master' of http://47.97.51.208/root/zrch-risk-39

...@@ -13,13 +13,68 @@ ...@@ -13,13 +13,68 @@
<template v-else-if="row[column.field].formType=='radio-group'"> <template v-else-if="row[column.field].formType=='radio-group'">
<vxe-radio-group v-model="formData[row[column.field].field]"> <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> </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>
<template v-else-if="row[column.field].formType=='checkbox-group'"> <template v-else-if="row[column.field].formType=='checkbox-group'">
<vxe-checkbox-group v-model="formData[row[column.field].field]"> <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> </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>
<template v-else-if="row[column.field].formType=='textarea'"> <template v-else-if="row[column.field].formType=='textarea'">
<vxe-textarea v-model="formData[row[column.field].field]" :row="3"></vxe-textarea> <vxe-textarea v-model="formData[row[column.field].field]" :row="3"></vxe-textarea>
...@@ -29,6 +84,18 @@ ...@@ -29,6 +84,18 @@
<vxe-radio label="是"></vxe-radio> <vxe-radio label="是"></vxe-radio>
<vxe-radio label="否"></vxe-radio> <vxe-radio label="否"></vxe-radio>
</vxe-radio-group> </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>
<template v-else> <template v-else>
<vxe-input <vxe-input
......
...@@ -113,7 +113,6 @@ ...@@ -113,7 +113,6 @@
<template v-if="field.extraFields"> <template v-if="field.extraFields">
<template v-for="(ccopt,ccind) in field.extraFields[row[field.field]]" :key="ccind"> <template v-for="(ccopt,ccind) in field.extraFields[row[field.field]]" :key="ccind">
<span style="margin-left:20px">{{ ccopt.label }}: </span> <span style="margin-left:20px">{{ ccopt.label }}: </span>
<component <component
:is="getExtraFieldComponent(ccopt.formType)" :is="getExtraFieldComponent(ccopt.formType)"
...@@ -124,12 +123,19 @@ ...@@ -124,12 +123,19 @@
:style="{width:ccopt.width}" :style="{width:ccopt.width}"
size="small" 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 v-model="row[ccopt.otherField]" placeholder="请输入其他" style="width: 100px;">
</vxe-input> </vxe-input>
</template> </template>
<span class="unit"> {{ ccopt.unit }}</span> <span class="unit"> {{ ccopt.unit }}</span>
</template> </template>
</template> </template>
</template> </template>
...@@ -151,7 +157,7 @@ ...@@ -151,7 +157,7 @@
<template v-if="field.extraFields"> <template v-if="field.extraFields">
<template v-for="(ccopts,ccind) in field.extraFields" :key="ccind"> <template v-for="(ccopts,ccind) in field.extraFields" :key="ccind">
<template v-for="(ccopt,ind) in ccopts" :key="ind"> <template v-for="(ccopt,ind) in ccopts" :key="ind">
<br> <br/>
<span style="margin-left:20px">{{ ccopt.label }}: </span> <span style="margin-left:20px">{{ ccopt.label }}: </span>
<component <component
:is="getExtraFieldComponent(ccopt.formType)" :is="getExtraFieldComponent(ccopt.formType)"
...@@ -179,9 +185,17 @@ ...@@ -179,9 +185,17 @@
class="extra-input" class="extra-input"
/> />
<template v-if="item.formType==='checkbox'|| item.formType==='radio'"> <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> <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> </vxe-input>
</template> </template>
</template> </template>
...@@ -222,6 +236,21 @@ ...@@ -222,6 +236,21 @@
:type="extraObject.formType === 'number' ? 'number' : undefined" :type="extraObject.formType === 'number' ? 'number' : undefined"
class="extra-input" 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> <span v-if="extraObject.extraUnit" class="unit">{{ extraObject.unit }}</span>
</div> </div>
</template> </template>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论