alan
6 years ago
8 changed files with 282 additions and 42 deletions
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 9.6 KiB |
@ -1,40 +1,218 @@ |
|||||||
export const confirm = (message: string, onConfirm: Function): void => { |
import {Label, Vertical, Left, Button, Layout} from '@ui/index'; |
||||||
const id = BI.UUID(); |
class Dialog { |
||||||
BI.Popovers.create(id, { |
/** |
||||||
type: 'bi.bar_popover', |
* 提示 |
||||||
size: 'normal', |
* @param message |
||||||
header: '提示', |
* @param onConfirm |
||||||
width: 450, |
*/ |
||||||
height: 220, |
public confirm(message: string, onConfirm: Function): string { |
||||||
body: { |
const id = BI.UUID(); |
||||||
type: 'bi.left', |
BI.Popovers.create(id, { |
||||||
cls: 'comfirm-content', |
type: 'bi.bar_popover', |
||||||
items: [ |
size: 'normal', |
||||||
|
header: '提示', |
||||||
|
width: 450, |
||||||
|
height: 220, |
||||||
|
body: { |
||||||
|
type: 'bi.left', |
||||||
|
cls: 'comfirm-content', |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
type: 'bi.layout', |
||||||
|
cls: 'comfirm-icon', |
||||||
|
width: 50, |
||||||
|
height: 50, |
||||||
|
}, |
||||||
|
{ |
||||||
|
type: 'bi.label', |
||||||
|
text: message, |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
listeners: [ |
||||||
{ |
{ |
||||||
type: 'bi.layout', |
eventName: 'EVENT_CONFIRM', |
||||||
cls: 'comfirm-icon', |
action () { |
||||||
width: 50, |
onConfirm ? onConfirm(true) : null; |
||||||
height: 50, |
}, |
||||||
}, |
}, |
||||||
{ |
{ |
||||||
type: 'bi.label', |
eventName: 'EVENT_CANCEL', |
||||||
text: message, |
action () { |
||||||
|
onConfirm ? onConfirm(false) : null; |
||||||
|
}, |
||||||
}, |
}, |
||||||
], |
], |
||||||
}, |
}).open(id); |
||||||
listeners: [ |
|
||||||
{ |
return id; |
||||||
eventName: 'EVENT_CONFIRM', |
} |
||||||
action () { |
public loading(message: string): string { |
||||||
onConfirm ? onConfirm(true) : null; |
const body = { |
||||||
|
type: 'bi.center_adapt', |
||||||
|
cls: 'show-content', |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
type: Vertical, |
||||||
|
items:[ |
||||||
|
{ |
||||||
|
type: 'bi.layout', |
||||||
|
cls: 'loading-icon', |
||||||
|
width: 100, |
||||||
|
height: 100, |
||||||
|
}, |
||||||
|
{ |
||||||
|
type: Label, |
||||||
|
text: message, |
||||||
|
}, |
||||||
|
], |
||||||
}, |
}, |
||||||
}, |
], |
||||||
{ |
}; |
||||||
eventName: 'EVENT_CANCEL', |
|
||||||
action () { |
return this.show(body); |
||||||
onConfirm ? onConfirm(false) : null; |
} |
||||||
|
|
||||||
|
public success(message: string): string { |
||||||
|
const body = { |
||||||
|
type: 'bi.center_adapt', |
||||||
|
cls: 'show-content', |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
type: Vertical, |
||||||
|
items:[ |
||||||
|
{ |
||||||
|
type: 'bi.layout', |
||||||
|
cls: 'success-icon', |
||||||
|
width: 100, |
||||||
|
height: 100, |
||||||
|
}, |
||||||
|
{ |
||||||
|
type: Label, |
||||||
|
text: message, |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
], |
||||||
|
}; |
||||||
|
|
||||||
|
return this.show(body, 1000); |
||||||
|
} |
||||||
|
|
||||||
|
public linkFail(text: string, more: string, cb?: Function): string { |
||||||
|
let Popover: any = null; |
||||||
|
let More: any = null; |
||||||
|
const id = BI.UUID(); |
||||||
|
const that = this; |
||||||
|
const body = { |
||||||
|
type: Vertical, |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
type: 'bi.center_adapt', |
||||||
|
cls: 'show-content', |
||||||
|
tgap:10, |
||||||
|
items: [ |
||||||
|
{ |
||||||
|
type: Vertical, |
||||||
|
items:[ |
||||||
|
{ |
||||||
|
type: Layout, |
||||||
|
cls: 'error-icon', |
||||||
|
width: 100, |
||||||
|
height: 100, |
||||||
|
}, |
||||||
|
{ |
||||||
|
type: Label, |
||||||
|
text, |
||||||
|
}, |
||||||
|
{ |
||||||
|
type: Left, |
||||||
|
cls:'buttons', |
||||||
|
items:[ |
||||||
|
{ |
||||||
|
type: Button, |
||||||
|
text:'详细信息', |
||||||
|
level: 'ignore', |
||||||
|
handler() { |
||||||
|
const isHide = this.getText() === '详细信息'; |
||||||
|
Popover.element.css({ |
||||||
|
height: isHide ? '290' : '220', |
||||||
|
}); |
||||||
|
More.setVisible(isHide); |
||||||
|
this.setText(isHide ? '收起信息' : '详细信息'); |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
type: Button, |
||||||
|
text:'返回', |
||||||
|
level: 'ignore', |
||||||
|
handler() { |
||||||
|
that.close(id); |
||||||
|
}, |
||||||
|
}, |
||||||
|
{ |
||||||
|
type: Button, |
||||||
|
text:'重新连接', |
||||||
|
handler() { |
||||||
|
that.close(id); |
||||||
|
cb ? cb() : null; |
||||||
|
}, |
||||||
|
}, |
||||||
|
], |
||||||
|
}, |
||||||
|
|
||||||
|
], |
||||||
|
}, |
||||||
|
], |
||||||
|
}, { |
||||||
|
type: Label, |
||||||
|
cls:'show-more', |
||||||
|
text:more, |
||||||
|
invisible: true, |
||||||
|
ref(ref: any) { |
||||||
|
More = ref; |
||||||
|
}, |
||||||
}, |
}, |
||||||
|
], |
||||||
|
}; |
||||||
|
BI.Popovers.create(id, { |
||||||
|
type: 'bi.popover', |
||||||
|
cls:'popover-notitle', |
||||||
|
extraCls:'bi-custom-show', |
||||||
|
size: 'normal', |
||||||
|
width: 450, |
||||||
|
height: 220, |
||||||
|
body, |
||||||
|
ref(ref: any) { |
||||||
|
Popover = ref; |
||||||
}, |
}, |
||||||
], |
}).open(id); |
||||||
}).open(id); |
|
||||||
}; |
return id; |
||||||
|
} |
||||||
|
|
||||||
|
public close(id: string): void{ |
||||||
|
BI.Popovers.close(id); |
||||||
|
} |
||||||
|
public show(body: any, autoClose = 0): string { |
||||||
|
const id = BI.UUID(); |
||||||
|
BI.Popovers.create(id, { |
||||||
|
type: 'bi.popover', |
||||||
|
cls:'popover-notitle', |
||||||
|
extraCls:'bi-custom-show', |
||||||
|
size: 'normal', |
||||||
|
width: 450, |
||||||
|
height: 220, |
||||||
|
body, |
||||||
|
}).open(id); |
||||||
|
if (autoClose > 0) { |
||||||
|
setTimeout(() => { |
||||||
|
this.close(id); |
||||||
|
}, autoClose); |
||||||
|
} |
||||||
|
|
||||||
|
return id; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
export default new Dialog(); |
||||||
|
Loading…
Reference in new issue