Commit 39ecb8f4 by zhaochengxiang

服务下线

parent dea31490
...@@ -57,10 +57,6 @@ export function* nextState(payload) { ...@@ -57,10 +57,6 @@ export function* nextState(payload) {
return yield call(pds.nextState, payload); return yield call(pds.nextState, payload);
} }
export function* offlineDataService(payload) {
return yield call(pds.offlineDataService, payload);
}
export function* checkoutService(payload) { export function* checkoutService(payload) {
return yield call(pds.checkoutService, payload); return yield call(pds.checkoutService, payload);
} }
...@@ -101,6 +97,10 @@ export function* release(payload) { ...@@ -101,6 +97,10 @@ export function* release(payload) {
return yield call(pds.release, payload) return yield call(pds.release, payload)
} }
export function* offline(payload) {
return yield call(pds.offline, payload);
}
export function* getSmartBiUrl(payload) { export function* getSmartBiUrl(payload) {
return yield call(pds.getSmartBiUrl, payload) return yield call(pds.getSmartBiUrl, payload)
} }
......
...@@ -56,10 +56,6 @@ export function nextState(payload) { ...@@ -56,10 +56,6 @@ export function nextState(payload) {
return GetJSON("/pdataservice/pdsCURD/nextState", payload); return GetJSON("/pdataservice/pdsCURD/nextState", payload);
} }
export function offlineDataService(payload) {
return Post("/pdataservice/pdsCURD/offlineDataService", payload)
}
export function checkoutService(payload) { export function checkoutService(payload) {
return GetJSON("/pdataservice/pdsCURD/checkOutDataService", payload) return GetJSON("/pdataservice/pdsCURD/checkOutDataService", payload)
} }
...@@ -100,6 +96,10 @@ export function release(payload) { ...@@ -100,6 +96,10 @@ export function release(payload) {
return PostJSON("/pdataservice/pdsWorkflow/kickoffRelease", payload) return PostJSON("/pdataservice/pdsWorkflow/kickoffRelease", payload)
} }
export function offline(payload) {
return PostJSON("/pdataservice/pdsWorkflow/kickoffOffline", payload)
}
export function getSmartBiUrl(payload) { export function getSmartBiUrl(payload) {
return Get(`/${payload.url}`); return Get(`/${payload.url}`);
} }
......
...@@ -974,9 +974,9 @@ const ModelTable = (props) => { ...@@ -974,9 +974,9 @@ const ModelTable = (props) => {
</RcItem> </RcItem>
} }
{ {
getDataModelerRole(user)!==DataModelerRoleReader && view!=='grant' && currentItem?.supportOffline && <RcItem id="offline" onClick={handleItemClick} > // getDataModelerRole(user)!==DataModelerRoleReader && view!=='grant' && currentItem?.supportOffline && <RcItem id="offline" onClick={handleItemClick} >
下线 // 下线
</RcItem> // </RcItem>
} }
{ {
getDataModelerRole(user)!==DataModelerRoleReader && view!=='grant' && !isOnlyEnding && currentItem?.supportODataEnable && <RcItem id="enableOData" onClick={handleItemClick}> getDataModelerRole(user)!==DataModelerRoleReader && view!=='grant' && !isOnlyEnding && currentItem?.supportODataEnable && <RcItem id="enableOData" onClick={handleItemClick}>
......
import React, { useState } from 'react';
import { Modal, Form, Input } from 'antd';
import LocalStorage from 'local-storage';
import { dispatchLatest } from '../../../../model';
import { showMessage, showNotifaction } from '../../../../util';
const FC = (props) => {
const { visible, onCancel, ids } = props;
const [ form ] = Form.useForm();
const [ confirmLoading, setConfirmLoading ] = useState(false);
const formItemLayout = {
labelCol: {
xs: { span: 24 },
sm: { span: 4 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 20 },
},
};
const handleOk = async () => {
try {
const values = await form.validateFields();
setConfirmLoading(true);
dispatchLatest({
type: 'pds.offline',
payload: {
params: {
reason: values?.desc
},
data: ids
},
callback: () => {
reset();
showMessage('success', '下线成功!')
onCancel && onCancel(true);
},
error: () => {
setConfirmLoading(false);
}
})
} catch (errInfo) {
}
}
const reset = () => {
setConfirmLoading(false);
form.resetFields();
}
return (
<Modal
forceRender
visible={visible}
title='服务下线'
width={520}
confirmLoading={confirmLoading}
onCancel={() => {
reset();
onCancel && onCancel();
}}
onOk={handleOk}
>
<Form
{...formItemLayout}
form={form}
>
<Form.Item
label="下线原因"
name="desc"
rules={[{ required: true, message: '请填写下线原因' }]}
>
<Input.TextArea rows={6} />
</Form.Item>
</Form>
</Modal>
);
}
export default FC;
\ No newline at end of file
...@@ -22,6 +22,7 @@ import DebounceInput from './Component/DebounceInput'; ...@@ -22,6 +22,7 @@ import DebounceInput from './Component/DebounceInput';
import ColSettingModal from './Component/ColSettingModal'; import ColSettingModal from './Component/ColSettingModal';
import StartAuthorize from './Component/StartAuthorize'; import StartAuthorize from './Component/StartAuthorize';
import StartRelease from './Component/StartRelease'; import StartRelease from './Component/StartRelease';
import Offline from './Component/Offline';
import './index.less'; import './index.less';
...@@ -67,6 +68,7 @@ class Model extends React.Component { ...@@ -67,6 +68,7 @@ class Model extends React.Component {
services: [] services: []
}, },
startReleaseVisible: false, startReleaseVisible: false,
offlineVisible: false,
} }
} }
...@@ -344,6 +346,16 @@ class Model extends React.Component { ...@@ -344,6 +346,16 @@ class Model extends React.Component {
this.setState({ startReleaseVisible: true }) this.setState({ startReleaseVisible: true })
} }
onOfflineBtnClick = () => {
const { selectModelerIds } = this.state;
if ((selectModelerIds||[]).length === 0) {
showMessage('info', '请先选择服务');
return;
}
this.setState({ offlineVisible: true })
}
onBatchDeleteBtnClick = () => { onBatchDeleteBtnClick = () => {
const { selectModelerIds } = this.state; const { selectModelerIds } = this.state;
...@@ -497,6 +509,15 @@ class Model extends React.Component { ...@@ -497,6 +509,15 @@ class Model extends React.Component {
} }
} }
onOfflineCancel = (refresh = false) => {
this.setState({ offlineVisible: false });
if (refresh) {
this.setState({ selectModelerIds: [] }, () => {
this.onTableChange();
});
}
}
onHistoryAndVersionDrawerCancel = () => { onHistoryAndVersionDrawerCancel = () => {
this.setState({ historyAndVersionDrawerVisible: false }); this.setState({ historyAndVersionDrawerVisible: false });
} }
...@@ -650,6 +671,12 @@ class Model extends React.Component { ...@@ -650,6 +671,12 @@ class Model extends React.Component {
</Tooltip> </Tooltip>
</Space> </Space>
<Space>
<Tooltip title={(selectModelerIds||[]).length===0?'请先选择服务':''}>
<Button onClick={this.onOfflineBtnClick} disabled={(selectModelerIds||[]).length===0}>下线</Button>
</Tooltip>
</Space>
{/* <Space> {/* <Space>
<Tooltip title={(selectModelerIds||[]).length===0?'请先选择服务':''}> <Tooltip title={(selectModelerIds||[]).length===0?'请先选择服务':''}>
<Button onClick={this.onBatchDeleteBtnClick} disabled={(selectModelerIds||[]).length===0}>删除</Button> <Button onClick={this.onBatchDeleteBtnClick} disabled={(selectModelerIds||[]).length===0}>删除</Button>
...@@ -759,6 +786,12 @@ class Model extends React.Component { ...@@ -759,6 +786,12 @@ class Model extends React.Component {
ids={selectModelerIds} ids={selectModelerIds}
onCancel={this.onStartReleaseCancel} onCancel={this.onStartReleaseCancel}
/> />
<Offline
visible={this.state.offlineVisible}
ids={selectModelerIds}
onCancel={this.onOfflineCancel}
/>
</div> </div>
); );
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment