|
|
|
|
@ -17,13 +17,12 @@
|
|
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
<script lang="ts">
|
|
|
|
|
import { defineComponent, computed } from 'vue';
|
|
|
|
|
import { defineComponent, computed, ref } from 'vue';
|
|
|
|
|
|
|
|
|
|
import { Upload } from 'ant-design-vue';
|
|
|
|
|
import { useDesign } from '/@/hooks/web/useDesign';
|
|
|
|
|
import { useGlobSetting } from '/@/hooks/setting';
|
|
|
|
|
import { useI18n } from '/@/hooks/web/useI18n';
|
|
|
|
|
import { getToken } from '/@/utils/auth';
|
|
|
|
|
import { getFileAccessHttpUrl, getHeaders } from '/@/utils/common/compUtils';
|
|
|
|
|
|
|
|
|
|
export default defineComponent({
|
|
|
|
|
@ -55,6 +54,8 @@
|
|
|
|
|
}
|
|
|
|
|
const { domainUrl } = useGlobSetting();
|
|
|
|
|
const uploadUrl = domainUrl + '/sys/common/upload';
|
|
|
|
|
//文件列表
|
|
|
|
|
let uploadFileList = ref<any[]>([]);
|
|
|
|
|
//update-end-author:taoyan date:2022-5-13 for: 富文本上传图片不支持
|
|
|
|
|
const { t } = useI18n();
|
|
|
|
|
const { prefixCls } = useDesign('tinymce-img-upload');
|
|
|
|
|
@ -66,27 +67,31 @@
|
|
|
|
|
};
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
function handleChange(info: Recordable) {
|
|
|
|
|
const file = info.file;
|
|
|
|
|
const status = file?.status;
|
|
|
|
|
//const url = file?.response?.url;
|
|
|
|
|
const name = file?.name;
|
|
|
|
|
|
|
|
|
|
if (status === 'uploading') {
|
|
|
|
|
if (!uploading) {
|
|
|
|
|
emit('uploading', name);
|
|
|
|
|
uploading = true;
|
|
|
|
|
}
|
|
|
|
|
} else if (status === 'done') {
|
|
|
|
|
//update-begin-author:taoyan date:2022-5-13 for: 富文本上传图片不支持
|
|
|
|
|
let realUrl = getFileAccessHttpUrl(file.response.message);
|
|
|
|
|
emit('done', name, realUrl);
|
|
|
|
|
//update-end-author:taoyan date:2022-5-13 for: 富文本上传图片不支持
|
|
|
|
|
uploading = false;
|
|
|
|
|
} else if (status === 'error') {
|
|
|
|
|
function handleChange({ file, fileList }) {
|
|
|
|
|
if (file.status === 'error') {
|
|
|
|
|
emit('error');
|
|
|
|
|
uploading = false;
|
|
|
|
|
}
|
|
|
|
|
let files = [] as any;
|
|
|
|
|
let noUploadingFileCount = 0;
|
|
|
|
|
if (file.status != 'uploading') {
|
|
|
|
|
fileList.forEach((file) => {
|
|
|
|
|
if (file.status === 'done' && file.response.success) {
|
|
|
|
|
files.push(file);
|
|
|
|
|
}
|
|
|
|
|
if (file.status != 'uploading') {
|
|
|
|
|
noUploadingFileCount++;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (noUploadingFileCount == fileList.length) {
|
|
|
|
|
fileList.forEach((file) => {
|
|
|
|
|
const name = file?.name;
|
|
|
|
|
let realUrl = getFileAccessHttpUrl(file.response.message);
|
|
|
|
|
emit('done', name, realUrl);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
@ -97,6 +102,7 @@
|
|
|
|
|
getBizData,
|
|
|
|
|
t,
|
|
|
|
|
getButtonProps,
|
|
|
|
|
uploadFileList
|
|
|
|
|
};
|
|
|
|
|
},
|
|
|
|
|
});
|
|
|
|
|
|