|
|
@@ -10,13 +10,12 @@ import {
|
|
|
} from "../dialog/basemap/leaflet/useLeaflet";
|
|
|
import mitt from "mitt";
|
|
|
import { defaultLayer } from "@/constant";
|
|
|
-import { tableTitleKey } from '../constant'
|
|
|
+import { tableTitleKey } from "../constant";
|
|
|
import { getPaperConfig, paperConfigs } from "../components/slide/actions";
|
|
|
import { getBaseItem } from "@/core/components/util";
|
|
|
import { getRealPixel } from "./views/tabulation/gen-tab";
|
|
|
import { ui18n } from "@/lang";
|
|
|
|
|
|
-
|
|
|
export const SCENE_TYPE = {
|
|
|
fuse: "fuse",
|
|
|
mesh: "mesh",
|
|
|
@@ -50,7 +49,7 @@ export const get = (url: string, params: Record<string, any>) => {
|
|
|
}
|
|
|
const l = `${resourceURLS[SCENE_TYPE.fuse]}${url}?${p.toString()}`;
|
|
|
return after(
|
|
|
- fetch(l, { method: "get", headers: window.platform.getHeaders() })
|
|
|
+ fetch(l, { method: "get", headers: window.platform.getHeaders() }),
|
|
|
);
|
|
|
};
|
|
|
|
|
|
@@ -64,7 +63,7 @@ export const post = (url: string, data: Record<string, any>) => {
|
|
|
},
|
|
|
method: "post",
|
|
|
body: JSON.stringify(data),
|
|
|
- })
|
|
|
+ }),
|
|
|
);
|
|
|
};
|
|
|
|
|
|
@@ -80,7 +79,7 @@ export const postFile = (url: string, data: Record<string, any>) => {
|
|
|
headers: window.platform.getHeaders(),
|
|
|
method: "post",
|
|
|
body: formData,
|
|
|
- })
|
|
|
+ }),
|
|
|
);
|
|
|
};
|
|
|
|
|
|
@@ -115,12 +114,12 @@ const after = async (fet: Promise<Response>) => {
|
|
|
if (response.status === 404) {
|
|
|
res = {
|
|
|
code: 404,
|
|
|
- message: ui18n.t('res.code.404'),
|
|
|
+ message: ui18n.t("res.code.404"),
|
|
|
};
|
|
|
} else {
|
|
|
res = {
|
|
|
code: 500,
|
|
|
- message: ui18n.t('res.code.500'),
|
|
|
+ message: ui18n.t("res.code.500"),
|
|
|
};
|
|
|
}
|
|
|
} else {
|
|
|
@@ -129,7 +128,7 @@ const after = async (fet: Promise<Response>) => {
|
|
|
} catch {
|
|
|
res = {
|
|
|
code: 500,
|
|
|
- message: ui18n.t('res.code.500'),
|
|
|
+ message: ui18n.t("res.code.500"),
|
|
|
};
|
|
|
}
|
|
|
}
|
|
|
@@ -141,7 +140,7 @@ const after = async (fet: Promise<Response>) => {
|
|
|
// }, 1000);
|
|
|
// }
|
|
|
// throw `${res.message},即将退出`;
|
|
|
- res.code = 8032
|
|
|
+ res.code = 8032;
|
|
|
}
|
|
|
|
|
|
if ([4008, 4010, 7012].includes(res.code)) {
|
|
|
@@ -152,7 +151,7 @@ const after = async (fet: Promise<Response>) => {
|
|
|
}
|
|
|
// 特殊code 不跳转
|
|
|
if ([8035].includes(res.code)) {
|
|
|
- throw ui18n.t('res.code.8035');
|
|
|
+ throw ui18n.t("res.code.8035");
|
|
|
}
|
|
|
|
|
|
if (res.code !== 0) {
|
|
|
@@ -188,7 +187,7 @@ export const getSceneList = (keyword: string) => {
|
|
|
id: item.id.toString(),
|
|
|
mapping: item.mapping || "",
|
|
|
token,
|
|
|
- } as Scene)
|
|
|
+ }) as Scene,
|
|
|
);
|
|
|
list.push(...current);
|
|
|
page++;
|
|
|
@@ -219,9 +218,9 @@ export const getOverviewData = genLoading(async (id: string) => {
|
|
|
};
|
|
|
}
|
|
|
const data = await get("fusion/caseOverview/info", { overviewId: id });
|
|
|
- const tabId = await getTabulationId(id)
|
|
|
+ const tabId = await getTabulationId(id);
|
|
|
if (tabId) {
|
|
|
- params.value.tabulationId = tabId;
|
|
|
+ params.value.tabulationId = tabId;
|
|
|
}
|
|
|
return {
|
|
|
...data,
|
|
|
@@ -249,7 +248,7 @@ export const saveOverviewData = genLoading(
|
|
|
paperKey?: string;
|
|
|
overviewId: string;
|
|
|
};
|
|
|
- }
|
|
|
+ },
|
|
|
) => {
|
|
|
const item = await post(`fusion/caseOverview/addOrUpdate`, {
|
|
|
...params.value,
|
|
|
@@ -269,7 +268,7 @@ export const saveOverviewData = genLoading(
|
|
|
},
|
|
|
});
|
|
|
return item.id;
|
|
|
- }
|
|
|
+ },
|
|
|
);
|
|
|
|
|
|
export const getTabulationId = async (id: string) => {
|
|
|
@@ -281,41 +280,47 @@ export const getTabulationId = async (id: string) => {
|
|
|
|
|
|
export const _getTabulationData = genLoading(async (id: string) => {
|
|
|
if (!id) {
|
|
|
- return {
|
|
|
- store: {
|
|
|
- layers: {
|
|
|
- default: {},
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ store: {
|
|
|
+ layers: {
|
|
|
+ default: {},
|
|
|
+ },
|
|
|
},
|
|
|
+ cover: null,
|
|
|
+ isAutoGen: true,
|
|
|
+ viewport: null,
|
|
|
+ paperKey: "a4",
|
|
|
},
|
|
|
- cover: null,
|
|
|
- isAutoGen: true,
|
|
|
- viewport: null,
|
|
|
- paperKey: "a4",
|
|
|
- };
|
|
|
+ true,
|
|
|
+ ];
|
|
|
}
|
|
|
const data = await get(`fusion/caseTabulation/info`, { tabulationId: id });
|
|
|
if (data.overviewId) {
|
|
|
params.value.overviewId = data.overviewId;
|
|
|
}
|
|
|
- return {
|
|
|
- ...data,
|
|
|
- store: JSON.parse(data.store) || {
|
|
|
- layers: {
|
|
|
- default: {},
|
|
|
+ return [
|
|
|
+ {
|
|
|
+ ...data,
|
|
|
+ store: JSON.parse(data.store) || {
|
|
|
+ layers: {
|
|
|
+ default: {},
|
|
|
+ },
|
|
|
},
|
|
|
+ viewport: JSON.parse(data.viewport),
|
|
|
+ cover: JSON.parse(data.cover),
|
|
|
+ isAutoGen: Number(data.isAutoGen),
|
|
|
+ paperKey: data.paperKey || "a4",
|
|
|
},
|
|
|
- viewport: JSON.parse(data.viewport),
|
|
|
- cover: JSON.parse(data.cover),
|
|
|
- isAutoGen: Number(data.isAutoGen),
|
|
|
- paperKey: data.paperKey || "a4",
|
|
|
- };
|
|
|
+ false,
|
|
|
+ ] as const;
|
|
|
});
|
|
|
|
|
|
export const getTabulationData = async (...args: any[]) => {
|
|
|
- const result = await _getTabulationData.apply(this, args as any);
|
|
|
+ const [result, initial] = await _getTabulationData.apply(this, args as any);
|
|
|
|
|
|
const temp = await getTableTemp();
|
|
|
- if (!result.title && temp.title) {
|
|
|
+ if (initial && !result.title && temp.title) {
|
|
|
result.title = temp.title;
|
|
|
}
|
|
|
if (!result.store) {
|
|
|
@@ -323,39 +328,41 @@ export const getTabulationData = async (...args: any[]) => {
|
|
|
...getEmptyStoreData(),
|
|
|
};
|
|
|
}
|
|
|
- if (result.title) {
|
|
|
- let texts = result.store.layers[defaultLayer].text;
|
|
|
- if (!texts) {
|
|
|
- texts = result.store.layers[defaultLayer].text = [];
|
|
|
- }
|
|
|
- let title = texts.find((title: any) => title.key === tableTitleKey);
|
|
|
- if (title) {
|
|
|
- title.content = result.title;
|
|
|
- } else {
|
|
|
- const { margin, size } = getPaperConfig(
|
|
|
- (paperConfigs as any)[result.paperKey].size,
|
|
|
- (paperConfigs as any)[result.paperKey].scale
|
|
|
- );
|
|
|
- const title = {
|
|
|
- ...getBaseItem(),
|
|
|
- content: result.title,
|
|
|
- width: getRealPixel(90, result.paperKey),
|
|
|
- heihgt: getRealPixel(14.4, result.paperKey),
|
|
|
- fontSize: getRealPixel(12, result.paperKey),
|
|
|
- key: tableTitleKey,
|
|
|
- align: "center",
|
|
|
- mat: [1, 0, 0, 1, 0, 0],
|
|
|
- };
|
|
|
- const pos = {
|
|
|
- x:
|
|
|
- (size.width - margin[3]) / 2 -
|
|
|
- getRealPixel(40, result.paperKey) +
|
|
|
- margin[3],
|
|
|
- y: getRealPixel(15, result.paperKey) + margin[0],
|
|
|
- };
|
|
|
- title.mat[4] = pos.x;
|
|
|
- title.mat[5] = pos.y;
|
|
|
- texts.push(title);
|
|
|
+ if (initial) {
|
|
|
+ if (result.title) {
|
|
|
+ let texts = result.store.layers[defaultLayer].text;
|
|
|
+ if (!texts) {
|
|
|
+ texts = result.store.layers[defaultLayer].text = [];
|
|
|
+ }
|
|
|
+ let title = texts.find((title: any) => title.key === tableTitleKey);
|
|
|
+ if (title) {
|
|
|
+ // title.content = result.title;
|
|
|
+ } else {
|
|
|
+ const { margin, size } = getPaperConfig(
|
|
|
+ (paperConfigs as any)[result.paperKey].size,
|
|
|
+ (paperConfigs as any)[result.paperKey].scale,
|
|
|
+ );
|
|
|
+ const title = {
|
|
|
+ ...getBaseItem(),
|
|
|
+ content: result.title,
|
|
|
+ width: getRealPixel(90, result.paperKey),
|
|
|
+ heihgt: getRealPixel(14.4, result.paperKey),
|
|
|
+ fontSize: getRealPixel(12, result.paperKey),
|
|
|
+ key: tableTitleKey,
|
|
|
+ align: "center",
|
|
|
+ mat: [1, 0, 0, 1, 0, 0],
|
|
|
+ };
|
|
|
+ const pos = {
|
|
|
+ x:
|
|
|
+ (size.width - margin[3]) / 2 -
|
|
|
+ getRealPixel(40, result.paperKey) +
|
|
|
+ margin[3],
|
|
|
+ y: getRealPixel(15, result.paperKey) + margin[0],
|
|
|
+ };
|
|
|
+ title.mat[4] = pos.x;
|
|
|
+ title.mat[5] = pos.y;
|
|
|
+ texts.push(title);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
|
@@ -371,7 +378,7 @@ export const _saveTabulationData = genLoading(
|
|
|
cover: TabCover | null;
|
|
|
paperKey?: string;
|
|
|
overviewId: string;
|
|
|
- }
|
|
|
+ },
|
|
|
) => {
|
|
|
const item = await post("fusion/caseTabulation/addOrUpdate", {
|
|
|
...params.value,
|
|
|
@@ -385,7 +392,7 @@ export const _saveTabulationData = genLoading(
|
|
|
overviewId: data.overviewId,
|
|
|
});
|
|
|
return item.id;
|
|
|
- }
|
|
|
+ },
|
|
|
);
|
|
|
|
|
|
export const saveTabulationData = (id: any, data: any) => {
|
|
|
@@ -431,11 +438,14 @@ export let getTableTemp = async () => {
|
|
|
|
|
|
if (!table!) {
|
|
|
table = {
|
|
|
- [ui18n.t('tableTemp.th1')]: "",
|
|
|
- [ui18n.t('tableTemp.th2')]: "",
|
|
|
- [ui18n.t('tableTemp.th3')]: "",
|
|
|
- [ui18n.t('tableTemp.th4')]: "",
|
|
|
- [ui18n.t('tableTemp.th5')]: formatDate(new Date(), ui18n.t('tableTemp.th5value'))
|
|
|
+ [ui18n.t("tableTemp.th1")]: "",
|
|
|
+ [ui18n.t("tableTemp.th2")]: "",
|
|
|
+ [ui18n.t("tableTemp.th3")]: "",
|
|
|
+ [ui18n.t("tableTemp.th4")]: "",
|
|
|
+ [ui18n.t("tableTemp.th5")]: formatDate(
|
|
|
+ new Date(),
|
|
|
+ ui18n.t("tableTemp.th5value"),
|
|
|
+ ),
|
|
|
};
|
|
|
|
|
|
if (window.platform.num) {
|
|
|
@@ -443,22 +453,25 @@ export let getTableTemp = async () => {
|
|
|
num: window.platform.num,
|
|
|
});
|
|
|
if (item) {
|
|
|
- table[ui18n.t('tableTemp.th1')] = item.crimeTimeBegin;
|
|
|
- table[ui18n.t('tableTemp.th2')] = item.caseLocation;
|
|
|
- table[ui18n.t('tableTemp.th3')] = item.orgName;
|
|
|
- table[ui18n.t('tableTemp.th4')] = item.investigatorName;
|
|
|
- table[ui18n.t('tableTemp.th5')] = formatDate(new Date(), ui18n.t('tableTemp.th5value'));
|
|
|
+ table[ui18n.t("tableTemp.th1")] = item.crimeTimeBegin;
|
|
|
+ table[ui18n.t("tableTemp.th2")] = item.caseLocation;
|
|
|
+ table[ui18n.t("tableTemp.th3")] = item.orgName;
|
|
|
+ table[ui18n.t("tableTemp.th4")] = item.investigatorName;
|
|
|
+ table[ui18n.t("tableTemp.th5")] = formatDate(
|
|
|
+ new Date(),
|
|
|
+ ui18n.t("tableTemp.th5value"),
|
|
|
+ );
|
|
|
if (!title) {
|
|
|
- title = ui18n.t('tableTemp.title', item);
|
|
|
+ title = ui18n.t("tableTemp.title", item);
|
|
|
}
|
|
|
return (tempCache = { table, title });
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
if (!title) {
|
|
|
- title = ui18n.t('tableTemp.title1');
|
|
|
+ title = ui18n.t("tableTemp.title1");
|
|
|
}
|
|
|
- return { table, title, tableTitle: ui18n.t('tableTemp.title2') };
|
|
|
+ return { table, title, tableTitle: ui18n.t("tableTemp.title2") };
|
|
|
};
|
|
|
|
|
|
export const getTileGroups = async () => {
|
|
|
@@ -478,10 +491,11 @@ export const getTileGroups = async () => {
|
|
|
};
|
|
|
|
|
|
export const searchAddress = async (keyword: string, mapId: number) => {
|
|
|
- const data = await post(`fusion/mapConfig/geocode`, {
|
|
|
- address: keyword,
|
|
|
- mapId,
|
|
|
- }) || [];
|
|
|
+ const data =
|
|
|
+ (await post(`fusion/mapConfig/geocode`, {
|
|
|
+ address: keyword,
|
|
|
+ mapId,
|
|
|
+ })) || [];
|
|
|
return data.map((item: any) => ({
|
|
|
...item,
|
|
|
latlng: latlngStrTransform(item.location.split(",").reverse().join(",")),
|