diff --git a/components/apolloTable/component/base/extra/upload/index.tsx b/components/apolloTable/component/base/extra/upload/index.tsx
index 1713a0af5f208a9eaa899eea7faeaa7170db1d69..5877b4e75e5098b09c51165faeded2ffea75f5d7 100644
--- a/components/apolloTable/component/base/extra/upload/index.tsx
+++ b/components/apolloTable/component/base/extra/upload/index.tsx
@@ -11,7 +11,9 @@ message.config({
});
const UploadCom = (props) => {
- const { onChange, CDN_HOST, getFormat, setFormat, data, maxLength, disabled } = props;
+ const {
+ onChange, CDN_HOST, getFormat, setFormat, data, maxLength, disabled,
+ } = props;
const selfProps = antiAssign(props, ['onChange', 'CDN_HOST', 'data']);
const getFormatFileList = (fileList = []) => {
if (!fileList) {
@@ -30,6 +32,7 @@ const UploadCom = (props) => {
value: item.value,
size: item.size,
uid: item.value,
+ status: 'done',
...checkoutFileType(item.value),
};
});
@@ -48,6 +51,7 @@ const UploadCom = (props) => {
name: file.name,
value: url,
size: file.size,
+ status: 'done',
...checkoutFileType(url),
};
};
@@ -106,9 +110,9 @@ const UploadCom = (props) => {
const previewFile = (file) => {
return new Promise((res, rej) => {
const obj = checkoutFileType(file.name);
- const typeArr = file.name.match(/\.[a-zA-Z]+$/);
+ const typeArr = file.name.match(/\.[a-zA-Z0-9]+$/);
const type = typeArr && typeArr[0] ? typeArr[0].replace('.', '') : '';
- if (!['png', 'gif', 'bmp', 'jpg', 'jpeg'].includes(type)) {
+ if (!['png', 'gif', 'bmp', 'jpg', 'jpeg', 'heic'].includes(type)) {
res(obj.thumbUrl);
}
});
@@ -125,6 +129,10 @@ const UploadCom = (props) => {
onSaveFileList(newFileList);
};
+ const onDownload = (file) => {
+ window.open(file.value);
+ };
+
const beforeUpload = async () => {
await getToken();
return true;
@@ -144,6 +152,7 @@ const UploadCom = (props) => {
onRemove={onRemove}
previewFile={previewFile}
onPreview={onPreview}
+ onDownload={onDownload}
showUploadList={{
showPreviewIcon: true,
showRemoveIcon: true,
diff --git a/components/apolloTable/component/base/extra/upload/preview.tsx b/components/apolloTable/component/base/extra/upload/preview.tsx
index 3f4fa4ced81f7b4b07149556e05325877a187066..0b2c885dba2c7c1e01a2e72f688bd5c46e6edb7d 100644
--- a/components/apolloTable/component/base/extra/upload/preview.tsx
+++ b/components/apolloTable/component/base/extra/upload/preview.tsx
@@ -10,14 +10,12 @@ export default class uploadDetail extends React.Component {
};
onPreview = (url:string, name:string) => {
- console.log('name: ', name);
- console.log('url: ', url);
const nameTypeArr = name.match(/\.[a-zA-Z0-9]+$/);
const urlTypeArr = url.match(/\.[a-zA-Z0-9]+$/);
const typeArr = nameTypeArr || urlTypeArr;
let type = typeArr && typeArr[0] ? typeArr[0].replace('.', '') : '';
type = type.toLowerCase();
- if (['png', 'gif', 'bmp', 'jpg', 'jpeg'].includes(type)) {
+ if (['png', 'gif', 'bmp', 'jpg', 'jpeg', 'heic'].includes(type)) {
this.setState({ showDialog: true, type: 'image', url });
} else if (['doc', 'docx', 'document', 'xls', 'xlsx', 'ppt', 'pptx'].includes(type)) {
this.setState({ showDialog: true, type: 'office', url });
diff --git a/components/apolloTable/component/base/extra/upload/utils.ts b/components/apolloTable/component/base/extra/upload/utils.ts
index 8cc0d0f376c9cecc339ff325a97e749f57dae60d..5fd02e4e6da3afa869682006f684a116a3134d0c 100644
--- a/components/apolloTable/component/base/extra/upload/utils.ts
+++ b/components/apolloTable/component/base/extra/upload/utils.ts
@@ -4,7 +4,7 @@ export const checkoutFileType = (url = '') => {
const typeArr = url.match(/\.[a-zA-Z0-9]+$/);
let type = typeArr && typeArr[0] ? typeArr[0].replace('.', '') : '';
type = type.toLowerCase();
- if (type === 'png' || type === 'jpg' || type === 'gif' || type === 'bmp' || type === 'jpeg') {
+ if (type === 'png' || type === 'jpg' || type === 'gif' || type === 'bmp' || type === 'jpeg' || type === 'heic') {
return { thumbUrl: `${url}?imageView2/1/w/120/h/120`, fileType: type };
}
return fileType[type] ? fileType[type] : fileType.other;
diff --git a/components/apolloTable/editFormV3/index.less b/components/apolloTable/editFormV3/index.less
index 624b369e801688be5aefa401f7de887407d4a403..9f2fffd3886bd7aa64aca001379fcd22a538030f 100644
--- a/components/apolloTable/editFormV3/index.less
+++ b/components/apolloTable/editFormV3/index.less
@@ -41,6 +41,11 @@
.itemTitle {
margin-left: @marginSm;
color: @textPrimaryColor;
+ margin-right: 2px;
+ }
+ .remarkIcon{
+ color: #AEB4BA;
+ cursor: pointer;
}
}
}
diff --git a/components/apolloTable/editFormV3/index.tsx b/components/apolloTable/editFormV3/index.tsx
index efb23020d78c7a848d6af87d0b9b2d88a221d891..6b6571c59ca406fbb3da3c210fd31a5d953d1849 100644
--- a/components/apolloTable/editFormV3/index.tsx
+++ b/components/apolloTable/editFormV3/index.tsx
@@ -14,8 +14,9 @@
* 失去焦点:onBlurFn
* */
import React, { Component } from 'react';
-import { Form, Button, message } from 'antd';
+import { Form, Button, message, Tooltip } from 'antd';
import _ from 'lodash';
+import IconFont from '@/submodule/components/IconFont/IconFont';
import { emptyModel } from '../component/base/_utils/setFormatter';
import { defaultLocale } from '../locale';
import { config } from '../component/base/config';
@@ -33,7 +34,9 @@ class FormWrap extends Component {
handleSubmit = (e) => {
e.preventDefault();
e.stopPropagation();
- const { rowId, form, handleSubmit, data, rowData, detailType } = this.props;
+ const {
+ rowId, form, handleSubmit, data, rowData, detailType,
+ } = this.props;
form.validateFieldsAndScroll((err, values) => {
if (!err) {
const newValues: any[] = [];
@@ -86,6 +89,11 @@ class FormWrap extends Component {
{/* icon && {icon}
*/}
{item.columnChsName}
+ {item.columnAttrObj?.remark && (
+
+
+
+ )}
);
};
@@ -94,12 +102,12 @@ class FormWrap extends Component {
// 可输可选组件清空时数据格式有问题,单独处理一下
if (item.requiredFlag && Number(item.columnType) === 15 && typeof value === 'object') {
if (
- !value.label &&
- value.label !== 0 &&
- !value.text &&
- value.text !== 0 &&
- !value.value &&
- value.value !== 0
+ !value.label
+ && value.label !== 0
+ && !value.text
+ && value.text !== 0
+ && !value.value
+ && value.value !== 0
) {
return callback('必填项不能为空');
}
@@ -139,8 +147,8 @@ class FormWrap extends Component {
const disabled = readOnlyFlag || (dynamicCellConfigDTO && dynamicCellConfigDTO.readonlyFlag);
const emitChange = (changedValue: any, optionValue: any) => {
let temp: any[] = [];
- value &&
- value.map((item: any) => {
+ value
+ && value.map((item: any) => {
temp.push({ text: item.text, value: item.value });
});
if (temp.length === 0) {
@@ -232,7 +240,9 @@ class FormWrap extends Component {
};
render() {
- const { loading, isShowDelBtn, data, btnWrapStyle, name, colsNum, delLabel, hideOperateBtn } = this.props;
+ const {
+ loading, isShowDelBtn, data, btnWrapStyle, name, colsNum, delLabel, hideOperateBtn,
+ } = this.props;
return (