/*
|
* @Company: hugeInfo
|
* @Author: lwh
|
* @Date: 2022-03-11 17:01:10
|
* @LastEditTime: 2022-04-21 11:51:07
|
* @LastEditors: lwh
|
* @Version: 1.0.0
|
* @Description:客户管理-新增增强包
|
*/
|
import React, { useState, useEffect } from 'react';
|
import { useNavigate, useParams } from 'react-router-dom';
|
import PageHead from '../../../components/PageHead';
|
import { Card, Input, message, Button, Form, Select, DatePicker, Spin } from 'antd';
|
import * as $$ from '../../../utils/utility';
|
import moment from 'moment';
|
import './index.less';
|
const { Option } = Select;
|
const { RangePicker } = DatePicker;
|
// 查询列表 版本
|
function listQueryRsVersion() {
|
return $$.ax.request({ url: 'v1/rsVersion/listQuery', type: 'get', data: { status: '1' }, service: 'oper' });
|
}
|
|
// 保存修改版本和增强包
|
function saveSeCustomVer(data) {
|
return $$.ax.request({ url: 'v1/seCustom/saveSeCustomVer', type: 'POST', data, service: 'oper' });
|
}
|
|
// 详情
|
function getByIdSeCustom(id) {
|
return $$.ax.request({ url: 'v1/seCustom/getById', type: 'get', data: { id }, service: 'oper' });
|
}
|
|
const AddVersion = () => {
|
const [form] = Form.useForm();
|
const [versionList, setVersionList] = useState([]);
|
const [formData, setFormData] = useState({});
|
const [loading, setLoading] = useState(false);
|
const navigate = useNavigate();
|
const params = useParams();
|
//初始化组件回显
|
useEffect(() => {
|
getOrganization();
|
}, []);
|
|
const getOrganization = async () => {
|
const requestObj = await getByIdSeCustom(params.id);
|
setFormData(requestObj.data);
|
const list = await listQueryRsVersion();
|
let data = list.data.find((i) => i.id == params.verId);
|
console.log('data', data);
|
form.setFieldsValue({
|
...data,
|
verId: data.id,
|
verName: data.key,
|
versionPrice: data.price,
|
planPrice: data.price,
|
time: [moment(new Date()), moment(moment(new Date()).valueOf() + 86400000 * data.dead)],
|
openTime: moment([moment(new Date()), moment(moment(new Date()).valueOf() + 86400000 * data.dead)][0]).valueOf(),
|
expireTime: moment([moment(new Date()), moment(moment(new Date()).valueOf() + 86400000 * data.dead)][1]).valueOf(),
|
});
|
setVersionList(list.data);
|
};
|
|
const reset = () => {
|
form.resetFields();
|
};
|
|
const back = () => {
|
navigate(-1);
|
};
|
|
const save = async () => {
|
setLoading(true);
|
const row = await form.validateFields();
|
const tableData = form.getFieldValue();
|
const res = await saveSeCustomVer({ ...formData, seCustom: '', ...formData.seCustom, ...tableData, id: params.id });
|
setLoading(false);
|
if (res.type) {
|
message.success('提交成功!');
|
navigate(-1);
|
}
|
};
|
|
// 版本选择
|
const selectOnChange = (name, e, data) => {
|
const tableData = form.getFieldValue();
|
const version = versionList.find((i) => i.id == e);
|
//
|
form.setFieldsValue({
|
...tableData,
|
[name + 'Id']: data.value,
|
[name + 'Name']: data.key,
|
versionPrice: version.price,
|
planPrice: version.price,
|
time: [moment(new Date()), moment(moment(new Date()).valueOf() + 86400000 * version.dead)],
|
openTime: moment([moment(new Date()), moment(moment(new Date()).valueOf() + 86400000 * version.dead)][0]).valueOf(),
|
expireTime: moment([moment(new Date()), moment(moment(new Date()).valueOf() + 86400000 * version.dead)][1]).valueOf(),
|
});
|
};
|
|
const rangePickerChange = (name, date, dateString) => {
|
const tableData = form.getFieldValue();
|
form.setFieldsValue({
|
...tableData,
|
openTime: moment(date[0]).valueOf(),
|
expireTime: moment(date[1]).valueOf(),
|
});
|
};
|
|
return (
|
<>
|
<PageHead
|
breadcrumbData={[{ title: '客户管理', url: '/operation/customer' }, { title: '订购版本' }]}
|
title={params.title ? params.title : '订购版本'}
|
/>
|
<Spin spinning={loading}>
|
<Card style={{ margin: '24px', display: 'flex', justifyContent: 'center' }}>
|
<Form form={form} labelCol={{ style: { width: '100%', textAlign: 'left' } }} layout="vertical" component={false}>
|
<Form.Item label="版本" name="verId" rules={[{ required: true, message: `请选择版本` }]}>
|
<Select onChange={(e, data) => selectOnChange('ver', e, data)} placeholder="请选择版本" style={{ width: '320px' }} allowClear>
|
{versionList.map((item, index) => (
|
<Option key={item.name} value={item.id}>
|
{item.name}
|
</Option>
|
))}
|
</Select>
|
</Form.Item>
|
|
<Form.Item label="价格" name="planPrice" rules={[{ required: false, message: `请输入价格` }]}>
|
<Input type={'number'} prefix={'¥'} suffix={'元'} placeholder={`请输入价格`} style={{ width: '320px' }} />
|
</Form.Item>
|
|
<Form.Item label="版本开通(结束)时间" name="time" rules={[{ required: true, message: `请选择版本开通(结束)时间` }]}>
|
<RangePicker
|
onChange={(date, dateString) => {
|
rangePickerChange('time', date, dateString);
|
}}
|
format="YYYY-MM-DD"
|
disabledDate={(current) => current < moment().startOf('day')}
|
style={{ width: '320px' }}
|
/>
|
</Form.Item>
|
</Form>
|
<div className="add-version-foot-buttton">
|
<Button onClick={save} type="primary">
|
提交
|
</Button>
|
<Button onClick={reset}>重置</Button>
|
<Button onClick={back}>返回</Button>
|
</div>
|
</Card>
|
</Spin>
|
</>
|
);
|
};
|
|
export default AddVersion;
|