diff --git a/src/router/index.js b/src/router/index.js index 2075dc8..7f839dd 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -130,11 +130,12 @@ export const asyncRoutes = [ component: Layout, meta: { title: '案件' }, hidden: true, - permission: 'p_case2', + permission: 'p_caseDetails', children: [ { path: '/case-details/:id/:caseName/', name: 'CaseDetails', + permission: 'p_caseDetails', component: () => import('@/views/caseDetails/index.vue'), meta: { title: '案件详情', affix: true } } diff --git a/src/views/caseDetails/components/CaseAnalysis.vue b/src/views/caseDetails/components/CaseAnalysis.vue index 5f288ed..5edb177 100644 --- a/src/views/caseDetails/components/CaseAnalysis.vue +++ b/src/views/caseDetails/components/CaseAnalysis.vue @@ -6,10 +6,10 @@ - {{ caseInfo.caseName}} + {{ caseInfo.caseName }} {{ caseInfo.evaluationTime }} - 按照伏羲智能分析模型赋分规则,该案综合得分为{{{ caseInfo.commonScore }}+{{ caseInfo.specificCrimeScore }}={{ caseInfo.totalScore }}}分,认定“{{ caseInfo.scoreDesc }}” + 按照伏羲智能分析模型赋分规则,该案综合得分为{{ caseInfo.commonScore }}+{{ caseInfo.specificCrimeScore }}={{ caseInfo.totalScore }}分,认定“{{ caseInfo.scoreDesc }}” @@ -20,14 +20,17 @@ - {{ `(一)${caseInfo.specificCrimeIndexCount}个共性证据指标占${caseInfo.specificCrimeIndexHitCount}个` }} + {{ `(二)${caseInfo.specificCrimeIndexCount}个${caseInfo.specificCrime}占${caseInfo.specificCrimeIndexHitCount}个` }} 包括(对应指标展示): {{ `${index + 1}. ${item}` }} + + {{ `为提高司法定性可能,还可补全以下相关证据:${caseInfo.missAtomicIndexCount}项缺失的原子指标(证据)` }} + - + @@ -51,8 +54,10 @@ export default { }, caseInfo: { caseName: '', - evaluationTime:"", + evaluationTime: '', commonScore: '', + missAtomicIndexCount:"", + specificCrime: '', specificCrimeScore: '', totalScore: '', scoreDesc: '', @@ -130,6 +135,10 @@ export default { border-radius: 8px 8px 8px 8px; margin-top: 16px; padding: 24px; + .card_desc { + font-size: 16px; + color: #666666; + } .card_header { font-weight: 400; font-size: 22px; @@ -145,9 +154,9 @@ export default { display: flex; flex-direction: column; span { - margin-bottom: 12px; + margin-bottom: 12px; font-size: 16px; -color: #666666; + color: #666666; } } } diff --git a/src/views/caseDetails/components/CaseEvidence.vue b/src/views/caseDetails/components/CaseEvidence.vue index 787a8c7..480e408 100644 --- a/src/views/caseDetails/components/CaseEvidence.vue +++ b/src/views/caseDetails/components/CaseEvidence.vue @@ -27,7 +27,7 @@ /> - + @@ -36,6 +36,7 @@ import mixin from '@/views/mixin' import EditEvidence from '@/views/caseDetails/components/edit/EditEvidence.vue' import { queryEvidenceList, deleteEvidence } from '@/api/caseDetails' +import { debounce } from '@/utils' export default { name: 'CaseEvidence', components: { EditEvidence }, @@ -58,7 +59,7 @@ export default { gridOptions: { ...mixin.data().gridOptions, columns: [ - { title: '序号', type: 'seq',width:80 }, + { title: '序号', type: 'seq', width: 80 }, { title: '证据名称', field: 'evidenceName' }, { title: '证据类型', field: 'evidenceTypeDesc' }, // { title: '证件文件', field: 'confessionMaterial' }, @@ -77,6 +78,9 @@ export default { } }, immediate: true + }, + searchName: function() { + this.debounceSearch(this) } }, mounted() { @@ -87,10 +91,15 @@ export default { this.fetchData() }, methods: { + // 防抖查询数据 + debounceSearch: debounce((_this) => { + _this.fetchData() + }), // 获取数据 fetchData() { const params = { caseId: this.caseId, + evidenceName: this.searchName, page: this.queryForm.page, size: this.queryForm.size } diff --git a/src/views/caseDetails/components/CaseRecord.vue b/src/views/caseDetails/components/CaseRecord.vue index 5bac1d9..7dbcb47 100644 --- a/src/views/caseDetails/components/CaseRecord.vue +++ b/src/views/caseDetails/components/CaseRecord.vue @@ -20,7 +20,7 @@ - + diff --git a/src/views/caseDetails/components/TripletInfo.vue b/src/views/caseDetails/components/TripletInfo.vue index 25d81cd..1fc11f1 100644 --- a/src/views/caseDetails/components/TripletInfo.vue +++ b/src/views/caseDetails/components/TripletInfo.vue @@ -95,10 +95,9 @@ export default { methods: { // 显示弹窗 show(data) { - this.dialogOptions.show = true this.lastPageData = data this.gridOptions.data = [] - this.selectedRowKeys = [] + this.selectionRows = [] this.name = '' this.fetchData() }, @@ -114,6 +113,25 @@ export default { this.gridOptions.loading = false this.tableData = JSON.parse(JSON.stringify(res.data)) this.gridOptions.data = JSON.parse(JSON.stringify(res.data)) + for (const item of this.gridOptions.data) { + if (item.addNeo4j === '1') { + this.selectionRows.push(item) + } + } + if (this.selectionRows && this.selectionRows.length > 0) { + // 已选数据选中 + const _this = this + _this.$nextTick(() => { + _this.gridOptions.data.map(column => { + _this.selectionRows.map(item => { + if (item.id === column.id) { + _this.$refs.xTable.setCheckboxRow(column, true) + } + }) + }) + }) + } + this.dialogOptions.show = true }).catch(() => { this.gridOptions.loading = false }) diff --git a/src/views/caseDetails/index.vue b/src/views/caseDetails/index.vue index 45e6a70..5eefc9d 100644 --- a/src/views/caseDetails/index.vue +++ b/src/views/caseDetails/index.vue @@ -21,7 +21,6 @@ {{ caseData['totalScore'] }} {{ caseData['identifyResultName'] }} {{ `最新时间:${caseData['updateTime']}` }} - 基本信息 - 下载 + 编辑 案件分析结果 - + 收起 @@ -98,7 +97,7 @@ - + diff --git a/src/views/caseManagement/components/EditCaseInfo.vue b/src/views/caseManagement/components/EditCaseInfo.vue index 24a23aa..e6ad86c 100644 --- a/src/views/caseManagement/components/EditCaseInfo.vue +++ b/src/views/caseManagement/components/EditCaseInfo.vue @@ -11,7 +11,7 @@ - + @@ -46,7 +46,10 @@ export default { name: 'EditCaseInfo', data() { const validatorCaseNo = (rule, value, callback) => { - if (this.isEdit) return + if (this.isEdit) { + callback() + return + } checkCaseNo({ caseNo: value }).then(res => { const { code, msg } = res if (code === 200 && msg) { @@ -69,7 +72,14 @@ export default { // 作案方式 crimeModeOptions: JSON.parse(sessionStorage.getItem('crime_mode')), // 案件表单数据 - caseForm: {}, + caseForm: { + caseNo: '', + caseName: '', + caseType: '', + caseStatus: '', + crimeMode: '', + caseDetail: '' + }, // 校验规则 rules: { caseNo: [ @@ -88,19 +98,23 @@ export default { }, methods: { show(data, isEdit) { - this.drawerOption.show = true this.isEdit = isEdit + this.drawerOption.show = true this.drawerOption.title = isEdit ? '编辑案件' : '新建案件' - this.caseForm = isEdit ? data : {} + this.$nextTick(() => { + const _this = this + const formData = data ? JSON.parse(JSON.stringify(data)) : { } + _this.caseForm = data ? formData : (isEdit ? formData : { }) + }) }, // 重置 handleReset() { + if (this.isEdit) return this.$refs.form.resetFields() - this.$refs.form.clearValidate() }, // 确定 handleSubmit() { - this.$refs.form.validate(async valid => { + this.$refs['form'].validate(async valid => { if (valid) { const { code, msg } = await addCaseInfo(this.caseForm) code === 200 ? (this.isEdit ? this.$baseMessage.success(msg || '编辑成功!') : this.$baseMessage.success(msg || '新增成功!')) : (this.isEdit ? this.$baseMessage.error(msg || '编辑失败!') : this.$baseMessage.error(msg || '新增失败!')) diff --git a/src/views/caseManagement/index.vue b/src/views/caseManagement/index.vue index 8940905..f235467 100644 --- a/src/views/caseManagement/index.vue +++ b/src/views/caseManagement/index.vue @@ -12,10 +12,10 @@ 新增 - + @@ -146,7 +146,7 @@ export default { for (const item of e.lawPartyList) { list.push(item.name) } - e.lawParty = list.length > 0 ? list.join(','): '无' + e.lawParty = list.length > 0 ? list.join(',') : '无' }) this.queryForm.total = res.data.total }) diff --git a/src/views/ruleEngine/indexRule/components/CustomLogic.vue b/src/views/ruleEngine/indexRule/components/CustomLogic.vue index 25cb22d..2ef156f 100644 --- a/src/views/ruleEngine/indexRule/components/CustomLogic.vue +++ b/src/views/ruleEngine/indexRule/components/CustomLogic.vue @@ -121,8 +121,13 @@ export default { judgeLogic: { type: String, required: true, - defaultValue: "" + defaultValue: '' }, + isChange: { + type: Boolean, + required: true, + defaultValue: false + } }, data() { return { @@ -136,9 +141,24 @@ export default { symbolOptions: JSON.parse(sessionStorage.getItem('judge_result')) } }, + watch: { + isChange(val) { + if (val === true) { + this.logicData = [ + { groupLogic: '1', rowLogic: '1', atomicData: [{ atomicIndex: '', relationalSymbol: '' }] } + ] + } + } + }, mounted() { - if(!this.judgeLogic) return - this.logicData = JSON.parse(this.judgeLogic) + if (this.isChange) { + this.logicData = [ + { groupLogic: '1', rowLogic: '1', atomicData: [{ atomicIndex: '', relationalSymbol: '' }] } + ] + } else { + if (!this.judgeLogic) return + this.logicData = JSON.parse(this.judgeLogic) + } }, methods: { // 添加 diff --git a/src/views/ruleEngine/indexRule/components/EditRule.vue b/src/views/ruleEngine/indexRule/components/EditRule.vue index a1c8b46..9f11e74 100644 --- a/src/views/ruleEngine/indexRule/components/EditRule.vue +++ b/src/views/ruleEngine/indexRule/components/EditRule.vue @@ -114,7 +114,7 @@ {{ `[${indexTypeName}] ${ruleForm['name']}` }} - + @@ -177,7 +177,9 @@ export default { judgeLogic: [{ required: true, message: '指标说明不能为空!', trigger: 'blur' }] }, // 是否是编辑 - isEdit: false + isEdit: false, + // 是否修改过 + isChange: false } }, methods: { @@ -185,7 +187,7 @@ export default { show(data, isEdit) { this.isEdit = isEdit this.drawerOption.show = true - + this.isChange = false this.$nextTick(() => { const _this = this _this.ruleForm = isEdit ? JSON.parse(JSON.stringify(data)) : {} @@ -199,6 +201,7 @@ export default { }, delItem(index) { this.ruleForm['atomicIndexList'].splice(index, 1) + this.isChange = true }, // 指标类型选择 handleChange(val) { @@ -212,6 +215,7 @@ export default { handleAtomicSubmit(data) { this.$refs.form.clearValidate('atomicIndexList') this.$set(this.ruleForm, 'atomicIndexList', data) + this.isChange = true }, // 重置 handleReset() { diff --git a/src/views/ruleEngine/indexRule/components/SelectAtomic.vue b/src/views/ruleEngine/indexRule/components/SelectAtomic.vue index 467ad01..36cca9b 100644 --- a/src/views/ruleEngine/indexRule/components/SelectAtomic.vue +++ b/src/views/ruleEngine/indexRule/components/SelectAtomic.vue @@ -117,7 +117,7 @@ export default { _this.gridOptions.data.map(column => { _this.selectionRows.map(item => { if (item.id === column.id) { - _this.$refs.xTable.toggleCheckboxRow(column, true) + _this.$refs.xTable.setCheckboxRow(column, true) } }) }) diff --git a/src/views/ruleEngine/indexRule/index.vue b/src/views/ruleEngine/indexRule/index.vue index b51f24c..abe33c3 100644 --- a/src/views/ruleEngine/indexRule/index.vue +++ b/src/views/ruleEngine/indexRule/index.vue @@ -12,11 +12,11 @@ 新增 - 重新评估 + 编辑 - 图谱 + 删除
{{ `[${indexTypeName}] ${ruleForm['name']}` }}