|
|
@@ -1,6 +1,6 @@
|
|
|
-import type { TabCover } from "./store";
|
|
|
+import { type TabCover } from "./store";
|
|
|
import type { Scene } from "../../example/platform/platform-resource";
|
|
|
-import type { StoreData } from "@/core/store/store";
|
|
|
+import { getEmptyStoreData, type StoreData } from "@/core/store/store";
|
|
|
import { token, params, urlUpdateQuery, urlGetQuery } from "../env";
|
|
|
import { genLoading } from "../loadding";
|
|
|
import { formatDate, tempStrFill } from "@/utils/shared";
|
|
|
@@ -9,6 +9,12 @@ import {
|
|
|
latlngStrTransform,
|
|
|
} from "../dialog/basemap/leaflet/useLeaflet";
|
|
|
import mitt from "mitt";
|
|
|
+import { defaultLayer } 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";
|
|
|
+
|
|
|
|
|
|
export const SCENE_TYPE = {
|
|
|
fuse: "fuse",
|
|
|
@@ -128,12 +134,13 @@ const after = async (fet: Promise<Response>) => {
|
|
|
}
|
|
|
|
|
|
if (res.code === 8034) {
|
|
|
- if (!import.meta.env.DEV) {
|
|
|
- setTimeout(() => {
|
|
|
- history.back();
|
|
|
- }, 1000);
|
|
|
- }
|
|
|
- throw `${res.message},即将退出`;
|
|
|
+ // if (!import.meta.env.DEV) {
|
|
|
+ // setTimeout(() => {
|
|
|
+ // history.back();
|
|
|
+ // }, 1000);
|
|
|
+ // }
|
|
|
+ // throw `${res.message},即将退出`;
|
|
|
+ res.code = 8032
|
|
|
}
|
|
|
|
|
|
if ([4008, 4010, 7012].includes(res.code)) {
|
|
|
@@ -144,7 +151,7 @@ const after = async (fet: Promise<Response>) => {
|
|
|
}
|
|
|
// 特殊code 不跳转
|
|
|
if ([8035].includes(res.code)) {
|
|
|
- throw '存储路径不可用,请前往设置/文件管理修改原始数据最新路径后重试。'
|
|
|
+ throw "存储路径不可用,请前往设置/文件管理修改原始数据最新路径后重试。";
|
|
|
}
|
|
|
|
|
|
if (res.code !== 0) {
|
|
|
@@ -178,7 +185,7 @@ export const getSceneList = (keyword: string) => {
|
|
|
m: item.num,
|
|
|
title: item.sceneName,
|
|
|
id: item.id.toString(),
|
|
|
- mapping: item.mapping || '',
|
|
|
+ mapping: item.mapping || "",
|
|
|
token,
|
|
|
} as Scene)
|
|
|
);
|
|
|
@@ -266,7 +273,7 @@ export const getTabulationId = async (id: string) => {
|
|
|
return list[0]?.id;
|
|
|
};
|
|
|
|
|
|
-export const getTabulationData = genLoading(async (id: string) => {
|
|
|
+export const _getTabulationData = genLoading(async (id: string) => {
|
|
|
if (!id) {
|
|
|
return {
|
|
|
store: {
|
|
|
@@ -295,7 +302,56 @@ export const getTabulationData = genLoading(async (id: string) => {
|
|
|
};
|
|
|
});
|
|
|
|
|
|
-export const saveTabulationData = genLoading(
|
|
|
+export const getTabulationData = async (...args: any[]) => {
|
|
|
+ const result = await _getTabulationData.apply(this, args as any);
|
|
|
+ const temp = await getTableTemp();
|
|
|
+ if (!result.title && temp.title) {
|
|
|
+ result.title = temp.title;
|
|
|
+ }
|
|
|
+ if (!result.store) {
|
|
|
+ result.store = {
|
|
|
+ ...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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+};
|
|
|
+
|
|
|
+export const _saveTabulationData = genLoading(
|
|
|
async (
|
|
|
id: string,
|
|
|
data: {
|
|
|
@@ -322,15 +378,21 @@ export const saveTabulationData = genLoading(
|
|
|
}
|
|
|
);
|
|
|
|
|
|
-export const uploadResourse = genLoading(
|
|
|
- async (file: File) => {
|
|
|
- try {
|
|
|
- return await postFile(`fusion/upload/file`, { file })
|
|
|
- } catch (e) {
|
|
|
- throw e
|
|
|
- }
|
|
|
+export const saveTabulationData = (id: any, data: any) => {
|
|
|
+ const texts = data.store.layers[defaultLayer].text;
|
|
|
+ let title = texts.find((title: any) => title.key === tableTitleKey);
|
|
|
+ let content = title ? title.content : "";
|
|
|
+
|
|
|
+ return _saveTabulationData(id, { ...data, title: content });
|
|
|
+};
|
|
|
+
|
|
|
+export const uploadResourse = genLoading(async (file: File) => {
|
|
|
+ try {
|
|
|
+ return await postFile(`fusion/upload/file`, { file });
|
|
|
+ } catch (e) {
|
|
|
+ throw e;
|
|
|
}
|
|
|
-);
|
|
|
+});
|
|
|
|
|
|
export const getResource = (url: string) => {
|
|
|
return url;
|
|
|
@@ -409,7 +471,7 @@ export const searchAddress = async (keyword: string, mapId: number) => {
|
|
|
const data = await post(`fusion/mapConfig/geocode`, {
|
|
|
address: keyword,
|
|
|
mapId,
|
|
|
- });
|
|
|
+ }) || [];
|
|
|
return data.map((item: any) => ({
|
|
|
...item,
|
|
|
latlng: latlngStrTransform(item.location.split(",").reverse().join(",")),
|