feat(frontend): 优化风险评估和预警表单交互
This commit is contained in:
parent
11e3ef148b
commit
2cee84c00d
@ -20,7 +20,7 @@ export interface RiskAssessment {
|
||||
id: number // 评估ID
|
||||
prisonerId?: number // 罪犯ID
|
||||
prisonerNo?: string // 罪犯编号
|
||||
prisonerName?: string // 罪犯姓名
|
||||
prisonerName?: string // 罪犯姓名(用于回显)
|
||||
assessmentType?: number // 评估类型:1-入狱评估 2-定期评估 3-专项评估
|
||||
assessmentDate?: string // 评估日期
|
||||
violenceScore: number // 暴力倾向得分
|
||||
@ -31,7 +31,7 @@ export interface RiskAssessment {
|
||||
riskFactors: string // 风险因素
|
||||
suggestions: string // 管控建议
|
||||
// assessorId 和 assessorName 由后端自动从登录上下文获取,不需要前端传递
|
||||
nextAssessmentDate: string // 下次评估日期
|
||||
nextAssessmentDate?: string // 下次评估日期
|
||||
status?: number // 状态:1-待审核 2-已通过
|
||||
remark: string // 备注
|
||||
createTime?: string // 创建时间
|
||||
|
||||
@ -40,7 +40,7 @@
|
||||
<el-date-picker
|
||||
v-model="formData.assessmentDate"
|
||||
type="date"
|
||||
value-format="x"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="选择评估日期"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -72,17 +72,12 @@
|
||||
<el-form-item label="管控建议" prop="suggestions">
|
||||
<el-input v-model="formData.suggestions" placeholder="请输入管控建议" />
|
||||
</el-form-item>
|
||||
<el-form-item label="评估人ID" prop="assessorId">
|
||||
<el-input v-model="formData.assessorId" placeholder="请输入评估人ID" />
|
||||
</el-form-item>
|
||||
<el-form-item label="评估人姓名" prop="assessorName">
|
||||
<el-input v-model="formData.assessorName" placeholder="请输入评估人姓名" />
|
||||
</el-form-item>
|
||||
<!-- 评估人信息由后端自动从登录上下文获取,不在前端显示 -->
|
||||
<el-form-item label="下次评估日期" prop="nextAssessmentDate">
|
||||
<el-date-picker
|
||||
v-model="formData.nextAssessmentDate"
|
||||
type="date"
|
||||
value-format="x"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="选择下次评估日期"
|
||||
/>
|
||||
</el-form-item>
|
||||
@ -129,8 +124,9 @@ const formData = ref({
|
||||
id: undefined,
|
||||
prisonerId: undefined as number | undefined,
|
||||
prisonerNo: undefined as string | undefined,
|
||||
prisonerName: undefined as string | undefined, // 罪犯姓名(用于显示)
|
||||
assessmentType: undefined as number | undefined,
|
||||
assessmentDate: undefined as number | undefined,
|
||||
assessmentDate: undefined as string | undefined,
|
||||
violenceScore: undefined as number | undefined,
|
||||
escapeScore: undefined as number | undefined,
|
||||
suicideScore: undefined as number | undefined,
|
||||
@ -138,9 +134,8 @@ const formData = ref({
|
||||
riskLevel: undefined as number | undefined,
|
||||
riskFactors: undefined as string | undefined,
|
||||
suggestions: undefined as string | undefined,
|
||||
assessorId: undefined as number | undefined,
|
||||
assessorName: undefined as string | undefined,
|
||||
nextAssessmentDate: undefined as number | undefined,
|
||||
// assessorId 和 assessorName 由后端自动从登录上下文获取,不从前端传递
|
||||
nextAssessmentDate: undefined as string | undefined,
|
||||
status: 1 as number | undefined,
|
||||
remark: undefined as string | undefined
|
||||
})
|
||||
@ -153,7 +148,7 @@ const formRules = reactive({
|
||||
})
|
||||
const formRef = ref() // 表单 Ref
|
||||
|
||||
/** 搜索罪犯 */
|
||||
/** 搜索罪犯 - 支持编号和姓名双条件搜索 */
|
||||
const searchPrisoner = async (query: string) => {
|
||||
if (!query) {
|
||||
prisonerList.value = []
|
||||
@ -164,6 +159,7 @@ const searchPrisoner = async (query: string) => {
|
||||
const data = await PrisonerApi.getPage({
|
||||
pageNo: 1,
|
||||
pageSize: 20,
|
||||
prisonerNo: query, // 按罪犯编号搜索
|
||||
name: query // 按姓名搜索
|
||||
} as any)
|
||||
prisonerList.value = data.list || []
|
||||
@ -236,6 +232,7 @@ const resetForm = () => {
|
||||
id: undefined,
|
||||
prisonerId: undefined,
|
||||
prisonerNo: undefined,
|
||||
prisonerName: undefined,
|
||||
assessmentType: undefined,
|
||||
assessmentDate: undefined,
|
||||
violenceScore: undefined,
|
||||
@ -245,8 +242,7 @@ const resetForm = () => {
|
||||
riskLevel: undefined,
|
||||
riskFactors: undefined,
|
||||
suggestions: undefined,
|
||||
assessorId: undefined,
|
||||
assessorName: undefined,
|
||||
// assessorId 和 assessorName 由后端自动从登录上下文获取,不从前端传递
|
||||
nextAssessmentDate: undefined,
|
||||
status: 1,
|
||||
remark: undefined
|
||||
|
||||
@ -385,8 +385,8 @@ const submitForm = async () => {
|
||||
try {
|
||||
const data = {
|
||||
...formData.value,
|
||||
alertTime: formData.value.alertTime ? new Date(formData.value.alertTime).toISOString() : undefined,
|
||||
occurTime: formData.value.occurTime ? new Date(formData.value.occurTime).toISOString() : undefined
|
||||
alertTime: formData.value.alertTime ? new Date(formData.value.alertTime).toISOString().slice(0, 19).replace('T', ' ') : undefined,
|
||||
occurTime: formData.value.occurTime ? new Date(formData.value.occurTime).toISOString().slice(0, 19).replace('T', ' ') : undefined
|
||||
} as unknown as WarningSaveReqVO
|
||||
if (formType.value === 'create') {
|
||||
await WarningApi.createWarning(data)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user