Commit de51b747 authored by superman's avatar superman

bug fixed

parent f4b6db9e
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -46,11 +46,15 @@ export default class AddItem extends Component {
data.customMessage.redirectType = this.state.redirectName;
data.customMessage.sendType = this.state.sendName;
data.customMessage.channelType = this.state.channelType;
if (!data.customMessage.contents) {
message.error('缺少消息正文');
return;
}
console.log(data);
this.props.dispatch({
type: 'CREATE_MESSAGE_ITEM',
data
item: data
});
}
......@@ -58,7 +62,7 @@ export default class AddItem extends Component {
const {loading, form:{getFieldProps}, location:{query}, dispatch} = this.props;
const operation = (
<HeaderOperation history={this.props.history} buttons={[{key:'rollback'}]}/>
<HeaderOperation history={this.props.history} buttons={[{key: 'rollback'}]}/>
);
const header = (
......@@ -80,7 +84,9 @@ export default class AddItem extends Component {
<Form.Item label="推送渠道" {...formItemLayout}>
<Row>
<Col span="6">
<Radio.Group onChange={(e)=>{this.setState({channelType: e.target.value})}}
<Radio.Group onChange={(e)=> {
this.setState({channelType: e.target.value})
}}
value={this.state.channelType}>
<Radio.Button key="b" value={3} checked={true}>APP</Radio.Button>
<Radio.Button key="a" value={1}>微信</Radio.Button>
......@@ -99,9 +105,9 @@ export default class AddItem extends Component {
<Select.Option value="3">手动导入</Select.Option>
</Select>
</Col>
<Col span="18" style={{paddingLeft:'.5em'}}>
<Col span="18" style={{paddingLeft: '.5em'}}>
<Input placeholder={sendNamePlaceholder[this.state.sendName]}
{...getFieldProps('customMessage.send')} />
{...getFieldProps('customMessage.send')} />
</Col>
</Row>
</Form.Item>
......@@ -120,9 +126,9 @@ export default class AddItem extends Component {
<Select.Option value="3">图片URL</Select.Option>
</Select>
</Col>
<Col span="18" style={{paddingLeft:'.5em'}}>
<Col span="18" style={{paddingLeft: '.5em'}}>
<Input placeholder={redirectNamePlaceholder[this.state.redirectName]}
{...getFieldProps('customMessage.redirect')} />
{...getFieldProps('customMessage.redirect')} />
</Col>
</Row>
</Form.Item>
......@@ -137,22 +143,29 @@ export default class AddItem extends Component {
</Form.Item>
<Form.Item label="消息摘要" {...formItemLayout}>
<Input placeholder="消息摘要" type="textarea"
autosize={{minRows:3, maxRows:10}} {...getFieldProps('customMessage.abstracts')} />
autosize={{
minRows: 3,
maxRows: 10
}} {...getFieldProps('customMessage.abstracts')} />
</Form.Item>
</div>
}
<Form.Item label="消息正文" help={
<div dangerouslySetInnerHTML={{__html: channelType === 1 ? '微信跳转链接模板: &lt;a href="此处替换跳转链接"&gt;此处替换显示内容&lt;/a&gt;' : '最多50个字符' }} />
} {...formItemLayout}>
<Input placeholder="消息正文" type="textarea" maxLength={ channelType === 1 ? 10000:50}
autosize={{minRows:3, maxRows:10}} {...getFieldProps('customMessage.contents')} />
<div
dangerouslySetInnerHTML={{__html: channelType === 1 ? '微信跳转链接模板: &lt;a href="此处替换跳转链接"&gt;此处替换显示内容&lt;/a&gt;' : '最多50个字符'}}/>
} {...formItemLayout}>
<Input placeholder="消息正文" type="textarea" maxLength={ channelType === 1 ? 10000 : 50}
autosize={{minRows: 3, maxRows: 10}} {...getFieldProps('customMessage.contents')} />
</Form.Item>
<Form.Item {...footerFormSubmitLayout} style={{marginTop:30}}>
<Form.Item {...footerFormSubmitLayout} style={{marginTop: 30}}>
<Button type="primary" htmlType="submit" loading={loading}><Icon type="save"/>立即推送</Button>
<Button onClick={e=>{e.preventDefault(); this.props.history.goBack();}}
style={{marginLeft:'1em'}}>
<Button onClick={e=> {
e.preventDefault();
this.props.history.goBack();
}}
style={{marginLeft: '1em'}}>
<Icon type="rollback"/>返回
</Button>
</Form.Item>
......
......@@ -48,7 +48,7 @@ export default class List extends Component {
current: parseInt(query.p, 10) || 1,
showSizeChanger: true,
showTotal: total => `共 ${total} 条`,
pageSizeOptions:['10', '30', '50', '100'],
pageSizeOptions: ['10', '30', '50', '100'],
onShowSizeChange: (current, pageSize)=> {
console.log('Current: ', current, '; PageSize: ', pageSize);
query.p = current;
......@@ -88,18 +88,24 @@ export default class List extends Component {
className: 'tac',
width: 120
}, {
title: '标题',
title: '标题/内容',
dataIndex: 'title',
key: 'title'
key: 'title',
render: (title, record)=>(
<span>
{title || (record.contents && (record.contents + '').substr(0, 100)) || '无标题'}
</span>
)
}
];
const buttons = [{
key:'add',
link:'/customMessages/create',
onClick:()=>{}
},{
key:'filter',
key: 'add',
link: '/customMessages/create',
onClick: ()=> {
}
}, {
key: 'filter',
}];
const operation = (
......@@ -113,10 +119,10 @@ export default class List extends Component {
return (
<Layout header={header}>
<Table className="list-table" columns={columns}
dataSource={Array.isArray(items)?items:[]}
dataSource={Array.isArray(items) ? items : []}
loading={loading}
pagination={pagination}
scroll={{ y: window.innerHeight-(this.state.filterVisible? 203 :150) }}
scroll={{y: window.innerHeight - (this.state.filterVisible ? 203 : 150)}}
onRowClick={this.handleRowClick.bind(this)}
/>
</Layout>
......
......@@ -129,7 +129,7 @@ export default class List extends Component {
document.body.appendChild(iframe);
setTimeout(()=> {
document.body.removeChild(iframe);
}, 1000);
}, 10000);
}
}
}]}/>
......@@ -196,14 +196,14 @@ export default class List extends Component {
}
{
record.status == 9 &&
<a href="javascript:void('下载');" onClick={e=>{
<a href="javascript:void('下载');" onClick={e=> {
e.stopPropagation();
const iframe = document.createElement('iframe');
iframe.src = '/zip/' + record.id + '.zip?id=' + record.id;
document.body.appendChild(iframe);
setTimeout(()=> {
document.body.removeChild(iframe);
}, 1000);
}, 10000);
}}>下载</a>
}
</div>
......
......@@ -260,9 +260,9 @@ export default class PassItem extends Component {
const iframe = document.createElement('iframe');
iframe.src = '/zip/' + params.id + '.zip?id=' + params.id;
document.body.appendChild(iframe);
setTimeout(()=> {
setTimeout(()=>{
document.body.removeChild(iframe);
}, 1000);
}, 10000);
}}>下载</Button>
}
</Form.Item>
......
......@@ -26,7 +26,8 @@ import {
formItemLayout,
smallFormItemLayout,
footerFormSubmitLayout,
handleUpload
handleUpload,
FILE_UPLOAD
} from '../../utils';
@connect(state=>({
......@@ -50,7 +51,7 @@ export default class AddItem extends Component {
};
}
componentDidMount(){
componentDidMount() {
const {item} = this.props;
if (item && item.id) {
this.props.dispatch({
......@@ -75,7 +76,7 @@ export default class AddItem extends Component {
const data = this.props.form.getFieldsValue();
data.itemId = this.props.location.query.itemId;
if(!data.itemId){
if (!data.itemId) {
message.warning('未知的产品ID');
return;
}
......@@ -86,19 +87,19 @@ export default class AddItem extends Component {
const {identityCardList, bankCardList, receiptList, signaturePages} = this.state;
if(Array.isArray(identityCardList) && identityCardList.length){
if (Array.isArray(identityCardList) && identityCardList.length) {
data.remittance.identityCardFront = identityCardList[0] && identityCardList[0].url;
data.remittance.identityCardBack = identityCardList[1] && identityCardList[1].url;
}
if(Array.isArray(bankCardList) && bankCardList.length){
if (Array.isArray(bankCardList) && bankCardList.length) {
data.remittance.bankCardPic = bankCardList[0] && bankCardList[0].url;
}
if(Array.isArray(receiptList) && receiptList.length){
if (Array.isArray(receiptList) && receiptList.length) {
data.remittance.remittanceReceipt = receiptList[0] && receiptList[0].url;
}
if(Array.isArray(signaturePages) && signaturePages.length){
if (Array.isArray(signaturePages) && signaturePages.length) {
let tmp = [];
signaturePages.forEach(file=>{
signaturePages.forEach(file=> {
tmp.push(file.url);
})
data.remittance.signaturePages = JSON.stringify(tmp);
......@@ -108,7 +109,7 @@ export default class AddItem extends Component {
this.props.dispatch({
type: 'CREATE_TRADE_ITEM',
data,
item: data,
push: this.props.history.push,
});
}
......@@ -118,7 +119,7 @@ export default class AddItem extends Component {
const {loading, form:{getFieldProps}, location:{query}, user} = this.props;
const operation = (
<HeaderOperation history={this.props.history} buttons={[{key:'rollback'}]}/>
<HeaderOperation history={this.props.history} buttons={[{key: 'rollback'}]}/>
);
const header = (<MainHeader breadcrumb={['订单管理', '创建订单']}
......@@ -139,11 +140,11 @@ export default class AddItem extends Component {
<Input placeholder="" {...getFieldProps('buyer.identityCardNumber')} />
</Form.Item>
<Form.Item {...formItemLayout} label="投资人身份证照片" help="投资人身份证正反面照片">
<Upload action="/api/fileUpload/upload" listType="picture-card"
<Upload {...FILE_UPLOAD} listType="picture-card"
multiple={true}
headers={{
authorization: user && user.token,
}}
authorization: user && user.token,
}}
onChange={info=>this.setState({identityCardList: handleUpload(info, 2)})}
onPreview={file => {
this.setState({
......@@ -163,17 +164,17 @@ export default class AddItem extends Component {
<DatePicker showTime
format="yyyy-MM-dd HH:mm:ss"
placeholder="请选择时间"
{...getFieldProps('remittance.remittanceTime')}
{...getFieldProps('remittance.remittanceTime')}
/>
</Form.Item>
<Form.Item {...smallFormItemLayout} label="投资人银行卡开户行">
<Input placeholder="中国工商银行杭州文一西路支行" {...getFieldProps('remittance.bankBranch')} />
</Form.Item>
<Form.Item {...formItemLayout} label="投资人银行卡照片">
<Upload action="/api/fileUpload/upload" listType="picture-card"
<Upload {...FILE_UPLOAD} listType="picture-card"
headers={{
authorization: user && user.token,
}}
authorization: user && user.token,
}}
onChange={info=>this.setState({bankCardList: handleUpload(info, 1)})}
onPreview={file => {
this.setState({
......@@ -187,11 +188,11 @@ export default class AddItem extends Component {
</Upload>
</Form.Item>
<Form.Item {...formItemLayout} label="投资人打款凭条照片">
<Upload action="/api/fileUpload/upload" listType="picture-card"
<Upload {...FILE_UPLOAD} listType="picture-card"
multiple={true}
headers={{
authorization: user && user.token,
}}
authorization: user && user.token,
}}
onChange={info=>this.setState({receiptList: handleUpload(info)})}
onPreview={file => {
this.setState({
......@@ -205,11 +206,11 @@ export default class AddItem extends Component {
</Upload>
</Form.Item>
<Form.Item {...formItemLayout} className="clearfix" label="投资人合同签字页照片">
<Upload action="/api/fileUpload/upload" listType="picture-card"
<Upload {...FILE_UPLOAD} listType="picture-card"
multiple={true}
headers={{
authorization: user && user.token,
}}
authorization: user && user.token,
}}
onChange={info=>this.setState({signaturePages: handleUpload(info)})}
onPreview={file => {
this.setState({
......@@ -222,10 +223,13 @@ export default class AddItem extends Component {
<div className="ant-upload-text">上传照片</div>
</Upload>
</Form.Item>
<Form.Item {...footerFormSubmitLayout} style={{marginTop:30}}>
<Form.Item {...footerFormSubmitLayout} style={{marginTop: 30}}>
<Button type="primary" htmlType="submit" loading={loading}><Icon type="save"/>创建订单</Button>
<Button onClick={e=>{e.preventDefault(); this.props.history.goBack();}}
style={{marginLeft:'1em'}}>
<Button onClick={e=> {
e.preventDefault();
this.props.history.goBack();
}}
style={{marginLeft: '1em'}}>
<Icon type="rollback"/>返回
</Button>
</Form.Item>
......@@ -233,9 +237,9 @@ export default class AddItem extends Component {
width="100vw"
visible={this.state.priviewVisible}
className="img-priview-dialog"
style={{height:'100vh', background:'transparent'}}
onCancel={()=>this.setState({ priviewVisible: false })}>
<img src={this.state.priviewImage} style={{maxWidth:'100%'}}/>
style={{height: '100vh', background: 'transparent'}}
onCancel={()=>this.setState({priviewVisible: false})}>
<img src={this.state.priviewImage} style={{maxWidth: '100%'}}/>
</Modal>
</Form>
</Spin>
......
......@@ -65,7 +65,7 @@ export default class Contract extends Component {
const {trade, shipping, loading, form:{getFieldProps}, location:{query}} = this.props;
const operation = (
<HeaderOperation history={this.props.history} buttons={[{key:'rollback'}]}/>
<HeaderOperation history={this.props.history} buttons={[{key: 'rollback'}]}/>
);
const header = (<MainHeader breadcrumb={['订单管理', '订单详情', '合同物流']}
......@@ -73,22 +73,25 @@ export default class Contract extends Component {
title="合同物流详情"/>);
return (
<Layout header={header} >
<Layout header={header}>
<Spin spinning={loading}>
<Form horizontal onSubmit={this.handleSubmit.bind(this)}>
<Form horizontal onSubmit={this.handleSubmit.bind(this)} style={{marginTop: 20}}>
<Form.Item label="产品" {...smallFormItemLayout}>
<p>{trade && trade.itemTitle}</p>
<p>{trade && trade.itemTitle || query.title}</p>
</Form.Item>
<Form.Item label="顺丰运单" {...smallFormItemLayout}>
<Input placeholder="请填写顺丰运单编号"
{...getFieldProps('expressNO', {
initialValue: shipping && shipping.expressNO
})} />
{...getFieldProps('expressNO', {
initialValue: shipping && shipping.expressNO
})} />
</Form.Item>
<Form.Item {...footerFormSubmitLayout} style={{marginTop:30}}>
<Form.Item {...footerFormSubmitLayout} style={{marginTop: 30}}>
<Button type="primary" htmlType="submit" loading={loading}><Icon type="save"/>保存</Button>
<Button onClick={e=>{e.preventDefault(); this.props.history.goBack();}}
style={{marginLeft:'1em'}}>
<Button onClick={e=> {
e.preventDefault();
this.props.history.goBack();
}}
style={{marginLeft: '1em'}}>
<Icon type="rollback"/>返回
</Button>
</Form.Item>
......
......@@ -43,7 +43,7 @@ export default class Item extends Component {
const operation = (
<HeaderOperation history={this.props.history} buttons={[{key:'rollback'}]}/>
<HeaderOperation history={this.props.history} buttons={[{key: 'rollback'}]}/>
);
const header = (<MainHeader breadcrumb={['订单管理', '订单详情']}
......@@ -143,28 +143,32 @@ export default class Item extends Component {
<p>
{
item.status == 11 &&
<Popconfirm title="确定这个订单要成立了吗?" onConfirm={this.handleEstablish.bind(this, item.id)}>
<Popconfirm title="确定这个订单要成立了吗?"
onConfirm={this.handleEstablish.bind(this, item.id)}>
<Button type="primary"
style={{marginRignt:'1em'}}>
style={{marginRignt: '1em'}}>
<Icon type="like"/>订单成立
</Button>
</Popconfirm>
}
{
(item.status == 11 || item.status == 21) && (!item.commissionId) &&
<Link to={'/trades/commission/'+ item.id}>
<Link to={'/trades/commission/' + item.id}>
<Button type="ghost">
<Icon type="pay-circle-o"/>发放佣金
</Button>
</Link>
}
<Link to={'/trades/contract/'+ item.id}>
<Link to={'/trades/contract/' + item.id + '?title=' + item.title}>
<Button type="ghost">
<Icon type="exception"/>邮寄合同
</Button>
</Link>
<Button type="ghost" onClick={e=>{e.preventDefault(); this.props.history.goBack();}}
style={{marginLeft:'1em'}}>
<Button type="ghost" onClick={e=> {
e.preventDefault();
this.props.history.goBack();
}}
style={{marginLeft: '1em'}}>
<Icon type="rollback"/>返回
</Button>
</p>
......
......@@ -64,7 +64,7 @@ const columns = [
className: 'tac',
render: (text, record)=>(
<span>
<Link to={'/trades/contract/'+ record.id} onClick={e=>e.stopPropagation()}>合同</Link>
<Link to={'/trades/contract/'+ record.id+'?title='+ record.shortTitle} onClick={e=>e.stopPropagation()}>合同</Link>
{
(record.status == 11 || record.status == 21) && (! record.commissionId) &&
<span>
......
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