2025-02-25 17:30:50 +08:00
|
|
|
<template>
|
2025-03-27 15:56:05 +08:00
|
|
|
<section class="custom-page">
|
2025-02-28 16:45:42 +08:00
|
|
|
<avue-crud
|
2025-03-05 17:30:00 +08:00
|
|
|
ref="crudRef"
|
2025-02-28 16:45:42 +08:00
|
|
|
v-model:page="page"
|
|
|
|
|
v-model:search="searchData"
|
|
|
|
|
:option="option"
|
|
|
|
|
:data="data"
|
|
|
|
|
:table-loading="_loading"
|
2025-03-11 16:02:07 +08:00
|
|
|
:before-open="handleOpenFrom"
|
|
|
|
|
:before-close="handleCloseFrom"
|
2025-02-28 16:45:42 +08:00
|
|
|
@current-change="handlePageChange"
|
|
|
|
|
@size-change="handleSizeChange"
|
|
|
|
|
@search-change="handleSearch"
|
2025-03-11 16:02:07 +08:00
|
|
|
@search-reset="handleResetSearch"
|
2025-02-28 16:45:42 +08:00
|
|
|
@row-save="handleRowSave"
|
2025-03-05 17:30:00 +08:00
|
|
|
@row-update="handleExamine"
|
2025-03-11 16:02:07 +08:00
|
|
|
@cell-click="handleCellClick"
|
2025-02-28 16:45:42 +08:00
|
|
|
>
|
|
|
|
|
<template #menu="{ row }">
|
2025-06-13 15:26:00 +08:00
|
|
|
<el-button link type="primary" @click="handleInfo(row)">查看</el-button>
|
|
|
|
|
<el-button link type="primary" @click="handleInfo(row)">案件处理</el-button>
|
2025-03-05 17:30:00 +08:00
|
|
|
</template>
|
2025-02-28 16:45:42 +08:00
|
|
|
</avue-crud>
|
2025-03-27 15:56:05 +08:00
|
|
|
</section>
|
2025-02-25 17:30:50 +08:00
|
|
|
</template>
|
|
|
|
|
|
2025-02-28 16:45:42 +08:00
|
|
|
<script setup>
|
2025-03-11 16:02:07 +08:00
|
|
|
import { ref, reactive, h, onMounted, watch } from 'vue';
|
2025-02-28 16:45:42 +08:00
|
|
|
import { CRUD_OPTIONS } from '@/config';
|
|
|
|
|
import { useUserStore } from '@/store/modules/user';
|
|
|
|
|
import Register from './common/Register.vue';
|
2025-03-05 17:30:00 +08:00
|
|
|
import FileUpload from './common/FileUpload.vue';
|
2025-06-13 15:26:00 +08:00
|
|
|
import { getIllegalList, createLandIllegal, registerLandIllegal, illegalInfo } from '@/apis/land';
|
2025-03-10 17:32:04 +08:00
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus';
|
|
|
|
|
import Attrs from '../../common/Attrs.vue';
|
2025-03-11 16:02:07 +08:00
|
|
|
import { add } from 'lodash';
|
2025-02-28 16:45:42 +08:00
|
|
|
|
|
|
|
|
const { VITE_APP_BASE_API } = import.meta.env;
|
|
|
|
|
const UserStore = useUserStore();
|
2025-02-25 17:30:50 +08:00
|
|
|
|
2025-03-11 16:02:07 +08:00
|
|
|
onMounted(getList);
|
2025-03-10 17:32:04 +08:00
|
|
|
|
2025-02-25 17:30:50 +08:00
|
|
|
/* --------------- data --------------- */
|
|
|
|
|
// #region
|
2025-03-05 17:30:00 +08:00
|
|
|
const crudRef = ref();
|
2025-02-28 16:45:42 +08:00
|
|
|
const searchData = ref({
|
2025-03-10 17:32:04 +08:00
|
|
|
caseId: '',
|
2025-03-11 16:02:07 +08:00
|
|
|
status: '',
|
2025-02-28 16:45:42 +08:00
|
|
|
});
|
|
|
|
|
const page = ref({
|
|
|
|
|
currentPage: 1,
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
total: 3,
|
|
|
|
|
});
|
|
|
|
|
const _loading = ref(false);
|
2025-03-10 17:32:04 +08:00
|
|
|
const data = ref([]);
|
|
|
|
|
const landsArr = ref([]);
|
2025-03-11 16:02:07 +08:00
|
|
|
const resultData = ref([
|
|
|
|
|
{
|
|
|
|
|
label: '正常营业,无违规行为',
|
|
|
|
|
value: 1,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '简易程序,当场行政处罚',
|
|
|
|
|
value: 2,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '普通程序,当场处罚立案审批',
|
|
|
|
|
value: 3,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '移送程序,案件移送',
|
|
|
|
|
value: 4,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '特殊程序,案件终止',
|
|
|
|
|
value: 5,
|
|
|
|
|
},
|
|
|
|
|
]);
|
|
|
|
|
const documentData = ref([
|
|
|
|
|
{
|
|
|
|
|
label: '协助调查函',
|
|
|
|
|
value: 1,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '抽样取样凭证',
|
|
|
|
|
value: 2,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '检测报告',
|
|
|
|
|
value: 3,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '其他文书',
|
|
|
|
|
value: 4,
|
|
|
|
|
},
|
|
|
|
|
]);
|
2025-02-28 16:45:42 +08:00
|
|
|
const option = ref({
|
|
|
|
|
...CRUD_OPTIONS,
|
|
|
|
|
refreshBtn: false,
|
2025-06-13 15:26:00 +08:00
|
|
|
index: false,
|
2025-03-10 17:32:04 +08:00
|
|
|
rowKey: 'caseId',
|
2025-03-05 17:30:00 +08:00
|
|
|
editTitle: '案件登记处理',
|
2025-03-11 16:02:07 +08:00
|
|
|
selection: false,
|
2025-06-13 15:26:00 +08:00
|
|
|
addBtn: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
column: [
|
|
|
|
|
{
|
2025-06-13 15:26:00 +08:00
|
|
|
label: '违法行为',
|
|
|
|
|
prop: 'illegalTypeName',
|
2025-02-28 16:45:42 +08:00
|
|
|
search: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
editDisplay: false,
|
|
|
|
|
viewDisplay: false,
|
2025-06-13 15:26:00 +08:00
|
|
|
type: 'select',
|
|
|
|
|
dicData: [
|
|
|
|
|
{ label: '未处理', value: 0 },
|
|
|
|
|
{ label: '已处理', value: 1 },
|
2025-03-10 17:32:04 +08:00
|
|
|
],
|
2025-06-13 15:26:00 +08:00
|
|
|
// rules: [
|
|
|
|
|
// {
|
|
|
|
|
// required: true,
|
|
|
|
|
// message: '请选择',
|
|
|
|
|
// trigger: 'blur',
|
|
|
|
|
// },
|
|
|
|
|
// ],
|
2025-02-28 16:45:42 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-06-13 15:26:00 +08:00
|
|
|
label: '违法行为描述',
|
|
|
|
|
prop: 'desc',
|
2025-03-05 17:30:00 +08:00
|
|
|
editDisplay: false,
|
|
|
|
|
viewDisplay: false,
|
2025-03-10 17:32:04 +08:00
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请选择',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
},
|
|
|
|
|
],
|
2025-02-28 16:45:42 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-06-13 15:26:00 +08:00
|
|
|
label: '任务编号',
|
|
|
|
|
prop: 'illegalTypeCode',
|
|
|
|
|
search: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
editDisplay: false,
|
|
|
|
|
viewDisplay: false,
|
2025-03-10 17:32:04 +08:00
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
2025-06-13 15:26:00 +08:00
|
|
|
message: '请输入任务编号',
|
2025-03-10 17:32:04 +08:00
|
|
|
trigger: 'blur',
|
|
|
|
|
},
|
|
|
|
|
],
|
2025-02-28 16:45:42 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-06-13 15:26:00 +08:00
|
|
|
label: '巡查任务名称',
|
|
|
|
|
prop: 'inspectionTaskName',
|
2025-03-05 17:30:00 +08:00
|
|
|
editDisplay: false,
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-06-13 15:26:00 +08:00
|
|
|
label: '巡查任务对象',
|
|
|
|
|
prop: 'inspectionTaskTarget',
|
2025-02-28 16:45:42 +08:00
|
|
|
addDisplay: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
editDisplay: false,
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
},
|
|
|
|
|
{
|
2025-06-13 15:26:00 +08:00
|
|
|
label: '状态',
|
2025-03-11 16:02:07 +08:00
|
|
|
prop: 'status',
|
2025-02-28 16:45:42 +08:00
|
|
|
addDisplay: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
editDisplay: false,
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
},
|
2025-03-05 17:30:00 +08:00
|
|
|
],
|
|
|
|
|
group: [
|
|
|
|
|
{
|
|
|
|
|
label: '案件信息>',
|
|
|
|
|
prop: 'caseInfo',
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
column: [
|
|
|
|
|
{
|
|
|
|
|
label: '案件名称',
|
2025-03-10 17:32:04 +08:00
|
|
|
prop: 'caseName',
|
2025-03-05 17:30:00 +08:00
|
|
|
render: ({ row }) => {
|
2025-03-10 17:32:04 +08:00
|
|
|
return h('span', {}, row.caseName);
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '案件编号',
|
2025-03-10 17:32:04 +08:00
|
|
|
prop: 'caseId',
|
2025-03-05 17:30:00 +08:00
|
|
|
render: ({ row }) => {
|
2025-03-10 17:32:04 +08:00
|
|
|
return h('span', {}, row.caseId);
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '关联单位',
|
2025-03-10 17:32:04 +08:00
|
|
|
prop: 'relatedUnit',
|
2025-03-05 17:30:00 +08:00
|
|
|
render: ({ row }) => {
|
2025-03-10 17:32:04 +08:00
|
|
|
return h('span', {}, row.relatedUnit);
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '关联地块',
|
2025-03-11 16:02:07 +08:00
|
|
|
prop: 'relatedLandname',
|
2025-03-05 17:30:00 +08:00
|
|
|
render: ({ row }) => {
|
2025-03-11 16:02:07 +08:00
|
|
|
return h('span', {}, row.relatedLandname);
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '法定代表人',
|
2025-03-10 17:32:04 +08:00
|
|
|
prop: 'legalPerson',
|
2025-03-05 17:30:00 +08:00
|
|
|
render: ({ row }) => {
|
2025-03-10 17:32:04 +08:00
|
|
|
return h('span', {}, row.legalPerson);
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '联系电话',
|
|
|
|
|
prop: 'phone',
|
|
|
|
|
render: ({ row }) => {
|
|
|
|
|
return h('span', {}, row.phone);
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '统一社会信用代码',
|
2025-03-10 17:32:04 +08:00
|
|
|
prop: 'usciCode',
|
2025-03-05 17:30:00 +08:00
|
|
|
span: 24,
|
|
|
|
|
render: ({ row }) => {
|
2025-03-10 17:32:04 +08:00
|
|
|
return h('span', {}, row.usciCode);
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '违法情况',
|
2025-03-10 17:32:04 +08:00
|
|
|
prop: 'violationSituation',
|
2025-03-05 17:30:00 +08:00
|
|
|
span: 24,
|
|
|
|
|
render: ({ row }) => {
|
2025-03-10 17:32:04 +08:00
|
|
|
return h('span', {}, row.violationSituation);
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '案件处理>',
|
|
|
|
|
prop: 'caseHandle',
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
column: [
|
|
|
|
|
{
|
|
|
|
|
label: '案情记录',
|
2025-03-10 17:32:04 +08:00
|
|
|
prop: 'caseRecord',
|
2025-03-05 17:30:00 +08:00
|
|
|
type: 'textarea',
|
|
|
|
|
span: 24,
|
|
|
|
|
display: true,
|
|
|
|
|
editDisplay: true,
|
2025-03-11 16:02:07 +08:00
|
|
|
rules: [
|
|
|
|
|
{
|
|
|
|
|
required: true,
|
|
|
|
|
message: '请输入',
|
|
|
|
|
trigger: 'blur',
|
|
|
|
|
},
|
|
|
|
|
],
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '现场取证',
|
|
|
|
|
prop: 'sceneProof',
|
|
|
|
|
span: 24,
|
|
|
|
|
display: true,
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '执法文书',
|
2025-03-10 17:32:04 +08:00
|
|
|
prop: 'lawDocument',
|
2025-03-05 17:30:00 +08:00
|
|
|
span: 24,
|
|
|
|
|
type: 'radio',
|
2025-03-11 16:02:07 +08:00
|
|
|
viewDisplay: false,
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
dicData: documentData.value,
|
|
|
|
|
rules: [
|
2025-03-05 17:30:00 +08:00
|
|
|
{
|
2025-03-11 16:02:07 +08:00
|
|
|
required: true,
|
|
|
|
|
message: '请选择',
|
|
|
|
|
trigger: 'blur',
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
2025-03-11 16:02:07 +08:00
|
|
|
{
|
|
|
|
|
label: '执法文书',
|
|
|
|
|
prop: 'lawDocument',
|
|
|
|
|
span: 24,
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
editDisplay: false,
|
|
|
|
|
viewDisplay: true,
|
|
|
|
|
render: ({ row }) => {
|
|
|
|
|
return h('span', {}, documentData.value.find((item) => item.value == row.lawDocument)?.label);
|
|
|
|
|
},
|
|
|
|
|
},
|
2025-03-05 17:30:00 +08:00
|
|
|
{
|
|
|
|
|
label: '',
|
|
|
|
|
prop: 'attrs_',
|
2025-03-11 16:02:07 +08:00
|
|
|
span: 24,
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '处理结果>',
|
|
|
|
|
prop: 'caseResult_',
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
column: [
|
|
|
|
|
{
|
|
|
|
|
label: '案件处理结果',
|
|
|
|
|
prop: 'caseResult',
|
|
|
|
|
type: 'radio',
|
2025-03-11 16:02:07 +08:00
|
|
|
dicData: resultData.value,
|
|
|
|
|
span: 24,
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
viewDisplay: false,
|
|
|
|
|
rules: [
|
2025-03-05 17:30:00 +08:00
|
|
|
{
|
2025-03-11 16:02:07 +08:00
|
|
|
required: true,
|
|
|
|
|
message: '请选择',
|
|
|
|
|
trigger: 'blur',
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
],
|
2025-03-11 16:02:07 +08:00
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '案件处理结果',
|
|
|
|
|
prop: 'caseResult',
|
2025-03-05 17:30:00 +08:00
|
|
|
span: 24,
|
2025-03-11 16:02:07 +08:00
|
|
|
addDisplay: false,
|
|
|
|
|
editDisplay: false,
|
|
|
|
|
render: ({ row }) => {
|
|
|
|
|
return h('span', {}, resultData.value.find((item) => item.value == row.caseResult)?.label);
|
|
|
|
|
},
|
2025-03-05 17:30:00 +08:00
|
|
|
},
|
|
|
|
|
],
|
2025-02-28 16:45:42 +08:00
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
});
|
|
|
|
|
const caseInfo = ref({
|
|
|
|
|
visible: false,
|
|
|
|
|
});
|
2025-03-05 17:30:00 +08:00
|
|
|
const examineForm = reactive({
|
2025-03-10 17:32:04 +08:00
|
|
|
caseId: '',
|
2025-03-05 17:30:00 +08:00
|
|
|
proof: [],
|
|
|
|
|
attrs: [],
|
|
|
|
|
});
|
2025-05-16 10:57:59 +08:00
|
|
|
watch(
|
|
|
|
|
() => examineForm,
|
|
|
|
|
() => {
|
|
|
|
|
console.log('examineForm', examineForm.attrs);
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
deep: true,
|
|
|
|
|
immediate: true,
|
|
|
|
|
}
|
|
|
|
|
);
|
2025-02-25 17:30:50 +08:00
|
|
|
// #endregion
|
|
|
|
|
|
|
|
|
|
/* --------------- methods --------------- */
|
|
|
|
|
|
2025-02-28 16:45:42 +08:00
|
|
|
// #region
|
2025-03-10 17:32:04 +08:00
|
|
|
|
|
|
|
|
async function getList() {
|
2025-06-13 15:26:00 +08:00
|
|
|
// _loading.value = true;
|
2025-03-10 17:32:04 +08:00
|
|
|
let params = {
|
2025-06-13 15:26:00 +08:00
|
|
|
illegalFlag: 1,
|
2025-03-10 17:32:04 +08:00
|
|
|
current: page.value.currentPage,
|
|
|
|
|
size: page.value.pageSize,
|
2025-06-13 15:26:00 +08:00
|
|
|
// ...searchData.value,
|
2025-03-10 17:32:04 +08:00
|
|
|
};
|
2025-06-13 15:26:00 +08:00
|
|
|
let res = await getIllegalList(params);
|
2025-03-10 17:32:04 +08:00
|
|
|
console.log('res -- ', res);
|
2025-03-11 16:02:07 +08:00
|
|
|
_loading.value = false;
|
2025-03-10 17:32:04 +08:00
|
|
|
if (res.code == 200) {
|
|
|
|
|
data.value = res.data.records;
|
|
|
|
|
page.value.total = res.data.total;
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-02-28 16:45:42 +08:00
|
|
|
function handlePageChange(val) {
|
|
|
|
|
page.value.currentPage = val;
|
2025-03-10 17:32:04 +08:00
|
|
|
getList();
|
2025-02-28 16:45:42 +08:00
|
|
|
}
|
|
|
|
|
function handleSizeChange(val) {
|
2025-03-10 17:32:04 +08:00
|
|
|
page.value.currentPage = 1;
|
2025-02-28 16:45:42 +08:00
|
|
|
page.value.pageSize = val;
|
2025-03-10 17:32:04 +08:00
|
|
|
getList();
|
2025-02-28 16:45:42 +08:00
|
|
|
}
|
|
|
|
|
function handleInfo(row) {
|
|
|
|
|
console.log('row', row);
|
2025-06-13 15:26:00 +08:00
|
|
|
// examineForm.caseId = row.caseId;
|
|
|
|
|
// // caseInfo.value.visible = true;
|
|
|
|
|
// crudRef.value.rowEdit(row);
|
|
|
|
|
// // crudRef.value.rowView(row);
|
2025-02-28 16:45:42 +08:00
|
|
|
}
|
2025-03-11 16:02:07 +08:00
|
|
|
async function handleSearch(form, done) {
|
|
|
|
|
page.value.currentPage = 1;
|
|
|
|
|
await getList();
|
|
|
|
|
done();
|
|
|
|
|
}
|
|
|
|
|
async function handleResetSearch() {
|
|
|
|
|
page.value.currentPage = 1;
|
|
|
|
|
await getList();
|
2025-02-28 16:45:42 +08:00
|
|
|
}
|
2025-03-11 16:02:07 +08:00
|
|
|
|
2025-03-10 17:32:04 +08:00
|
|
|
async function handleRowSave(val, done, loading) {
|
|
|
|
|
let data = {
|
|
|
|
|
caseId: val.caseId,
|
|
|
|
|
caseName: val.caseName,
|
|
|
|
|
relatedUnit: val.relatedUnit,
|
|
|
|
|
relatedLand: val.landId,
|
|
|
|
|
phone: val.phone,
|
|
|
|
|
legalPerson: val.legalPerson,
|
|
|
|
|
usciCode: val.usciCode,
|
|
|
|
|
violationSituation: val.violationSituation,
|
|
|
|
|
};
|
|
|
|
|
if (val.landId) {
|
|
|
|
|
data.relatedLandname = landsArr.value.find((item) => item.id == val.landId).landName;
|
|
|
|
|
}
|
|
|
|
|
console.log('val', data);
|
|
|
|
|
let res = await createLandIllegal(data);
|
|
|
|
|
if (res.code == 200) {
|
|
|
|
|
ElMessage.success('创建成功');
|
|
|
|
|
getList();
|
2025-02-28 16:45:42 +08:00
|
|
|
done();
|
2025-03-10 17:32:04 +08:00
|
|
|
ElMessageBox.confirm('土地违法案件信息已添加,是否现在添加案件处理信息与结果。后续也可以单独添加。', '案件信息已添加', {
|
|
|
|
|
confirmButtonText: '是,现在添加',
|
|
|
|
|
cancelButtonText: '否,后续添加',
|
|
|
|
|
type: 'success',
|
2025-03-11 16:02:07 +08:00
|
|
|
}).then(() => {
|
|
|
|
|
getDetails(val.caseId);
|
|
|
|
|
});
|
2025-03-10 17:32:04 +08:00
|
|
|
}
|
|
|
|
|
loading();
|
2025-02-28 16:45:42 +08:00
|
|
|
}
|
2025-03-05 17:30:00 +08:00
|
|
|
|
2025-03-10 17:32:04 +08:00
|
|
|
async function handleExamine(val, done, loading) {
|
|
|
|
|
let data = {
|
|
|
|
|
caseId: examineForm.caseId,
|
|
|
|
|
caseRecord: val.caseRecord,
|
|
|
|
|
caseResult: val.caseResult,
|
|
|
|
|
lawDocument: val.lawDocument,
|
|
|
|
|
};
|
|
|
|
|
if (examineForm.proof.length > 0) {
|
|
|
|
|
data.evidenceFile = examineForm.proof.map((v) => v.url).join();
|
|
|
|
|
}
|
|
|
|
|
if (examineForm.attrs.length > 0) {
|
|
|
|
|
data.lawFile = examineForm.attrs.map((v) => `${v.name}&${v.url}`).join();
|
|
|
|
|
}
|
|
|
|
|
let res = await registerLandIllegal(data);
|
2025-03-05 17:30:00 +08:00
|
|
|
loading();
|
2025-03-10 17:32:04 +08:00
|
|
|
if (res.code == 200) {
|
|
|
|
|
ElMessage.success('提交成功');
|
|
|
|
|
getList();
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-03-11 16:02:07 +08:00
|
|
|
async function getDetails(id, type = 'add') {
|
|
|
|
|
examineForm.caseId = id;
|
2025-03-10 17:32:04 +08:00
|
|
|
let res = await illegalInfo(id);
|
2025-03-11 16:02:07 +08:00
|
|
|
if (res.code == 200) {
|
|
|
|
|
console.log('detaile', res);
|
|
|
|
|
if (res.data.evidenceFile) {
|
|
|
|
|
examineForm.proof = res.data.evidenceFile.split(',').map((v, i) => {
|
|
|
|
|
return {
|
|
|
|
|
url: v,
|
|
|
|
|
uid: `id_${i}_${Date.now()}`,
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
if (res.data.lawFile) {
|
|
|
|
|
examineForm.attrs = res.data.lawFile.split(',').map((v, i) => {
|
|
|
|
|
let [name, url] = v.split('&');
|
|
|
|
|
return {
|
|
|
|
|
name,
|
|
|
|
|
url,
|
|
|
|
|
uid: `id_${i}_${Date.now()}`,
|
|
|
|
|
status: 'success',
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
type == 'add' ? crudRef.value.rowEdit(res.data) : crudRef.value.rowView(res.data);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
const cellClick = ref(['caseId', 'caseName']);
|
|
|
|
|
function handleCellClick(row, column) {
|
|
|
|
|
if (cellClick.value.includes(column.columnKey)) {
|
|
|
|
|
getDetails(row.caseId, 'view');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
function handleOpenFrom(done, type) {
|
|
|
|
|
console.log('form open', type);
|
|
|
|
|
let lab = type == 'view' ? '执法文书附件' : '';
|
|
|
|
|
if (type == 'view') {
|
|
|
|
|
option.value.group.find((v) => v.prop == 'caseHandle').column.find((v) => v.prop == 'attrs_').label = lab;
|
|
|
|
|
}
|
2025-06-13 15:26:00 +08:00
|
|
|
// done();
|
2025-03-11 16:02:07 +08:00
|
|
|
}
|
|
|
|
|
function handleCloseFrom(done) {
|
|
|
|
|
console.log('form close');
|
|
|
|
|
examineForm.caseId = '';
|
|
|
|
|
examineForm.proof = [];
|
|
|
|
|
examineForm.attrs = [];
|
|
|
|
|
done();
|
2025-03-05 17:30:00 +08:00
|
|
|
}
|
2025-02-25 17:30:50 +08:00
|
|
|
// #endregion
|
|
|
|
|
</script>
|
|
|
|
|
|
2025-03-05 17:30:00 +08:00
|
|
|
<style lang="scss" scoped>
|
2025-03-10 17:32:04 +08:00
|
|
|
.proof_content_ {
|
|
|
|
|
display: flex;
|
|
|
|
|
> section {
|
|
|
|
|
flex: 1;
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-03-05 17:30:00 +08:00
|
|
|
::v-deep() {
|
|
|
|
|
.attrs_ {
|
|
|
|
|
.el-form-item__label {
|
|
|
|
|
opacity: 0;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</style>
|