|
@@ -1,84 +1,248 @@
|
|
|
-// import * as apis from '@/apis/scene-edit.js'
|
|
|
-import { useApp, getApp, getNum } from '@/app'
|
|
|
-import { Loading, Dialog } from '@kankan/components'
|
|
|
-
|
|
|
-export default {
|
|
|
- namespaced: true,
|
|
|
- state() {
|
|
|
- return {
|
|
|
- mosaic: false,
|
|
|
- screenshot: false,
|
|
|
- }
|
|
|
- },
|
|
|
- getters: {
|
|
|
- mosaic: state => state.mosaic,
|
|
|
- screenshot: state => state.screenshot,
|
|
|
- },
|
|
|
- mutations: {
|
|
|
- setData(state, payload) {
|
|
|
- for (let key in payload) {
|
|
|
- state[key] = payload[key]
|
|
|
- }
|
|
|
- },
|
|
|
- update(state, payload) {
|
|
|
- this.commit('enterEdit')
|
|
|
- },
|
|
|
- cancel(state, payload) {
|
|
|
- state.mosaic = false
|
|
|
- state.screenshot = false
|
|
|
- getApp().RepairManager.edit.exitMosicEditing()
|
|
|
- this.commit('leaveEdit')
|
|
|
-
|
|
|
- this.commit('setToolbox', { show: true })
|
|
|
- this.commit('setToolbar', { show: true, full: false })
|
|
|
- this.commit('setSceneUI', true)
|
|
|
- },
|
|
|
- },
|
|
|
- actions: {
|
|
|
- save({ state, commit, dispatch, rootGetters }, payload) {
|
|
|
- let data = getApp().RepairManager.edit.getMosaicSavingInfo()
|
|
|
- const panoId = rootGetters['panoId']
|
|
|
- const params = {
|
|
|
- num: getNum(),
|
|
|
- data: JSON.stringify([{ panoId, rect: data.rect, dir: data.dir }]),
|
|
|
- }
|
|
|
-
|
|
|
- return getApp()
|
|
|
- .remote_editor.mosaics_add(params)
|
|
|
- .then(res => {
|
|
|
- if (res.success) {
|
|
|
- commit('cancel')
|
|
|
- }
|
|
|
- return res
|
|
|
- })
|
|
|
- .catch(err => {
|
|
|
- console.log(err)
|
|
|
- return err
|
|
|
- })
|
|
|
- },
|
|
|
- uploadPanorama({ commit, state }, payload) {
|
|
|
- return getApp().remote_editor.uploadPanorama(payload)
|
|
|
- },
|
|
|
- downloadPanorama({ commit, state, rootState }, payload) {
|
|
|
- let parmas = { num: rootState.scene.metadata.num }
|
|
|
- return getApp().remote_editor.downloadPanorama({ ...parmas, ...payload })
|
|
|
- },
|
|
|
-
|
|
|
- uploadModel({ commit, state, rootState }, payload) {
|
|
|
- let parmas = { num: rootState.scene.metadata.num }
|
|
|
- return getApp().remote_editor.uploadModel({ ...parmas, ...payload })
|
|
|
- },
|
|
|
- downloadModel({ commit, state, rootState }, payload) {
|
|
|
- let parmas = { num: rootState.scene.metadata.num }
|
|
|
- return getApp().remote_editor.downloadModel({ ...parmas })
|
|
|
- },
|
|
|
- uploadVideo({ commit, state, rootState }, payload) {
|
|
|
- let parmas = { num: rootState.scene.metadata.num }
|
|
|
- return getApp().remote_editor.uploadBallScreenVideo({ ...parmas, ...payload })
|
|
|
- },
|
|
|
- downloadVideo({ commit, state, rootState }, payload) {
|
|
|
- let parmas = { num: rootState.scene.metadata.num }
|
|
|
- return getApp().remote_editor.downloadBallScreenVideo({ ...parmas, ...payload })
|
|
|
- },
|
|
|
- },
|
|
|
-}
|
|
|
+// import * as apis from '@/apis/scene-edit.js'
|
|
|
+import { useApp, getApp, getNum } from '@/app'
|
|
|
+import { Loading, Dialog } from '@kankan/components'
|
|
|
+
|
|
|
+export default {
|
|
|
+ namespaced: true,
|
|
|
+ state() {
|
|
|
+ return {
|
|
|
+ metadata: null,
|
|
|
+ enterMosaic: false,
|
|
|
+ showMosaics: false,
|
|
|
+ screenshot: false,
|
|
|
+ waterMark: null,
|
|
|
+ mosaics: [],
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getters: {
|
|
|
+ enterMosaic: state => state.enterMosaic,
|
|
|
+ showMosaics: state => state.showMosaics,
|
|
|
+ mosaics: (state, getters, rootState, rootGetters) => {
|
|
|
+ const mosaics = rootGetters['scene/metadata'].mosaicList || []
|
|
|
+ state.mosaics = JSON.parse(JSON.stringify(mosaics))
|
|
|
+ return state.mosaics
|
|
|
+ },
|
|
|
+ screenshot: state => state.screenshot,
|
|
|
+ waterMark: (state, getters, rootState, rootGetters) => {
|
|
|
+ state.metadata = rootGetters['scene/metadata']
|
|
|
+ if (!state.waterMark) {
|
|
|
+ state.waterMark = state.metadata.waterMark || null
|
|
|
+ }
|
|
|
+ return state.waterMark
|
|
|
+ },
|
|
|
+ },
|
|
|
+ mutations: {
|
|
|
+ setData(state, payload) {
|
|
|
+ for (let key in payload) {
|
|
|
+ state[key] = payload[key]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ update(state, payload) {
|
|
|
+ this.commit('enterEdit')
|
|
|
+ },
|
|
|
+ cancel(state, payload) {
|
|
|
+ state.showMosaics = false
|
|
|
+ state.enterMosaic = false
|
|
|
+ state.screenshot = false
|
|
|
+ // getApp().RepairManager.edit.exitMosicEditing()
|
|
|
+ getApp().MinMap.hide(true)
|
|
|
+ this.commit('leaveEdit')
|
|
|
+
|
|
|
+ this.commit('setToolbox', { show: true })
|
|
|
+ this.commit('setToolbar', { show: true, full: false })
|
|
|
+ this.commit('setSceneUI', true)
|
|
|
+ },
|
|
|
+ save(state, payload) {
|
|
|
+ state.enterMosaic = false
|
|
|
+ state.screenshot = false
|
|
|
+ // getApp().RepairManager.edit.exitMosicEditing()
|
|
|
+ // this.commit('leaveEdit')
|
|
|
+
|
|
|
+ this.commit('setToolbox', { show: true })
|
|
|
+ this.commit('setToolbar', { show: true, full: false })
|
|
|
+ this.commit('setSceneUI', true)
|
|
|
+ },
|
|
|
+ },
|
|
|
+ actions: {
|
|
|
+ deleteWaterMark({ state, commit, dispatch, rootGetters }, payload) {
|
|
|
+ const params = {
|
|
|
+ num: getNum(),
|
|
|
+ fileName: state.waterMark,
|
|
|
+ }
|
|
|
+ Loading.show()
|
|
|
+ return new Promise((resolve, reject) => {
|
|
|
+ getApp()
|
|
|
+ .remote_editor.waterMark_delete(params)
|
|
|
+ .then(res => {
|
|
|
+ Loading.hide()
|
|
|
+ if (res.success) {
|
|
|
+ state.waterMark = null
|
|
|
+ // let metadata = JSON.parse(JSON.stringify(state.metadata))
|
|
|
+ if (state.metadata.waterMark) {
|
|
|
+ delete state.metadata.waterMark
|
|
|
+ }
|
|
|
+
|
|
|
+ this.commit('scene/update', state.metadata)
|
|
|
+ state.waterMark = null
|
|
|
+ resolve({ type: 'toast', tips: 'success', msg: 'common.deleteSuccess' })
|
|
|
+ } else {
|
|
|
+ resolve({ type: 'toast', tips: 'error', msg: 'common.deleteFail' })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ Loading.hide()
|
|
|
+ resolve({ type: 'toast', tips: 'error', msg: 'common.deleteFail' })
|
|
|
+ reject(err)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ deleteMosaic({ state, commit, dispatch, rootGetters }, payload) {
|
|
|
+ const params = {
|
|
|
+ num: getNum(),
|
|
|
+ panoIdList: payload.panoIdList,
|
|
|
+ }
|
|
|
+ Loading.show()
|
|
|
+ return new Promise(function (resolve, reject) {
|
|
|
+ getApp()
|
|
|
+ .remote_editor.mosaics_delete(params)
|
|
|
+ .then(res => {
|
|
|
+ Loading.hide()
|
|
|
+
|
|
|
+ if (res.success) {
|
|
|
+ // if (payload.index) {
|
|
|
+ // state.mosaics.splice(payload.index, 1)
|
|
|
+ // } else {
|
|
|
+ // state.mosaics = []
|
|
|
+ // }
|
|
|
+
|
|
|
+ //遍历删除马赛克
|
|
|
+ let list = []
|
|
|
+ for (let i = 0; i < payload.panoIdList.length; i++) {
|
|
|
+ for (let j = 0; j < state.mosaics.length; j++) {
|
|
|
+ if (payload.panoIdList[i] == state.mosaics[j].panoId) {
|
|
|
+ list.push(j)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ getApp().RepairManager.edit.deletePaint(payload.panoIdList[i])
|
|
|
+ }
|
|
|
+ for (let i = list.length - 1; i >= 0; i--) {
|
|
|
+ state.mosaics.splice(list[i], 1)
|
|
|
+ }
|
|
|
+ resolve({ type: 'toast', tips: 'success', msg: 'common.deleteSuccess' })
|
|
|
+ } else {
|
|
|
+ resolve({ type: 'toast', tips: 'error', msg: 'common.deleteFail' })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ Loading.hide()
|
|
|
+ resolve({ type: 'toast', tips: 'error', msg: 'common.deleteFail' })
|
|
|
+ reject(err)
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ saveWaterMark({ state, commit, dispatch, rootGetters }, payload) {
|
|
|
+ const params = {
|
|
|
+ num: getNum(),
|
|
|
+ fileName: payload.fileName,
|
|
|
+ }
|
|
|
+
|
|
|
+ return new Promise(function (resolve, reject) {
|
|
|
+ getApp()
|
|
|
+ .remote_editor.waterMark_add(params)
|
|
|
+ .then(res => {
|
|
|
+ if (res.success) {
|
|
|
+ resolve(res)
|
|
|
+ } else {
|
|
|
+ resolve(res)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ reject(err)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ async mosaicSave({ state, commit, dispatch, rootGetters }, payload) {
|
|
|
+ // let data = getApp().RepairManager.edit.getMosaicSavingInfo()
|
|
|
+ Loading.show()
|
|
|
+ let { data, func, panoId } = getApp().RepairManager.edit.savePaint()
|
|
|
+ // const panoId = rootGetters['panoId']
|
|
|
+ let fileName = getNum() + '-' + panoId + '.png'
|
|
|
+ let params = {}
|
|
|
+ let mosaicPic = await this.dispatch('scene/upload_files', { base64: data, bizType: 'mosaic-pic', num: getNum(), type: 0, fileName: fileName })
|
|
|
+ if (mosaicPic.success) {
|
|
|
+ params.num = getNum()
|
|
|
+ params.data = JSON.stringify([{ fileName: fileName, panoId }])
|
|
|
+ } else {
|
|
|
+ resolve({ type: 'toast', tips: 'error', msg: 'common.saveFail' })
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ return new Promise(function (resolve, reject) {
|
|
|
+ getApp()
|
|
|
+ .remote_editor.mosaics_add(params)
|
|
|
+ .then(res => {
|
|
|
+ Loading.hide()
|
|
|
+ if (res.success) {
|
|
|
+ func()
|
|
|
+ let has = false
|
|
|
+ if (state.mosaics.length > 0) {
|
|
|
+ for (let i = 0; i < state.mosaics.length; i++) {
|
|
|
+ if (state.mosaics[i].panoId == panoId) {
|
|
|
+ has = true
|
|
|
+ // console.log(has)
|
|
|
+ state.mosaics[i] = { data, panoId }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!has) {
|
|
|
+ state.mosaics.unshift({ fileName: fileName, panoId })
|
|
|
+ }
|
|
|
+ getApp().RepairManager.edit.cancelPaint()
|
|
|
+ commit('save')
|
|
|
+ resolve(res)
|
|
|
+ } else {
|
|
|
+ resolve({ type: 'toast', tips: 'error', msg: 'common.saveFail' })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(err => {
|
|
|
+ Loading.hide()
|
|
|
+ reject({ type: 'toast', tips: 'error', msg: 'common.busy' })
|
|
|
+ console.error(err)
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ uploadPanorama({ commit, state }, payload) {
|
|
|
+ return getApp().remote_editor.uploadPanorama(payload)
|
|
|
+ },
|
|
|
+ downloadPanorama({ commit, state, rootState }, payload) {
|
|
|
+ let parmas = { num: rootState.scene.metadata.num }
|
|
|
+ return getApp().remote_editor.downloadPanorama({ ...parmas, ...payload })
|
|
|
+ },
|
|
|
+
|
|
|
+ uploadModel({ commit, state, rootState }, payload) {
|
|
|
+ let parmas = { num: rootState.scene.metadata.num }
|
|
|
+ return getApp().remote_editor.uploadModel({ ...parmas, ...payload })
|
|
|
+ },
|
|
|
+ downloadModel({ commit, state, rootState }, payload) {
|
|
|
+ let parmas = { num: rootState.scene.metadata.num }
|
|
|
+ return getApp().remote_editor.downloadModel({ ...parmas })
|
|
|
+ },
|
|
|
+ uploadVideo({ commit, state, rootState }, payload) {
|
|
|
+ let parmas = { num: rootState.scene.metadata.num }
|
|
|
+ return getApp().remote_editor.uploadBallScreenVideo({ ...parmas, ...payload })
|
|
|
+ },
|
|
|
+ downloadVideo({ commit, state, rootState }, payload) {
|
|
|
+ let parmas = { num: rootState.scene.metadata.num }
|
|
|
+ return getApp().remote_editor.downloadBallScreenVideo({ ...parmas, ...payload })
|
|
|
+ },
|
|
|
+ getInfo({ commit, state, rootState }, payload) {
|
|
|
+ let params = {
|
|
|
+ num: getNum(),
|
|
|
+ ...payload,
|
|
|
+ }
|
|
|
+
|
|
|
+ return getApp().remote_editor.getAsynOperLog(params)
|
|
|
+ },
|
|
|
+ },
|
|
|
+}
|