“违法用地”模块持续监管新需求
parent
864fd87ba0
commit
44817bebf7
|
|
@ -30,7 +30,10 @@ enum Api {
|
|||
// 判读-导出shp文件
|
||||
ExportapprovalCaseInfoShapefile = 'ExportapprovalCaseInfoShapefile',
|
||||
// 查询是否有复提条件
|
||||
IsReSubmit = '/api/DroneCaseInfoSingle/IsReSubmit'
|
||||
IsReSubmit = '/api/DroneCaseInfoSingle/IsReSubmit',
|
||||
LoadCaseInfoCXJG = '/api/DroneCaseInfoTask/LoadCaseInfoCXJG',
|
||||
ImportCaseInfoCXJGShpData = '/api/DroneCaseInfoTask/ImportCaseInfoCXJGShpData',
|
||||
DeleteCaseInfoCXJG = '/api/DroneCaseInfoTask/DeleteCaseInfoCXJG',
|
||||
}
|
||||
|
||||
const typeObj = {
|
||||
|
|
@ -149,9 +152,32 @@ export function ExportapprovalCaseInfoShapefile(type, params?){
|
|||
responseType: 'blob',
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function IsReSubmit(params: { originalcaseno: string, subjectkey: string }){
|
||||
return defHttp.get({
|
||||
url: Api.IsReSubmit,
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function loadCaseInfoCXJG(params: any){
|
||||
return defHttp.get({
|
||||
url: Api.LoadCaseInfoCXJG,
|
||||
params
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function importCaseInfoCXJGShpData(params: {zipFilePath: string, srid: string}){
|
||||
return defHttp.post({
|
||||
url: `${Api.ImportCaseInfoCXJGShpData}?zipFilePath=${params.zipFilePath}&srid=${params.srid}`,
|
||||
data: params,
|
||||
})
|
||||
}
|
||||
|
||||
export function deleteCaseInfoCXJG (id: string) {
|
||||
return defHttp.post({
|
||||
url: Api.DeleteCaseInfoCXJG+'?id='+id,
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,24 +50,27 @@ enum Api {
|
|||
// 获取用户访问机构权限
|
||||
GetUserOrgs = '/api/Check/GetOrgs',
|
||||
// 大屏下发线索统计
|
||||
IssuedStatitical = "/api/DroneScreenDisplay/CaseOffenceXiaFa",
|
||||
IssuedStatitical = '/api/DroneScreenDisplay/CaseOffenceXiaFa',
|
||||
// 大屏核实新增统计
|
||||
VerifyStatitical = "/api/DroneScreenDisplay/CaseOffenceCheckAdd",
|
||||
VerifyStatitical = '/api/DroneScreenDisplay/CaseOffenceCheckAdd',
|
||||
// 大屏整改剩余统计
|
||||
RectificationStatitical = "/api/DroneScreenDisplay/CaseOffenceModifyRemain",
|
||||
RectificationStatitical = '/api/DroneScreenDisplay/CaseOffenceModifyRemain',
|
||||
// 获取案件图片坐标、方位角信息
|
||||
LoadCaseImgList = "/api/DroneCaseInfoSingle/LoadCaseImgList",
|
||||
LoadCaseImgList = '/api/DroneCaseInfoSingle/LoadCaseImgList',
|
||||
// 获取范围内影像服务信息
|
||||
GetIntersects = "/api/GeoTiffManager/GetIntersects",
|
||||
GetIntersects = '/api/GeoTiffManager/GetIntersects',
|
||||
// 获取网络环境
|
||||
GetNetWorkEev = "/api/DroneCloudQuery/IsPublic",
|
||||
GetNetWorkEev = '/api/DroneCloudQuery/IsPublic',
|
||||
// 获取其他专题或历史线索图片
|
||||
rebackzhuantipic = "/api/DroneCaseInfoSingle/rebackzhuantipic",
|
||||
CopyImg = "/api/DroneCaseInfoSingle/CopyImg",
|
||||
rebackzhuantipic = '/api/DroneCaseInfoSingle/rebackzhuantipic',
|
||||
CopyImg = '/api/DroneCaseInfoSingle/CopyImg',
|
||||
// 获取其他专题或历史线索附件
|
||||
rebackzhuantifujian = "/api/DroneCaseInfoSingle/rebackzhuantifujian",
|
||||
Copyfujian = "/api/DroneCaseInfoSingle/Copyfujian",
|
||||
DroneCasePushToSdt="/api/DroneCaseInfoSingle/DroneCasePushToSdt",
|
||||
rebackzhuantifujian = '/api/DroneCaseInfoSingle/rebackzhuantifujian',
|
||||
Copyfujian = '/api/DroneCaseInfoSingle/Copyfujian',
|
||||
DroneCasePushToSdt = '/api/DroneCaseInfoSingle/DroneCasePushToSdt',
|
||||
// 查询图斑相交案件信息
|
||||
GetHistoryCase = '/api/DroneCaseInfoSingle/GetHistoryCase',
|
||||
GetHistoryCaseByCaseId = '/api/DroneCaseInfoSingle/GetHistoryCaseByCaseId',
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -135,23 +138,22 @@ export function getLoadTaskIllegalDetailList(params?: taskInfoParams) {
|
|||
return defHttp.get({ url: Api.LoadTaskIllegalDetailList, params });
|
||||
}
|
||||
|
||||
export function splitCase(params){
|
||||
export function splitCase(params) {
|
||||
return defHttp.post({ url: Api.SplitCase, data: params });
|
||||
}
|
||||
|
||||
export function recoverCase(params){
|
||||
export function recoverCase(params) {
|
||||
return defHttp.post({ url: Api.RecoverCase, data: params });
|
||||
}
|
||||
|
||||
export function getPolygonCenter(params){
|
||||
export function getPolygonCenter(params) {
|
||||
return defHttp.get({ url: Api.GetPolygonCenter, params });
|
||||
}
|
||||
|
||||
export function getUserOrgs(params){
|
||||
export function getUserOrgs(params) {
|
||||
return defHttp.get({ url: Api.GetUserOrgs, params });
|
||||
}
|
||||
|
||||
|
||||
export function getIssuedStatitical(params) {
|
||||
return defHttp.get({
|
||||
url: Api.IssuedStatitical,
|
||||
|
|
@ -173,49 +175,62 @@ export function getRectificationStatitical(params) {
|
|||
});
|
||||
}
|
||||
|
||||
export function getLoadCaseImgList(params){
|
||||
export function getLoadCaseImgList(params) {
|
||||
return defHttp.get({
|
||||
url: Api.LoadCaseImgList,
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function getIntersectTif(params){
|
||||
export function getIntersectTif(params) {
|
||||
return defHttp.get({ url: Api.GetIntersects, params });
|
||||
}
|
||||
|
||||
export function getNetworkType(){
|
||||
export function getNetworkType() {
|
||||
return defHttp.get({ url: Api.GetNetWorkEev });
|
||||
}
|
||||
export function rebackzhuantipic(params:{ zhuanti, CaseId }){
|
||||
export function rebackzhuantipic(params: { zhuanti; CaseId }) {
|
||||
return defHttp.get({
|
||||
url: Api.rebackzhuantipic,
|
||||
params
|
||||
params,
|
||||
});
|
||||
}
|
||||
export function CopyImg(params: { caseid, images}){
|
||||
export function CopyImg(params: { caseid; images }) {
|
||||
return defHttp.post({
|
||||
url: Api.CopyImg,
|
||||
data:params,
|
||||
data: params,
|
||||
});
|
||||
}
|
||||
export function rebackzhuantifujian(params:{ zhuanti, CaseId }){
|
||||
export function rebackzhuantifujian(params: { zhuanti; CaseId }) {
|
||||
return defHttp.get({
|
||||
url: Api.rebackzhuantifujian,
|
||||
params
|
||||
params,
|
||||
});
|
||||
}
|
||||
export function Copyfujian(params:string[]){
|
||||
export function Copyfujian(params: string[]) {
|
||||
return defHttp.post({
|
||||
url: Api.Copyfujian,
|
||||
data:params,
|
||||
data: params,
|
||||
});
|
||||
}
|
||||
|
||||
export function droneCasePushToSdt(params:any ){
|
||||
export function droneCasePushToSdt(params: any) {
|
||||
return defHttp.get({
|
||||
url: Api.DroneCasePushToSdt,
|
||||
params
|
||||
params,
|
||||
});
|
||||
}
|
||||
|
||||
export function getHistoryCase(params: string[]) {
|
||||
return defHttp.post({
|
||||
url: Api.GetHistoryCase,
|
||||
data: params,
|
||||
});
|
||||
}
|
||||
|
||||
export function getHistoryCaseByCaseId(params: string[]) {
|
||||
return defHttp.post({
|
||||
url: Api.GetHistoryCaseByCaseId + '?caseid=' + params.caseid,
|
||||
data: params,
|
||||
});
|
||||
}
|
||||
|
|
@ -297,9 +297,29 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="map-history">
|
||||
<div style="width: 50%; height: 300px; margin-bottom: 10px">
|
||||
<MapboxMap @mapOnLoad="onMapboxLoad" ref="MapboxComponent" />
|
||||
</div>
|
||||
<div class="history-list" v-if="props.infoData.reboundcase == true">
|
||||
<BasicTable class="w-4/4 xl:w-5/5" @register="registerTable">
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.key === 'action'">
|
||||
<TableAction
|
||||
:actions="[
|
||||
{
|
||||
label: '查看',
|
||||
onClick: () => {
|
||||
handleView(record);
|
||||
},
|
||||
},
|
||||
]"
|
||||
/>
|
||||
</template>
|
||||
</template>
|
||||
</BasicTable>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer">
|
||||
<div class="button-div">
|
||||
<a-button style="margin-right: 10px" @click="emits('closeModal')">关闭弹窗</a-button>
|
||||
|
|
@ -325,11 +345,31 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a-modal
|
||||
style="width: 100vw; top: 0px; left: 0px; margin: 0px; padding: 0px"
|
||||
wrap-class-name="full-modal"
|
||||
v-model:open="showInfoOpen"
|
||||
title="详情"
|
||||
:footer="null"
|
||||
:maskClosable="true"
|
||||
:destroyOnClose="true"
|
||||
@cancel="showInfoOpen = false"
|
||||
>
|
||||
<div class="modal-content">
|
||||
<NewShowInfoModal
|
||||
v-if="
|
||||
showInfoData.hasOwnProperty('biaozhu') && [0, 1, 2].includes(showInfoData['biaozhu'])
|
||||
"
|
||||
:showInfoData="showInfoData"
|
||||
/>
|
||||
<ShowInfoModal v-else :showInfoData="showInfoData" />
|
||||
</div>
|
||||
</a-modal>
|
||||
</a-spin>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { defineProps, ref, watch, onMounted, defineEmits, createVNode } from 'vue';
|
||||
import { defineProps, ref, watch, onMounted, defineEmits, createVNode, computed } from 'vue';
|
||||
import { PlusOutlined, CloseOutlined, ExclamationCircleOutlined } from '@ant-design/icons-vue';
|
||||
import { Upload, message, Modal } from 'ant-design-vue';
|
||||
import { uploadFile } from '@/api/formrender/index';
|
||||
|
|
@ -343,6 +383,11 @@
|
|||
import { tubanbiaoqian1Options, tubanbiaoqian2Options } from './util';
|
||||
import { IsReSubmit } from '@/api/audit/index';
|
||||
import { SubjectKeyObj } from '@/views/demo/audit/util';
|
||||
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
||||
import { getRoleListByPage, deleteRole } from '@/api/demo/system';
|
||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||
import NewShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/NewShowInfoModal/index.vue';
|
||||
import { getCaseInfoById, getHistoryCase } from '@/api/tiankongdi/index';
|
||||
|
||||
const props = defineProps(['infoData', 'control', 'type', 'modalLoading']);
|
||||
const emits = defineEmits(['handleOk', 'closeModal', 'closeCase', 'reSubmit', 'changeLoading']);
|
||||
|
|
@ -365,6 +410,55 @@
|
|||
const caseDescription = ref(['', '']);
|
||||
const { VITE_GLOB_INFO_IMAGE_URL, VITE_GLOB_GEOSERVER_PREFECTURE_CITY } = getAppEnvConfig();
|
||||
|
||||
const showInfoOpen = ref(false);
|
||||
const showInfoId = ref();
|
||||
const showInfoData = ref();
|
||||
const [registerTable, { reload, getSelectRows, setTableData }] = useTable({
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '线索编号',
|
||||
dataIndex: 'case_no',
|
||||
},
|
||||
{
|
||||
title: '县',
|
||||
dataIndex: 'countyname',
|
||||
},
|
||||
{
|
||||
title: '镇',
|
||||
dataIndex: 'streetname',
|
||||
},
|
||||
{
|
||||
title: '状态',
|
||||
dataIndex: 'handle_status_name',
|
||||
},
|
||||
],
|
||||
rowKey: 'Id',
|
||||
striped: false,
|
||||
rowSelection: {
|
||||
type: 'checkbox',
|
||||
},
|
||||
// 序号列
|
||||
showIndexColumn: false,
|
||||
bordered: true,
|
||||
pagination: false,
|
||||
actionColumn: {
|
||||
width: 100,
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
},
|
||||
});
|
||||
const handleView = (record) => {
|
||||
console.log('record', record);
|
||||
showInfoId.value = record.Id;
|
||||
getDetailData();
|
||||
};
|
||||
function getDetailData() {
|
||||
getCaseInfoById({ id: showInfoId.value }).then((res) => {
|
||||
showInfoData.value = res;
|
||||
showInfoOpen.value = true;
|
||||
});
|
||||
}
|
||||
onMounted(() => {
|
||||
if (props.type == '违法用地') {
|
||||
if (props.infoData.case_description) {
|
||||
|
|
@ -479,13 +573,19 @@
|
|||
originalcaseno: props.infoData.original_case_no,
|
||||
subjectkey: SubjectKeyObj[props.type],
|
||||
}).then((res) => {
|
||||
console.log(res);
|
||||
if (res) {
|
||||
let caseIds = [];
|
||||
if (props.type == '违法用地') {
|
||||
props.infoData.case_description = caseDescription.value.join('-');
|
||||
if(props.infoData.reboundcase == true && getSelectRows().length > 0){
|
||||
caseIds = getSelectRows().map((item) => item.Id);
|
||||
}
|
||||
}
|
||||
let params = {
|
||||
...props.infoData,
|
||||
subject: props.type,
|
||||
caseIds: caseIds,
|
||||
};
|
||||
emits('handleOk', params);
|
||||
} else {
|
||||
|
|
@ -569,6 +669,11 @@
|
|||
});
|
||||
}
|
||||
MapboxComponent.value.handlerDraw('Details', geoms, false);
|
||||
if(props.infoData.reboundcase == true){
|
||||
getHistoryCase(res.items).then((historyData) => {
|
||||
setTableData(historyData);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
geomsList.value = null;
|
||||
message.error('当前数据没有线索!');
|
||||
|
|
@ -668,4 +773,17 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
.map-history {
|
||||
display: flex;
|
||||
.history-list {
|
||||
width: 50%;
|
||||
height: 300px;
|
||||
}
|
||||
}
|
||||
::v-deep .ant-table-container {
|
||||
height: 280px;
|
||||
}
|
||||
::v-deep .ant-table-body {
|
||||
height: 220px !important;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -142,6 +142,7 @@ function handleAudit(record) {
|
|||
})
|
||||
}
|
||||
const handleOk = async (params) => {
|
||||
console.log('params',params)
|
||||
changeLoading(true)
|
||||
try {
|
||||
const { id, case_description } = infoData.value.info
|
||||
|
|
|
|||
|
|
@ -87,13 +87,35 @@
|
|||
>
|
||||
<div class="modal-content">
|
||||
<div class="handoff">
|
||||
<a-button type="primary" style="margin-right: 25px" @click="prevData">上一条</a-button>
|
||||
<a-button type="primary" @click="nextData">下一条</a-button>
|
||||
<a-button type="primary" @click="prevData">上一条</a-button>
|
||||
<a-button type="primary" @click="nextData" style="margin: 0 25px">下一条</a-button>
|
||||
<a-button type="primary" @click="historyView" v-if="showInfoData.reboundcase == true"
|
||||
>往期线索</a-button
|
||||
>
|
||||
</div>
|
||||
<NewShowInfoModal v-if="(showInfoData.hasOwnProperty('biaozhu') && [0, 1, 2].includes(showInfoData['biaozhu']))" :showInfoData="showInfoData" />
|
||||
<NewShowInfoModal
|
||||
v-if="
|
||||
showInfoData.hasOwnProperty('biaozhu') && [0, 1, 2].includes(showInfoData['biaozhu'])
|
||||
"
|
||||
:showInfoData="showInfoData"
|
||||
/>
|
||||
<ShowInfoModal v-else :showInfoData="showInfoData" />
|
||||
</div>
|
||||
</a-modal>
|
||||
<a-modal
|
||||
style="width: 100vw; top: 0px; left: 0px; margin: 0px; padding: 0px"
|
||||
wrap-class-name="full-modal"
|
||||
v-model:open="historyVisible"
|
||||
title="往期线索"
|
||||
:footer="null"
|
||||
:maskClosable="true"
|
||||
:destroyOnClose="true"
|
||||
@cancel="historyVisible = false"
|
||||
>
|
||||
<div class="modal-content">
|
||||
<HistoryListModel :historyData="historyData" />
|
||||
</div>
|
||||
</a-modal>
|
||||
</PageWrapper>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
|
|
@ -113,6 +135,7 @@
|
|||
import dayjs from 'dayjs';
|
||||
import { nowStatusOptions } from '@/utils/global';
|
||||
import { message } from 'ant-design-vue';
|
||||
import HistoryListModel from '@/views/demo/tiankongdi/curbspotcity/MapList/HistoryListModel/index.vue';
|
||||
|
||||
const { VITE_GLOB_API_URL } = getAppEnvConfig();
|
||||
|
||||
|
|
@ -139,7 +162,7 @@
|
|||
jibenArea2: null,
|
||||
nowStatus: undefined,
|
||||
});
|
||||
const newVersion = ref(dayjs('2025-07-28 23:59:59'))
|
||||
const newVersion = ref(dayjs('2025-07-28 23:59:59'));
|
||||
const tableData = ref([]);
|
||||
const tablePaginationRight = ref({
|
||||
current: 1,
|
||||
|
|
@ -151,6 +174,14 @@
|
|||
showQuickJumper: true,
|
||||
total: 0,
|
||||
});
|
||||
// 往期线索展示
|
||||
const historyVisible = ref(false);
|
||||
const historyData = ref([]);
|
||||
const historyView = () => {
|
||||
console.log('record', showInfoData);
|
||||
historyData.value = showInfoData.value;
|
||||
historyVisible.value = true;
|
||||
};
|
||||
const [registerForm, { validate, getFieldsValue }] = useForm({
|
||||
schemas: searchFormSchema,
|
||||
labelWidth: 100,
|
||||
|
|
@ -261,8 +292,8 @@
|
|||
querys.startTime = dayjs(querys.startTime).format('YYYY-MM-DD');
|
||||
querys.endTime = dayjs(querys.endTime).endOf('day').format('YYYY-MM-DD HH:mm:ss');
|
||||
}
|
||||
if(querys.tubanlaiyuan && typeof(querys.tubanlaiyuan) == 'object'){
|
||||
querys.tubanlaiyuan = querys.tubanlaiyuan.join(',')
|
||||
if (querys.tubanlaiyuan && typeof querys.tubanlaiyuan == 'object') {
|
||||
querys.tubanlaiyuan = querys.tubanlaiyuan.join(',');
|
||||
}
|
||||
setLoading(true);
|
||||
await loadCaseInfoTuBanList(querys).then((res) => {
|
||||
|
|
|
|||
|
|
@ -77,10 +77,17 @@
|
|||
>
|
||||
<div class="modal-content">
|
||||
<div class="handoff">
|
||||
<a-button type="primary" style="margin-right: 25px" @click="prevData">上一条</a-button>
|
||||
<a-button type="primary" @click="nextData">下一条</a-button>
|
||||
<a-button type="primary" @click="prevData">上一条</a-button>
|
||||
<a-button type="primary" @click="nextData" style="margin: 0 25px">下一条</a-button>
|
||||
<a-button type="primary" @click="historyView" v-if="showInfoData.reboundcase == true"
|
||||
>往期线索</a-button
|
||||
>
|
||||
</div>
|
||||
<NewShowInfoModal :showInfoData="showInfoData" :showInfoRecord="showInfoRecord" :isAuditList="true"/>
|
||||
<NewShowInfoModal
|
||||
:showInfoData="showInfoData"
|
||||
:showInfoRecord="showInfoRecord"
|
||||
:isAuditList="true"
|
||||
/>
|
||||
</div>
|
||||
</a-modal>
|
||||
<a-modal
|
||||
|
|
@ -97,6 +104,20 @@
|
|||
>
|
||||
<UploadModal :allTableData="allTableData" />
|
||||
</a-modal>
|
||||
<a-modal
|
||||
style="width: 100vw; top: 0px; left: 0px; margin: 0px; padding: 0px"
|
||||
wrap-class-name="full-modal"
|
||||
v-model:open="historyVisible"
|
||||
title="往期线索"
|
||||
:footer="null"
|
||||
:maskClosable="true"
|
||||
:destroyOnClose="true"
|
||||
@cancel="historyVisible = false"
|
||||
>
|
||||
<div class="modal-content">
|
||||
<HistoryListModel :historyData="historyData" />
|
||||
</div>
|
||||
</a-modal>
|
||||
</PageWrapper>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
|
|
@ -118,6 +139,7 @@
|
|||
import dayjs from 'dayjs';
|
||||
import { nowStatusOptions } from '@/utils/global';
|
||||
import { message } from 'ant-design-vue';
|
||||
import HistoryListModel from '@/views/demo/tiankongdi/curbspotcity/MapList/HistoryListModel/index.vue';
|
||||
|
||||
const { VITE_GLOB_API_URL } = getAppEnvConfig();
|
||||
|
||||
|
|
@ -157,6 +179,14 @@
|
|||
showQuickJumper: true,
|
||||
total: 0,
|
||||
});
|
||||
// 往期线索展示
|
||||
const historyVisible = ref(false);
|
||||
const historyData = ref([]);
|
||||
const historyView = () => {
|
||||
console.log('record', showInfoData);
|
||||
historyData.value = showInfoData.value;
|
||||
historyVisible.value = true;
|
||||
};
|
||||
const [registerForm, { validate, getFieldsValue }] = useForm({
|
||||
schemas: searchFormSchema,
|
||||
labelWidth: 100,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,104 @@
|
|||
<template>
|
||||
<div>
|
||||
<BasicTable class="w-4/4 xl:w-5/5" @register="registerTable">
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.key === 'action'">
|
||||
<TableAction
|
||||
:actions="[
|
||||
{
|
||||
label: '查看',
|
||||
onClick: () => {
|
||||
handleView(record);
|
||||
},
|
||||
},
|
||||
]"
|
||||
/>
|
||||
</template>
|
||||
</template>
|
||||
</BasicTable>
|
||||
<a-modal
|
||||
style="width: 100vw; top: 0px; left: 0px; margin: 0px; padding: 0px"
|
||||
wrap-class-name="full-modal"
|
||||
v-model:open="showInfoOpen"
|
||||
title="详情"
|
||||
:footer="null"
|
||||
:maskClosable="true"
|
||||
:destroyOnClose="true"
|
||||
@cancel="showInfoOpen = false"
|
||||
>
|
||||
<div class="modal-content">
|
||||
<NewShowInfoModal
|
||||
v-if="
|
||||
showInfoData.hasOwnProperty('biaozhu') && [0, 1, 2].includes(showInfoData['biaozhu'])
|
||||
"
|
||||
:showInfoData="showInfoData"
|
||||
/>
|
||||
<ShowInfoModal v-else :showInfoData="showInfoData" />
|
||||
</div>
|
||||
</a-modal>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { defineProps, ref, watch, onMounted, defineEmits, createVNode, computed } from 'vue';
|
||||
import ShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/ShowInfoModal/index.vue';
|
||||
import NewShowInfoModal from '@/views/demo/tiankongdi/curbspotcity/MapList/NewShowInfoModal/index.vue';
|
||||
import { getCaseInfoById } from '@/api/tiankongdi/index';
|
||||
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
||||
import { getRoleListByPage, deleteRole } from '@/api/demo/system';
|
||||
import { getHistoryCaseByCaseId } from '@/api/tiankongdi/index';
|
||||
|
||||
const props = defineProps(['historyData']);
|
||||
const showInfoOpen = ref(false);
|
||||
const showInfoId = ref();
|
||||
const showInfoData = ref();
|
||||
const [registerTable, { reload, getSelectRows, setTableData }] = useTable({
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '线索编号',
|
||||
dataIndex: 'case_no',
|
||||
},
|
||||
{
|
||||
title: '县',
|
||||
dataIndex: 'countyname',
|
||||
},
|
||||
{
|
||||
title: '镇',
|
||||
dataIndex: 'streetname',
|
||||
},
|
||||
{
|
||||
title: '状态',
|
||||
dataIndex: 'handle_status_name',
|
||||
},
|
||||
],
|
||||
rowKey: 'id',
|
||||
striped: false,
|
||||
// 序号列
|
||||
showIndexColumn: true,
|
||||
bordered: true,
|
||||
pagination: false,
|
||||
actionColumn: {
|
||||
width: 100,
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
},
|
||||
});
|
||||
const getList = () => {
|
||||
getHistoryCaseByCaseId({ caseid: props.historyData.id }).then((res) => {
|
||||
setTableData(res);
|
||||
});
|
||||
};
|
||||
const handleView = (record) => {
|
||||
showInfoId.value = record.Id;
|
||||
getDetailData();
|
||||
};
|
||||
function getDetailData() {
|
||||
getCaseInfoById({ id: showInfoId.value }).then((res) => {
|
||||
showInfoData.value = res;
|
||||
showInfoOpen.value = true;
|
||||
});
|
||||
}
|
||||
onMounted(() => {
|
||||
getList();
|
||||
});
|
||||
</script>
|
||||
|
|
@ -265,13 +265,18 @@
|
|||
<div class="handoff">
|
||||
<a-button
|
||||
type="primary"
|
||||
style="margin-right: 25px;"
|
||||
@click="prevData"
|
||||
>上一条</a-button>
|
||||
<a-button
|
||||
type="primary"
|
||||
@click="nextData"
|
||||
style="margin: 0 25px;"
|
||||
>下一条</a-button>
|
||||
<a-button
|
||||
type="primary"
|
||||
@click="historyView"
|
||||
v-if="showInfoData.reboundcase == true"
|
||||
>往期线索</a-button>
|
||||
</div>
|
||||
<Audit
|
||||
v-if="handoffShow"
|
||||
|
|
@ -284,6 +289,20 @@
|
|||
@closeModel="closeMolder"
|
||||
/>
|
||||
</a-modal>
|
||||
<a-modal
|
||||
style="width: 100vw; top: 0px; left: 0px; margin: 0px; padding: 0px"
|
||||
wrap-class-name="full-modal"
|
||||
v-model:open="historyVisible"
|
||||
title="往期线索"
|
||||
:footer="null"
|
||||
:maskClosable="true"
|
||||
:destroyOnClose="true"
|
||||
@cancel="historyVisible = false"
|
||||
>
|
||||
<div class="modal-content">
|
||||
<HistoryListModel :historyData="historyData" />
|
||||
</div>
|
||||
</a-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -311,6 +330,10 @@ import { getDetail } from '@/api/sys/WFSchemeInfo';
|
|||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||
import { dataProcessing, tubanlaiyuanOptions } from '@/views/demo/tiankongdi/util.ts'
|
||||
import {showDrawBack, drawBackSpan} from '@/views/demo/util'
|
||||
|
||||
import HistoryListModel from '@/views/demo/tiankongdi/curbspotcity/MapList/HistoryListModel/index.vue';
|
||||
|
||||
|
||||
const userStore = useUserStore()
|
||||
const flowWfDataStore = flowStore();
|
||||
const emits = defineEmits([
|
||||
|
|
@ -335,6 +358,7 @@ const props = defineProps([
|
|||
"total",
|
||||
"infoDataList"
|
||||
])
|
||||
console.log(props)
|
||||
const order = ref(0) // 0: 不排序 1: 升序 2: 降序
|
||||
const landType = ref(0)
|
||||
const orderMark = () => {
|
||||
|
|
@ -379,6 +403,14 @@ const showInfoData = ref()
|
|||
const streetsAreaOptions = ref([
|
||||
{ label: '全部', value: '' },
|
||||
])
|
||||
// 往期线索展示
|
||||
const historyVisible = ref(false)
|
||||
const historyData = ref([])
|
||||
const historyView = () => {
|
||||
console.log('record', showInfoData);
|
||||
historyData.value = showInfoData.value;
|
||||
historyVisible.value = true;
|
||||
};
|
||||
|
||||
onMounted(() => {
|
||||
getLoadStreet().then(res => {
|
||||
|
|
@ -467,6 +499,9 @@ const showInfo = (item) => {
|
|||
}
|
||||
async function goAudit(record) {
|
||||
showDataId.value = record.id
|
||||
getCaseInfoById({id:showDataId.value}).then(res => {
|
||||
showInfoData.value = res
|
||||
})
|
||||
let data = await getDetail({ code: record.processcode });
|
||||
let scheme = JSON.parse(data.scheme.content);
|
||||
let wfData = scheme.wfData;
|
||||
|
|
@ -513,6 +548,9 @@ const prevData = async () => {
|
|||
type.value = record.type;
|
||||
handoffShow.value = true
|
||||
auditData.value = record;
|
||||
getCaseInfoById({id:showDataId.value}).then(res => {
|
||||
showInfoData.value = res
|
||||
})
|
||||
}
|
||||
const nextData = async () => {
|
||||
if(nextShowDataId.value === 0){
|
||||
|
|
@ -550,6 +588,9 @@ const nextData = async () => {
|
|||
type.value = record.type;
|
||||
handoffShow.value = true
|
||||
auditData.value = record;
|
||||
getCaseInfoById({id:showDataId.value}).then(res => {
|
||||
showInfoData.value = res
|
||||
})
|
||||
}
|
||||
const closeMolder = () => {
|
||||
emits('getInfoList')
|
||||
|
|
|
|||
|
|
@ -207,13 +207,18 @@
|
|||
<div class="handoff">
|
||||
<a-button
|
||||
type="primary"
|
||||
style="margin-right: 25px;"
|
||||
@click="prevData"
|
||||
>上一条</a-button>
|
||||
<a-button
|
||||
type="primary"
|
||||
@click="nextData"
|
||||
style="margin: 0 25px;"
|
||||
>下一条</a-button>
|
||||
<a-button
|
||||
type="primary"
|
||||
@click="historyView"
|
||||
v-if="showInfoData.reboundcase == true"
|
||||
>往期线索</a-button>
|
||||
</div>
|
||||
<Audit
|
||||
v-if="handoffShow"
|
||||
|
|
@ -226,6 +231,20 @@
|
|||
@closeModel="closeMolder"
|
||||
/>
|
||||
</a-modal>
|
||||
<a-modal
|
||||
style="width: 100vw; top: 0px; left: 0px; margin: 0px; padding: 0px"
|
||||
wrap-class-name="full-modal"
|
||||
v-model:open="historyVisible"
|
||||
title="往期线索"
|
||||
:footer="null"
|
||||
:maskClosable="true"
|
||||
:destroyOnClose="true"
|
||||
@cancel="historyVisible = false"
|
||||
>
|
||||
<div class="modal-content">
|
||||
<HistoryListModel :historyData="historyData" />
|
||||
</div>
|
||||
</a-modal>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
|
@ -252,6 +271,9 @@ import { getDetail } from '@/api/sys/WFSchemeInfo';
|
|||
import { Audit } from '@/views/demo/workflow/task/process/page';
|
||||
import { dataProcessing, tubanlaiyuanOptions } from '@/views/demo/tiankongdi/util.ts'
|
||||
import {showDrawBack, drawBackSpan} from '@/views/demo/util'
|
||||
import HistoryListModel from '@/views/demo/tiankongdi/curbspotcity/MapList/HistoryListModel/index.vue';
|
||||
|
||||
|
||||
const userStore = useUserStore()
|
||||
const flowWfDataStore = flowStore();
|
||||
const emits = defineEmits([
|
||||
|
|
@ -318,7 +340,15 @@ const openCollect = computed(() => {
|
|||
const streetsAreaOptions = ref([
|
||||
{ label: '全部', value: '' },
|
||||
])
|
||||
|
||||
// 往期线索展示
|
||||
const historyVisible = ref(false)
|
||||
const historyData = ref([])
|
||||
const showInfoData = ref()
|
||||
const historyView = () => {
|
||||
console.log('record', showInfoData);
|
||||
historyData.value = showInfoData.value;
|
||||
historyVisible.value = true;
|
||||
};
|
||||
onMounted(() => {
|
||||
getLoadStreet().then(res => {
|
||||
console.log(res)
|
||||
|
|
@ -396,6 +426,9 @@ const dataListSort = (type) => {
|
|||
}
|
||||
async function goAudit(record) {
|
||||
showDataId.value = record.id
|
||||
getCaseInfoById({id:showDataId.value}).then(res => {
|
||||
showInfoData.value = res
|
||||
})
|
||||
let data = await getDetail({ code: record.processcode });
|
||||
let scheme = JSON.parse(data.scheme.content);
|
||||
let wfData = scheme.wfData;
|
||||
|
|
@ -442,6 +475,9 @@ const prevData = async () => {
|
|||
type.value = record.type;
|
||||
handoffShow.value = true
|
||||
auditData.value = record;
|
||||
getCaseInfoById({id:showDataId.value}).then(res => {
|
||||
showInfoData.value = res
|
||||
})
|
||||
}
|
||||
const nextData = async () => {
|
||||
if(nextShowDataId.value === 0){
|
||||
|
|
@ -479,6 +515,9 @@ const nextData = async () => {
|
|||
type.value = record.type;
|
||||
handoffShow.value = true
|
||||
auditData.value = record;
|
||||
getCaseInfoById({id:showDataId.value}).then(res => {
|
||||
showInfoData.value = res
|
||||
})
|
||||
}
|
||||
const closeMolder = () => {
|
||||
emits('getInfoList')
|
||||
|
|
|
|||
|
|
@ -0,0 +1,188 @@
|
|||
<template>
|
||||
<PageWrapper dense contentFullHeight fixedHeight contentClass="flex">
|
||||
<BasicTable class="w-4/4 xl:w-5/5" @register="registerTable">
|
||||
<template #toolbar>
|
||||
<!-- <a-button type="primary" @click="preview">预览</a-button> -->
|
||||
<!-- <a-button type="primary" @click="showProgress">导入进度查询</a-button> -->
|
||||
<!-- <a-button type="primary" @click="downloadTemplate">模板下载</a-button> -->
|
||||
<a-upload :accept="'.zip'" :showUploadList="false" :custom-request="customRequest">
|
||||
<a-button type="primary">导入</a-button>
|
||||
</a-upload>
|
||||
<a-button type="primary" @click="downloadSHP">SHP导出</a-button>
|
||||
</template>
|
||||
<template #bodyCell="{ column, record }">
|
||||
<template v-if="column.key === 'action'">
|
||||
<TableAction
|
||||
:actions="[
|
||||
{
|
||||
// icon: 'ant-design:ellipsis-outlined',
|
||||
label: '删除',
|
||||
onClick: deleteOperation.bind(null, record),
|
||||
},
|
||||
]"
|
||||
/>
|
||||
</template>
|
||||
</template>
|
||||
</BasicTable>
|
||||
</PageWrapper>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { ref, h } from 'vue';
|
||||
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
||||
import { PageWrapper } from '@/components/Page';
|
||||
import { uploadFile } from '@/api/formrender/index';
|
||||
import {
|
||||
loadCaseInfoCXJG,
|
||||
importCaseInfoCXJGShpData,
|
||||
deleteCaseInfoCXJG,
|
||||
} from '@/api/audit/index';
|
||||
import { getAppEnvConfig } from '@/utils/env';
|
||||
import { Tag } from 'ant-design-vue';
|
||||
import axios from 'axios';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
|
||||
const { VITE_GLOB_API_URL } = getAppEnvConfig();
|
||||
const { createConfirm, createMessage } = useMessage();
|
||||
|
||||
const picihao = ref();
|
||||
const columns = [
|
||||
{
|
||||
title: '线索编号',
|
||||
dataIndex: 'case_no',
|
||||
width: 200,
|
||||
},
|
||||
{
|
||||
title: '线索来源',
|
||||
dataIndex: 'tubanlaiyuan',
|
||||
},
|
||||
{
|
||||
title: '县',
|
||||
dataIndex: 'countyname',
|
||||
},
|
||||
{
|
||||
title: '镇',
|
||||
dataIndex: 'streetname',
|
||||
},
|
||||
{
|
||||
title: '村',
|
||||
dataIndex: 'communityname',
|
||||
},
|
||||
{
|
||||
title: '持续监管',
|
||||
dataIndex: 'chixujianguan',
|
||||
customRender: ({ record }) => {
|
||||
const { chixujianguan } = record;
|
||||
if (chixujianguan == 1) {
|
||||
return h(Tag, { color: 'green' }, () => '是');
|
||||
} else {
|
||||
return h(Tag, { color: 'yellow' }, () => '否');
|
||||
}
|
||||
return h(Tag, {}, () => chixujianguan);
|
||||
},
|
||||
},
|
||||
];
|
||||
const [registerTable, { reload, expandAll, getForm }] = useTable({
|
||||
title: '',
|
||||
api: loadCaseInfoCXJG,
|
||||
columns,
|
||||
rowKey: 'id',
|
||||
// 序号列
|
||||
showIndexColumn: false,
|
||||
// 使用搜索表单
|
||||
useSearchForm: true,
|
||||
// 显示表格设置工具
|
||||
showTableSetting: true,
|
||||
bordered: true,
|
||||
formConfig: {
|
||||
labelWidth: 120,
|
||||
schemas: [
|
||||
{
|
||||
field: 'caseno',
|
||||
label: '线索编号',
|
||||
component: 'Input',
|
||||
colProps: { span: 8 },
|
||||
},
|
||||
],
|
||||
},
|
||||
// 搜索
|
||||
handleSearchInfoFn(info) {
|
||||
return info;
|
||||
},
|
||||
actionColumn: {
|
||||
width: 80,
|
||||
title: '操作',
|
||||
dataIndex: 'action',
|
||||
// slots: { customRender: 'action' },
|
||||
fixed: undefined,
|
||||
},
|
||||
pagination: {
|
||||
defaultPageSize: 15,
|
||||
},
|
||||
});
|
||||
const customRequest = (file) => {
|
||||
console.log('handleCustomRequest', file);
|
||||
const formData = new FormData();
|
||||
formData.append('files', file.file);
|
||||
uploadFile(formData).then((res) => {
|
||||
importCaseInfoCXJGShpData({
|
||||
zipFilePath: res[0].filePath.replace(/\\/g, '/'),
|
||||
srid: '4326',
|
||||
}).then((resultRes) => {
|
||||
console.log('resultRes', resultRes);
|
||||
picihao.value = resultRes;
|
||||
reload();
|
||||
});
|
||||
});
|
||||
};
|
||||
const deleteOperation = (record) => {
|
||||
console.log('deleteOperation', record);
|
||||
createConfirm({
|
||||
iconType: 'info',
|
||||
title: '删除',
|
||||
content: '确定要删除当前线索吗',
|
||||
onOk: async () => {
|
||||
deleteCaseInfoCXJG(record.id).then((res) => {
|
||||
if (res) {
|
||||
createMessage.success('删除成功');
|
||||
reload();
|
||||
} else {
|
||||
createMessage.error('删除失败');
|
||||
}
|
||||
});
|
||||
},
|
||||
});
|
||||
};
|
||||
const downloadSHP = () => {
|
||||
axios({
|
||||
method: 'post',
|
||||
url: VITE_GLOB_API_URL + '/api/DroneCaseInfoSingle/ExportCaseInfoCXJGsqShapefile',
|
||||
headers: {
|
||||
'X-Token': localStorage.getItem('X-Token'),
|
||||
},
|
||||
responseType: 'blob',
|
||||
}).then((res) => {
|
||||
const elink = document.createElement('a');
|
||||
elink.download = '图斑分割矢量数据' + new Date().getTime() + '.zip';
|
||||
elink.style.display = 'none';
|
||||
elink.href = URL.createObjectURL(res.data);
|
||||
document.body.appendChild(elink);
|
||||
elink.click();
|
||||
URL.revokeObjectURL(elink.href);
|
||||
document.body.removeChild(elink);
|
||||
});
|
||||
};
|
||||
</script>
|
||||
<style lang="scss">
|
||||
.reSubmitInput {
|
||||
border: 1px solid;
|
||||
width: 100%;
|
||||
height: 35px;
|
||||
border-radius: 5px;
|
||||
padding: 0px 10px;
|
||||
border-color: #000;
|
||||
transition: 0.2s;
|
||||
&:focus {
|
||||
border-color: #6db8ff;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
@ -45,6 +45,7 @@ export default defineApplicationConfig({
|
|||
warmup: {
|
||||
clientFiles: ['./index.html', './src/{views,components}/*'],
|
||||
},
|
||||
port: 5173,
|
||||
},
|
||||
define: {
|
||||
'process.env': {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,69 @@
|
|||
// vite.config.ts
|
||||
import { defineApplicationConfig } from "file:///E:/%E6%96%B0%E6%9E%B6%E6%9E%84%E9%A1%B9%E7%9B%AE/%E8%B4%A2%E6%BA%90%E4%B8%80%E4%BD%93%E5%8C%96/main/CaiYuanYiTiHua/internal/vite-config/dist/index.mjs";
|
||||
var vite_config_default = defineApplicationConfig({
|
||||
overrides: {
|
||||
optimizeDeps: {
|
||||
include: [
|
||||
"echarts/core",
|
||||
"echarts/charts",
|
||||
"echarts/components",
|
||||
"echarts/renderers",
|
||||
"qrcode",
|
||||
"@iconify/iconify",
|
||||
"ant-design-vue/es/locale/zh_CN",
|
||||
"ant-design-vue/es/locale/en_US",
|
||||
"@/../lib/vform/designer.umd.js",
|
||||
"jquery"
|
||||
]
|
||||
},
|
||||
build: {
|
||||
/* 其他build生产打包配置省略 */
|
||||
//...
|
||||
target: "esnext",
|
||||
// chunkSizeWarningLimit:1500,
|
||||
commonjsOptions: {
|
||||
include: /node_modules|lib/
|
||||
//这里记得把lib目录加进来,否则生产打包会报错!!
|
||||
}
|
||||
},
|
||||
server: {
|
||||
proxy: {
|
||||
"/basic-api": {
|
||||
target: "http://localhost:3000",
|
||||
changeOrigin: true,
|
||||
ws: true,
|
||||
rewrite: (path) => path.replace(new RegExp(`^/basic-api`), "")
|
||||
// only https
|
||||
// secure: false
|
||||
},
|
||||
"/upload": {
|
||||
target: "http://localhost:3300/upload",
|
||||
changeOrigin: true,
|
||||
ws: true,
|
||||
rewrite: (path) => path.replace(new RegExp(`^/upload`), "")
|
||||
}
|
||||
},
|
||||
warmup: {
|
||||
clientFiles: ["./index.html", "./src/{views,components}/*"]
|
||||
},
|
||||
port: 5173
|
||||
},
|
||||
define: {
|
||||
"process.env": {
|
||||
BASE_URL: "/"
|
||||
}
|
||||
},
|
||||
css: {
|
||||
preprocessorOptions: {
|
||||
less: {
|
||||
javascriptEnabled: true
|
||||
}
|
||||
}
|
||||
},
|
||||
plugins: []
|
||||
}
|
||||
});
|
||||
export {
|
||||
vite_config_default as default
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJFOlxcXFxcdTY1QjBcdTY3QjZcdTY3ODRcdTk4NzlcdTc2RUVcXFxcXHU4RDIyXHU2RTkwXHU0RTAwXHU0RjUzXHU1MzE2XFxcXG1haW5cXFxcQ2FpWXVhbllpVGlIdWFcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkU6XFxcXFx1NjVCMFx1NjdCNlx1Njc4NFx1OTg3OVx1NzZFRVxcXFxcdThEMjJcdTZFOTBcdTRFMDBcdTRGNTNcdTUzMTZcXFxcbWFpblxcXFxDYWlZdWFuWWlUaUh1YVxcXFx2aXRlLmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vRTovJUU2JTk2JUIwJUU2JTlFJUI2JUU2JTlFJTg0JUU5JUExJUI5JUU3JTlCJUFFLyVFOCVCNCVBMiVFNiVCQSU5MCVFNCVCOCU4MCVFNCVCRCU5MyVFNSU4QyU5Ni9tYWluL0NhaVl1YW5ZaVRpSHVhL3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQXBwbGljYXRpb25Db25maWcgfSBmcm9tICdAdmJlbi92aXRlLWNvbmZpZyc7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZUFwcGxpY2F0aW9uQ29uZmlnKHtcbiAgb3ZlcnJpZGVzOiB7XG4gICAgb3B0aW1pemVEZXBzOiB7XG4gICAgICBpbmNsdWRlOiBbXG4gICAgICAgICdlY2hhcnRzL2NvcmUnLFxuICAgICAgICAnZWNoYXJ0cy9jaGFydHMnLFxuICAgICAgICAnZWNoYXJ0cy9jb21wb25lbnRzJyxcbiAgICAgICAgJ2VjaGFydHMvcmVuZGVyZXJzJyxcbiAgICAgICAgJ3FyY29kZScsXG4gICAgICAgICdAaWNvbmlmeS9pY29uaWZ5JyxcbiAgICAgICAgJ2FudC1kZXNpZ24tdnVlL2VzL2xvY2FsZS96aF9DTicsXG4gICAgICAgICdhbnQtZGVzaWduLXZ1ZS9lcy9sb2NhbGUvZW5fVVMnLFxuICAgICAgICAnQC8uLi9saWIvdmZvcm0vZGVzaWduZXIudW1kLmpzJyxcbiAgICAgICAgJ2pxdWVyeScsXG4gICAgICBdLFxuICAgIH0sXG4gICAgYnVpbGQ6IHtcbiAgICAgIC8qIFx1NTE3Nlx1NEVENmJ1aWxkXHU3NTFGXHU0RUE3XHU2MjUzXHU1MzA1XHU5MTREXHU3RjZFXHU3NzAxXHU3NTY1ICovXG4gICAgICAvLy4uLlxuICAgICAgdGFyZ2V0OiAnZXNuZXh0JyxcbiAgICAgIC8vIGNodW5rU2l6ZVdhcm5pbmdMaW1pdDoxNTAwLFxuICAgICAgY29tbW9uanNPcHRpb25zOiB7XG4gICAgICAgIGluY2x1ZGU6IC9ub2RlX21vZHVsZXN8bGliLywgLy9cdThGRDlcdTkxQ0NcdThCQjBcdTVGOTdcdTYyOEFsaWJcdTc2RUVcdTVGNTVcdTUyQTBcdThGREJcdTY3NjVcdUZGMENcdTU0MjZcdTUyMTlcdTc1MUZcdTRFQTdcdTYyNTNcdTUzMDVcdTRGMUFcdTYyQTVcdTk1MTlcdUZGMDFcdUZGMDFcbiAgICAgIH0sXG4gICAgfSxcbiAgICBzZXJ2ZXI6IHtcbiAgICAgIHByb3h5OiB7XG4gICAgICAgICcvYmFzaWMtYXBpJzoge1xuICAgICAgICAgIHRhcmdldDogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMCcsXG4gICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxuICAgICAgICAgIHdzOiB0cnVlLFxuICAgICAgICAgIHJld3JpdGU6IChwYXRoKSA9PiBwYXRoLnJlcGxhY2UobmV3IFJlZ0V4cChgXi9iYXNpYy1hcGlgKSwgJycpLFxuICAgICAgICAgIC8vIG9ubHkgaHR0cHNcbiAgICAgICAgICAvLyBzZWN1cmU6IGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgICcvdXBsb2FkJzoge1xuICAgICAgICAgIHRhcmdldDogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzMwMC91cGxvYWQnLFxuICAgICAgICAgIGNoYW5nZU9yaWdpbjogdHJ1ZSxcbiAgICAgICAgICB3czogdHJ1ZSxcbiAgICAgICAgICByZXdyaXRlOiAocGF0aCkgPT4gcGF0aC5yZXBsYWNlKG5ldyBSZWdFeHAoYF4vdXBsb2FkYCksICcnKSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICB3YXJtdXA6IHtcbiAgICAgICAgY2xpZW50RmlsZXM6IFsnLi9pbmRleC5odG1sJywgJy4vc3JjL3t2aWV3cyxjb21wb25lbnRzfS8qJ10sXG4gICAgICB9LFxuICAgICAgcG9ydDogNTE3MyxcbiAgICB9LFxuICAgIGRlZmluZToge1xuICAgICAgJ3Byb2Nlc3MuZW52Jzoge1xuICAgICAgICBCQVNFX1VSTDogJy8nLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNzczoge1xuICAgICAgcHJlcHJvY2Vzc29yT3B0aW9uczoge1xuICAgICAgICBsZXNzOiB7XG4gICAgICAgICAgamF2YXNjcmlwdEVuYWJsZWQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgcGx1Z2luczogW1xuICAgIF0sXG4gIH0sXG59KTtcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBa1gsU0FBUywrQkFBK0I7QUFFMVosSUFBTyxzQkFBUSx3QkFBd0I7QUFBQSxFQUNyQyxXQUFXO0FBQUEsSUFDVCxjQUFjO0FBQUEsTUFDWixTQUFTO0FBQUEsUUFDUDtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsSUFDQSxPQUFPO0FBQUE7QUFBQTtBQUFBLE1BR0wsUUFBUTtBQUFBO0FBQUEsTUFFUixpQkFBaUI7QUFBQSxRQUNmLFNBQVM7QUFBQTtBQUFBLE1BQ1g7QUFBQSxJQUNGO0FBQUEsSUFDQSxRQUFRO0FBQUEsTUFDTixPQUFPO0FBQUEsUUFDTCxjQUFjO0FBQUEsVUFDWixRQUFRO0FBQUEsVUFDUixjQUFjO0FBQUEsVUFDZCxJQUFJO0FBQUEsVUFDSixTQUFTLENBQUMsU0FBUyxLQUFLLFFBQVEsSUFBSSxPQUFPLGFBQWEsR0FBRyxFQUFFO0FBQUE7QUFBQTtBQUFBLFFBRy9EO0FBQUEsUUFDQSxXQUFXO0FBQUEsVUFDVCxRQUFRO0FBQUEsVUFDUixjQUFjO0FBQUEsVUFDZCxJQUFJO0FBQUEsVUFDSixTQUFTLENBQUMsU0FBUyxLQUFLLFFBQVEsSUFBSSxPQUFPLFVBQVUsR0FBRyxFQUFFO0FBQUEsUUFDNUQ7QUFBQSxNQUNGO0FBQUEsTUFDQSxRQUFRO0FBQUEsUUFDTixhQUFhLENBQUMsZ0JBQWdCLDRCQUE0QjtBQUFBLE1BQzVEO0FBQUEsTUFDQSxNQUFNO0FBQUEsSUFDUjtBQUFBLElBQ0EsUUFBUTtBQUFBLE1BQ04sZUFBZTtBQUFBLFFBQ2IsVUFBVTtBQUFBLE1BQ1o7QUFBQSxJQUNGO0FBQUEsSUFDQSxLQUFLO0FBQUEsTUFDSCxxQkFBcUI7QUFBQSxRQUNuQixNQUFNO0FBQUEsVUFDSixtQkFBbUI7QUFBQSxRQUNyQjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsSUFDQSxTQUFTLENBQ1Q7QUFBQSxFQUNGO0FBQ0YsQ0FBQzsiLAogICJuYW1lcyI6IFtdCn0K
|
||||
Loading…
Reference in New Issue