forked from github/dataease
feat(应用市场): 三方应用对接
This commit is contained in:
parent
9623343d4b
commit
2b67bec9ab
@ -336,7 +336,6 @@ export function editApply(data) {
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
export function findOneWithParent(panelId) {
|
||||
return request({
|
||||
url: 'panel/group/findOneWithParent/' + panelId,
|
||||
|
@ -27,8 +27,8 @@
|
||||
currentTemplateShowList.length
|
||||
}})
|
||||
<deBtn
|
||||
type="primary"
|
||||
v-if="showPositionCheck('system-setting')"
|
||||
type="primary"
|
||||
icon="el-icon-upload2"
|
||||
@click="templateImport(currentTemplateId)"
|
||||
>
|
||||
@ -151,7 +151,6 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import DeLayoutContent from '@/components/business/DeLayoutContent'
|
||||
import TemplateList from './component/TemplateList'
|
||||
import TemplateItem from './component/TemplateItem'
|
||||
import TemplateImport from './component/TemplateImport'
|
||||
@ -163,7 +162,7 @@ import { imgUrlTrans } from '@/components/canvas/utils/utils'
|
||||
|
||||
export default {
|
||||
name: 'AppTemplateContent',
|
||||
components: { DeLayoutContent, TemplateList, TemplateItem, TemplateImport },
|
||||
components: { TemplateList, TemplateItem, TemplateImport },
|
||||
mixins: [msgCfm],
|
||||
props: {
|
||||
showPosition: {
|
||||
|
@ -7,19 +7,22 @@
|
||||
size="600px"
|
||||
direction="rtl"
|
||||
>
|
||||
<ds-form v-if="applyDrawer" :reference-position="'appMarket'" :outer-params="outerParams" @closeDraw="close"></ds-form>
|
||||
<ds-form
|
||||
v-if="applyDrawer"
|
||||
:reference-position="'appMarket'"
|
||||
:outer-params="outerParams"
|
||||
@closeDraw="close"
|
||||
/>
|
||||
</el-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import DeDatePick from '@/components/deCustomCm/deDatePick.vue'
|
||||
import DsForm from '@/views/system/datasource/DsForm'
|
||||
export default {
|
||||
components: {
|
||||
DsForm,
|
||||
DeDatePick
|
||||
},
|
||||
name: 'AppTemplateApply',
|
||||
components: {
|
||||
DsForm
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
outerParams: {},
|
||||
@ -40,7 +43,7 @@ export default {
|
||||
this.outerParams = params
|
||||
},
|
||||
close() {
|
||||
this.$emit("closeDraw")
|
||||
this.$emit('closeDraw')
|
||||
this.applyDrawer = false
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,10 @@
|
||||
alt=""
|
||||
>
|
||||
</div>
|
||||
<div class="card-info" v-if="showPositionCheck('system-setting')">
|
||||
<div
|
||||
v-if="showPositionCheck('system-setting')"
|
||||
class="card-info"
|
||||
>
|
||||
<el-tooltip
|
||||
class="item"
|
||||
effect="dark"
|
||||
@ -45,7 +48,10 @@
|
||||
</el-dropdown>
|
||||
</div>
|
||||
|
||||
<div class="card-info-apply" v-if="showPositionCheck('market-manage')">
|
||||
<div
|
||||
v-if="showPositionCheck('market-manage')"
|
||||
class="card-info-apply"
|
||||
>
|
||||
<el-row>
|
||||
<el-row>
|
||||
<el-tooltip
|
||||
|
@ -29,12 +29,17 @@
|
||||
:class="[{ select: activeTemplate === ele.id }]"
|
||||
@click="nodeClick(ele)"
|
||||
>
|
||||
<img :src="iconImgRul(ele.icon)" style="margin-right: 8px;border-radius: 4px" width="24" height="24"/>
|
||||
<img
|
||||
:src="iconImgRul(ele.icon)"
|
||||
style="margin-right: 8px;border-radius: 4px"
|
||||
width="24"
|
||||
height="24"
|
||||
>
|
||||
<span>{{ ele.name }}</span>
|
||||
<span
|
||||
v-if="showPositionCheck('system-setting')"
|
||||
class="more"
|
||||
@click.stop
|
||||
v-if="showPositionCheck('system-setting')"
|
||||
>
|
||||
<el-dropdown
|
||||
trigger="click"
|
||||
@ -87,7 +92,6 @@
|
||||
import msgCfm from '@/components/msgCfm/index'
|
||||
import { imgUrlTrans } from '@/components/canvas/utils/utils'
|
||||
|
||||
|
||||
export default {
|
||||
name: 'TemplateList',
|
||||
components: {},
|
||||
|
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<de-layout-content>
|
||||
<app-template-content :show-position="'system-setting'"></app-template-content>
|
||||
<app-template-content :show-position="'system-setting'" />
|
||||
</de-layout-content>
|
||||
</template>
|
||||
|
||||
|
@ -1,7 +1,10 @@
|
||||
<template>
|
||||
<el-row>
|
||||
<el-row style="height: 56px">
|
||||
<el-col :span="12" style="text-align: left;line-height: 56px">
|
||||
<el-col
|
||||
:span="12"
|
||||
style="text-align: left;line-height: 56px"
|
||||
>
|
||||
<svg-icon
|
||||
icon-class="icon_left_outlined"
|
||||
class="toolbar-icon-active icon20 margin-left20"
|
||||
@ -11,7 +14,10 @@
|
||||
{{ templateInfo.name }}
|
||||
</span>
|
||||
</el-col>
|
||||
<el-col :span="12" style="text-align: right;line-height: 56px;padding-right: 24px">
|
||||
<el-col
|
||||
:span="12"
|
||||
style="text-align: right;line-height: 56px;padding-right: 24px"
|
||||
>
|
||||
<el-button
|
||||
size="small"
|
||||
type="primary"
|
||||
@ -32,13 +38,9 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import TemplateMarketPreviewItem from '@/views/panel/appTemplateMarket/component/TemplateMarketPreviewItem'
|
||||
import AppTemplateLog from '@/views/panel/appTemplateMarket/log'
|
||||
import DsAppForm from '@/views/system/datasource/DsAppForm'
|
||||
|
||||
export default {
|
||||
name: 'AppMarketPreview',
|
||||
components: { DsAppForm, AppTemplateLog, TemplateMarketPreviewItem },
|
||||
components: { },
|
||||
props: {
|
||||
templateInfo: {
|
||||
type: Object,
|
||||
@ -61,10 +63,10 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
appApply() {
|
||||
this.$emit("appApply")
|
||||
this.$emit('appApply')
|
||||
},
|
||||
closePreview() {
|
||||
this.$emit("closePreview")
|
||||
this.$emit('closePreview')
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -102,7 +104,6 @@ export default {
|
||||
color: var(--TextPrimary, #1F2329);
|
||||
}
|
||||
|
||||
|
||||
.icon16 {
|
||||
font-size: 16px!important;
|
||||
color: var(--TextPrimary, #1F2329);
|
||||
|
@ -31,7 +31,13 @@
|
||||
</el-tabs>
|
||||
</el-row>
|
||||
<el-row v-show="marketActiveTab==='apps'">
|
||||
<app-template-content :ref="'appTemplateContent'" class="template-main-content" :show-position="'market-manage'" @previewApp="previewApp" @applyNew="applyNew"></app-template-content>
|
||||
<app-template-content
|
||||
:ref="'appTemplateContent'"
|
||||
class="template-main-content"
|
||||
:show-position="'market-manage'"
|
||||
@previewApp="previewApp"
|
||||
@applyNew="applyNew"
|
||||
/>
|
||||
</el-row>
|
||||
<el-row
|
||||
v-show="marketActiveTab==='apply_logs'"
|
||||
@ -114,18 +120,15 @@
|
||||
import { searchAppTemplate } from '@/api/appTemplateMarket'
|
||||
import { groupTree, panelSave } from '@/api/panel/panel'
|
||||
import { DEFAULT_COMMON_CANVAS_STYLE_STRING } from '@/views/panel/panel'
|
||||
import MarketPreview from '@/views/panel/appTemplateMarket/component/MarketPreview'
|
||||
import elementResizeDetectorMaker from 'element-resize-detector'
|
||||
import AppTemplateItem from '@/views/panel/appTemplateMarket/component/AppTemplateItem'
|
||||
import AppTemplateLog from '@/views/panel/appTemplateMarket/log'
|
||||
import AppTemplate from '@/views/panel/appTemplate'
|
||||
import AppTemplateContent from '@/views/panel/appTemplate/AppTemplateContent'
|
||||
import AppMarketPreview from '@/views/panel/appTemplateMarket/component/AppMarketPreview'
|
||||
import AppTemplateApply from '@/views/panel/appTemplate/component/AppTemplateApply'
|
||||
|
||||
export default {
|
||||
name: 'AppTemplateMarket',
|
||||
components: { AppTemplateApply, AppMarketPreview, AppTemplateContent, AppTemplate, AppTemplateLog, AppTemplateItem, MarketPreview },
|
||||
components: { AppTemplateApply, AppMarketPreview, AppTemplateContent, AppTemplateLog },
|
||||
data() {
|
||||
return {
|
||||
previewItem: null,
|
||||
|
@ -100,7 +100,11 @@
|
||||
:label="$t('app_template.datasource')"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
<span v-if="row.datasourceId" class="link-span" @click="goToDatasource(row)">{{ row.datasourceName }}</span>
|
||||
<span
|
||||
v-if="row.datasourceId"
|
||||
class="link-span"
|
||||
@click="goToDatasource(row)"
|
||||
>{{ row.datasourceName }}</span>
|
||||
<span v-else>{{ row.datasourceName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -115,7 +119,11 @@
|
||||
:label="$t('app_template.panel')"
|
||||
>
|
||||
<template #default="{ row }">
|
||||
<span v-if="row.panelId" class="link-span" @click="goPanel(row)">{{ row.panelName }}</span>
|
||||
<span
|
||||
v-if="row.panelId"
|
||||
class="link-span"
|
||||
@click="goPanel(row)"
|
||||
>{{ row.panelName }}</span>
|
||||
<span v-else>{{ row.panelName }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -181,7 +189,7 @@
|
||||
width="420px"
|
||||
>
|
||||
<el-row>
|
||||
<el-checkbox v-model="deleteItemInfo.deleteResource"></el-checkbox>
|
||||
<el-checkbox v-model="deleteItemInfo.deleteResource" />
|
||||
{{ $t('app_template.log_resource_delete_tips') }}
|
||||
</el-row>
|
||||
<span slot="footer">
|
||||
@ -211,7 +219,6 @@ import {
|
||||
import { deleteLogAndResource, logGrid } from '@/api/appTemplateMarket/log'
|
||||
import { findOneWithParent } from '@/api/panel/panel'
|
||||
import AppTemplateApply from '@/views/panel/appTemplate/component/AppTemplateApply'
|
||||
import { deepCopy } from '@/components/canvas/utils/utils'
|
||||
|
||||
export default {
|
||||
name: 'AppTemplateLog',
|
||||
|
@ -3,7 +3,10 @@
|
||||
v-loading="formLoading"
|
||||
:class="positionCheck('datasource')?'de-ds-form':'de-ds-form-app'"
|
||||
>
|
||||
<div v-if="positionCheck('datasource')" class="de-ds-top">
|
||||
<div
|
||||
v-if="positionCheck('datasource')"
|
||||
class="de-ds-top"
|
||||
>
|
||||
<span class="name">
|
||||
<i
|
||||
class="el-icon-arrow-left"
|
||||
@ -64,15 +67,18 @@
|
||||
<div class="de-ds-inner">
|
||||
<div class="w600">
|
||||
<el-form
|
||||
ref="attachParamsForm"
|
||||
v-if="positionCheck('appMarket')"
|
||||
ref="attachParamsForm"
|
||||
:model="attachForm"
|
||||
:rules="attachRule"
|
||||
class="de-form-item"
|
||||
label-width="180px"
|
||||
label-position="right"
|
||||
>
|
||||
<div class="de-row-rules" style="margin: 0 0 16px 0;">
|
||||
<div
|
||||
class="de-row-rules"
|
||||
style="margin: 0 0 16px 0;"
|
||||
>
|
||||
<span>{{ $t('datasource.basic_info') }}</span>
|
||||
</div>
|
||||
<el-form-item
|
||||
@ -222,8 +228,14 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="positionCheck('appMarket')" class="de-ds-bottom">
|
||||
<div class="apply" style="width: 100%">
|
||||
<div
|
||||
v-if="positionCheck('appMarket')"
|
||||
class="de-ds-bottom"
|
||||
>
|
||||
<div
|
||||
class="apply"
|
||||
style="width: 100%"
|
||||
>
|
||||
<template v-if="canEdit">
|
||||
<deBtn
|
||||
secondary
|
||||
|
Loading…
Reference in New Issue
Block a user