提交 d22bd55e 编写于 作者: Cano1997's avatar Cano1997

update: 表格编辑列样式优化

上级 21d4f187
...@@ -26,6 +26,10 @@ export const IBizGridFileUploadPopover = defineComponent({ ...@@ -26,6 +26,10 @@ export const IBizGridFileUploadPopover = defineComponent({
}>, }>,
required: true, required: true,
}, },
width: {
type: Number,
default: 300,
},
}, },
emits: { emits: {
close: (_result: { isModified: boolean; resultFiles: FileInfo[] }) => true, close: (_result: { isModified: boolean; resultFiles: FileInfo[] }) => true,
...@@ -92,7 +96,11 @@ export const IBizGridFileUploadPopover = defineComponent({ ...@@ -92,7 +96,11 @@ export const IBizGridFileUploadPopover = defineComponent({
}, },
render() { render() {
return ( return (
<div ref='componentRef' style={'width:300px'} class={this.ns.b()}> <div
ref='componentRef'
style={{ width: `${this.width}px` }}
class={this.ns.b()}
>
<div class={this.ns.b('list')}> <div class={this.ns.b('list')}>
{this.fileList.map(file => { {this.fileList.map(file => {
return ( return (
......
...@@ -42,6 +42,11 @@ export const IBizGridFileUpload = defineComponent({ ...@@ -42,6 +42,11 @@ export const IBizGridFileUpload = defineComponent({
if (!componentRef.value) { if (!componentRef.value) {
throw new RuntimeError('容器元素不存在'); throw new RuntimeError('容器元素不存在');
} }
let width = 300;
const model = controller.value.model.parentItem as IData;
if (model && model._gridFieldColumn) {
width = model._gridFieldColumn.width;
}
const el = componentRef.value.$el as HTMLElement; const el = componentRef.value.$el as HTMLElement;
const elHeight = el.offsetHeight; const elHeight = el.offsetHeight;
const popover = ibiz.overlay.createPopover( const popover = ibiz.overlay.createPopover(
...@@ -51,6 +56,7 @@ export const IBizGridFileUpload = defineComponent({ ...@@ -51,6 +56,7 @@ export const IBizGridFileUpload = defineComponent({
value: valueList.value, value: valueList.value,
uploadUrl: uploadUrl.value, uploadUrl: uploadUrl.value,
downloadUrl: downloadUrl.value, downloadUrl: downloadUrl.value,
width,
}, },
on: { on: {
close: (result: { close: (result: {
...@@ -108,55 +114,62 @@ export const IBizGridFileUpload = defineComponent({ ...@@ -108,55 +114,62 @@ export const IBizGridFileUpload = defineComponent({
openImagePreview(file); openImagePreview(file);
}; };
return { const renderContent = () => {
ns, if (!valueList.value.length) {
valueList,
componentRef,
onFileClick,
onImageClick,
};
},
render() {
return ( return (
<grid-editor <div class={ns.e('add')}>
disabled={this.disabled} <i class='ivu-icon ivu-icon-ios-add-circle-outline'></i>
readonly={this.readonly} 添加文件
ref='componentRef' </div>
class={`${this.ns.b()}`} );
> }
{this.valueList.map(file => { return valueList.value.map(file => {
return ( return (
<i-tooltip <i-tooltip
class={[ class={[
this.ns.e('item'), ns.e('item'),
file.isImage file.isImage ? ns.em('item', 'image') : ns.em('item', 'file'),
? this.ns.em('item', 'image')
: this.ns.em('item', 'file'),
]} ]}
content={file.name} content={file.name}
transfer transfer
placement='top' placement='top'
nativeOnClick={() => this.onFileClick(file)} nativeOnClick={() => onFileClick(file)}
> >
{file.isImage ? ( {file.isImage ? (
<img <img
onClick={() => this.onImageClick(file)} onClick={() => onImageClick(file)}
class={this.ns.e('item-image')} class={ns.e('item-image')}
src={file.url} src={file.url}
/> />
) : ( ) : (
[ [
<span class={this.ns.e('item-file-name')}> <span class={ns.e('item-file-name')}>{file.fileName}</span>,
{file.fileName} <span class={ns.e('item-file-ext')}>{file.fileExt}</span>,
</span>,
<span class={this.ns.e('item-file-ext')}>
{file.fileExt}
</span>,
] ]
)} )}
</i-tooltip> </i-tooltip>
); );
})} });
};
return {
ns,
valueList,
componentRef,
onFileClick,
onImageClick,
renderContent,
};
},
render() {
return (
<grid-editor
disabled={this.disabled}
readonly={this.readonly}
ref='componentRef'
class={`${this.ns.b()}`}
>
{this.renderContent()}
</grid-editor> </grid-editor>
); );
}, },
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册