hookehuyr

refactor(感恩模块): 优化感恩对象字段命名和表单处理逻辑

将接口中的 gratitude_people 字段统一改为 gratitude_form_list 以保持一致性
优化 AddTargetDialog 组件对初始值的处理逻辑
删除不再使用的 gratitude.js 接口文件
/*
* @Date: 2025-06-06 09:26:16
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-12-17 09:47:48
* @LastEditTime: 2025-12-17 10:31:54
* @FilePath: /mlaj/src/api/checkin.js
* @Description: 签到模块相关接口
*/
......@@ -102,7 +102,7 @@ export const addUploadTaskAPI = (params) => fn(fetch.post(Api.TASK_UPLOAD_ADD,
* file_type 上传附件的类型 image=上传图片,video=视频,audio=音频, like_count 点赞数, is_my 是不是我的打卡, is_like 我是否已经点赞, is_makeup 是否补卡
* subtask_title 小作业标题
* gratitude_count 感恩次数
* gratitude_people 感恩对象列表 [{id,name,city,unit}]
* gratitude_form_list 感恩对象列表 [{id,name,city,unit}]
* }]
*/
export const getUploadTaskListAPI = (params) => fn(fetch.post(Api.TASK_UPLOAD_LIST, params))
......
/*
* @Date: 2025-06-06 09:26:16
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-12-16 17:52:19
* @FilePath: /mlaj/src/api/gratitude.js
* @Description: 计数模块相关接口
*/
import { fn, fetch } from './fn'
const Api = {
GET_GRATITUDE_LIST: '/srv/?a=gratitude_people&t=list',
POST_GRATITUDE_ADD: '/srv/?a=gratitude_people&t=add',
POST_GRATITUDE_EDIT: '/srv/?a=gratitude_people&t=edit',
POST_GRATITUDE_DEL: '/srv/?a=gratitude_people&t=del',
}
/**
* @description: 计数对象列表
* @param: person_type 计数对象类型 teacher=老师, doctor=医生, parent=父母, sage=圣贤
* @return: data.gratitude_people [{ id 计数对象ID, name 计数对象名称, city 地址, unit 单位 }]
*/
export const getGratitudeListAPI = (params) => fn(fetch.get(Api.GET_GRATITUDE_LIST, params))
/**
* @description: 添加感恩对象
* @param person_type 计数对象类型 teacher=老师, doctor=医生, parent=父母, sage=圣贤
* 下面的值应该是动态字段绑定的值, 通过field_list获取里面的field_name, 再根据field_name绑定值
* @param name 感恩对象名称
* @param city 地址
* @param unit 单位
* @returns
*/
export const gratitudeAddAPI = (params) => fn(fetch.post(Api.POST_GRATITUDE_ADD, params))
/**
* @description: 编辑感恩对象
* @param id 感恩对象ID
* 下面的值应该是动态字段绑定的值, 通过field_list获取里面的field_name, 再根据field_name绑定值
* @param name 感恩对象名称
* @param city 地址
* @param unit 单位
* @returns
*/
export const gratitudeEditAPI = (params) => fn(fetch.post(Api.POST_GRATITUDE_EDIT, params))
/**
* @description: 删除感恩对象
* @param id 感恩对象ID
* @returns
*/
export const gratitudeDelAPI = (params) => fn(fetch.post(Api.POST_GRATITUDE_DEL, params))
......@@ -67,14 +67,17 @@ const emit = defineEmits(['update:show', 'confirm'])
// 本地表单字段状态
const localFields = ref([])
// 监听弹窗显示状态和字段配置变化,初始化表单
watch([() => props.show, () => props.fields], ([showVal, fieldsVal]) => {
// 监听弹窗显示状态、字段配置和初始值的变化
watch([() => props.show, () => props.fields, () => props.initialValues], ([showVal, fieldsVal, initialValuesVal]) => {
if (showVal) {
// 初始化字段,添加 value 属性
localFields.value = fieldsVal.map(field => ({
localFields.value = fieldsVal.map(field => {
const val = (initialValuesVal && initialValuesVal[field.id]);
return {
...field,
value: (props.initialValues && props.initialValues[field.id]) || ''
}))
value: val || ''
}
})
}
}, { immediate: true, deep: true })
......
......@@ -228,7 +228,7 @@ const taskOptions = ref([])
const fetchTargetList = async (subtask_id) => {
const { code, data } = await reuseGratitudeFormAPI({ subtask_id })
if (code) {
targetList.value = data.gratitude_people || []
targetList.value = data || []
}
}
......@@ -245,7 +245,7 @@ const updateDynamicFormFields = (option) => {
// 处理动态表单字段
dynamicFormFields.value = option.field_list.map(field => {
return {
id: field.field,
id: field.field || field.field_name || field.name || field.id, // 兼容多种字段名
label: field.label || '未命名',
type: field.type || 'text', // 默认类型,如果后端有类型字段可替换
required: true // 默认必填,如果后端有必填字段可替换
......