2025-02-25 17:30:50 +08:00
|
|
|
|
<template>
|
2025-02-28 16:45:42 +08:00
|
|
|
|
<CustomCard>
|
|
|
|
|
|
<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"
|
|
|
|
|
|
@current-change="handlePageChange"
|
|
|
|
|
|
@size-change="handleSizeChange"
|
|
|
|
|
|
@search-change="handleSearch"
|
|
|
|
|
|
@row-save="handleRowSave"
|
2025-03-05 17:30:00 +08:00
|
|
|
|
@row-update="handleExamine"
|
2025-02-28 16:45:42 +08:00
|
|
|
|
>
|
|
|
|
|
|
<template #menu="{ row }">
|
|
|
|
|
|
<el-button type="primary" @click="handleInfo(row)">登记处理</el-button>
|
|
|
|
|
|
</template>
|
2025-03-05 17:30:00 +08:00
|
|
|
|
<template #sceneProof-form>
|
|
|
|
|
|
<section>
|
|
|
|
|
|
<span>(照片、视频)</span>
|
|
|
|
|
|
</section>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
<template #attrs_-form>
|
|
|
|
|
|
<FileUpload v-model:list="examineForm.attrs" :format="['rar', 'zip', 'doc', 'docx', 'pdf']" />
|
|
|
|
|
|
</template>
|
2025-02-28 16:45:42 +08:00
|
|
|
|
</avue-crud>
|
|
|
|
|
|
</CustomCard>
|
|
|
|
|
|
<Register v-model:visible="caseInfo.visible" />
|
2025-02-25 17:30:50 +08:00
|
|
|
|
</template>
|
|
|
|
|
|
|
2025-02-28 16:45:42 +08:00
|
|
|
|
<script setup>
|
2025-03-05 17:30:00 +08:00
|
|
|
|
import { ref, reactive, h } from 'vue';
|
2025-02-28 16:45:42 +08:00
|
|
|
|
import { CRUD_OPTIONS } from '@/config';
|
|
|
|
|
|
import CustomCard from '@/components/CustomCard.vue';
|
|
|
|
|
|
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-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
|
|
|
|
|
|
|
|
|
|
/* --------------- 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-05 17:30:00 +08:00
|
|
|
|
caseNum: '',
|
2025-02-28 16:45:42 +08:00
|
|
|
|
process: '',
|
|
|
|
|
|
});
|
|
|
|
|
|
const page = ref({
|
|
|
|
|
|
currentPage: 1,
|
|
|
|
|
|
pageSize: 10,
|
|
|
|
|
|
total: 3,
|
|
|
|
|
|
});
|
|
|
|
|
|
const _loading = ref(false);
|
|
|
|
|
|
const data = ref([
|
|
|
|
|
|
{
|
2025-03-05 17:30:00 +08:00
|
|
|
|
id_: '1',
|
|
|
|
|
|
caseNum: '111111111',
|
2025-02-28 16:45:42 +08:00
|
|
|
|
name: '张三',
|
|
|
|
|
|
unit: '123333333333333333333333333333',
|
|
|
|
|
|
owner: '张三',
|
|
|
|
|
|
process: '北京',
|
|
|
|
|
|
date: '2020-02-02',
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
2025-03-05 17:30:00 +08:00
|
|
|
|
id_: '2',
|
|
|
|
|
|
caseNum: '222222222',
|
2025-02-28 16:45:42 +08:00
|
|
|
|
name: '张三',
|
|
|
|
|
|
unit: '123333333333333333333333333333',
|
|
|
|
|
|
owner: '张三',
|
|
|
|
|
|
process: '北京',
|
|
|
|
|
|
date: '2020-02-02',
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
2025-03-05 17:30:00 +08:00
|
|
|
|
id_: '3',
|
|
|
|
|
|
caseNum: '333333333333',
|
2025-02-28 16:45:42 +08:00
|
|
|
|
name: '张三',
|
|
|
|
|
|
unit: '123333333333333333333333333333',
|
|
|
|
|
|
owner: '张三',
|
|
|
|
|
|
process: '北京',
|
|
|
|
|
|
date: '2020-02-02',
|
|
|
|
|
|
},
|
|
|
|
|
|
]);
|
|
|
|
|
|
const option = ref({
|
|
|
|
|
|
...CRUD_OPTIONS,
|
|
|
|
|
|
refreshBtn: false,
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editTitle: '案件登记处理',
|
2025-02-28 16:45:42 +08:00
|
|
|
|
column: [
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '案件编号',
|
2025-03-05 17:30:00 +08:00
|
|
|
|
prop: 'caseNum',
|
2025-02-28 16:45:42 +08:00
|
|
|
|
search: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editDisplay: false,
|
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '案件名称',
|
|
|
|
|
|
prop: 'name',
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editDisplay: false,
|
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '关联单位',
|
|
|
|
|
|
prop: 'unit',
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editDisplay: false,
|
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '关联土地·',
|
|
|
|
|
|
prop: 'land',
|
|
|
|
|
|
type: 'select',
|
|
|
|
|
|
addDisplay: true,
|
|
|
|
|
|
hide: true,
|
|
|
|
|
|
dicUrl: `${VITE_APP_BASE_API}/land-resource/landManage/page`,
|
|
|
|
|
|
dicQuery: {
|
|
|
|
|
|
current: 1,
|
|
|
|
|
|
size: 9999,
|
|
|
|
|
|
},
|
|
|
|
|
|
props: {
|
|
|
|
|
|
value: 'id',
|
|
|
|
|
|
label: 'landName',
|
|
|
|
|
|
},
|
|
|
|
|
|
dicMethod: 'get',
|
|
|
|
|
|
dicHeaders: {
|
|
|
|
|
|
authorization: UserStore.token,
|
|
|
|
|
|
},
|
|
|
|
|
|
dicFormatter: (res) => res?.data?.records ?? [],
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editDisplay: false,
|
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '联系电话',
|
|
|
|
|
|
prop: 'phone',
|
|
|
|
|
|
hide: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editDisplay: false,
|
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '法定代表人',
|
|
|
|
|
|
prop: 'onwer',
|
|
|
|
|
|
addDisplay: true,
|
|
|
|
|
|
hide: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editDisplay: false,
|
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '统一社会信用代码',
|
|
|
|
|
|
prop: 'code',
|
|
|
|
|
|
addDisplay: true,
|
|
|
|
|
|
hide: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editDisplay: false,
|
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '违法情况',
|
|
|
|
|
|
prop: 'illegal',
|
|
|
|
|
|
type: 'textarea',
|
|
|
|
|
|
addDisplay: true,
|
|
|
|
|
|
hide: true,
|
|
|
|
|
|
width: '100%',
|
|
|
|
|
|
span: 24,
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editDisplay: false,
|
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '负责人',
|
|
|
|
|
|
prop: 'owner',
|
|
|
|
|
|
display: false,
|
|
|
|
|
|
addDisplay: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editDisplay: false,
|
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '案件进度',
|
|
|
|
|
|
prop: 'process',
|
|
|
|
|
|
display: false,
|
|
|
|
|
|
search: true,
|
|
|
|
|
|
addDisplay: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editDisplay: false,
|
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '案件结果',
|
|
|
|
|
|
prop: 'result',
|
|
|
|
|
|
display: false,
|
|
|
|
|
|
addDisplay: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
|
editDisplay: false,
|
|
|
|
|
|
viewDisplay: false,
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '处理时间',
|
|
|
|
|
|
prop: 'date',
|
|
|
|
|
|
display: false,
|
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
|
editDisplay: true,
|
2025-03-05 17:30:00 +08:00
|
|
|
|
viewDisplay: false,
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
group: [
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '案件信息>',
|
|
|
|
|
|
prop: 'caseInfo',
|
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
|
column: [
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '案件名称',
|
|
|
|
|
|
prop: 'name',
|
|
|
|
|
|
render: ({ row }) => {
|
|
|
|
|
|
return h('span', {}, row.name);
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '案件编号',
|
|
|
|
|
|
prop: 'caseNum',
|
|
|
|
|
|
render: ({ row }) => {
|
|
|
|
|
|
return h('span', {}, row.caseNum);
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '关联单位',
|
|
|
|
|
|
prop: 'unit',
|
|
|
|
|
|
render: ({ row }) => {
|
|
|
|
|
|
return h('span', {}, row.unit);
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '关联地块',
|
|
|
|
|
|
prop: 'land',
|
|
|
|
|
|
render: ({ row }) => {
|
|
|
|
|
|
return h('span', {}, row.land);
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '法定代表人',
|
|
|
|
|
|
prop: 'onwer',
|
|
|
|
|
|
render: ({ row }) => {
|
|
|
|
|
|
return h('span', {}, row.onwer);
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '联系电话',
|
|
|
|
|
|
prop: 'phone',
|
|
|
|
|
|
render: ({ row }) => {
|
|
|
|
|
|
return h('span', {}, row.phone);
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '统一社会信用代码',
|
|
|
|
|
|
prop: 'code',
|
|
|
|
|
|
span: 24,
|
|
|
|
|
|
render: ({ row }) => {
|
|
|
|
|
|
return h('span', {}, row.code);
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '违法情况',
|
|
|
|
|
|
prop: 'result',
|
|
|
|
|
|
span: 24,
|
|
|
|
|
|
render: ({ row }) => {
|
|
|
|
|
|
return h('span', {}, row.result);
|
|
|
|
|
|
},
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '案件处理>',
|
|
|
|
|
|
prop: 'caseHandle',
|
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
|
column: [
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '案情记录',
|
|
|
|
|
|
prop: 'caseRecords',
|
|
|
|
|
|
type: 'textarea',
|
|
|
|
|
|
span: 24,
|
|
|
|
|
|
display: true,
|
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '现场取证',
|
|
|
|
|
|
prop: 'sceneProof',
|
|
|
|
|
|
span: 24,
|
|
|
|
|
|
display: true,
|
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '执法文书',
|
|
|
|
|
|
prop: 'document',
|
|
|
|
|
|
labelSuffix: '件',
|
|
|
|
|
|
span: 24,
|
|
|
|
|
|
display: true,
|
|
|
|
|
|
type: 'radio',
|
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
|
dicData: [
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '协助调查函',
|
|
|
|
|
|
value: 0,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '抽样取样凭证',
|
|
|
|
|
|
value: 1,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '检测报告',
|
|
|
|
|
|
value: 2,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '其他文书',
|
|
|
|
|
|
value: 3,
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '',
|
|
|
|
|
|
prop: 'attrs_',
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '处理结果>',
|
|
|
|
|
|
prop: 'caseResult_',
|
|
|
|
|
|
addDisplay: false,
|
|
|
|
|
|
column: [
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '案件处理结果',
|
|
|
|
|
|
prop: 'caseResult',
|
|
|
|
|
|
type: 'radio',
|
|
|
|
|
|
value: 0,
|
|
|
|
|
|
dicData: [
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '正常营业,无违规行为',
|
|
|
|
|
|
value: 0,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '简易程序,当场行政处罚',
|
|
|
|
|
|
value: 1,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '普通程序,当场处罚立案审批',
|
|
|
|
|
|
value: 2,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '移送程序,案件移送',
|
|
|
|
|
|
value: 3,
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
label: '特殊程序,案件终止',
|
|
|
|
|
|
value: 4,
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
span: 24,
|
|
|
|
|
|
display: true,
|
|
|
|
|
|
editDisplay: true,
|
|
|
|
|
|
},
|
|
|
|
|
|
],
|
2025-02-28 16:45:42 +08:00
|
|
|
|
},
|
|
|
|
|
|
],
|
|
|
|
|
|
});
|
|
|
|
|
|
const caseInfo = ref({
|
|
|
|
|
|
visible: false,
|
|
|
|
|
|
});
|
2025-03-05 17:30:00 +08:00
|
|
|
|
const examineForm = reactive({
|
|
|
|
|
|
record: '',
|
|
|
|
|
|
proof: [],
|
|
|
|
|
|
document: 1,
|
|
|
|
|
|
attrs: [],
|
|
|
|
|
|
result: 1,
|
|
|
|
|
|
});
|
2025-02-25 17:30:50 +08:00
|
|
|
|
// #endregion
|
|
|
|
|
|
|
|
|
|
|
|
/* --------------- methods --------------- */
|
|
|
|
|
|
|
2025-02-28 16:45:42 +08:00
|
|
|
|
// #region
|
|
|
|
|
|
function handlePageChange(val) {
|
|
|
|
|
|
console.log('page', val);
|
|
|
|
|
|
page.value.currentPage = val;
|
|
|
|
|
|
}
|
|
|
|
|
|
function handleSizeChange(val) {
|
|
|
|
|
|
page.value.pageSize = val;
|
|
|
|
|
|
console.log('size', val, page.value);
|
|
|
|
|
|
}
|
|
|
|
|
|
function handleInfo(row) {
|
|
|
|
|
|
console.log('row', row);
|
2025-03-05 17:30:00 +08:00
|
|
|
|
// caseInfo.value.visible = true;
|
|
|
|
|
|
crudRef.value.rowEdit(row);
|
|
|
|
|
|
// crudRef.value.rowView(row);
|
2025-02-28 16:45:42 +08:00
|
|
|
|
}
|
|
|
|
|
|
function handleSearch(form, done) {
|
|
|
|
|
|
console.log('search', form);
|
|
|
|
|
|
let t = setTimeout(() => {
|
|
|
|
|
|
clearTimeout(t);
|
|
|
|
|
|
done();
|
|
|
|
|
|
}, 1000);
|
|
|
|
|
|
}
|
|
|
|
|
|
function handleRowSave(val, done, loading) {
|
|
|
|
|
|
console.log('val', val);
|
|
|
|
|
|
console.log('done', done);
|
|
|
|
|
|
console.log('loading', loading);
|
|
|
|
|
|
loading();
|
|
|
|
|
|
let t = setTimeout(() => {
|
|
|
|
|
|
clearTimeout(t);
|
|
|
|
|
|
done();
|
|
|
|
|
|
}, 1000);
|
|
|
|
|
|
}
|
2025-03-05 17:30:00 +08:00
|
|
|
|
|
|
|
|
|
|
function handleExamine(val, done, loading) {
|
|
|
|
|
|
console.log('val', val);
|
|
|
|
|
|
console.log('done', done);
|
|
|
|
|
|
console.log('loading', loading);
|
|
|
|
|
|
loading();
|
|
|
|
|
|
}
|
2025-02-25 17:30:50 +08:00
|
|
|
|
// #endregion
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
2025-03-05 17:30:00 +08:00
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
::v-deep() {
|
|
|
|
|
|
.attrs_ {
|
|
|
|
|
|
.el-form-item__label {
|
|
|
|
|
|
opacity: 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|