Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions lib/client/src/common/parse-function-var.js
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,12 @@ export function parseFuncAndVar (templateNode, variableList, funcGroups) {
Object.assign(funcBodyContainontainVariableMap, parseFuncBodyVariable(funcbody))
})
Object.keys(funcBodyContainontainVariableMap).forEach(variable => {
if (varCodes.indexOf(variable)) {
if (varCodes.indexOf(variable) === -1) {
varCodes.push(variable)
}
})
Object.keys(funcBodyContainontainMethodMap).forEach(method => {
if (methodCodes.indexOf(method)) {
if (methodCodes.indexOf(method) === -1) {
methodCodes.push(method)
}
})
Expand Down
2 changes: 2 additions & 0 deletions lib/client/src/components/render/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,15 @@ import router from '@/router'
import PC from './pc/index'
import Mobile from './mobile/index'
import widgetTableColumn from './pc/widget/table/table-column'
import widgetBluekingTableColumn from './pc/widget/blueking-table/table-column'
import renderHtml from './pc/widget/html/index'

// render 模块可以是vue2,也可以是vue3
// 这里需要使用 bk-lesscode-render 提供的渲染方法来抹平差异
export default {
beforeCreate () {
// 部分slot用到的widget组件需要全局注册
registerComponent('widget-blueking-table-column', widgetBluekingTableColumn)
registerComponent('widget-table-column', widgetTableColumn)
registerComponent('render-html', renderHtml)
},
Expand Down
4 changes: 3 additions & 1 deletion lib/client/src/components/render/pc/render-component.js
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import WidgetForm from './widget/form/form'
import WidgetFormItem from './widget/form/form-item'
import WidgetMdEditor from './widget/md-editor/md-editor'
import WidgetBkTable from './widget/table/table'
import WidgetBluekingTable from './widget/blueking-table/table'
import WidgetVanPicker from './widget/van-picker'
import WidgetFormContainer from './widget/form-container'
import WidgetDataManageContainer from './widget/data-manage-container/form-data-manage/edit/index'
Expand Down Expand Up @@ -49,6 +50,7 @@ export default {
WidgetFormItem,
WidgetMdEditor,
WidgetBkTable,
WidgetBluekingTable,
WidgetVanPicker,
WidgetFormContainer,
WidgetDataManageContainer,
Expand Down Expand Up @@ -142,7 +144,7 @@ export default {
// }

// table 组件逻辑
if (['widget-bk-table', 'widget-el-table'].includes(this.componentData.type)) {
if (['widget-bk-table', 'widget-blueking-table', 'widget-el-table'].includes(this.componentData.type)) {
// 处理操作逻辑
if (this.componentData.renderProps.data.valueType === 'table-data-source') {
props.tableName = this.componentData.renderProps.data?.payload?.sourceData?.tableName
Expand Down
104 changes: 104 additions & 0 deletions lib/client/src/components/render/pc/widget/blueking-table/delete.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
import {
h,
ref
} from 'bk-lesscode-render'
import http from '@/api'

export default {
props: {
isShow: Boolean,
id: Number,
tableName: String,
thirdPartDBName: String
},

emits: ['close', 'delete'],

setup (props, { emit }) {
const isLoading = ref(false)

const handleConfirmDelete = () => {
isLoading.value = true
return http
.delete(`/data-source/user/tableName/${props.tableName}${props.thirdPartDBName ? `/${props.thirdPartDBName}` : ''}?id=${props.id}`)
.then(() => {
emit('delete')
handleCloseDialog()
})
.finally(() => {
isLoading.value = false
})
}

const handleCloseDialog = () => {
emit('close')
}

return {
isLoading,
handleConfirmDelete,
handleCloseDialog
}
},

render (render) {
h.init(render)

const self = this

return h({
component: 'bk-dialog',
props: {
title: '确定删除',
maskClose: false,
loading: self.isLoading,
isShow: self.isShow,
value: self.isShow
},
on: {
cancel: self.handleCloseDialog,
closed: self.handleCloseDialog
},
slots: {
default () {
return `确定删除【id:${self.id}】?`
},
footer () {
return h({
component: 'div',
slot: 'footer',
class: 'dialog-footer',
children: [
h({
component: 'bk-button',
class: 'mr5',
props: {
theme: 'danger',
loading: self.isLoading
},
on: {
click: self.handleConfirmDelete
},
children: [
'确定'
]
}),
h({
component: 'bk-button',
props: {
disabled: self.isLoading
},
on: {
click: self.handleCloseDialog
},
children: [
'取消'
]
})
]
})
}
}
})
}
}
Loading