import React, {Component} from 'react';
import {Input, Spin, Button, Icon, Modal} from 'antd';
import './index.css';
import {UPDATE_WXCONFIG, SHOW_WXCONTENT, DELETE_WXCONFIG, SHOW_WXCONFIG,DELETE_PROJECT,SHOW_PROJECT} from "../../../gql";
import gql from "graphql-tag";
import {Mutation, Query} from "react-apollo";
import {getCookie} from "../../../cookie";
const confirm = Modal.confirm;
class WxConfig extends Component {
constructor(props) {
super(props);
this.state = {
configs: ['appName', 'appID', 'appSecret', 'enter_url', 'token', 'welcome_words', 'pay_api_key', 'attach', 'mch_id', 'body', 'spbill_create_ip', 'notify_url'],
configID: props.location.state === undefined ? props.defaultConfigID : props.location.state.configID,
appName: props.location.state === undefined ? props.defaultAppName : props.location.state.appName,
projectID: props.location.state === undefined ? props.projectID : props.location.state.projectID,
userID:props.userID
}
}
componentWillReceiveProps(next) {
this.setState({
userID:next.userID,
configID: next.location.state === undefined ? next.defaultConfigID : next.location.state.configID,
appName: next.location.state === undefined ? next.defaultAppName : next.location.state.appName,
projectID: next.location.state === undefined ? next.projectID : next.location.state.projectID,
});
}
render() {
return (
{
({loading, error, data}) => {
if (loading) {
return
}
if (error) {
return 'error!';
}
let {history, location, trialcase} = this.props;
let {appName, configID, configs,projectID,userID} = this.state;
return (
)
}
}
)
}
}
export default WxConfig;
class Display extends Component {
constructor(props) {
super(props);
this.state = {
userID:props.userID,
configID: props.configID,
appName: props.appName,
projectID:props.projectID,
mch_id: props.data === null ? '' : props.data.mch_id,
notify_url: props.data === null ? '' : props.data.notify_url,
appSecret: props.data === null ? '' : props.data.appSecret,
appID: props.data === null ? '' : props.data.appID,
token: props.data === null ? '' : props.data.token,
spbill_create_ip: props.data === null ? '' : props.data.spbill_create_ip,
enter_url: props.data === null ? '' : props.data.enter_url,
pay_api_key: props.data === null ? '' : props.data.pay_api_key,
body: props.data === null ? '' : props.data.body,
welcome_words: props.data === null ? '' : props.data.welcome_words,
attach: props.data === null ? '' : props.data.attach,
}
}
componentWillReceiveProps(next) {
this.setState({
userID:next.userID,
configID: next.configID,
appName: next.appName,
projectID:next.projectID,
mch_id: next.data === null ? '' : next.data.mch_id,
notify_url: next.data === null ? '' : next.data.notify_url,
appSecret: next.data === null ? '' : next.data.appSecret,
appID: next.data === null ? '' : next.data.appID,
token: next.data === null ? '' : next.data.token,
spbill_create_ip: next.data === null ? '' : next.data.spbill_create_ip,
enter_url: next.data === null ? '' : next.data.enter_url,
pay_api_key: next.data === null ? '' : next.data.pay_api_key,
body: next.data === null ? '' : next.data.body,
welcome_words: next.data === null ? '' : next.data.welcome_words,
attach: next.data === null ? '' : next.data.attach,
});
}
switchConfig = (label) => {
return (e) => {
this.setState({
[label]: e.target.value
})
};
};
render() {
let {configs} = this.props;
let {userID,configID, appName,projectID, mch_id, notify_url, appSecret, appID, token, spbill_create_ip, enter_url, pay_api_key, body, welcome_words, attach} = this.state;
return (
{
configs.map(config => (
{config}:
))
}
{
this.props.trialcase ?
""
:
}
)
}
}
class UpdateWXConfigButton extends Component {
constructor(props) {
super(props);
this.state = {}
}
render() {
return (
{(update_wxConfig, {loading, error}) => {
if (loading)
return ;
if (error)
return 'error';
let {id, appName, mch_id, notify_url, appSecret, appID, token, spbill_create_ip, enter_url, pay_api_key, body, welcome_words, attach} = this.props;
return (
)
}}
)
}
}
class DeleteWXProjectButton extends Component {
constructor(props) {
super(props);
this.state = {
userID: props.userID,
projectID:props.projectID
}
}
showConfirm = (delete_wx_project, projectID, userID) => {
let _this = this;
confirm({
title: 'Do you want to delete this config?',
content: 'It cannot be found back!',
onOk() {
delete_wx_project({variables: {id:projectID, user_id: userID}});
_this.props.history.push({
pathname: `/wechat-service/trial-case/index`,
});
},
onCancel() {
},
});
};
render() {
let {userID,projectID} = this.state;
return (
{(delete_wx_project, {loading, error}) => {
if (loading)
return ;
if (error)
return 'error';
return (
)
}}
)
}
}