|
@@ -47,13 +47,16 @@ import { lastValueFrom } from 'rxjs';
|
|
|
import SystemConst from '@/utils/const';
|
|
import SystemConst from '@/utils/const';
|
|
|
import DB from '@/db';
|
|
import DB from '@/db';
|
|
|
import _ from 'lodash';
|
|
import _ from 'lodash';
|
|
|
-import { InstanceModel } from '@/pages/device/Instance';
|
|
|
|
|
|
|
+// import { InstanceModel } from '@/pages/device/Instance';
|
|
|
import FRuleEditor from '@/components/FRuleEditor';
|
|
import FRuleEditor from '@/components/FRuleEditor';
|
|
|
import FIndicators from '@/components/FIndicators';
|
|
import FIndicators from '@/components/FIndicators';
|
|
|
import { action } from '@formily/reactive';
|
|
import { action } from '@formily/reactive';
|
|
|
import { asyncUpdateMedata, updateMetadata } from '../../metadata';
|
|
import { asyncUpdateMedata, updateMetadata } from '../../metadata';
|
|
|
import { onlyMessage } from '@/utils/util';
|
|
import { onlyMessage } from '@/utils/util';
|
|
|
import Editable from '@/components/Metadata/EditTable';
|
|
import Editable from '@/components/Metadata/EditTable';
|
|
|
|
|
+import InputSelect from '../../../InputSelect';
|
|
|
|
|
+import { InstanceModel, service as instanceService } from '@/pages/device/Instance';
|
|
|
|
|
+import { useParams } from 'umi';
|
|
|
|
|
|
|
|
interface Props {
|
|
interface Props {
|
|
|
type: 'product' | 'device';
|
|
type: 'product' | 'device';
|
|
@@ -63,6 +66,7 @@ interface Props {
|
|
|
const Edit = observer((props: Props) => {
|
|
const Edit = observer((props: Props) => {
|
|
|
const intl = useIntl();
|
|
const intl = useIntl();
|
|
|
const [loading, setLoading] = useState<boolean>(false);
|
|
const [loading, setLoading] = useState<boolean>(false);
|
|
|
|
|
+ const param = useParams<{ id: string }>();
|
|
|
const form = useMemo(
|
|
const form = useMemo(
|
|
|
() =>
|
|
() =>
|
|
|
createForm({
|
|
createForm({
|
|
@@ -173,6 +177,7 @@ const Edit = observer((props: Props) => {
|
|
|
DatePicker,
|
|
DatePicker,
|
|
|
Switch,
|
|
Switch,
|
|
|
FIndicators,
|
|
FIndicators,
|
|
|
|
|
+ InputSelect,
|
|
|
},
|
|
},
|
|
|
scope: {
|
|
scope: {
|
|
|
async asyncOtherConfig(field: Field) {
|
|
async asyncOtherConfig(field: Field) {
|
|
@@ -249,12 +254,13 @@ const Edit = observer((props: Props) => {
|
|
|
defaultMessage: '单位',
|
|
defaultMessage: '单位',
|
|
|
}),
|
|
}),
|
|
|
'x-decorator': 'FormItem',
|
|
'x-decorator': 'FormItem',
|
|
|
- 'x-component': 'Select',
|
|
|
|
|
|
|
+ 'x-component': 'InputSelect',
|
|
|
'x-visible': false,
|
|
'x-visible': false,
|
|
|
'x-component-props': {
|
|
'x-component-props': {
|
|
|
showSearch: true,
|
|
showSearch: true,
|
|
|
showArrow: true,
|
|
showArrow: true,
|
|
|
allowClear: true,
|
|
allowClear: true,
|
|
|
|
|
+ mode: 'tags',
|
|
|
filterOption: (input: string, option: any) =>
|
|
filterOption: (input: string, option: any) =>
|
|
|
option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0,
|
|
option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0,
|
|
|
},
|
|
},
|
|
@@ -326,21 +332,22 @@ const Edit = observer((props: Props) => {
|
|
|
'x-decorator': 'FormItem',
|
|
'x-decorator': 'FormItem',
|
|
|
'x-component': 'Select',
|
|
'x-component': 'Select',
|
|
|
enum: DateTypeList,
|
|
enum: DateTypeList,
|
|
|
- default: 'string',
|
|
|
|
|
|
|
+ // default: 'yyyy-MM-DD HH:mm:ss',
|
|
|
|
|
+ 'x-visible': false,
|
|
|
'x-validator': [
|
|
'x-validator': [
|
|
|
{
|
|
{
|
|
|
required: true,
|
|
required: true,
|
|
|
message: '请选择时间格式',
|
|
message: '请选择时间格式',
|
|
|
},
|
|
},
|
|
|
],
|
|
],
|
|
|
- 'x-reactions': {
|
|
|
|
|
- dependencies: ['.type'],
|
|
|
|
|
- fulfill: {
|
|
|
|
|
- state: {
|
|
|
|
|
- visible: "{{['date'].includes($deps[0])}}",
|
|
|
|
|
- },
|
|
|
|
|
- },
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ // 'x-reactions': {
|
|
|
|
|
+ // dependencies: ['.type'],
|
|
|
|
|
+ // fulfill: {
|
|
|
|
|
+ // state: {
|
|
|
|
|
+ // visible: "{{['date'].includes($deps[0])}}",
|
|
|
|
|
+ // },
|
|
|
|
|
+ // },
|
|
|
|
|
+ // },
|
|
|
},
|
|
},
|
|
|
enumConfig: {
|
|
enumConfig: {
|
|
|
title: intl.formatMessage({
|
|
title: intl.formatMessage({
|
|
@@ -1330,6 +1337,12 @@ const Edit = observer((props: Props) => {
|
|
|
typeMap.set('device', InstanceModel.detail);
|
|
typeMap.set('device', InstanceModel.detail);
|
|
|
const { type } = MetadataModel;
|
|
const { type } = MetadataModel;
|
|
|
|
|
|
|
|
|
|
+ const resetMetadata = async () => {
|
|
|
|
|
+ const resp = await instanceService.detail(param.id);
|
|
|
|
|
+ if (resp.status === 200) {
|
|
|
|
|
+ InstanceModel.detail = resp?.result || [];
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
const saveMetadata = async (deploy?: boolean) => {
|
|
const saveMetadata = async (deploy?: boolean) => {
|
|
|
setLoading(true);
|
|
setLoading(true);
|
|
|
let params;
|
|
let params;
|
|
@@ -1381,6 +1394,7 @@ const Edit = observer((props: Props) => {
|
|
|
if (deploy) {
|
|
if (deploy) {
|
|
|
Store.set('product-deploy', deploy);
|
|
Store.set('product-deploy', deploy);
|
|
|
} else {
|
|
} else {
|
|
|
|
|
+ resetMetadata();
|
|
|
message.success({
|
|
message.success({
|
|
|
key: 'metadata',
|
|
key: 'metadata',
|
|
|
content: '操作成功!',
|
|
content: '操作成功!',
|