移动端集中修改dict字典展示
This commit is contained in:
1 parent
4b9dbe40fb
commit
8bbe4e6a35
16 files changed
+1684
-134
No files matched your search
+2
-11
@@ -34,7 +34,6 @@
|
|||||||
#### 📋 文档管理规范 (.cursor/cursorrules-docs.md)
|
#### 📋 文档管理规范 (.cursor/cursorrules-docs.md)
|
||||||
- 文档目录组织(中文化架构)
|
- 文档目录组织(中文化架构)
|
||||||
- **🚨 强制性文档同步更新规则**
|
- **🚨 强制性文档同步更新规则**
|
||||||
- 变更记录管理规范(按日期和用户分文件)
|
|
||||||
- 业务模块文档管理(为AI提供完整上下文)
|
- 业务模块文档管理(为AI提供完整上下文)
|
||||||
- **📊 API文档拆分管理规范** (2025-07-01新增,文件夹重组):
|
- **📊 API文档拆分管理规范** (2025-07-01新增,文件夹重组):
|
||||||
- **📁 文件夹结构**: 所有API文档统一存放在 `docs/开发文档/API/` 文件夹下
|
- **📁 文件夹结构**: 所有API文档统一存放在 `docs/开发文档/API/` 文件夹下
|
||||||
@@ -107,11 +106,6 @@
|
|||||||
- **移动端功能变更** → `docs/业务模块/[模块名称]/` 移动端部分
|
- **移动端功能变更** → `docs/业务模块/[模块名称]/` 移动端部分
|
||||||
- **移动端技术规范变更** → `.cursor/cursorrules-mobile.md`
|
- **移动端技术规范变更** → `.cursor/cursorrules-mobile.md`
|
||||||
|
|
||||||
#### 变更记录规范
|
|
||||||
- **文件格式**: `docs/变更管理/code-adjust-record-YYYY-MM-DD-{username}.md`
|
|
||||||
- **排序要求**: 按时间倒序排列,最新记录在最上面
|
|
||||||
- **时间填写**: 必须填写真实的当前时间(YYYY-MM-DD HH:mm:ss)
|
|
||||||
|
|
||||||
### 2. 🔴 数据库开发强制要求
|
### 2. 🔴 数据库开发强制要求
|
||||||
- **标准基础字段**: 所有业务表必须包含统一的基础字段
|
- **标准基础字段**: 所有业务表必须包含统一的基础字段
|
||||||
- **雪花ID主键**: 统一使用 `bigint(20)` 作为主键
|
- **雪花ID主键**: 统一使用 `bigint(20)` 作为主键
|
||||||
@@ -141,8 +135,7 @@
|
|||||||
1. **确定开发场景** → 自动应用对应技术栈规范
|
1. **确定开发场景** → 自动应用对应技术栈规范
|
||||||
2. **编写/修改代码** → 遵循相应的编码规范
|
2. **编写/修改代码** → 遵循相应的编码规范
|
||||||
3. **立即更新文档** → 同步更新API文档和相关文档
|
3. **立即更新文档** → 同步更新API文档和相关文档
|
||||||
4. **记录变更日志** → 在当日变更文件中记录
|
4. **验证和测试** → 确保功能正常和文档准确
|
||||||
5. **验证和测试** → 确保功能正常和文档准确
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### 🤖 Cursor AI 规范应用
|
### 🤖 Cursor AI 规范应用
|
||||||
@@ -173,7 +166,6 @@
|
|||||||
- **技术规范**: 对应的`.cursor/cursorrules-*.md`文件
|
- **技术规范**: 对应的`.cursor/cursorrules-*.md`文件
|
||||||
- **最佳实践**: `docs/开发文档/API开发最佳实践总结.md`
|
- **最佳实践**: `docs/开发文档/API开发最佳实践总结.md`
|
||||||
- **项目知识库**: `docs/知识库/`目录
|
- **项目知识库**: `docs/知识库/`目录
|
||||||
- **变更记录**: `docs/变更管理/code-adjust-record-YYYY-MM-DD-{username}.md`
|
|
||||||
|
|
||||||
#### 总结流程
|
#### 总结流程
|
||||||
```
|
```
|
||||||
@@ -190,13 +182,12 @@
|
|||||||
|
|
||||||
**⚠️ 基于场地预约管理系统开发实践制定的标准流程**
|
**⚠️ 基于场地预约管理系统开发实践制定的标准流程**
|
||||||
|
|
||||||
#### 完整开发流程(6个阶段)
|
#### 完整开发流程(5个阶段)
|
||||||
1. **需求分析和文档创建** → 业务需求+技术架构文档
|
1. **需求分析和文档创建** → 业务需求+技术架构文档
|
||||||
2. **数据库设计和初始化** → 表结构+字典+权限+示例数据
|
2. **数据库设计和初始化** → 表结构+字典+权限+示例数据
|
||||||
3. **后端模块开发** → 完整ruoyi模块(16个API接口)
|
3. **后端模块开发** → 完整ruoyi模块(16个API接口)
|
||||||
4. **API文档编写** → 400+行详细API文档
|
4. **API文档编写** → 400+行详细API文档
|
||||||
5. **自动化测试脚本** → 450+行Python测试脚本
|
5. **自动化测试脚本** → 450+行Python测试脚本
|
||||||
6. **变更记录和验证** → 完整的变更日志
|
|
||||||
|
|
||||||
#### 16个标准API接口模式
|
#### 16个标准API接口模式
|
||||||
- **基础管理接口(6个)**: list、详情、新增、修改、删除、可用选项
|
- **基础管理接口(6个)**: list、详情、新增、修改、删除、可用选项
|
||||||
|
|||||||
Whitespace-only changes.
+28
@@ -233,4 +233,32 @@ public class XgStudentLeaveVo implements Serializable {
|
|||||||
@ExcelProperty(value = "销假备注")
|
@ExcelProperty(value = "销假备注")
|
||||||
private String cancelRemark;
|
private String cancelRemark;
|
||||||
|
|
||||||
|
// ========== 基础字段(项目强制性规范要求) ==========
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建者
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "创建者")
|
||||||
|
private Long createBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "创建时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新者
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "更新者")
|
||||||
|
private Long updateBy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新时间
|
||||||
|
*/
|
||||||
|
@ExcelProperty(value = "更新时间")
|
||||||
|
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||||
|
private Date updateTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,47 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
"""
|
|
||||||
批量修复XgStudentInfo实体类中的字段映射
|
|
||||||
将不存在的字段标记为 exist = false
|
|
||||||
"""
|
|
||||||
|
|
||||||
import re
|
|
||||||
import os
|
|
||||||
|
|
||||||
# 需要标记为不存在的字段
|
|
||||||
NON_EXISTENT_FIELDS = [
|
|
||||||
'name_english', 'former_name', 'name_pinyin', 'marital_status', 'religion',
|
|
||||||
'photo_url', 'photo_path', 'enrollment_year', 'school_system', 'education_level',
|
|
||||||
'training_type', 'admission_category', 'source_region', 'middle_school',
|
|
||||||
'major_code', 'major_name', 'class_code', 'grade', 'college_code',
|
|
||||||
'counselor_id', 'counselor_name', 'class_teacher_id', 'class_teacher_name',
|
|
||||||
'current_address', 'postal_code', 'household_register_type', 'hukou_location',
|
|
||||||
'info_status', 'data_source', 'last_batch_id', 'last_audit_time',
|
|
||||||
'is_complete', 'completion_rate', 'ext_field1', 'ext_field2', 'ext_field3',
|
|
||||||
'ext_field4', 'ext_field5'
|
|
||||||
]
|
|
||||||
|
|
||||||
def fix_entity_file():
|
|
||||||
file_path = '../ruoyi-modules/ruoyi-xg-xx/src/main/java/org/dromara/xg/domain/XgStudentInfo.java'
|
|
||||||
|
|
||||||
if not os.path.exists(file_path):
|
|
||||||
print(f"文件不存在: {file_path}")
|
|
||||||
return
|
|
||||||
|
|
||||||
with open(file_path, 'r', encoding='utf-8') as f:
|
|
||||||
content = f.read()
|
|
||||||
|
|
||||||
# 修复每个字段
|
|
||||||
for field in NON_EXISTENT_FIELDS:
|
|
||||||
# 查找 @TableField("field_name") 并替换为 @TableField(value = "field_name", exist = false)
|
|
||||||
pattern = f'@TableField\\("{field}"\\)'
|
|
||||||
replacement = f'@TableField(value = "{field}", exist = false)'
|
|
||||||
content = re.sub(pattern, replacement, content)
|
|
||||||
|
|
||||||
# 保存修改后的文件
|
|
||||||
with open(file_path, 'w', encoding='utf-8') as f:
|
|
||||||
f.write(content)
|
|
||||||
|
|
||||||
print("实体类字段映射修复完成")
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
fix_entity_file()
|
|
||||||
@@ -305,5 +305,42 @@ export const refreshDict = async (dictTypes) => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取字典项的标签类型(Tag Type)
|
||||||
|
* @param {Array} dictData - 字典数据数组
|
||||||
|
* @param {string|number} value - 字典值
|
||||||
|
* @param {Object} fallbackMap - 降级处理映射对象(可选)
|
||||||
|
* @returns {string} 标签类型
|
||||||
|
*/
|
||||||
|
export const getDictTagType = (dictData, value, fallbackMap = {}) => {
|
||||||
|
// 参数验证
|
||||||
|
if (!Array.isArray(dictData) || value === null || value === undefined) {
|
||||||
|
return 'info'; // 默认类型
|
||||||
|
}
|
||||||
|
|
||||||
|
// 优先从字典数据中获取
|
||||||
|
if (dictData.length > 0) {
|
||||||
|
const dictItem = dictData.find((item) => String(item.value) === String(value));
|
||||||
|
|
||||||
|
if (dictItem && dictItem.elTagType) {
|
||||||
|
// 处理特殊值转换
|
||||||
|
let tagType = dictItem.elTagType;
|
||||||
|
if (tagType === 'danger') {
|
||||||
|
tagType = 'error';
|
||||||
|
} else if (tagType === 'default') {
|
||||||
|
tagType = 'primary';
|
||||||
|
}
|
||||||
|
return tagType;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 字典未加载或无样式信息时的降级处理
|
||||||
|
if (fallbackMap && typeof fallbackMap === 'object') {
|
||||||
|
return fallbackMap[value] || 'info';
|
||||||
|
}
|
||||||
|
|
||||||
|
return 'info';
|
||||||
|
};
|
||||||
|
|
||||||
// 导出缓存管理对象(用于高级用法)
|
// 导出缓存管理对象(用于高级用法)
|
||||||
export { dictCache };
|
export { dictCache };
|
||||||
@@ -80,12 +80,17 @@
|
|||||||
)"
|
)"
|
||||||
:key="nameIndex"
|
:key="nameIndex"
|
||||||
:text="name.trim()"
|
:text="name.trim()"
|
||||||
type="success"
|
:type="getApproverType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
class="approver-tag"
|
class="approver-tag"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<u-tag v-else text="无" type="info" size="mini" />
|
<u-tag
|
||||||
|
v-else
|
||||||
|
text="无"
|
||||||
|
:type="getNoApproverType()"
|
||||||
|
size="mini"
|
||||||
|
/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
@@ -458,6 +463,16 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 获取审批人员标签类型
|
||||||
|
getApproverType() {
|
||||||
|
return 'success'; // 审批人员使用成功样式
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取无审批人员标签类型
|
||||||
|
getNoApproverType() {
|
||||||
|
return 'info'; // 无审批人员使用信息样式
|
||||||
|
},
|
||||||
|
|
||||||
// 注:getDownloadUrl方法已被移除,现在统一使用request.js中的downloadFile方法
|
// 注:getDownloadUrl方法已被移除,现在统一使用request.js中的downloadFile方法
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -76,7 +76,7 @@
|
|||||||
v-for="user in selectCopyUserList"
|
v-for="user in selectCopyUserList"
|
||||||
:key="user.userId"
|
:key="user.userId"
|
||||||
:text="user.nickName"
|
:text="user.nickName"
|
||||||
type="primary"
|
:type="getCopyUserType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
closable
|
closable
|
||||||
@close="handleCopyCloseTag(user)"
|
@close="handleCopyCloseTag(user)"
|
||||||
@@ -1060,6 +1060,11 @@ export default {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 获取抄送用户标签类型
|
||||||
|
getCopyUserType() {
|
||||||
|
return 'primary'; // 抄送用户使用主要样式
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
v-for="user in selectUserList"
|
v-for="user in selectUserList"
|
||||||
:key="user.userId"
|
:key="user.userId"
|
||||||
:text="user.nickName"
|
:text="user.nickName"
|
||||||
type="primary"
|
:type="getSelectedUserType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
closable
|
closable
|
||||||
@close="handleCloseTag(user)"
|
@close="handleCloseTag(user)"
|
||||||
@@ -403,6 +403,11 @@ export default {
|
|||||||
this.$emit('confirmCallBack', this.selectUserList);
|
this.$emit('confirmCallBack', this.selectUserList);
|
||||||
this.close();
|
this.close();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 获取选中用户标签类型
|
||||||
|
getSelectedUserType() {
|
||||||
|
return 'primary'; // 选中用户使用主要样式
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
<u-col span="6">
|
<u-col span="6">
|
||||||
<u-tag
|
<u-tag
|
||||||
:text="isInitialized ? '已初始化' : '未初始化'"
|
:text="isInitialized ? '已初始化' : '未初始化'"
|
||||||
:type="isInitialized ? 'success' : 'warning'"
|
:type="getInitStatusType(isInitialized)"
|
||||||
/>
|
/>
|
||||||
</u-col>
|
</u-col>
|
||||||
</u-row>
|
</u-row>
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
<u-col span="6">
|
<u-col span="6">
|
||||||
<u-tag
|
<u-tag
|
||||||
:text="isWeChatEnv ? '微信浏览器' : '非微信环境'"
|
:text="isWeChatEnv ? '微信浏览器' : '非微信环境'"
|
||||||
:type="isWeChatEnv ? 'success' : 'error'"
|
:type="getWeChatEnvType(isWeChatEnv)"
|
||||||
/>
|
/>
|
||||||
</u-col>
|
</u-col>
|
||||||
</u-row>
|
</u-row>
|
||||||
@@ -462,6 +462,16 @@ export default {
|
|||||||
duration: 2000,
|
duration: 2000,
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 获取初始化状态标签类型
|
||||||
|
getInitStatusType(isInitialized) {
|
||||||
|
return isInitialized ? 'success' : 'warning';
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取微信环境标签类型
|
||||||
|
getWeChatEnvType(isWeChatEnv) {
|
||||||
|
return isWeChatEnv ? 'success' : 'error';
|
||||||
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -81,6 +81,14 @@
|
|||||||
"navigationBarTextStyle": "white"
|
"navigationBarTextStyle": "white"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/xg/xsjcxx/xsqj/leave/index",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "学生请假",
|
||||||
|
"navigationBarBackgroundColor": "#0051d9",
|
||||||
|
"navigationBarTextStyle": "white"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/xg/xsjcxx/xsqj/leaveEdit/index",
|
"path": "pages/xg/xsjcxx/xsqj/leaveEdit/index",
|
||||||
"style": {
|
"style": {
|
||||||
|
|||||||
@@ -99,7 +99,7 @@
|
|||||||
<ServiceItem
|
<ServiceItem
|
||||||
v-if="hasPermi(['student:leave:list'])"
|
v-if="hasPermi(['student:leave:list'])"
|
||||||
title="学生请假"
|
title="学生请假"
|
||||||
@click="handleServiceClick"
|
@click="gotoStudentLeave"
|
||||||
>
|
>
|
||||||
<template #icon>
|
<template #icon>
|
||||||
<u-icon name="calendar" size="24" />
|
<u-icon name="calendar" size="24" />
|
||||||
@@ -725,6 +725,13 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 跳转到学生请假页面
|
||||||
|
gotoStudentLeave() {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: '/pages/xg/xsjcxx/xsqj/leave/index',
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
// 图片加载成功处理
|
// 图片加载成功处理
|
||||||
handleImageLoad(event) {
|
handleImageLoad(event) {
|
||||||
console.log('✅ 轮播图片加载成功:', event.detail);
|
console.log('✅ 轮播图片加载成功:', event.detail);
|
||||||
|
|||||||
@@ -71,7 +71,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.gender"
|
v-if="form.gender"
|
||||||
:text="getDictLabel(genderOptions, form.gender)"
|
:text="getDictLabel(genderOptions, form.gender)"
|
||||||
type="primary"
|
:type="getGenderType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -87,7 +87,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.nationality"
|
v-if="form.nationality"
|
||||||
:text="getDictLabel(nationalityOptions, form.nationality)"
|
:text="getDictLabel(nationalityOptions, form.nationality)"
|
||||||
type="warning"
|
:type="getNationalityType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.politicalStatus"
|
v-if="form.politicalStatus"
|
||||||
:text="getDictLabel(politicalStatusOptions, form.politicalStatus)"
|
:text="getDictLabel(politicalStatusOptions, form.politicalStatus)"
|
||||||
type="error"
|
:type="getPoliticalStatusType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -142,7 +142,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.educationLevel"
|
v-if="form.educationLevel"
|
||||||
:text="getDictLabel(educationLevelOptions, form.educationLevel)"
|
:text="getDictLabel(educationLevelOptions, form.educationLevel)"
|
||||||
type="success"
|
:type="getEducationLevelType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -159,7 +159,7 @@
|
|||||||
form.householdRegisterType,
|
form.householdRegisterType,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="info"
|
:type="getHouseholdRegisterType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -197,7 +197,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.maritalStatus"
|
v-if="form.maritalStatus"
|
||||||
:text="getDictLabel(maritalStatusOptions, form.maritalStatus)"
|
:text="getDictLabel(maritalStatusOptions, form.maritalStatus)"
|
||||||
type="primary"
|
:type="getMaritalStatusType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -221,7 +221,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.isPoorStudent !== undefined"
|
v-if="form.isPoorStudent !== undefined"
|
||||||
:text="getDictLabel(yesNoOptions, form.isPoorStudent)"
|
:text="getDictLabel(yesNoOptions, form.isPoorStudent)"
|
||||||
:type="form.isPoorStudent === '1' ? 'warning' : 'info'"
|
:type="getYesNoType(form.isPoorStudent)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -233,7 +233,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.isMinority !== undefined"
|
v-if="form.isMinority !== undefined"
|
||||||
:text="getDictLabel(yesNoOptions, form.isMinority)"
|
:text="getDictLabel(yesNoOptions, form.isMinority)"
|
||||||
:type="form.isMinority === '1' ? 'warning' : 'info'"
|
:type="getYesNoType(form.isMinority)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -245,7 +245,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.isOrphan !== undefined"
|
v-if="form.isOrphan !== undefined"
|
||||||
:text="getDictLabel(yesNoOptions, form.isOrphan)"
|
:text="getDictLabel(yesNoOptions, form.isOrphan)"
|
||||||
:type="form.isOrphan === '1' ? 'error' : 'info'"
|
:type="getOrphanType(form.isOrphan)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -257,7 +257,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.isLeftBehindChild !== undefined"
|
v-if="form.isLeftBehindChild !== undefined"
|
||||||
:text="getDictLabel(yesNoOptions, form.isLeftBehindChild)"
|
:text="getDictLabel(yesNoOptions, form.isLeftBehindChild)"
|
||||||
:type="form.isLeftBehindChild === '1' ? 'error' : 'info'"
|
:type="getLeftBehindType(form.isLeftBehindChild)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -269,7 +269,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.isSingleChild !== undefined"
|
v-if="form.isSingleChild !== undefined"
|
||||||
:text="getDictLabel(yesNoOptions, form.isSingleChild)"
|
:text="getDictLabel(yesNoOptions, form.isSingleChild)"
|
||||||
:type="form.isSingleChild === '1' ? 'primary' : 'info'"
|
:type="getSingleChildType(form.isSingleChild)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -281,7 +281,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.isLowIncome !== undefined"
|
v-if="form.isLowIncome !== undefined"
|
||||||
:text="getDictLabel(yesNoOptions, form.isLowIncome)"
|
:text="getDictLabel(yesNoOptions, form.isLowIncome)"
|
||||||
:type="form.isLowIncome === '1' ? 'warning' : 'info'"
|
:type="getYesNoType(form.isLowIncome)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -293,7 +293,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.hasLoan !== undefined"
|
v-if="form.hasLoan !== undefined"
|
||||||
:text="getDictLabel(yesNoOptions, form.hasLoan)"
|
:text="getDictLabel(yesNoOptions, form.hasLoan)"
|
||||||
:type="form.hasLoan === '1' ? 'success' : 'info'"
|
:type="getLoanType(form.hasLoan)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -382,7 +382,7 @@
|
|||||||
:text="
|
:text="
|
||||||
getDictLabel(familyEconomicOptions, form.familyEconomicStatus)
|
getDictLabel(familyEconomicOptions, form.familyEconomicStatus)
|
||||||
"
|
"
|
||||||
type="primary"
|
:type="getFamilyEconomicStatusType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -413,7 +413,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.bloodType"
|
v-if="form.bloodType"
|
||||||
:text="getDictLabel(bloodTypeOptions, form.bloodType)"
|
:text="getDictLabel(bloodTypeOptions, form.bloodType)"
|
||||||
type="error"
|
:type="getBloodType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -429,7 +429,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.isDisabled !== undefined"
|
v-if="form.isDisabled !== undefined"
|
||||||
:text="getDictLabel(yesNoOptions, form.isDisabled)"
|
:text="getDictLabel(yesNoOptions, form.isDisabled)"
|
||||||
:type="form.isDisabled === '1' ? 'warning' : 'info'"
|
:type="getYesNoType(form.isDisabled)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -441,7 +441,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.disabilityType"
|
v-if="form.disabilityType"
|
||||||
:text="getDictLabel(disabilityTypeOptions, form.disabilityType)"
|
:text="getDictLabel(disabilityTypeOptions, form.disabilityType)"
|
||||||
type="warning"
|
:type="getDisabilityType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -492,7 +492,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.academicLevel"
|
v-if="form.academicLevel"
|
||||||
:text="getDictLabel(academicLevelOptions, form.academicLevel)"
|
:text="getDictLabel(academicLevelOptions, form.academicLevel)"
|
||||||
type="success"
|
:type="getAcademicLevelType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -520,7 +520,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.trainingType"
|
v-if="form.trainingType"
|
||||||
:text="getDictLabel(trainingModeOptions, form.trainingType)"
|
:text="getDictLabel(trainingModeOptions, form.trainingType)"
|
||||||
type="primary"
|
:type="getTrainingType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -534,7 +534,7 @@
|
|||||||
:text="
|
:text="
|
||||||
getDictLabel(admissionCategoryOptions, form.admissionCategory)
|
getDictLabel(admissionCategoryOptions, form.admissionCategory)
|
||||||
"
|
"
|
||||||
type="info"
|
:type="getAdmissionCategoryType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -546,7 +546,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.studentStatus"
|
v-if="form.studentStatus"
|
||||||
:text="getDictLabel(studentStatusOptions, form.studentStatus)"
|
:text="getDictLabel(studentStatusOptions, form.studentStatus)"
|
||||||
type="warning"
|
:type="getStudentStatusType()"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -558,7 +558,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="form.isBoarder !== undefined"
|
v-if="form.isBoarder !== undefined"
|
||||||
:text="getDictLabel(yesNoOptions, form.isBoarder)"
|
:text="getDictLabel(yesNoOptions, form.isBoarder)"
|
||||||
:type="form.isBoarder === '1' ? 'success' : 'info'"
|
:type="getBoarderType(form.isBoarder)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -615,7 +615,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { request } from '@/common/request.js';
|
import { request } from '@/common/request.js';
|
||||||
import { useDict, getDictLabel } from '@/common/dict.js';
|
import { useDict, getDictLabel, getDictTagType } from '@/common/dict.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'StuPersonalMsg',
|
name: 'StuPersonalMsg',
|
||||||
@@ -799,6 +799,223 @@ export default {
|
|||||||
uni.navigateBack();
|
uni.navigateBack();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 获取是否类型(Yes/No)的类型
|
||||||
|
getYesNoType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'warning', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取孤儿状态类型
|
||||||
|
getOrphanType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'error', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取留守儿童状态类型
|
||||||
|
getLeftBehindType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'error', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取独生子女状态类型
|
||||||
|
getSingleChildType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'primary', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取助学贷款状态类型
|
||||||
|
getLoanType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'success', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取寄宿生状态类型
|
||||||
|
getBoarderType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'success', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取性别类型
|
||||||
|
getGenderType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'primary', // 男
|
||||||
|
0: 'success', // 女
|
||||||
|
};
|
||||||
|
return getDictTagType(this.genderOptions, this.form.gender, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取民族类型
|
||||||
|
getNationalityType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'primary', // 汉族
|
||||||
|
2: 'warning', // 少数民族
|
||||||
|
};
|
||||||
|
return getDictTagType(this.nationalityOptions, this.form.nationality, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取政治面貌类型
|
||||||
|
getPoliticalStatusType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'error', // 中共党员
|
||||||
|
2: 'warning', // 共青团员
|
||||||
|
3: 'info', // 群众
|
||||||
|
};
|
||||||
|
return getDictTagType(
|
||||||
|
this.politicalStatusOptions,
|
||||||
|
this.form.politicalStatus,
|
||||||
|
fallbackMap,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取文化程度类型
|
||||||
|
getEducationLevelType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'info', // 小学
|
||||||
|
2: 'primary', // 初中
|
||||||
|
3: 'warning', // 高中
|
||||||
|
4: 'success', // 大专
|
||||||
|
5: 'error', // 本科
|
||||||
|
};
|
||||||
|
return getDictTagType(
|
||||||
|
this.educationLevelOptions,
|
||||||
|
this.form.educationLevel,
|
||||||
|
fallbackMap,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取户口类型
|
||||||
|
getHouseholdRegisterType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'primary', // 城镇
|
||||||
|
2: 'success', // 农村
|
||||||
|
};
|
||||||
|
return getDictTagType(
|
||||||
|
this.householdRegisterTypeOptions,
|
||||||
|
this.form.householdRegisterType,
|
||||||
|
fallbackMap,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取婚姻状况类型
|
||||||
|
getMaritalStatusType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'info', // 未婚
|
||||||
|
2: 'primary', // 已婚
|
||||||
|
3: 'warning', // 离异
|
||||||
|
4: 'error', // 丧偶
|
||||||
|
};
|
||||||
|
return getDictTagType(this.maritalStatusOptions, this.form.maritalStatus, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取家庭经济状况类型
|
||||||
|
getFamilyEconomicStatusType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'error', // 贫困
|
||||||
|
2: 'warning', // 一般困难
|
||||||
|
3: 'primary', // 一般
|
||||||
|
4: 'success', // 富裕
|
||||||
|
};
|
||||||
|
return getDictTagType(
|
||||||
|
this.familyEconomicOptions,
|
||||||
|
this.form.familyEconomicStatus,
|
||||||
|
fallbackMap,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取血型类型
|
||||||
|
getBloodType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'error', // A型
|
||||||
|
2: 'primary', // B型
|
||||||
|
3: 'warning', // AB型
|
||||||
|
4: 'success', // O型
|
||||||
|
};
|
||||||
|
return getDictTagType(this.bloodTypeOptions, this.form.bloodType, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取残疾类型
|
||||||
|
getDisabilityType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'error', // 视力残疾
|
||||||
|
2: 'warning', // 听力残疾
|
||||||
|
3: 'primary', // 言语残疾
|
||||||
|
4: 'success', // 肢体残疾
|
||||||
|
5: 'info', // 智力残疾
|
||||||
|
};
|
||||||
|
return getDictTagType(
|
||||||
|
this.disabilityTypeOptions,
|
||||||
|
this.form.disabilityType,
|
||||||
|
fallbackMap,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取学历层次类型
|
||||||
|
getAcademicLevelType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'info', // 专科
|
||||||
|
2: 'primary', // 本科
|
||||||
|
3: 'success', // 硕士
|
||||||
|
4: 'error', // 博士
|
||||||
|
};
|
||||||
|
return getDictTagType(this.academicLevelOptions, this.form.academicLevel, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取培养方式类型
|
||||||
|
getTrainingType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'primary', // 全日制
|
||||||
|
2: 'warning', // 非全日制
|
||||||
|
3: 'info', // 函授
|
||||||
|
4: 'success', // 自考
|
||||||
|
};
|
||||||
|
return getDictTagType(this.trainingModeOptions, this.form.trainingType, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取录取类别类型
|
||||||
|
getAdmissionCategoryType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'success', // 统招
|
||||||
|
2: 'primary', // 单招
|
||||||
|
3: 'warning', // 对口升学
|
||||||
|
4: 'info', // 其他
|
||||||
|
};
|
||||||
|
return getDictTagType(
|
||||||
|
this.admissionCategoryOptions,
|
||||||
|
this.form.admissionCategory,
|
||||||
|
fallbackMap,
|
||||||
|
);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取学籍状态类型
|
||||||
|
getStudentStatusType() {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'success', // 在读
|
||||||
|
2: 'warning', // 休学
|
||||||
|
3: 'error', // 退学
|
||||||
|
4: 'primary', // 毕业
|
||||||
|
5: 'info', // 结业
|
||||||
|
};
|
||||||
|
return getDictTagType(this.studentStatusOptions, this.form.studentStatus, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
// 加载字典数据
|
// 加载字典数据
|
||||||
async loadDictData() {
|
async loadDictData() {
|
||||||
console.log('开始加载字典数据...');
|
console.log('开始加载字典数据...');
|
||||||
|
|||||||
File diff suppressed because it is too large.
Load diff
@@ -43,7 +43,7 @@
|
|||||||
<view class="batch-status">
|
<view class="batch-status">
|
||||||
<u-tag
|
<u-tag
|
||||||
:text="item.status === '0' ? '正常' : '停用'"
|
:text="item.status === '0' ? '正常' : '停用'"
|
||||||
:type="item.status === '0' ? 'success' : 'error'"
|
:type="getStatusType(item.status)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
</view>
|
</view>
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
<text class="label">收集类型:</text>
|
<text class="label">收集类型:</text>
|
||||||
<u-tag
|
<u-tag
|
||||||
:text="item.collectionType === '1' ? '新学期收集' : '其他'"
|
:text="item.collectionType === '1' ? '新学期收集' : '其他'"
|
||||||
:type="item.collectionType === '1' ? 'primary' : 'info'"
|
:type="getCollectionType(item.collectionType)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
</view>
|
</view>
|
||||||
@@ -143,7 +143,7 @@
|
|||||||
<text class="detail-label">状态:</text>
|
<text class="detail-label">状态:</text>
|
||||||
<u-tag
|
<u-tag
|
||||||
:text="viewForm.status === '0' ? '正常' : '停用'"
|
:text="viewForm.status === '0' ? '正常' : '停用'"
|
||||||
:type="viewForm.status === '0' ? 'success' : 'error'"
|
:type="getStatusType(viewForm.status)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
</view>
|
</view>
|
||||||
@@ -151,7 +151,7 @@
|
|||||||
<text class="detail-label">收集类型:</text>
|
<text class="detail-label">收集类型:</text>
|
||||||
<u-tag
|
<u-tag
|
||||||
:text="viewForm.collectionType === '1' ? '新学期收集' : '其他'"
|
:text="viewForm.collectionType === '1' ? '新学期收集' : '其他'"
|
||||||
:type="viewForm.collectionType === '1' ? 'primary' : 'info'"
|
:type="getCollectionType(viewForm.collectionType)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
</view>
|
</view>
|
||||||
@@ -181,6 +181,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { request } from '@/common/request.js';
|
import { request } from '@/common/request.js';
|
||||||
|
import { getDictTagType } from '@/common/dict.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'StuMsgSupply',
|
name: 'StuMsgSupply',
|
||||||
@@ -229,6 +230,24 @@ export default {
|
|||||||
uni.navigateBack();
|
uni.navigateBack();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 获取批次状态类型
|
||||||
|
getStatusType(status) {
|
||||||
|
const fallbackMap = {
|
||||||
|
0: 'success', // 正常
|
||||||
|
1: 'error', // 停用
|
||||||
|
};
|
||||||
|
return getDictTagType([], status, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取收集类型类型
|
||||||
|
getCollectionType(collectionType) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'primary', // 新学期收集
|
||||||
|
0: 'info', // 其他
|
||||||
|
};
|
||||||
|
return getDictTagType([], collectionType, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
// 获取学生信息收集批次列表
|
// 获取学生信息收集批次列表
|
||||||
async getList() {
|
async getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
|
|||||||
@@ -90,7 +90,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="studentInfo.gender"
|
v-if="studentInfo.gender"
|
||||||
:text="getDictLabel(genderOptions, studentInfo.gender)"
|
:text="getDictLabel(genderOptions, studentInfo.gender)"
|
||||||
type="primary"
|
:type="getGenderType(studentInfo.gender)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
studentInfo.nationality,
|
studentInfo.nationality,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="warning"
|
:type="getNationalityType(studentInfo.nationality)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -136,7 +136,9 @@
|
|||||||
studentInfo.politicalStatus,
|
studentInfo.politicalStatus,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="error"
|
:type="
|
||||||
|
getPoliticalStatusType(studentInfo.politicalStatus)
|
||||||
|
"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -186,7 +188,9 @@
|
|||||||
studentInfo.educationLevel,
|
studentInfo.educationLevel,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="success"
|
:type="
|
||||||
|
getEducationLevelType(studentInfo.educationLevel)
|
||||||
|
"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -203,7 +207,11 @@
|
|||||||
studentInfo.householdRegisterType,
|
studentInfo.householdRegisterType,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="info"
|
:type="
|
||||||
|
getHouseholdRegisterType(
|
||||||
|
studentInfo.householdRegisterType,
|
||||||
|
)
|
||||||
|
"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -250,7 +258,7 @@
|
|||||||
studentInfo.maritalStatus,
|
studentInfo.maritalStatus,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="primary"
|
:type="getMaritalStatusType(studentInfo.maritalStatus)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -287,11 +295,7 @@
|
|||||||
studentInfo.isPoorStudent,
|
studentInfo.isPoorStudent,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
:type="
|
:type="getPoorStudentType(studentInfo.isPoorStudent)"
|
||||||
studentInfo.isPoorStudent === '1'
|
|
||||||
? 'warning'
|
|
||||||
: 'info'
|
|
||||||
"
|
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -305,9 +309,7 @@
|
|||||||
:text="
|
:text="
|
||||||
getDictLabel(yesNoOptions, studentInfo.isMinority)
|
getDictLabel(yesNoOptions, studentInfo.isMinority)
|
||||||
"
|
"
|
||||||
:type="
|
:type="getYesNoType(studentInfo.isMinority)"
|
||||||
studentInfo.isMinority === '1' ? 'warning' : 'info'
|
|
||||||
"
|
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -319,7 +321,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="studentInfo.isOrphan !== undefined"
|
v-if="studentInfo.isOrphan !== undefined"
|
||||||
:text="getDictLabel(yesNoOptions, studentInfo.isOrphan)"
|
:text="getDictLabel(yesNoOptions, studentInfo.isOrphan)"
|
||||||
:type="studentInfo.isOrphan === '1' ? 'error' : 'info'"
|
:type="getOrphanType(studentInfo.isOrphan)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -337,9 +339,9 @@
|
|||||||
)
|
)
|
||||||
"
|
"
|
||||||
:type="
|
:type="
|
||||||
studentInfo.isLeftBehindChild === '1'
|
getLeftBehindChildType(
|
||||||
? 'error'
|
studentInfo.isLeftBehindChild,
|
||||||
: 'info'
|
)
|
||||||
"
|
"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
@@ -357,11 +359,7 @@
|
|||||||
studentInfo.isSingleChild,
|
studentInfo.isSingleChild,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
:type="
|
:type="getSingleChildType(studentInfo.isSingleChild)"
|
||||||
studentInfo.isSingleChild === '1'
|
|
||||||
? 'primary'
|
|
||||||
: 'info'
|
|
||||||
"
|
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -375,9 +373,7 @@
|
|||||||
:text="
|
:text="
|
||||||
getDictLabel(yesNoOptions, studentInfo.isLowIncome)
|
getDictLabel(yesNoOptions, studentInfo.isLowIncome)
|
||||||
"
|
"
|
||||||
:type="
|
:type="getYesNoType(studentInfo.isLowIncome)"
|
||||||
studentInfo.isLowIncome === '1' ? 'warning' : 'info'
|
|
||||||
"
|
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -389,7 +385,7 @@
|
|||||||
<u-tag
|
<u-tag
|
||||||
v-if="studentInfo.hasLoan !== undefined"
|
v-if="studentInfo.hasLoan !== undefined"
|
||||||
:text="getDictLabel(yesNoOptions, studentInfo.hasLoan)"
|
:text="getDictLabel(yesNoOptions, studentInfo.hasLoan)"
|
||||||
:type="studentInfo.hasLoan === '1' ? 'success' : 'info'"
|
:type="getLoanType(studentInfo.hasLoan)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -501,7 +497,11 @@
|
|||||||
studentInfo.familyEconomicStatus,
|
studentInfo.familyEconomicStatus,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="primary"
|
:type="
|
||||||
|
getFamilyEconomicType(
|
||||||
|
studentInfo.familyEconomicStatus,
|
||||||
|
)
|
||||||
|
"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -539,7 +539,7 @@
|
|||||||
studentInfo.bloodType,
|
studentInfo.bloodType,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="error"
|
:type="getBloodType(studentInfo.bloodType)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -559,9 +559,7 @@
|
|||||||
:text="
|
:text="
|
||||||
getDictLabel(yesNoOptions, studentInfo.isDisabled)
|
getDictLabel(yesNoOptions, studentInfo.isDisabled)
|
||||||
"
|
"
|
||||||
:type="
|
:type="getYesNoType(studentInfo.isDisabled)"
|
||||||
studentInfo.isDisabled === '1' ? 'warning' : 'info'
|
|
||||||
"
|
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -578,7 +576,7 @@
|
|||||||
studentInfo.disabilityType,
|
studentInfo.disabilityType,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="warning"
|
:type="getDisabilityType(studentInfo.disabilityType)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -644,7 +642,7 @@
|
|||||||
studentInfo.academicLevel,
|
studentInfo.academicLevel,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="success"
|
:type="getAcademicLevelType(studentInfo.academicLevel)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -681,7 +679,7 @@
|
|||||||
studentInfo.trainingType,
|
studentInfo.trainingType,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="primary"
|
:type="getTrainingModeType(studentInfo.trainingType)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -698,7 +696,11 @@
|
|||||||
studentInfo.admissionCategory,
|
studentInfo.admissionCategory,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="info"
|
:type="
|
||||||
|
getAdmissionCategoryType(
|
||||||
|
studentInfo.admissionCategory,
|
||||||
|
)
|
||||||
|
"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -715,7 +717,7 @@
|
|||||||
studentInfo.studentStatus,
|
studentInfo.studentStatus,
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
type="warning"
|
:type="getStudentStatusType(studentInfo.studentStatus)"
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -729,9 +731,7 @@
|
|||||||
:text="
|
:text="
|
||||||
getDictLabel(yesNoOptions, studentInfo.isBoarder)
|
getDictLabel(yesNoOptions, studentInfo.isBoarder)
|
||||||
"
|
"
|
||||||
:type="
|
:type="getBoarderType(studentInfo.isBoarder)"
|
||||||
studentInfo.isBoarder === '1' ? 'success' : 'info'
|
|
||||||
"
|
|
||||||
size="mini"
|
size="mini"
|
||||||
></u-tag>
|
></u-tag>
|
||||||
<text v-else>-</text>
|
<text v-else>-</text>
|
||||||
@@ -830,7 +830,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { request } from '@/common/request.js';
|
import { request } from '@/common/request.js';
|
||||||
import { useDict, getDictLabel } from '@/common/dict.js';
|
import { useDict, getDictLabel, getDictTagType } from '@/common/dict.js';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'StuMsgDetailDialog',
|
name: 'StuMsgDetailDialog',
|
||||||
@@ -920,6 +920,205 @@ export default {
|
|||||||
uni.navigateBack();
|
uni.navigateBack();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 获取是否类型(Yes/No)的类型
|
||||||
|
getYesNoType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'warning', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取孤儿状态类型
|
||||||
|
getOrphanType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'error', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取助学贷款状态类型
|
||||||
|
getLoanType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'success', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取是否贫困生状态类型
|
||||||
|
getPoorStudentType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'warning', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取是否留守儿童状态类型
|
||||||
|
getLeftBehindChildType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'error', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取是否独生子女状态类型
|
||||||
|
getSingleChildType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'primary', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取是否住校状态类型
|
||||||
|
getBoarderType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'success', // 是
|
||||||
|
0: 'info', // 否
|
||||||
|
};
|
||||||
|
return getDictTagType(this.yesNoOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取性别标签类型
|
||||||
|
getGenderType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
0: 'primary', // 男
|
||||||
|
1: 'error', // 女
|
||||||
|
2: 'info', // 未知
|
||||||
|
};
|
||||||
|
return getDictTagType(this.genderOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取民族标签类型
|
||||||
|
getNationalityType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
'01': 'primary', // 汉族
|
||||||
|
};
|
||||||
|
// 其他民族使用warning类型
|
||||||
|
return getDictTagType(this.nationalityOptions, value, fallbackMap) || 'warning';
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取政治面貌标签类型
|
||||||
|
getPoliticalStatusType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
'01': 'error', // 中共党员
|
||||||
|
'02': 'warning', // 中共预备党员
|
||||||
|
'03': 'primary', // 共青团员
|
||||||
|
13: 'info', // 群众
|
||||||
|
};
|
||||||
|
return getDictTagType(this.politicalStatusOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取文化程度标签类型
|
||||||
|
getEducationLevelType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
7: 'success', // 博士
|
||||||
|
6: 'primary', // 硕士
|
||||||
|
5: 'warning', // 本科
|
||||||
|
4: 'info', // 专科
|
||||||
|
};
|
||||||
|
return getDictTagType(this.educationLevelOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取户口类型标签类型
|
||||||
|
getHouseholdRegisterType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'primary', // 农业户口
|
||||||
|
2: 'info', // 非农业户口
|
||||||
|
};
|
||||||
|
return getDictTagType(this.householdRegisterTypeOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取婚姻状况标签类型
|
||||||
|
getMaritalStatusType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'success', // 未婚
|
||||||
|
2: 'primary', // 已婚
|
||||||
|
3: 'warning', // 离异
|
||||||
|
4: 'error', // 丧偶
|
||||||
|
};
|
||||||
|
return getDictTagType(this.maritalStatusOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取家庭经济状况标签类型
|
||||||
|
getFamilyEconomicType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'error', // 困难
|
||||||
|
2: 'warning', // 一般困难
|
||||||
|
3: 'primary', // 一般
|
||||||
|
4: 'success', // 富裕
|
||||||
|
};
|
||||||
|
return getDictTagType(this.familyEconomicOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取血型标签类型
|
||||||
|
getBloodType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
A: 'error',
|
||||||
|
B: 'warning',
|
||||||
|
AB: 'primary',
|
||||||
|
O: 'success',
|
||||||
|
};
|
||||||
|
return getDictTagType(this.bloodTypeOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取残疾类型标签类型
|
||||||
|
getDisabilityType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'warning', // 视力残疾
|
||||||
|
2: 'error', // 听力残疾
|
||||||
|
3: 'primary', // 言语残疾
|
||||||
|
4: 'info', // 肢体残疾
|
||||||
|
};
|
||||||
|
return getDictTagType(this.disabilityTypeOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取学历层次标签类型
|
||||||
|
getAcademicLevelType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'success', // 博士
|
||||||
|
2: 'primary', // 硕士
|
||||||
|
3: 'warning', // 本科
|
||||||
|
4: 'info', // 专科
|
||||||
|
};
|
||||||
|
return getDictTagType(this.academicLevelOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取培养方式标签类型
|
||||||
|
getTrainingModeType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'primary', // 统招
|
||||||
|
2: 'warning', // 委培
|
||||||
|
3: 'info', // 自费
|
||||||
|
};
|
||||||
|
return getDictTagType(this.trainingModeOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取录取类别标签类型
|
||||||
|
getAdmissionCategoryType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'success', // 统招
|
||||||
|
2: 'primary', // 推免
|
||||||
|
3: 'info', // 其他
|
||||||
|
};
|
||||||
|
return getDictTagType(this.admissionCategoryOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 获取学籍状态标签类型
|
||||||
|
getStudentStatusType(value) {
|
||||||
|
const fallbackMap = {
|
||||||
|
1: 'success', // 在校
|
||||||
|
2: 'warning', // 休学
|
||||||
|
3: 'error', // 退学
|
||||||
|
4: 'primary', // 毕业
|
||||||
|
};
|
||||||
|
return getDictTagType(this.studentStatusOptions, value, fallbackMap);
|
||||||
|
},
|
||||||
|
|
||||||
// Tab点击事件处理
|
// Tab点击事件处理
|
||||||
handleTabClick(item, index) {
|
handleTabClick(item, index) {
|
||||||
index = item.index;
|
index = item.index;
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ const SERVICE_ROUTES = {
|
|||||||
// 学工管理
|
// 学工管理
|
||||||
'student:info': '/pages/xg/xsjcxx/xsjcxx/index',
|
'student:info': '/pages/xg/xsjcxx/xsjcxx/index',
|
||||||
'student:dorm': '/pages/student/dorm/index',
|
'student:dorm': '/pages/student/dorm/index',
|
||||||
'student:leave': '/pages/student/leave/index',
|
'student:leave': '/pages/xg/xsjcxx/xsqj/leave/index',
|
||||||
'student:psychology': '/pages/student/psychology/index',
|
'student:psychology': '/pages/student/psychology/index',
|
||||||
'student:club': '/pages/student/club/index',
|
'student:club': '/pages/student/club/index',
|
||||||
'student:counsel': '/pages/student/counsel/index',
|
'student:counsel': '/pages/student/counsel/index',
|
||||||
|
|||||||
Reference in new issue
Block a user