Commit c44c2783c1838264d2a269867d1877c3879eb08a

Authored by fengwotao
1 parent 90d58d1a

feat:大屏新增保存缩略图

... ... @@ -76,6 +76,16 @@ export const getDataViewList = (params: object) => {
76 76 params
77 77 })
78 78 }
  79 +/**
  80 + * @description: 大屏内容 保存 api
  81 + */
  82 +
  83 +export const saveDataViewList = (data: object) => {
  84 + return defHttp.put({
  85 + url: `${Api.DATA_VIEW}`,
  86 + data
  87 + })
  88 +}
79 89
80 90 /**
81 91 * @description: file Upload
... ...
... ... @@ -29,6 +29,11 @@ export enum PageEnum {
29 29 RELOAD = '/reload',
30 30 RELOAD_NAME = 'Reload',
31 31
  32 + // THINGS_KIT
  33 + // 未发布
  34 + REDIRECT_UN_PUBLISH = '/redirect/unPublish',
  35 + REDIRECT_UN_PUBLISH_NAME = 'redirect-un-publish',
  36 +
32 37
33 38 // 首页
34 39 BASE_HOME = '/project',
... ...
1   -import {CreateComponentType, CreateComponentGroupType, FilterEnum} from '@/packages/index.d'
2   -import {HistoryActionTypeEnum} from '@/store/modules/chartHistoryStore/chartHistoryStore.d'
  1 +import { CreateComponentType, CreateComponentGroupType, FilterEnum } from '@/packages/index.d'
  2 +import { HistoryActionTypeEnum } from '@/store/modules/chartHistoryStore/chartHistoryStore.d'
3 3 import { SyncEnum } from '@/enums/editPageEnum'
4 4 import {
5   - RequestHttpEnum,
6   - RequestContentTypeEnum,
7   - RequestDataTypeEnum,
8   - RequestHttpIntervalEnum,
9   - RequestParams,
10   - RequestBodyEnum,
11   - RequestParamsObjType
  5 + RequestHttpEnum,
  6 + RequestContentTypeEnum,
  7 + RequestDataTypeEnum,
  8 + RequestHttpIntervalEnum,
  9 + RequestParams,
  10 + RequestBodyEnum,
  11 + RequestParamsObjType
12 12 } from '@/enums/httpEnum'
13   -import {PreviewScaleEnum} from '@/enums/styleEnum'
14   -import type {ChartColorsNameType, GlobalThemeJsonType} from '@/settings/chartThemes/index'
  13 +import { PreviewScaleEnum } from '@/enums/styleEnum'
  14 +import type { ChartColorsNameType, GlobalThemeJsonType } from '@/settings/chartThemes/index'
15 15
  16 +// THINGS_KIT
16 17 // 项目数据枚举
17 18 export enum ProjectInfoEnum {
18   - // ID
19   - PROJECT_ID = "projectId",
20   - // 名称
21   - PROJECT_NAME = 'projectName',
22   - // 描述
23   - REMARKS = 'remarks',
24   - // 缩略图
25   - THUMBNAIL = 'thumbnail',
26   - // 是否公开发布
27   - RELEASE = 'release'
28   -}
29   -
  19 + // ID
  20 + PROJECT_ID = 'projectId',
  21 + // 名称
  22 + PROJECT_NAME = 'projectName',
  23 + // 描述
  24 + REMARKS = 'remarks',
  25 + // 缩略图
  26 + THUMBNAIL = 'thumbnail',
  27 + // 是否公开发布
  28 + RELEASE = 'release',
  29 + // organizationId
  30 + ORGANIZATIONID = 'organizationId',
  31 + //保存给服务端的state
  32 + STATE_DATA = 'state',
  33 +}
  34 +// THINGS_KIT
30 35 // 项目数据
31 36 export type ProjectInfoType = {
32   - [ProjectInfoEnum.PROJECT_ID]: string,
33   - [ProjectInfoEnum.PROJECT_NAME]: string,
34   - [ProjectInfoEnum.REMARKS]: string,
35   - [ProjectInfoEnum.THUMBNAIL]: string,
36   - [ProjectInfoEnum.RELEASE]: boolean
  37 + [ProjectInfoEnum.PROJECT_ID]: string
  38 + [ProjectInfoEnum.PROJECT_NAME]: string
  39 + [ProjectInfoEnum.REMARKS]: string
  40 + [ProjectInfoEnum.THUMBNAIL]: string
  41 + [ProjectInfoEnum.RELEASE]: boolean
  42 + [ProjectInfoEnum.RELEASE]: boolean
  43 + [ProjectInfoEnum.ORGANIZATIONID]: string
  44 + [ProjectInfoEnum.STATE_DATA]: number
37 45 }
38 46
39 47 // 编辑画布属性
40 48 export enum EditCanvasTypeEnum {
41   - EDIT_LAYOUT_DOM = 'editLayoutDom',
42   - EDIT_CONTENT_DOM = 'editContentDom',
43   - OFFSET = 'offset',
44   - SCALE = 'scale',
45   - USER_SCALE = 'userScale',
46   - LOCK_SCALE = 'lockScale',
47   - SAVE_STATUS = 'saveStatus',
  49 + EDIT_LAYOUT_DOM = 'editLayoutDom',
  50 + EDIT_CONTENT_DOM = 'editContentDom',
  51 + OFFSET = 'offset',
  52 + SCALE = 'scale',
  53 + USER_SCALE = 'userScale',
  54 + LOCK_SCALE = 'lockScale',
  55 + SAVE_STATUS = 'saveStatus',
48 56
49   - IS_CREATE = 'isCreate',
50   - IS_DRAG = 'isDrag',
51   - IS_SELECT = 'isSelect'
  57 + IS_CREATE = 'isCreate',
  58 + IS_DRAG = 'isDrag',
  59 + IS_SELECT = 'isSelect'
52 60 }
53 61
54 62 // 编辑区域
55 63 export type EditCanvasType = {
56   - // 编辑区域 DOM
57   - [EditCanvasTypeEnum.EDIT_LAYOUT_DOM]: HTMLElement | null
58   - [EditCanvasTypeEnum.EDIT_CONTENT_DOM]: HTMLElement | null
59   - // 偏移大小
60   - [EditCanvasTypeEnum.OFFSET]: number
61   - // 缩放
62   - [EditCanvasTypeEnum.SCALE]: number
63   - // 缩放
64   - [EditCanvasTypeEnum.USER_SCALE]: number
65   - // 锁定缩放
66   - [EditCanvasTypeEnum.LOCK_SCALE]: boolean
67   - // 初始化创建
68   - [EditCanvasTypeEnum.IS_CREATE]: boolean
69   - // 保存状态
70   - [EditCanvasTypeEnum.SAVE_STATUS]: SyncEnum
71   - // 拖拽中
72   - [EditCanvasTypeEnum.IS_DRAG]: boolean
73   - // 框选中
74   - [EditCanvasTypeEnum.IS_SELECT]: boolean
  64 + // 编辑区域 DOM
  65 + [EditCanvasTypeEnum.EDIT_LAYOUT_DOM]: HTMLElement | null
  66 + [EditCanvasTypeEnum.EDIT_CONTENT_DOM]: HTMLElement | null
  67 + // 偏移大小
  68 + [EditCanvasTypeEnum.OFFSET]: number
  69 + // 缩放
  70 + [EditCanvasTypeEnum.SCALE]: number
  71 + // 缩放
  72 + [EditCanvasTypeEnum.USER_SCALE]: number
  73 + // 锁定缩放
  74 + [EditCanvasTypeEnum.LOCK_SCALE]: boolean
  75 + // 初始化创建
  76 + [EditCanvasTypeEnum.IS_CREATE]: boolean
  77 + // 保存状态
  78 + [EditCanvasTypeEnum.SAVE_STATUS]: SyncEnum
  79 + // 拖拽中
  80 + [EditCanvasTypeEnum.IS_DRAG]: boolean
  81 + // 框选中
  82 + [EditCanvasTypeEnum.IS_SELECT]: boolean
75 83 }
76 84
77 85 // 滤镜/背景色/宽高主题等
78 86 export enum EditCanvasConfigEnum {
79   - PROJECT_NAME = 'projectName',
80   - WIDTH = 'width',
81   - HEIGHT = 'height',
82   - CHART_THEME_COLOR = 'chartThemeColor',
83   - CHART_THEME_SETTING = 'chartThemeSetting',
84   - BACKGROUND = 'background',
85   - BACKGROUND_IMAGE = 'backgroundImage',
86   - SELECT_COLOR = 'selectColor',
87   - PREVIEW_SCALE_TYPE = 'previewScaleType'
  87 + PROJECT_NAME = 'projectName',
  88 + WIDTH = 'width',
  89 + HEIGHT = 'height',
  90 + CHART_THEME_COLOR = 'chartThemeColor',
  91 + CHART_THEME_SETTING = 'chartThemeSetting',
  92 + BACKGROUND = 'background',
  93 + BACKGROUND_IMAGE = 'backgroundImage',
  94 + SELECT_COLOR = 'selectColor',
  95 + PREVIEW_SCALE_TYPE = 'previewScaleType'
88 96 }
89 97
90 98 export interface EditCanvasConfigType {
91   - // 滤镜-启用
92   - [FilterEnum.FILTERS_SHOW]: boolean
93   - // 滤镜-色相
94   - [FilterEnum.HUE_ROTATE]: number
95   - // 滤镜-饱和度
96   - [FilterEnum.SATURATE]: number
97   - // 滤镜-亮度
98   - [FilterEnum.BRIGHTNESS]: number
99   - // 滤镜-对比度
100   - [FilterEnum.CONTRAST]: number
101   - // 滤镜-不透明度
102   - [FilterEnum.OPACITY]: number
103   - // 变换(暂不使用)
104   - [FilterEnum.ROTATE_Z]: number
105   - [FilterEnum.ROTATE_X]: number
106   - [FilterEnum.ROTATE_Y]: number
107   - [FilterEnum.SKEW_X]: number
108   - [FilterEnum.SKEW_Y]: number
109   - [FilterEnum.BLEND_MODE]: string
110   - // 大屏名称
111   - [EditCanvasConfigEnum.PROJECT_NAME]?: string
112   - // 大屏宽度
113   - [EditCanvasConfigEnum.WIDTH]: number
114   - // 大屏高度
115   - [EditCanvasConfigEnum.HEIGHT]: number
116   - // 背景色
117   - [EditCanvasConfigEnum.BACKGROUND]?: string
118   - [EditCanvasConfigEnum.BACKGROUND_IMAGE]?: string | null
119   - // 图表主题颜色
120   - [EditCanvasConfigEnum.CHART_THEME_COLOR]: ChartColorsNameType
121   - // 图表全局配置
122   - [EditCanvasConfigEnum.CHART_THEME_SETTING]: GlobalThemeJsonType
123   - // 图表主题颜色
124   - [EditCanvasConfigEnum.SELECT_COLOR]: boolean
125   - // 预览展示方式
126   - [EditCanvasConfigEnum.PREVIEW_SCALE_TYPE]: PreviewScaleEnum
  99 + // 滤镜-启用
  100 + [FilterEnum.FILTERS_SHOW]: boolean
  101 + // 滤镜-色相
  102 + [FilterEnum.HUE_ROTATE]: number
  103 + // 滤镜-饱和度
  104 + [FilterEnum.SATURATE]: number
  105 + // 滤镜-亮度
  106 + [FilterEnum.BRIGHTNESS]: number
  107 + // 滤镜-对比度
  108 + [FilterEnum.CONTRAST]: number
  109 + // 滤镜-不透明度
  110 + [FilterEnum.OPACITY]: number
  111 + // 变换(暂不使用)
  112 + [FilterEnum.ROTATE_Z]: number
  113 + [FilterEnum.ROTATE_X]: number
  114 + [FilterEnum.ROTATE_Y]: number
  115 + [FilterEnum.SKEW_X]: number
  116 + [FilterEnum.SKEW_Y]: number
  117 + [FilterEnum.BLEND_MODE]: string
  118 + // 大屏名称
  119 + [EditCanvasConfigEnum.PROJECT_NAME]?: string
  120 + // 大屏宽度
  121 + [EditCanvasConfigEnum.WIDTH]: number
  122 + // 大屏高度
  123 + [EditCanvasConfigEnum.HEIGHT]: number
  124 + // 背景色
  125 + [EditCanvasConfigEnum.BACKGROUND]?: string
  126 + [EditCanvasConfigEnum.BACKGROUND_IMAGE]?: string | null
  127 + // 图表主题颜色
  128 + [EditCanvasConfigEnum.CHART_THEME_COLOR]: ChartColorsNameType
  129 + // 图表全局配置
  130 + [EditCanvasConfigEnum.CHART_THEME_SETTING]: GlobalThemeJsonType
  131 + // 图表主题颜色
  132 + [EditCanvasConfigEnum.SELECT_COLOR]: boolean
  133 + // 预览展示方式
  134 + [EditCanvasConfigEnum.PREVIEW_SCALE_TYPE]: PreviewScaleEnum
127 135 }
128 136
129 137 // 坐标轴信息
130 138 // eslint-disable-next-line no-redeclare
131 139 export enum EditCanvasTypeEnum {
132   - START_X = 'startX',
133   - START_Y = 'startY',
134   - X = 'x',
135   - Y = 'y'
  140 + START_X = 'startX',
  141 + START_Y = 'startY',
  142 + X = 'x',
  143 + Y = 'y'
136 144 }
137 145
138 146 // 鼠标位置
139 147 export type MousePositionType = {
140   - // 开始 X
141   - [EditCanvasTypeEnum.START_X]: number
142   - // 开始 Y
143   - [EditCanvasTypeEnum.START_Y]: number
144   - // X
145   - [EditCanvasTypeEnum.X]: number
146   - // y
147   - [EditCanvasTypeEnum.Y]: number
  148 + // 开始 X
  149 + [EditCanvasTypeEnum.START_X]: number
  150 + // 开始 Y
  151 + [EditCanvasTypeEnum.START_Y]: number
  152 + // X
  153 + [EditCanvasTypeEnum.X]: number
  154 + // y
  155 + [EditCanvasTypeEnum.Y]: number
148 156 }
149 157
150 158 // 操作目标
151 159 export type TargetChartType = {
152   - hoverId?: string
153   - selectId: string[]
  160 + hoverId?: string
  161 + selectId: string[]
154 162 }
155 163
156 164 // 数据记录
157 165 export type RecordChartType = {
158   - charts: CreateComponentType | CreateComponentGroupType | Array<CreateComponentType | CreateComponentGroupType>
159   - type: HistoryActionTypeEnum.CUT | HistoryActionTypeEnum.COPY
  166 + charts: CreateComponentType | CreateComponentGroupType | Array<CreateComponentType | CreateComponentGroupType>
  167 + type: HistoryActionTypeEnum.CUT | HistoryActionTypeEnum.COPY
160 168 }
161 169
162 170 // Store 枚举
163 171 export enum ChartEditStoreEnum {
164   - PROJECT_INFO = 'projectInfo',
  172 + PROJECT_INFO = 'projectInfo',
165 173
166   - EDIT_RANGE = 'editRange',
167   - EDIT_CANVAS = 'editCanvas',
168   - RIGHT_MENU_SHOW = 'rightMenuShow',
169   - MOUSE_POSITION = 'mousePosition',
170   - TARGET_CHART = 'targetChart',
171   - RECORD_CHART = 'recordChart',
172   - // 以下需要存储
173   - EDIT_CANVAS_CONFIG = 'editCanvasConfig',
174   - REQUEST_GLOBAL_CONFIG = 'requestGlobalConfig',
175   - COMPONENT_LIST = 'componentList'
  174 + EDIT_RANGE = 'editRange',
  175 + EDIT_CANVAS = 'editCanvas',
  176 + RIGHT_MENU_SHOW = 'rightMenuShow',
  177 + MOUSE_POSITION = 'mousePosition',
  178 + TARGET_CHART = 'targetChart',
  179 + RECORD_CHART = 'recordChart',
  180 + // 以下需要存储
  181 + EDIT_CANVAS_CONFIG = 'editCanvasConfig',
  182 + REQUEST_GLOBAL_CONFIG = 'requestGlobalConfig',
  183 + COMPONENT_LIST = 'componentList'
176 184 }
177 185
178 186 // 请求公共类型
179 187 type RequestPublicConfigType = {
180   - // 时间单位(时分秒)
181   - requestIntervalUnit: RequestHttpIntervalEnum
182   - // 请求内容
183   - requestParams: RequestParams
  188 + // 时间单位(时分秒)
  189 + requestIntervalUnit: RequestHttpIntervalEnum
  190 + // 请求内容
  191 + requestParams: RequestParams
184 192 }
185 193
186 194 // 数据池项类型
187 195 export type RequestDataPondItemType = {
188   - dataPondId: string,
189   - dataPondName: string,
190   - dataPondRequestConfig: RequestConfigType
  196 + dataPondId: string
  197 + dataPondName: string
  198 + dataPondRequestConfig: RequestConfigType
191 199 }
192 200
193 201 // 全局的图表请求配置
194 202 export interface RequestGlobalConfigType extends RequestPublicConfigType {
195   - // 组件定制轮询时间
196   - requestInterval: number
197   - // 请求源地址
198   - requestOriginUrl?: string
199   - // 公共数据池
200   - requestDataPond: RequestDataPondItemType[]
  203 + // 组件定制轮询时间
  204 + requestInterval: number
  205 + // 请求源地址
  206 + requestOriginUrl?: string
  207 + // 公共数据池
  208 + requestDataPond: RequestDataPondItemType[]
201 209 }
202 210
203 211 // 单个图表请求配置
204 212 export interface RequestConfigType extends RequestPublicConfigType {
205   - // 所选全局数据池的对应 id
206   - requestDataPondId?: string
207   - // 组件定制轮询时间
208   - requestInterval?: number
209   - // 获取数据的方式
210   - requestDataType: RequestDataTypeEnum
211   - // 请求方式 get/post/del/put/patch
212   - requestHttpType: RequestHttpEnum
213   - // 源后续的 url
214   - requestUrl?: string
215   - // 请求内容主体方式 普通/sql
216   - requestContentType: RequestContentTypeEnum
217   - // 请求体类型
218   - requestParamsBodyType: RequestBodyEnum
219   - // SQL 请求对象
220   - requestSQLContent: {
221   - sql: string
222   - }
  213 + // 所选全局数据池的对应 id
  214 + requestDataPondId?: string
  215 + // 组件定制轮询时间
  216 + requestInterval?: number
  217 + // 获取数据的方式
  218 + requestDataType: RequestDataTypeEnum
  219 + // 请求方式 get/post/del/put/patch
  220 + requestHttpType: RequestHttpEnum
  221 + // 源后续的 url
  222 + requestUrl?: string
  223 + // 请求内容主体方式 普通/sql
  224 + requestContentType: RequestContentTypeEnum
  225 + // 请求体类型
  226 + requestParamsBodyType: RequestBodyEnum
  227 + // SQL 请求对象
  228 + requestSQLContent: {
  229 + sql: string
  230 + }
223 231 }
224 232
225 233 // Store 类型
226 234 export interface ChartEditStoreType {
227   - [ChartEditStoreEnum.PROJECT_INFO]: ProjectInfoType
228   - [ChartEditStoreEnum.EDIT_CANVAS]: EditCanvasType
229   - [ChartEditStoreEnum.EDIT_CANVAS_CONFIG]: EditCanvasConfigType
230   - [ChartEditStoreEnum.RIGHT_MENU_SHOW]: boolean
231   - [ChartEditStoreEnum.MOUSE_POSITION]: MousePositionType
232   - [ChartEditStoreEnum.TARGET_CHART]: TargetChartType
233   - [ChartEditStoreEnum.RECORD_CHART]?: RecordChartType
234   - [ChartEditStoreEnum.REQUEST_GLOBAL_CONFIG]: RequestGlobalConfigType
235   - [ChartEditStoreEnum.COMPONENT_LIST]: Array<CreateComponentType | CreateComponentGroupType>
  235 + [ChartEditStoreEnum.PROJECT_INFO]: ProjectInfoType
  236 + [ChartEditStoreEnum.EDIT_CANVAS]: EditCanvasType
  237 + [ChartEditStoreEnum.EDIT_CANVAS_CONFIG]: EditCanvasConfigType
  238 + [ChartEditStoreEnum.RIGHT_MENU_SHOW]: boolean
  239 + [ChartEditStoreEnum.MOUSE_POSITION]: MousePositionType
  240 + [ChartEditStoreEnum.TARGET_CHART]: TargetChartType
  241 + [ChartEditStoreEnum.RECORD_CHART]?: RecordChartType
  242 + [ChartEditStoreEnum.REQUEST_GLOBAL_CONFIG]: RequestGlobalConfigType
  243 + [ChartEditStoreEnum.COMPONENT_LIST]: Array<CreateComponentType | CreateComponentGroupType>
236 244 }
237 245
238 246 // 存储数据类型
239 247 export interface ChartEditStorage {
240   - [ChartEditStoreEnum.EDIT_CANVAS_CONFIG]: EditCanvasConfigType
241   - [ChartEditStoreEnum.REQUEST_GLOBAL_CONFIG]: RequestGlobalConfigType
242   - [ChartEditStoreEnum.COMPONENT_LIST]: Array<CreateComponentType | CreateComponentGroupType>
  248 + [ChartEditStoreEnum.EDIT_CANVAS_CONFIG]: EditCanvasConfigType
  249 + [ChartEditStoreEnum.REQUEST_GLOBAL_CONFIG]: RequestGlobalConfigType
  250 + [ChartEditStoreEnum.COMPONENT_LIST]: Array<CreateComponentType | CreateComponentGroupType>
243 251 }
... ...
... ... @@ -44,7 +44,11 @@ export const useChartEditStore = defineStore({
44 44 projectName: '',
45 45 remarks: '',
46 46 thumbnail: '',
47   - release: false
  47 + release: false,
  48 + // THINGS_KIT
  49 + //保存缩图需要的组织id
  50 + organizationId: '',
  51 + state: 0,
48 52 },
49 53 // 画布属性
50 54 editCanvas: {
... ... @@ -184,7 +188,7 @@ export const useChartEditStore = defineStore({
184 188 actions: {
185 189 // THINGS_KIT
186 190 // * 设置 peojectInfo 数据项
187   - setProjectInfo<T extends keyof ProjectInfoType, K extends ProjectInfoType[T]>(key: T, value: K) {
  191 + setProjectInfo<T extends keyof ProjectInfoType, K extends ProjectInfoType[T]>(key: T, value: K) {
188 192 this.projectInfo[key] = value
189 193 },
190 194 // * 设置 editCanvas 数据项
... ... @@ -521,7 +525,7 @@ export const useChartEditStore = defineStore({
521 525 e.id = getUUID()
522 526 // 分组列表生成新 id
523 527 if (e.isGroup) {
524   - (e as CreateComponentGroupType).groupList.forEach((item: CreateComponentType) => {
  528 + ;(e as CreateComponentGroupType).groupList.forEach((item: CreateComponentType) => {
525 529 item.id = getUUID()
526 530 })
527 531 }
... ... @@ -529,7 +533,7 @@ export const useChartEditStore = defineStore({
529 533 return e
530 534 }
531 535 const isCut = recordCharts.type === HistoryActionTypeEnum.CUT
532   - const targetList = Array.isArray(recordCharts.charts) ? recordCharts.charts : [ recordCharts.charts ]
  536 + const targetList = Array.isArray(recordCharts.charts) ? recordCharts.charts : [recordCharts.charts]
533 537 // 多项
534 538 targetList.forEach((e: CreateComponentType | CreateComponentGroupType) => {
535 539 this.addComponentList(parseHandle(e), undefined, true)
... ...
1 1 // THINGS_KIT
2   -import { getUUID, fetchRouteParamsLocation, JSONStringify, JSONParse } from '@/utils'
  2 +import { getUUID, fetchRouteParamsLocation, JSONStringify, JSONParse, base64toFile } from '@/utils'
3 3 import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'
4 4 import {
5 5 EditCanvasTypeEnum,
... ... @@ -20,7 +20,7 @@ import { saveInterval } from '@/settings/designSetting'
20 20 import throttle from 'lodash/throttle'
21 21 // THINGS_KIT
22 22 import html2canvas from 'html2canvas'
23   -import { contentUpdateApi, getDataView, uploadFile } from '@/api/external/contentSave/content'
  23 +import { saveDataViewList, contentUpdateApi, getDataView, uploadFile } from '@/api/external/contentSave/content'
24 24 // 画布枚举
25 25 import { SyncEnum } from '@/enums/editPageEnum'
26 26
... ... @@ -221,9 +221,10 @@ export const useSync = () => {
221 221 indexImage: string
222 222 id: string
223 223 state: number
  224 + organizationId: string
224 225 dataViewContent: { id: string; content: string; enabled: boolean }
225 226 }) => {
226   - const { dataViewId, dataViewName, indexImage, state, dataViewContent } = projectData
  227 + const { dataViewId, dataViewName, indexImage, state, dataViewContent, organizationId } = projectData
227 228 // ID
228 229 chartEditStore.setProjectInfo(ProjectInfoEnum.PROJECT_ID, dataViewId)
229 230 // 名称
... ... @@ -234,6 +235,8 @@ export const useSync = () => {
234 235 chartEditStore.setProjectInfo(ProjectInfoEnum.THUMBNAIL, indexImage)
235 236 // 发布
236 237 chartEditStore.setProjectInfo(ProjectInfoEnum.RELEASE, state === 1)
  238 + chartEditStore.setProjectInfo(ProjectInfoEnum.ORGANIZATIONID, organizationId)
  239 + chartEditStore.setProjectInfo(ProjectInfoEnum.STATE_DATA, state)
237 240 }
238 241 // THINGS_KIT
239 242 // * 数据获取
... ... @@ -255,7 +258,7 @@ export const useSync = () => {
255 258 setTimeout(() => {
256 259 chartEditStore.setEditCanvas(EditCanvasTypeEnum.SAVE_STATUS, SyncEnum.SUCCESS)
257 260 }, 1000)
258   - return
  261 + // return
259 262 // }
260 263 // chartEditStore.setEditCanvas(EditCanvasTypeEnum.SAVE_STATUS, SyncEnum.FAILURE)
261 264 } catch (error) {
... ... @@ -270,6 +273,8 @@ export const useSync = () => {
270 273 const projectId = chartEditStore.getProjectInfo[ProjectInfoEnum.PROJECT_ID]
271 274 const id = chartEditStore.getProjectInfo[ProjectInfoEnum.REMARKS]
272 275 const dataViewName = chartEditStore.getProjectInfo[ProjectInfoEnum.PROJECT_NAME]
  276 + const organizationId = chartEditStore.getProjectInfo[ProjectInfoEnum.ORGANIZATIONID]
  277 + const state = chartEditStore.getProjectInfo[ProjectInfoEnum.STATE_DATA]
273 278
274 279 if (projectId === null || projectId === '') {
275 280 window['$message'].error('数据初未始化成功,请刷新页面!')
... ... @@ -277,35 +282,39 @@ export const useSync = () => {
277 282 }
278 283 chartEditStore.setEditCanvas(EditCanvasTypeEnum.SAVE_STATUS, SyncEnum.START)
279 284 // 异常处理:缩略图上传失败不影响JSON的保存
280   - // try {
281   - // if (updateImg) {
282   - // // 获取缩略图片
283   - // const range = document.querySelector('.go-edit-range') as HTMLElement
284   - // // 生成图片
285   - // const canvasImage: HTMLCanvasElement = await html2canvas(range, {
286   - // backgroundColor: null,
287   - // allowTaint: true,
288   - // useCORS: true
289   - // })
290   - //
291   - // // 上传预览图
292   - // const uploadParams = new FormData()
293   - // uploadParams.append(
294   - // 'object',
295   - // base64toFile(canvasImage.toDataURL(), `${fetchRouteParamsLocation()}_index_preview.png`)
296   - // )
297   - // const uploadRes = await uploadFile(uploadParams)
298   - // // 保存预览图
299   - // if (uploadRes && uploadRes.code === ResultEnum.SUCCESS) {
300   - // await updateProjectApi({
301   - // id: fetchRouteParamsLocation(),
302   - // thumbnail: `${systemStore.getFetchInfo.OSSUrl}${uploadRes.data.fileName}`
303   - // })
304   - // }
305   - // }
306   - // } catch (e) {
307   - // console.log(e)
308   - // }
  285 + try {
  286 + if (updateImg) {
  287 + // 获取缩略图片
  288 + const range = document.querySelector('.go-edit-range') as HTMLElement
  289 + // 生成图片
  290 + const canvasImage: HTMLCanvasElement = await html2canvas(range, {
  291 + backgroundColor: null,
  292 + allowTaint: true,
  293 + useCORS: true
  294 + })
  295 +
  296 + // 上传预览图
  297 + const uploadParams = new FormData()
  298 + uploadParams.append(
  299 + 'file',
  300 + base64toFile(canvasImage.toDataURL(), `${fetchRouteParamsLocation()}_index_preview.png`)
  301 + )
  302 + const uploadRes = await uploadFile(uploadParams)
  303 + console.log(uploadRes.fileStaticUri)
  304 + // 保存预览图
  305 + if (uploadRes) {
  306 + await saveDataViewList({
  307 + name: dataViewName,
  308 + organizationId,
  309 + state,
  310 + id: fetchRouteParamsLocation(),
  311 + thumbnail: `${uploadRes.fileStaticUri}`
  312 + })
  313 + }
  314 + }
  315 + } catch (e) {
  316 + console.log(e)
  317 + }
309 318 // 保存数据
310 319 const saveContent = {
311 320 dataViewContent: {
... ...