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