Merge branch 'main' of http://123.132.248.154:10000/HC_YFZX/CaiYuanYiTiHua
commit
ad34895947
|
|
@ -1,6 +1,13 @@
|
|||
// WFProcess 流程模版基本信息
|
||||
import { defHttp } from '@/utils/http/axios';
|
||||
import { taskCountParams, caseInfoParams, countModel, taskInfoParams, addCaseFavoriteParams } from './model/index';
|
||||
import {
|
||||
taskCountParams,
|
||||
caseInfoParams,
|
||||
countModel,
|
||||
taskInfoParams,
|
||||
addCaseFavoriteParams,
|
||||
updateCaseInfoParams,
|
||||
} from './model/index';
|
||||
|
||||
enum Api {
|
||||
// 获取待办任务统计数据
|
||||
|
|
@ -12,10 +19,14 @@ enum Api {
|
|||
// 分页获取任务信息列表
|
||||
LoadTaskDetailList = '/api/DroneCaseInfoSingle/LoadTaskDetailList',
|
||||
// 收藏案件
|
||||
AddCaseFavorite = '/api/DroneCaseinfo/AddCaseFavorite',
|
||||
AddCaseFavorite = '/api/DroneCaseInfoSingle/AddCaseFavorite',
|
||||
// 获取收藏案件列表
|
||||
FavoriteCaseList = '/api/DroneCaseinfo/FavoriteCaseList',
|
||||
DeleteFavoriteCase = '/api/DroneCaseinfo/DeleteFavoriteCase',
|
||||
DeleteFavoriteCase = '/api/DroneCaseInfoSingle/DeleteFavoriteCase',
|
||||
// 获取案件详情
|
||||
GetCaseInfoById = '/api/DroneCaseInfoSingle/GetCaseInfoById',
|
||||
// 更新案件行政区划
|
||||
UpdateDroneCaseInfo = '/api/DroneCaseInfoSingle/UpdateDroneCaseInfo',
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -48,10 +59,15 @@ export function getLoadTaskDetailList(params?: taskInfoParams) {
|
|||
export function addCaseFavorite(params?: addCaseFavoriteParams) {
|
||||
return defHttp.post({ url: Api.AddCaseFavorite, params });
|
||||
}
|
||||
export function deleteFavoriteCase(params: string){
|
||||
return defHttp.post({ url: Api.DeleteFavoriteCase, data:params });
|
||||
export function deleteFavoriteCase(params: string) {
|
||||
return defHttp.post({ url: Api.DeleteFavoriteCase, data: params });
|
||||
}
|
||||
|
||||
export function getFavoriteCaseList(params?: {uid:string}) {
|
||||
export function getFavoriteCaseList(params?: { uid: string }) {
|
||||
return defHttp.get({ url: Api.FavoriteCaseList, params });
|
||||
}
|
||||
}
|
||||
export function getCaseInfoById(params?: { id: string }) {
|
||||
return defHttp.get({ url: Api.GetCaseInfoById, params });
|
||||
}
|
||||
export const updateDroneCaseInfo = (params: updateCaseInfoParams) =>
|
||||
defHttp.post({ url: Api.UpdateDroneCaseInfo, params });
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@ export interface taskInfoParams {
|
|||
}
|
||||
|
||||
export interface addCaseFavoriteParams {
|
||||
id: string,
|
||||
caseNo: string,
|
||||
favoriteUserId: string,
|
||||
id: string;
|
||||
caseNo: string;
|
||||
favoriteUserId: string;
|
||||
}
|
||||
|
||||
export interface caseInfoParams {
|
||||
|
|
@ -42,3 +42,13 @@ export interface countItem {
|
|||
count: number;
|
||||
}
|
||||
export type countModel = countItem[];
|
||||
|
||||
export interface updateCaseInfoParams {
|
||||
id?: string;
|
||||
countyid?: string;
|
||||
countyname?: string;
|
||||
streetid?: string;
|
||||
streetname?: string;
|
||||
communityid?: string;
|
||||
communityname?: string;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
<MenuItem
|
||||
key="logout"
|
||||
:text="t('layout.header.dropdownItemLoginOut')"
|
||||
icon="ion:power-outline"
|
||||
icon="ant-design:retweet-outlined"
|
||||
/>
|
||||
</Menu>
|
||||
</template>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
"header": {
|
||||
"dropdownChangeApi": "Change Api",
|
||||
"dropdownItemDoc": "Document",
|
||||
"dropdownItemLoginOut": "Log Out",
|
||||
"dropdownItemLoginOut": "Switched Systems",
|
||||
"tooltipErrorLog": "Error log",
|
||||
"tooltipLock": "Lock screen",
|
||||
"tooltipNotify": "Notification",
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
"header": {
|
||||
"dropdownChangeApi": "切换API",
|
||||
"dropdownItemDoc": "文档",
|
||||
"dropdownItemLoginOut": "退出系统",
|
||||
"dropdownItemLoginOut": "切换系统",
|
||||
"tooltipErrorLog": "错误日志",
|
||||
"tooltipLock": "锁定屏幕",
|
||||
"tooltipNotify": "消息通知",
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
</div>
|
||||
<div class="screen-item">
|
||||
<div class="screen-item-label">
|
||||
<a-button type="primary" @click="getTaskList">查询</a-button>
|
||||
<a-button type="primary" @click="query">查询</a-button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="screen-button-div">
|
||||
|
|
@ -71,27 +71,27 @@
|
|||
<div class="item-data-div">
|
||||
<div class="item-data-item" v-if="item.area">
|
||||
<div class="item-mark-div sum-mark">总</div>
|
||||
{{ item.area }}
|
||||
<div class="area-data">{{ item.area }}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.gengdi_area">
|
||||
<div class="item-mark-div plowland-mark">耕</div>
|
||||
{{ item.gengdi_area }}
|
||||
<div class="area-data">{{ item.gengdi_area }}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.nongyongdi_area">
|
||||
<div class="item-data-item" v-if="item.yongjiujibennongtian_area">
|
||||
<div class="item-mark-div farmland-mark">农</div>
|
||||
{{ item.nongyongdi_area }}
|
||||
<div class="area-data">{{ item.yongjiujibennongtian_area }}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.zhongdianquyu_area">
|
||||
<div class="item-mark-div adjust-mark">重</div>
|
||||
{{ item.zhongdianquyu_area }}
|
||||
<div class="item-mark-div focus-area">重</div>
|
||||
<div class="area-data">{{ item.zhongdianquyu_area }}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.guotukongjianguihua_area">
|
||||
<div class="item-mark-div guihua-mark">规</div>
|
||||
{{ item.guotukongjianguihua_area }}
|
||||
<div class="item-mark-div padding-mark">规</div>
|
||||
<div class="area-data">{{ item.guotukongjianguihua_area }}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.shengtaibaohuhongxian_area">
|
||||
<div class="item-mark-div shengtai-mark">生</div>
|
||||
{{ item.shengtaibaohuhongxian_area }}
|
||||
<div class="item-mark-div adjust-mark">生</div>
|
||||
<div class="area-data">{{ item.shengtaibaohuhongxian_area }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -175,6 +175,10 @@
|
|||
|
||||
const dataList = ref([]);
|
||||
const total = ref(0);
|
||||
function query() {
|
||||
params.value.page = 1;
|
||||
getTaskList();
|
||||
}
|
||||
async function getTaskList() {
|
||||
console.log(params.value);
|
||||
const data = await getLoadTaskDetailList(params.value);
|
||||
|
|
@ -260,7 +264,7 @@
|
|||
height: 60vh;
|
||||
.data-list-item {
|
||||
display: flex;
|
||||
height: 60px;
|
||||
height: 90px;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid #cdcccc;
|
||||
.select-mark {
|
||||
|
|
@ -275,12 +279,14 @@
|
|||
align-items: center;
|
||||
margin-bottom: 5px;
|
||||
.item-info-id {
|
||||
width: 178px;
|
||||
width: 185px;
|
||||
border-radius: 11px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
// justify-content: center;
|
||||
height: 22px;
|
||||
font-weight: 500;
|
||||
font-size: 15px;
|
||||
}
|
||||
.item-info-layout {
|
||||
padding-left: 15px;
|
||||
|
|
@ -306,11 +312,14 @@
|
|||
.item-data-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-radius: 6px 6px 0px 6px;
|
||||
border: 1px solid #dddddd;
|
||||
margin-right: 10px;
|
||||
.item-mark-div {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
color: #fff;
|
||||
border-radius: 6px;
|
||||
border-radius: 4px 4px 0px 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
|
@ -323,16 +332,19 @@
|
|||
background: #01692a;
|
||||
}
|
||||
.adjust-mark {
|
||||
background: #bf0000;
|
||||
background: #c06b1a;
|
||||
}
|
||||
.farmland-mark {
|
||||
background: #7d2bb1;
|
||||
}
|
||||
.guihua-mark {
|
||||
background: #c06b1a;
|
||||
.focus-area {
|
||||
background: rgb(225 91 91);
|
||||
}
|
||||
.shengtai-mark {
|
||||
background: #09b66d;
|
||||
.padding-mark {
|
||||
background: #36afa4;
|
||||
}
|
||||
.area-data {
|
||||
width: 55px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -345,7 +357,7 @@
|
|||
font-size: 20px;
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 50%;
|
||||
margin-left: 10px;
|
||||
margin-left: 20px;
|
||||
.collect-button:hover {
|
||||
color: rgb(255, 205, 42);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,6 +109,7 @@
|
|||
padding: 10px;
|
||||
justify-content: space-between;
|
||||
border-bottom: 1px solid #ececec;
|
||||
cursor: pointer;
|
||||
.name-div {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
|
|
|||
|
|
@ -1,117 +1,163 @@
|
|||
<template>
|
||||
<BasicModal v-bind="$attrs" @register="registerModal" title="飞地调整" @ok="handleSubmit">
|
||||
<BasicForm @register="registerForm" />
|
||||
<a-form
|
||||
ref="formRef"
|
||||
:model="formState"
|
||||
:rules="rules"
|
||||
:label-col="labelCol"
|
||||
:wrapper-col="wrapperCol"
|
||||
>
|
||||
<a-form-item ref="name" label="案件编号">
|
||||
<a-input v-model:value="formState.case_no" disabled />
|
||||
</a-form-item>
|
||||
<a-form-item ref="name" label="案件描述">
|
||||
<a-input v-model:value="formState.case_description" disabled />
|
||||
</a-form-item>
|
||||
<a-form-item label="县区" name="countyid">
|
||||
<a-select
|
||||
v-model:value="formState.countyid"
|
||||
placeholder="请选择"
|
||||
:options="data.countyOptions"
|
||||
@change="handleCountyChange"
|
||||
:field-names="{ label: 'name', value: 'id' }"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="乡镇" name="streetid">
|
||||
<a-select
|
||||
v-model:value="formState.streetid"
|
||||
:options="data.streetOptions"
|
||||
:field-names="{ label: 'name', value: 'id' }"
|
||||
@change="handleStreetChange"
|
||||
/>
|
||||
</a-form-item>
|
||||
<a-form-item label="村/社区" name="communityid">
|
||||
<a-select
|
||||
v-model:value="formState.communityid"
|
||||
:options="data.communityOptions"
|
||||
:field-names="{ label: 'name', value: 'id' }"
|
||||
@change="handleCommunityChange"
|
||||
/>
|
||||
</a-form-item>
|
||||
</a-form>
|
||||
</BasicModal>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { ref, computed, unref } from 'vue';
|
||||
import { ref, reactive, onMounted } from 'vue';
|
||||
import { BasicModal, useModalInner } from '@/components/Modal';
|
||||
import { BasicForm, useForm } from '@/components/Form';
|
||||
import { accountFormSchema } from './account.data';
|
||||
import { addAccount } from '@/api/demo/system';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
import md5 from 'js-md5';
|
||||
import { fun_getCaseInfo } from '@/api/demo/query';
|
||||
import { updateDroneCaseInfo, getCaseInfoById } from '@/api/bootstraps/index.ts';
|
||||
import { getChildrenTree } from '@/api/demo/system.ts';
|
||||
|
||||
const { createMessage } = useMessage();
|
||||
defineOptions({ name: 'AccountModal' });
|
||||
|
||||
const formRef = ref();
|
||||
const emit = defineEmits(['success', 'register']);
|
||||
|
||||
const isUpdate = ref(true);
|
||||
const rowId = ref('');
|
||||
|
||||
const [registerForm, { setFieldsValue, resetFields, validate }] = useForm({
|
||||
labelWidth: 100,
|
||||
baseColProps: { span: 24 },
|
||||
schemas: [
|
||||
{
|
||||
field: 'id',
|
||||
label: '县区',
|
||||
component: 'Input',
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
field: 'account',
|
||||
label: '乡镇',
|
||||
component: 'Input',
|
||||
// helpMessage: ['本字段演示异步验证', '不能输入带有admin的账号'],
|
||||
rules: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入账号',
|
||||
},
|
||||
// {
|
||||
// trigger: 'blur',
|
||||
// validator(_, value) {
|
||||
// return new Promise((resolve, reject) => {
|
||||
// if (!value) return resolve();
|
||||
// isAccountExist(value)
|
||||
// .then(resolve)
|
||||
// .catch((err) => {
|
||||
// reject(err.message || '验证失败');
|
||||
// });
|
||||
// });
|
||||
// },
|
||||
// },
|
||||
],
|
||||
},
|
||||
{
|
||||
field: 'name',
|
||||
label: '村/社区',
|
||||
component: 'Input',
|
||||
required: true,
|
||||
},
|
||||
],
|
||||
showActionButtonGroup: false,
|
||||
actionColOptions: {
|
||||
span: 23,
|
||||
},
|
||||
});
|
||||
const labelCol = { span: 4 };
|
||||
const wrapperCol = { span: 14 };
|
||||
const formState: any = ref({});
|
||||
const case_no = ref();
|
||||
const rules = ref({
|
||||
countyid: [{ required: true, message: '县区不能为空', trigger: 'blur' }],
|
||||
streetid: [{ required: true, message: '乡镇不能为空', trigger: 'blur' }],
|
||||
communityid: [{ required: true, message: '村/社区不能为空', trigger: 'blur' }],
|
||||
});
|
||||
const data = reactive({
|
||||
countyOptions: [],
|
||||
streetOptions: [],
|
||||
communityOptions: [],
|
||||
});
|
||||
|
||||
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
|
||||
resetFields();
|
||||
setModalProps({ confirmLoading: false });
|
||||
console.log(data);
|
||||
isUpdate.value = !!data?.isUpdate;
|
||||
case_no.value = data.record.id;
|
||||
getDetail();
|
||||
if (unref(isUpdate)) {
|
||||
rowId.value = data.record.id;
|
||||
setFieldsValue({
|
||||
...data.record,
|
||||
});
|
||||
}
|
||||
getParent();
|
||||
});
|
||||
async function getDetail() {
|
||||
const data = await fun_getCaseInfo({
|
||||
const data = await getCaseInfoById({
|
||||
id: case_no.value,
|
||||
});
|
||||
console.log(data);
|
||||
setFieldsValue({
|
||||
...data,
|
||||
formState.value = data;
|
||||
}
|
||||
async function handleCountyChange(value, option) {
|
||||
formState.value.countyid = value;
|
||||
formState.value.countyname = option.name;
|
||||
getOptions(value).then((res) => {
|
||||
data.streetOptions = res;
|
||||
});
|
||||
formState.value.streetid = '';
|
||||
formState.value.communityid = '';
|
||||
}
|
||||
async function handleStreetChange(value, option) {
|
||||
formState.value.streetid = value;
|
||||
formState.value.streetname = option.name;
|
||||
getOptions(value).then((res) => {
|
||||
data.communityOptions = res;
|
||||
});
|
||||
}
|
||||
async function handleCommunityChange(value, option) {
|
||||
formState.value.communityid = value;
|
||||
formState.value.communityname = option.name;
|
||||
}
|
||||
async function getOptions(value) {
|
||||
const data = await getChildrenTree({
|
||||
parentId: value,
|
||||
});
|
||||
data.forEach((item) => {
|
||||
item.id = item.id.toString();
|
||||
});
|
||||
return data;
|
||||
}
|
||||
async function getParent() {
|
||||
const list = await getChildrenTree({
|
||||
parentId: 0,
|
||||
});
|
||||
// 获取县级数据
|
||||
getOptions(list[0].id).then((res) => {
|
||||
data.countyOptions = res;
|
||||
});
|
||||
// 获取乡镇数据
|
||||
getOptions(formState.value.countyid).then((res) => {
|
||||
data.streetOptions = res;
|
||||
});
|
||||
// 获取村/社区数据
|
||||
getOptions(formState.value.streetid).then((res) => {
|
||||
data.communityOptions = res;
|
||||
});
|
||||
}
|
||||
|
||||
async function handleSubmit() {
|
||||
try {
|
||||
const values = await validate();
|
||||
setModalProps({ confirmLoading: true });
|
||||
if (values.password) {
|
||||
values.password = md5(values.password);
|
||||
}
|
||||
const data = await addAccount(values);
|
||||
console.log(data);
|
||||
if (data) {
|
||||
// TODO custom api
|
||||
closeModal();
|
||||
emit('success', { isUpdate: unref(isUpdate), values: { ...values, id: rowId.value } });
|
||||
return createMessage.success('成功');
|
||||
} else {
|
||||
return createMessage.error('失败');
|
||||
}
|
||||
formRef.value
|
||||
.validate()
|
||||
.then(async () => {
|
||||
var querys = {
|
||||
id: formState.value.id,
|
||||
countyid: formState.value.countyid,
|
||||
countyname: formState.value.countyname,
|
||||
streetid: formState.value.streetid,
|
||||
streetname: formState.value.streetname,
|
||||
communityid: formState.value.communityid,
|
||||
communityname: formState.value.communityname,
|
||||
};
|
||||
console.log(querys);
|
||||
const data = await updateDroneCaseInfo(querys);
|
||||
console.log(data);
|
||||
if (data) {
|
||||
closeModal();
|
||||
return createMessage.success(data);
|
||||
} else {
|
||||
return createMessage.error(data);
|
||||
}
|
||||
})
|
||||
.catch((error: ValidateErrorEntity<FormState>) => {
|
||||
console.log('error', error);
|
||||
});
|
||||
} finally {
|
||||
setModalProps({ confirmLoading: false });
|
||||
}
|
||||
}
|
||||
onMounted(() => {
|
||||
getParent();
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@
|
|||
@click="getCollectList"
|
||||
>我的收藏</a-button
|
||||
> -->
|
||||
<a-button @click="emits('getInfoList')">查询</a-button>
|
||||
<a-button @click="emits('getInfoList', 1)">查询</a-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="data-list-div">
|
||||
|
|
@ -167,36 +167,34 @@
|
|||
<a-tag color="processing" v-if="item.address">{{ item.address }}</a-tag>
|
||||
</div>
|
||||
<div class="item-info-batch">
|
||||
<a-tag color="success" v-if="item.case_description">{{
|
||||
item.case_description
|
||||
}}</a-tag>
|
||||
<a-tag color="success" v-if="item.case_name">{{ item.case_name }}</a-tag>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-data-div">
|
||||
<div class="item-data-item" v-if="item.area">
|
||||
<div class="item-mark-div sum-mark">总</div>
|
||||
{{ item.area }}
|
||||
<div class="area-data">{{ item.area }}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.gengdi_area">
|
||||
<div class="item-mark-div plowland-mark">耕</div>
|
||||
{{ item.gengdi_area }}
|
||||
<div class="area-data">{{ item.gengdi_area }}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.nongyongdi_area">
|
||||
<div class="item-data-item" v-if="item.yongjiujibennongtian_area">
|
||||
<div class="item-mark-div farmland-mark">农</div>
|
||||
{{ item.nongyongdi_area }}
|
||||
<div class="area-data">{{ item.yongjiujibennongtian_area }}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.zhongdianquyu_area">
|
||||
<div class="item-mark-div adjust-mark">重</div>
|
||||
{{ item.zhongdianquyu_area }}
|
||||
<div class="item-mark-div focus-area">重</div>
|
||||
<div class="area-data">{{ item.zhongdianquyu_area }}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.guotukongjianguihua_area">
|
||||
<div class="item-mark-div guihua-mark">规</div>
|
||||
{{ item.guotukongjianguihua_area }}
|
||||
<div class="item-mark-div padding-mark">规</div>
|
||||
<div class="area-data">{{ item.guotukongjianguihua_area }}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.shengtaibaohuhongxian_area">
|
||||
<div class="item-mark-div shengtai-mark">生</div>
|
||||
{{ item.shengtaibaohuhongxian_area }}
|
||||
<div class="item-mark-div adjust-mark">生</div>
|
||||
<div class="area-data">{{ item.shengtaibaohuhongxian_area }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -204,16 +202,13 @@
|
|||
<!-- <StarOutlined class="collect-button" /> -->
|
||||
<Icon
|
||||
title="飞地调整"
|
||||
style="font-size: 20px"
|
||||
style="font-size: 20px; cursor: pointer"
|
||||
icon="ant-design:send-outlined"
|
||||
@click="changeArea(item)"
|
||||
/>
|
||||
</div>
|
||||
<div class="button-div">
|
||||
<!-- <StarOutlined class="collect-button" /> -->
|
||||
<Icon
|
||||
title="详情"
|
||||
style="font-size: 20px; color: #0960bd"
|
||||
style="font-size: 20px; color: #0960bd; cursor: pointer"
|
||||
icon="bx:detail"
|
||||
@click="showInfo(item)"
|
||||
/>
|
||||
|
|
@ -415,9 +410,10 @@
|
|||
padding: 10px;
|
||||
background: @component-background;
|
||||
margin-top: 10px;
|
||||
height: 60vh;
|
||||
.data-list-item {
|
||||
display: flex;
|
||||
height: 60px;
|
||||
height: 90px;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid #cdcccc;
|
||||
.select-mark {
|
||||
|
|
@ -438,6 +434,8 @@
|
|||
align-items: center;
|
||||
// justify-content: center;
|
||||
height: 22px;
|
||||
font-weight: 500;
|
||||
font-size: 15px;
|
||||
}
|
||||
.item-info-layout {
|
||||
padding-left: 15px;
|
||||
|
|
@ -445,6 +443,12 @@
|
|||
flex: 1;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.item-info-address {
|
||||
// width: 120px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.item-info-batch {
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
|
|
@ -457,11 +461,14 @@
|
|||
.item-data-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-radius: 6px 6px 0px 6px;
|
||||
border: 1px solid #dddddd;
|
||||
margin-right: 10px;
|
||||
.item-mark-div {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
color: #fff;
|
||||
border-radius: 6px;
|
||||
border-radius: 4px 4px 0px 4px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
|
|
@ -475,30 +482,29 @@
|
|||
}
|
||||
.adjust-mark {
|
||||
background: #c06b1a;
|
||||
width: 40px;
|
||||
}
|
||||
.farmland-mark {
|
||||
background: #7d2bb1;
|
||||
}
|
||||
.guihua-mark {
|
||||
background: #c06b1a;
|
||||
.focus-area {
|
||||
background: rgb(225 91 91);
|
||||
}
|
||||
.shengtai-mark {
|
||||
background: #09b66d;
|
||||
.padding-mark {
|
||||
background: #36afa4;
|
||||
}
|
||||
.area-data {
|
||||
width: 55px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.button-div {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
font-size: 20px;
|
||||
border: 1px solid #d9d9d9;
|
||||
border-radius: 50%;
|
||||
margin-left: 10px;
|
||||
cursor: pointer;
|
||||
.collect-button:hover {
|
||||
color: rgb(255, 205, 42);
|
||||
}
|
||||
|
|
@ -506,7 +512,6 @@
|
|||
}
|
||||
}
|
||||
.pagination-div {
|
||||
height: 30px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: @component-background;
|
||||
|
|
|
|||
|
|
@ -147,7 +147,6 @@
|
|||
infoScreenData.value.countyId = item.areaid;
|
||||
municipalAreaOptions.value = [{ label: item.areaname, value: item.areaid }];
|
||||
getChildrenTree({ parentId: item.areaid }).then((res) => {
|
||||
console.log(res);
|
||||
res.forEach((cityItem) => {
|
||||
countiesAreaOptions.value.push({
|
||||
label: cityItem.name,
|
||||
|
|
@ -159,7 +158,6 @@
|
|||
} else {
|
||||
cityType.value = null;
|
||||
}
|
||||
console.log(item);
|
||||
};
|
||||
const getParams = () => {
|
||||
let result = {};
|
||||
|
|
@ -229,7 +227,10 @@
|
|||
center: [117.984425, 35.270654],
|
||||
});
|
||||
};
|
||||
const getInfoList = () => {
|
||||
const getInfoList = (val) => {
|
||||
if (val) {
|
||||
pageNo.value = 1;
|
||||
}
|
||||
getLoadDroneCaseInfoDetail(getParams()).then((res) => {
|
||||
total.value = res.total;
|
||||
infoDataList.value = res.items;
|
||||
|
|
@ -247,7 +248,6 @@
|
|||
};
|
||||
|
||||
function changeTask(val) {
|
||||
console.log(val);
|
||||
let getGeomPrams = {
|
||||
TableName: 'drone_shp_data ',
|
||||
FieldName: 'gid',
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
<a-descriptions-item label="案件编号">{{ case_no }}</a-descriptions-item>
|
||||
<a-descriptions-item label="案件名称">{{ case_name }}</a-descriptions-item>
|
||||
<a-descriptions-item label="案件描述">{{ case_description }}</a-descriptions-item>
|
||||
<a-descriptions-item label="图斑编号">{{ geomid }}</a-descriptions-item>
|
||||
<a-descriptions-item label="案件地址">{{ address }}</a-descriptions-item>
|
||||
<a-descriptions-item label="总面积">{{ area? area: '-' }} 亩</a-descriptions-item>
|
||||
<a-descriptions-item label="耕地面积">{{ gengdi_area? gengdi_area: '-' }} 亩</a-descriptions-item>
|
||||
|
|
@ -36,6 +37,7 @@ const {
|
|||
gengdi_area,
|
||||
guotukongjianguihua_area,
|
||||
id,
|
||||
geomid,
|
||||
nongyongdi_area,
|
||||
shengtaibaohuhongxian_area,
|
||||
yongjiujibennongtian_area,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,12 @@
|
|||
<template>
|
||||
<div class="content">
|
||||
<div class="rollback">
|
||||
<Icon
|
||||
style="font-size: 20px; cursor: pointer"
|
||||
icon="ant-design:arrow-left-outlined"
|
||||
@click="emits('closeShowInfo', false)"
|
||||
/>
|
||||
</div>
|
||||
<div class="screen-div">
|
||||
<div class="screen-item">
|
||||
<div class="screen-item-label">年份</div>
|
||||
|
|
@ -129,9 +136,11 @@
|
|||
<a-button type="primary" size="small" @click="dataListSort('gengdi_area')">
|
||||
{{`排序(耕地面积) ${props.infoScreenData.sort === 'gengdi_area'? orderMark(): '-'}`}}
|
||||
</a-button>
|
||||
<a-button type="primary" size="small">导出</a-button>
|
||||
<!-- <a-button type="primary" size="small">导出</a-button> -->
|
||||
<a-button type="primary" :style="openCollect && 'background: #bf0000;' " size="small" @click="getCollectList">我的收藏</a-button>
|
||||
<a-button size="small" @click="emits('getInfoList')">查询</a-button>
|
||||
<a-button size="small" @click="emits('resetScreenData')">重置</a-button>
|
||||
<!-- <div style="width: 30px;height: 100%"></div> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="data-list-div">
|
||||
|
|
@ -149,43 +158,41 @@
|
|||
</a-tag>
|
||||
</div>
|
||||
<div class="item-info-batch">
|
||||
<a-tag color="green" v-if="item.createtime">
|
||||
{{ item.createtime }}
|
||||
<a-tag color="green" v-if="item.case_name">
|
||||
{{ item.case_name }}
|
||||
</a-tag>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-data-div" style="margin-bottom: 4px;">
|
||||
<div class="item-data-item">
|
||||
<div class="item-mark-div sum-mark">总</div>
|
||||
<div class="area-data">{{ item.area? item.area: '-'}}</div>
|
||||
</div>
|
||||
<div class="item-data-item">
|
||||
<div class="item-mark-div plowland-mark">耕</div>
|
||||
<div class="area-data">{{ item.gengdi_area? item.gengdi_area: '-'}}</div>
|
||||
</div>
|
||||
<div class="item-data-item">
|
||||
<div class="item-mark-div farmland-mark">农</div>
|
||||
<div class="area-data">{{ item.yongjiujibennongtian_area? item.yongjiujibennongtian_area: '-'}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-data-div">
|
||||
<div class="item-data-item">
|
||||
<div class="item-data-item" v-if="item.area">
|
||||
<div class="item-mark-div sum-mark">总</div>
|
||||
<div class="area-data">{{ item.area}}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.gengdi_area">
|
||||
<div class="item-mark-div plowland-mark">耕</div>
|
||||
<div class="area-data">{{ item.gengdi_area}}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.yongjiujibennongtian_area">
|
||||
<div class="item-mark-div farmland-mark">农</div>
|
||||
<div class="area-data">{{ item.yongjiujibennongtian_area}}</div>
|
||||
</div>
|
||||
<div class="item-data-item" v-if="item.zhongdianquyu_area">
|
||||
<div class="item-mark-div focus-area">重</div>
|
||||
<div class="area-data">{{ item.zhongdianquyu_area? item.zhongdianquyu_area: '-'}}</div>
|
||||
<div class="area-data">{{ item.zhongdianquyu_area}}</div>
|
||||
</div>
|
||||
<div class="item-data-item">
|
||||
<div class="item-data-item" v-if="item.guotukongjianguihua_area">
|
||||
<div class="item-mark-div padding-mark">规</div>
|
||||
<div class="area-data">{{ item.guotukongjianguihua_area? item.guotukongjianguihua_area: '-'}}</div>
|
||||
<div class="area-data">{{ item.guotukongjianguihua_area}}</div>
|
||||
</div>
|
||||
<div class="item-data-item">
|
||||
<div class="item-data-item" v-if="item.shengtaibaohuhongxian_area">
|
||||
<div class="item-mark-div adjust-mark">生</div>
|
||||
<div class="area-data">{{ item.shengtaibaohuhongxian_area? item.shengtaibaohuhongxian_area: '-'}}</div>
|
||||
<div class="area-data">{{ item.shengtaibaohuhongxian_area}}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="button-div">
|
||||
<StarFilled v-if="item.Fid" style="color: rgb(255, 205, 42);cursor: pointer;" @click="cancelCollectItem(item)"/>
|
||||
<StarFilled v-if="item.Fid" style="color: #F20C00;cursor: pointer;" @click="cancelCollectItem(item)"/>
|
||||
<StarOutlined v-else class="collect-button" @click="collectItem(item)"/>
|
||||
<Icon style="font-size: 20px;cursor: pointer;" icon="bx:detail" @click="showInfo(item)"/>
|
||||
</div>
|
||||
|
|
@ -245,6 +252,7 @@ const emits = defineEmits([
|
|||
"changeTask",
|
||||
"infoDataListSort",
|
||||
"collectChange",
|
||||
"resetScreenData",
|
||||
])
|
||||
const props = defineProps([
|
||||
"infoScreenData",
|
||||
|
|
@ -333,6 +341,10 @@ const showInfo = (item) => {
|
|||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.rollback {
|
||||
background: #fff;
|
||||
padding: 10px;
|
||||
}
|
||||
.screen-div{
|
||||
padding: 10px;
|
||||
background: #e6ecfb;
|
||||
|
|
@ -353,8 +365,11 @@ const showInfo = (item) => {
|
|||
}
|
||||
.screen-button-div{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
// justify-content: space-between;
|
||||
width: 100%;
|
||||
button{
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
.data-list-div{
|
||||
|
|
@ -404,6 +419,7 @@ const showInfo = (item) => {
|
|||
.item-data-div{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-wrap: wrap;
|
||||
.item-data-item{
|
||||
display:flex;
|
||||
align-items: center;
|
||||
|
|
@ -451,6 +467,9 @@ const showInfo = (item) => {
|
|||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
font-size: 20px;
|
||||
.collect-button{
|
||||
color:#086DEC
|
||||
}
|
||||
.collect-button:hover{
|
||||
color: rgb(255, 205, 42)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@
|
|||
@closeShowInfo="changeShowInfo"
|
||||
@changeTask="changeTask"
|
||||
@collectChange="collectChange"
|
||||
@resetScreenData="resetScreenData"
|
||||
/>
|
||||
</a-spin>
|
||||
</div>
|
||||
|
|
@ -298,12 +299,25 @@ const infoDataListSort = (type, order) => {
|
|||
infoScreenData.value.order = 'desc'
|
||||
break
|
||||
}
|
||||
spinning.value = true
|
||||
getLoadDroneCaseInfoDetail(getParams()).then(res => {
|
||||
total.value = res.total
|
||||
infoDataList.value = res.items
|
||||
pageNo.value = 1
|
||||
}).finally(() => {
|
||||
spinning.value = false
|
||||
})
|
||||
}
|
||||
const resetScreenData = () => {
|
||||
infoScreenData.value.mapNo = ''
|
||||
infoScreenData.value.streetId = ''
|
||||
infoScreenData.value.mapType = ''
|
||||
infoScreenData.value.illegalType = ''
|
||||
infoScreenData.value.measure = ''
|
||||
infoScreenData.value.mapStatus = ''
|
||||
infoScreenData.value.markType = ''
|
||||
getInfoList()
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
|
|
|||
Loading…
Reference in New Issue