徐景良 2024-07-04 13:32:14 +08:00
commit ad34895947
13 changed files with 307 additions and 182 deletions

View File

@ -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 });

View File

@ -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;
}

View File

@ -33,7 +33,7 @@
<MenuItem
key="logout"
:text="t('layout.header.dropdownItemLoginOut')"
icon="ion:power-outline"
icon="ant-design:retweet-outlined"
/>
</Menu>
</template>

View File

@ -6,7 +6,7 @@
"header": {
"dropdownChangeApi": "Change Api",
"dropdownItemDoc": "Document",
"dropdownItemLoginOut": "Log Out",
"dropdownItemLoginOut": "Switched Systems",
"tooltipErrorLog": "Error log",
"tooltipLock": "Lock screen",
"tooltipNotify": "Notification",

View File

@ -6,7 +6,7 @@
"header": {
"dropdownChangeApi": "切换API",
"dropdownItemDoc": "文档",
"dropdownItemLoginOut": "退出系统",
"dropdownItemLoginOut": "切换系统",
"tooltipErrorLog": "错误日志",
"tooltipLock": "锁定屏幕",
"tooltipNotify": "消息通知",

View File

@ -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);
}

View File

@ -109,6 +109,7 @@
padding: 10px;
justify-content: space-between;
border-bottom: 1px solid #ececec;
cursor: pointer;
.name-div {
display: flex;
align-items: center;

View File

@ -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>

View File

@ -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;

View File

@ -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',

View File

@ -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,

View File

@ -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)
}

View File

@ -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>