提交 373ee1cd 编写于 作者: tony001's avatar tony001

Merge branch 'dev'

...@@ -9,6 +9,9 @@ ...@@ -9,6 +9,9 @@
:disabled="disabled" :disabled="disabled"
:file-list="files" :file-list="files"
:action="uploadUrl" :action="uploadUrl"
:limit="multiple ? limit: 1"
:accept="accept"
:multiple="multiple"
:headers="{}" :headers="{}"
:before-upload="beforeUpload" :before-upload="beforeUpload"
:before-remove="onRemove" :before-remove="onRemove"
...@@ -17,6 +20,7 @@ ...@@ -17,6 +20,7 @@
:on-preview="onDownload" :on-preview="onDownload"
:drag="isdrag" :drag="isdrag"
:show-file-list="!rowPreview" :show-file-list="!rowPreview"
:on-exceed = "handleExceed"
> >
<el-button v-if="!isdrag" size='small' icon='el-icon-upload' :disabled="disabled">{{this.$t('app.fileUpload.caption')}}</el-button> <el-button v-if="!isdrag" size='small' icon='el-icon-upload' :disabled="disabled">{{this.$t('app.fileUpload.caption')}}</el-button>
<i v-if="isdrag" class="el-icon-upload"></i> <i v-if="isdrag" class="el-icon-upload"></i>
...@@ -173,6 +177,30 @@ export default class AppFileUpload extends Vue { ...@@ -173,6 +177,30 @@ export default class AppFileUpload extends Vue {
*/ */
@Prop() public exportparams?: any; @Prop() public exportparams?: any;
/**
* 是否支持多个文件上传
*
* @type {string}
* @memberof AppFileUpload
*/
@Prop({default: true}) public multiple!: boolean;
/**
* 最大允许上传个数
*
* @type {*}
* @memberof AppImageUpload
*/
@Prop({default: 9999}) public limit!: number;
/**
* 接受上传的文件类型
*
* @type {*}
* @memberof AppImageUpload
*/
@Prop({default: '*'}) public accept!: string;
/** /**
* 上传文件路径 * 上传文件路径
* *
...@@ -473,6 +501,14 @@ export default class AppFileUpload extends Vue { ...@@ -473,6 +501,14 @@ export default class AppFileUpload extends Vue {
*/ */
public showActions: boolean = false; public showActions: boolean = false;
/**
* 处理多选超出
*
* @memberof AppFileUpload
*/
public handleExceed(files: any, fileList: any) {
this.$message.warning(`${this.$t('components.appFileUpload.limitselect')} ${this.limit}`);
}
} }
</script> </script>
......
<template> <template>
<div class="app-icon-menus"> <div class="app-icon-menus">
<template v-for="(item,index) in menus"> <template v-for="(item,index) in menus">
<div :bordered="false" v-if="item.items && Array.isArray(item.items)" :key="index" :class="item.textcls"> <template v-if="!item.hidden">
<p @click="$emit('menuClick',item.name, [item.name])"> <div :bordered="false" v-if="item.items && Array.isArray(item.items)" :key="index" :class="item.textcls">
<span>{{$t('app.menus.' + ctrlName + '.' + item.name)}}</span> <p @click="$emit('menuClick',item.name, [item.name])">
<span class="line"></span> <span>{{$t('app.menus.' + ctrlName + '.' + item.name)}}</span>
</p> <span class="line"></span>
<p style=" display: 'flex' "> </p>
<app-icon-menus :menus="item.items" :ctrlName = "ctrlName" @menuClick="menuClick"></app-icon-menus> <p style=" display: 'flex' ">
</p> <app-icon-menus :menus="item.items" :ctrlName = "ctrlName" @menuClick="menuClick"></app-icon-menus>
</div> </p>
<el-card
:key="index"
shadow="never"
:class="item.textcls"
v-else
>
<div @click="menuClick(item.name,[item.name])" class="menuIcon" >
<span v-if="isIcon(item.icon,item.iconcls)">
<i :class="item.icon" v-if="!Object.is(item.icon, '')" />
<i :class="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<span v-else>
<img :src="item.icon" v-if="!Object.is(item.icon, '')" />
<img :src="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<h4>{{$t('app.menus.' + ctrlName + '.' + item.name)}}</h4>
</div> </div>
</el-card> <el-card
:key="index"
shadow="never"
:class="item.textcls"
v-else
>
<div @click="menuClick(item.name,[item.name])" class="menuIcon" >
<span v-if="isIcon(item.icon,item.iconcls)">
<i :class="item.icon" v-if="!Object.is(item.icon, '')" />
<i :class="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<span v-else>
<img :src="item.icon" v-if="!Object.is(item.icon, '')" />
<img :src="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<h4>{{$t('app.menus.' + ctrlName + '.' + item.name)}}</h4>
</div>
</el-card>
</template>
</template> </template>
</div> </div>
</template> </template>
......
...@@ -32,11 +32,14 @@ ...@@ -32,11 +32,14 @@
<!-- 文件上传 --> <!-- 文件上传 -->
<el-upload <el-upload
v-if = "multiple || files.length === 0" v-if = "multiple || files.length === 0"
:limit="multiple ? limit: 1"
:class = "{'el-upload-disabled':disabled}" :class = "{'el-upload-disabled':disabled}"
:disabled = "disabled" :disabled = "disabled"
:action = "uploadUrl" :action = "uploadUrl"
:headers = "{ 'srfappdata': appData }" :headers = "{ 'srfappdata': appData }"
:show-file-list = "false" :show-file-list = "false"
:multiple="multiple"
:accept="accept"
list-type = "picture-card" list-type = "picture-card"
:file-list = "files" :file-list = "files"
:before-upload = "beforeUpload" :before-upload = "beforeUpload"
...@@ -44,6 +47,7 @@ ...@@ -44,6 +47,7 @@
:before-remove = "onRemove" :before-remove = "onRemove"
:on-error = "onError" :on-error = "onError"
:on-preview = "onDownload" :on-preview = "onDownload"
:on-exceed = "handleExceed"
> >
<i class="el-icon-plus"></i> <i class="el-icon-plus"></i>
</el-upload> </el-upload>
...@@ -180,6 +184,22 @@ export default class AppImageUpload extends Vue { ...@@ -180,6 +184,22 @@ export default class AppImageUpload extends Vue {
*/ */
@Prop() public customparams?: any; @Prop() public customparams?: any;
/**
* 最大允许上传个数
*
* @type {*}
* @memberof AppImageUpload
*/
@Prop({default: 9999}) public limit!: number;
/**
* 接受上传的文件类型
*
* @type {*}
* @memberof AppImageUpload
*/
@Prop({default: 'image/*'}) public accept!: string;
/** /**
* 上传文件路径 * 上传文件路径
* *
...@@ -472,6 +492,15 @@ export default class AppImageUpload extends Vue { ...@@ -472,6 +492,15 @@ export default class AppImageUpload extends Vue {
this.dialogImageUrl = file.url; this.dialogImageUrl = file.url;
this.dialogVisible = true; this.dialogVisible = true;
} }
/**
* 处理多选超出
*
* @memberof AppImageUpload
*/
public handleExceed(files: any, fileList: any) {
this.$message.warning(`${this.$t('components.appImageUpload.limitselect')} ${this.limit}`);
}
} }
</script> </script>
<style lang = "less"> <style lang = "less">
......
...@@ -68,6 +68,7 @@ function getLocaleResourceBase(){ ...@@ -68,6 +68,7 @@ function getLocaleResourceBase(){
uploadText: 'Drag files here,or <em>Click</em> to upload', uploadText: 'Drag files here,or <em>Click</em> to upload',
fileTypeErrorTitle: 'File type incorrect', fileTypeErrorTitle: 'File type incorrect',
fileTypeErrorInfo: 'Please select files with picture types,such as JPEG,GIF,PNG,BMP', fileTypeErrorInfo: 'Please select files with picture types,such as JPEG,GIF,PNG,BMP',
limitselect: 'The current number of restricted choices is ',
}, },
appFormDRUIPart: { appFormDRUIPart: {
blockUITipInfo: 'Please save the major data first', blockUITipInfo: 'Please save the major data first',
...@@ -208,7 +209,8 @@ function getLocaleResourceBase(){ ...@@ -208,7 +209,8 @@ function getLocaleResourceBase(){
groupSelect:'Group selection', groupSelect:'Group selection',
}, },
appImageUpload:{ appImageUpload:{
uploadFail:'Upload failed' uploadFail:'Upload failed',
limitselect: 'The current number of restricted choices is ',
}, },
appOrgSelect:{ appOrgSelect:{
loadFail:'Failed to load data' loadFail:'Failed to load data'
......
...@@ -69,6 +69,7 @@ function getLocaleResourceBase(){ ...@@ -69,6 +69,7 @@ function getLocaleResourceBase(){
uploadError: '上传失败', uploadError: '上传失败',
fileTypeErrorTitle: '文件类型错误', fileTypeErrorTitle: '文件类型错误',
fileTypeErrorInfo: '请选择图片类型的文件,如JPEG,GIF,PNG,BMP', fileTypeErrorInfo: '请选择图片类型的文件,如JPEG,GIF,PNG,BMP',
limitselect: '当前限制选择数量为 ',
}, },
appFormDRUIPart: { appFormDRUIPart: {
blockUITipInfo: '请先保存主数据', blockUITipInfo: '请先保存主数据',
...@@ -209,7 +210,8 @@ function getLocaleResourceBase(){ ...@@ -209,7 +210,8 @@ function getLocaleResourceBase(){
groupSelect:'分组选择', groupSelect:'分组选择',
}, },
appImageUpload:{ appImageUpload:{
uploadFail:'上传失败' uploadFail:'上传失败',
limitselect: '当前限制选择数量为 ',
}, },
appOrgSelect:{ appOrgSelect:{
loadFail:'加载数据失败' loadFail:'加载数据失败'
......
...@@ -278,6 +278,10 @@ ...@@ -278,6 +278,10 @@
.start-workflow-select-wraper { .start-workflow-select-wraper {
z-index: 3000 !important; z-index: 3000 !important;
} }
// tooltip最大宽度1166px
.el-tooltip__popper.is-dark{
max-width: 1166px;
}
/*** END:多数据视图属性布局 ***/ /*** END:多数据视图属性布局 ***/
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册