hookehuyr

fix(components): 修复动态表单字段处理和边框样式问题

修复AddTargetDialog组件中最后一个字段的边框显示问题,优化CheckinDetailPage组件中动态表单字段的处理逻辑,简化ID获取方式并使用后端提供的类型字段
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
9 @update:show="updateShow" 9 @update:show="updateShow"
10 > 10 >
11 <div class="p-4"> 11 <div class="p-4">
12 - <div v-for="field in localFields" :key="field.id"> 12 + <div v-for="(field, index) in localFields" :key="field.id">
13 <van-field 13 <van-field
14 v-model="field.value" 14 v-model="field.value"
15 label-width="5rem" 15 label-width="5rem"
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
18 :type="field.type === 'textarea' ? 'textarea' : 'text'" 18 :type="field.type === 'textarea' ? 'textarea' : 'text'"
19 :rows="field.type === 'textarea' ? 2 : 1" 19 :rows="field.type === 'textarea' ? 2 : 1"
20 :autosize="field.type === 'textarea'" 20 :autosize="field.type === 'textarea'"
21 - class="border-b border-gray-100" 21 + :class="{'border-b border-gray-100': index < localFields.length - 1}"
22 :required="field.required" 22 :required="field.required"
23 /> 23 />
24 </div> 24 </div>
......
...@@ -166,8 +166,7 @@ ...@@ -166,8 +166,7 @@
166 </van-popup> 166 </van-popup>
167 167
168 <!-- 图片预览弹窗 --> 168 <!-- 图片预览弹窗 -->
169 - <van-image-preview v-model:show="imageShow" :images="imageList" :start-position="imageIndex" 169 + <van-image-preview v-model:show="imageShow" :images="imageList" :start-position="imageIndex" :show-index="true" />
170 - :show-index="true" />
171 </div> 170 </div>
172 </template> 171 </template>
173 172
...@@ -243,16 +242,12 @@ const personType = ref('') // 动态表单字段中的person_type ...@@ -243,16 +242,12 @@ const personType = ref('') // 动态表单字段中的person_type
243 */ 242 */
244 const updateDynamicFormFields = (option) => { 243 const updateDynamicFormFields = (option) => {
245 if (option.field_list && Array.isArray(option.field_list)) { 244 if (option.field_list && Array.isArray(option.field_list)) {
245 + // 处理动态表单字段
246 dynamicFormFields.value = option.field_list.map(field => { 246 dynamicFormFields.value = option.field_list.map(field => {
247 - // 尝试多种方式获取ID
248 - const id = field.field_name || field.id || field.name || field.key || field.field
249 - if (!id) {
250 - console.warn('动态表单字段缺少ID:', field)
251 - }
252 return { 247 return {
253 - id: id, 248 + id: field.field,
254 label: field.label || '未命名', 249 label: field.label || '未命名',
255 - type: 'text', // 默认类型,如果后端有类型字段可替换 250 + type: field.type || 'text', // 默认类型,如果后端有类型字段可替换
256 required: true // 默认必填,如果后端有必填字段可替换 251 required: true // 默认必填,如果后端有必填字段可替换
257 } 252 }
258 }) 253 })
......