Browse Source

增加配置

吕卓 3 years ago
parent
commit
77264742e2

+ 1 - 1
package.json

@@ -83,8 +83,8 @@
   "scripts": {
     "start": "node scripts/start.js",
     "dev": "node scripts/teststart.js --open chrome",
-    "devbuild": "node scripts/testbuild.js --open chrome",
     "build": "node scripts/build.js",
+    "devbuild": "node scripts/devbuild.js",
     "test": "node scripts/test.js"
   },
   "eslintConfig": {

+ 212 - 0
scripts/devbuild.js

@@ -0,0 +1,212 @@
+'use strict';
+
+// Do this as the first thing so that any code reading it knows the right env.
+process.env.BABEL_ENV = 'development';
+process.env.NODE_ENV = 'development';
+
+// Makes the script crash on unhandled rejections instead of silently
+// ignoring them. In the future, promise rejections that are not handled will
+// terminate the Node.js process with a non-zero exit code.
+process.on('unhandledRejection', err => {
+  throw err;
+});
+
+// Ensure environment variables are read.
+require('../config/env');
+
+
+const path = require('path');
+const chalk = require('react-dev-utils/chalk');
+const fs = require('fs-extra');
+const bfj = require('bfj');
+const webpack = require('webpack');
+const configFactory = require('../config/webpack.config');
+const paths = require('../config/paths');
+const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles');
+const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
+const printHostingInstructions = require('react-dev-utils/printHostingInstructions');
+const FileSizeReporter = require('react-dev-utils/FileSizeReporter');
+const printBuildError = require('react-dev-utils/printBuildError');
+
+const measureFileSizesBeforeBuild =
+  FileSizeReporter.measureFileSizesBeforeBuild;
+const printFileSizesAfterBuild = FileSizeReporter.printFileSizesAfterBuild;
+const useYarn = fs.existsSync(paths.yarnLockFile);
+
+// These sizes are pretty large. We'll warn for bundles exceeding them.
+const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;
+const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;
+
+const isInteractive = process.stdout.isTTY;
+
+// Warn and crash if required files are missing
+if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) {
+  process.exit(1);
+}
+
+const argv = process.argv.slice(2);
+const writeStatsJson = argv.indexOf('--stats') !== -1;
+
+// Generate configuration
+const config = configFactory('development');
+
+// We require that you explicitly set browsers and do not fall back to
+// browserslist defaults.
+const { checkBrowsers } = require('react-dev-utils/browsersHelper');
+checkBrowsers(paths.appPath, isInteractive)
+  .then(() => {
+    // First, read the current file sizes in build directory.
+    // This lets us display how much they changed later.
+    return measureFileSizesBeforeBuild(paths.appBuild);
+  })
+  .then(previousFileSizes => {
+    // Remove all content but keep the directory so that
+    // if you're in it, you don't end up in Trash
+    fs.emptyDirSync(paths.appBuild);
+    // Merge with the public folder
+    copyPublicFolder();
+    // Start the webpack build
+    return build(previousFileSizes);
+  })
+  .then(
+    ({ stats, previousFileSizes, warnings }) => {
+      if (warnings.length) {
+        console.log(chalk.yellow('Compiled with warnings.\n'));
+        console.log(warnings.join('\n\n'));
+        console.log(
+          '\nSearch for the ' +
+            chalk.underline(chalk.yellow('keywords')) +
+            ' to learn more about each warning.'
+        );
+        console.log(
+          'To ignore, add ' +
+            chalk.cyan('// eslint-disable-next-line') +
+            ' to the line before.\n'
+        );
+      } else {
+        console.log(chalk.green('Compiled successfully.\n'));
+      }
+
+      console.log('File sizes after gzip:\n');
+      printFileSizesAfterBuild(
+        stats,
+        previousFileSizes,
+        paths.appBuild,
+        WARN_AFTER_BUNDLE_GZIP_SIZE,
+        WARN_AFTER_CHUNK_GZIP_SIZE
+      );
+      console.log();
+
+      const appPackage = require(paths.appPackageJson);
+      const publicUrl = paths.publicUrlOrPath;
+      const publicPath = config.output.publicPath;
+      const buildFolder = path.relative(process.cwd(), paths.appBuild);
+      printHostingInstructions(
+        appPackage,
+        publicUrl,
+        publicPath,
+        buildFolder,
+        useYarn
+      );
+    },
+    err => {
+      const tscCompileOnError = process.env.TSC_COMPILE_ON_ERROR === 'true';
+      if (tscCompileOnError) {
+        console.log(
+          chalk.yellow(
+            'Compiled with the following type errors (you may want to check these before deploying your app):\n'
+          )
+        );
+        printBuildError(err);
+      } else {
+        console.log(chalk.red('Failed to compile.\n'));
+        printBuildError(err);
+        process.exit(1);
+      }
+    }
+  )
+  .catch(err => {
+    if (err && err.message) {
+      console.log(err.message);
+    }
+    process.exit(1);
+  });
+
+// Create the production build and print the deployment instructions.
+function build(previousFileSizes) {
+  console.log('Creating an optimized production build...');
+
+  const compiler = webpack(config);
+  return new Promise((resolve, reject) => {
+    compiler.run((err, stats) => {
+      let messages;
+      if (err) {
+        if (!err.message) {
+          return reject(err);
+        }
+
+        let errMessage = err.message;
+
+        // Add additional information for postcss errors
+        if (Object.prototype.hasOwnProperty.call(err, 'postcssNode')) {
+          errMessage +=
+            '\nCompileError: Begins at CSS selector ' +
+            err['postcssNode'].selector;
+        }
+
+        messages = formatWebpackMessages({
+          errors: [errMessage],
+          warnings: [],
+        });
+      } else {
+        messages = formatWebpackMessages(
+          stats.toJson({ all: false, warnings: true, errors: true })
+        );
+      }
+      if (messages.errors.length) {
+        // Only keep the first error. Others are often indicative
+        // of the same problem, but confuse the reader with noise.
+        if (messages.errors.length > 1) {
+          messages.errors.length = 1;
+        }
+        return reject(new Error(messages.errors.join('\n\n')));
+      }
+      if (
+        process.env.CI &&
+        (typeof process.env.CI !== 'string' ||
+          process.env.CI.toLowerCase() !== 'false') &&
+        messages.warnings.length
+      ) {
+        console.log(
+          chalk.yellow(
+            '\nTreating warnings as errors because process.env.CI = true.\n' +
+              'Most CI servers set it automatically.\n'
+          )
+        );
+        return reject(new Error(messages.warnings.join('\n\n')));
+      }
+
+      const resolveArgs = {
+        stats,
+        previousFileSizes,
+        warnings: messages.warnings,
+      };
+
+      if (writeStatsJson) {
+        return bfj
+          .write(paths.appBuild + '/bundle-stats.json', stats.toJson())
+          .then(() => resolve(resolveArgs))
+          .catch(error => reject(new Error(error)));
+      }
+
+      return resolve(resolveArgs);
+    });
+  });
+}
+
+function copyPublicFolder() {
+  fs.copySync(paths.appPublic, paths.appBuild, {
+    dereference: true,
+    filter: file => file !== paths.appHtml,
+  });
+}

+ 6 - 6
src/App.js

@@ -21,12 +21,12 @@ export default class App extends React.Component {
         { txt : '商户入网列表' , icon : 'SlidersOutlined', assembly:'center-tab'}
       ],
       arr2 : [
-        { txt : '订单查询' , icon : '', assembly:'Finance-orderQuery'},
-        { txt : '退款查询' , icon : '', assembly:'Refund-inquiry'},
-        { txt : '账户概览' , icon : '', assembly:'Account-overview'},
-        { txt : '发起提现' , icon : '', assembly:'Cash-initiated'},
-        { txt : '提现记录' , icon : '', assembly:'Withdrawal-record'},
-        { txt : '分账收益记录' , icon : '', assembly:'Income-record'},
+        { txt : '订单查询' , icon : '', assembly:'Finance-orderQuery'},//ok
+        { txt : '退款查询' , icon : '', assembly:'Refund-inquiry'},  //ok
+        { txt : '账户概览' , icon : '', assembly:'Account-overview'},  //ok
+        { txt : '发起提现' , icon : '', assembly:'Cash-initiated'}, //ok
+        { txt : '提现记录' , icon : '', assembly:'Withdrawal-record'}, //ok
+        { txt : '分账收益记录' , icon : '', assembly:'Income-record'}, //ok
         // { txt : 'demo' , icon : '', assembly:'homePage'},
       ],
       assembly : 'Layout',

+ 1 - 1
src/common/ssq.js

@@ -13735,7 +13735,7 @@ const ssq = {
         { txt: '内部测试_内部测试', value: 'INTERNAL_TESTING_01' },
         { txt: '其他行业_其他', value: 'OTHER_01' },
     ],
-    'contract': [
+    'contract': [ 
         { txt: '个体工商户', value: 'INDIVIDUAL_BUSINESS' },
         { txt: '事业单位', value: 'PUBLIC_INSTITUTIONS' },
         { txt: '民办非企业组织', value: 'PRIVATE_NON_ENTERPRISE_ORGANIZATIONS' },

+ 109 - 88
src/component/Account-overview/Account-overview.jsx

@@ -1,6 +1,6 @@
 import React from 'react';
-import { Card, Button, Modal, Input ,message } from 'antd';
-import { $Axios ,$AxiosGet } from '../../common/publish';
+import { Card, Button, Modal, Input, message, Spin } from 'antd';
+import { $Axios, $AxiosGet } from '../../common/publish';
 import '../Account-overview/Account-overview.scss'
 import axios from "axios";
 import sz1 from '../../images/sz1.jpg';
@@ -19,8 +19,9 @@ export default class AccountOverview extends React.Component {
             Password: '',
             colors: '',
             contactPhone: '',
-            num : 60,
-            t : ''
+            num: 60,
+            t: '',
+            lodings: false
         }
 
     }
@@ -31,6 +32,9 @@ export default class AccountOverview extends React.Component {
 
     initData() {
         let that_ = this;
+        that_.setState({
+            lodings: false
+        })
         let url = '/payment/merchant.query.groovy'
         let params = {
             action: 'queryGeneral',//查询商户概览信息
@@ -46,7 +50,8 @@ export default class AccountOverview extends React.Component {
                     data: data,
                     yestdayTrade: yestdayTrade,
                     preMonthTrade: preMonthTrade,
-                    contactPhone: data.contactPhone
+                    contactPhone: data.contactPhone,
+                    lodings : true
                 })
             }
         })
@@ -93,24 +98,30 @@ export default class AccountOverview extends React.Component {
         })
     }
 
-    handleOk(){
+    handleOk_c() {
+        this.setState({
+            isModalVisible: false
+        })
+    }
+
+    handleOk() {
         this.submits();
     }
 
-    submits(){
-        if(document.getElementById("pwd").value !== ''){
-            if(document.getElementById("cfPassword").value !== ''){
-                if(document.getElementById("num1").value !== ''){
-                    if(document.getElementById("pwd").value == document.getElementById("cfPassword").value){
+    submits() {
+        if (document.getElementById("pwd").value !== '') {
+            if (document.getElementById("cfPassword").value !== '') {
+                if (document.getElementById("num1").value !== '') {
+                    if (document.getElementById("pwd").value == document.getElementById("cfPassword").value) {
                         let that_ = this;
                         let url = '/payment/merchant.pwd.update.groovy'
                         let params = {
-                            id : JSON.parse(localStorage.getItem('userData')).id,//商户id
-                            pwd :document.getElementById("pwd").value,//密码
-                            mobile :this.state.data.contactPhone,//手机号
+                            id: JSON.parse(localStorage.getItem('userData')).id,//商户id
+                            pwd: document.getElementById("pwd").value,//密码
+                            mobile: this.state.data.contactPhone,//手机号
                             // mobile : 17600982892,//手机号
-                            code :document.getElementById("num1").value,//验证码
-                            pfAppName :JSON.parse(localStorage.getItem('userData')).pfAppName, //包名
+                            code: document.getElementById("num1").value,//验证码
+                            pfAppName: JSON.parse(localStorage.getItem('userData')).pfAppName, //包名
                         }
                         $Axios('get', url, params, (res) => {
                             let status = res.data.head.status;
@@ -119,75 +130,67 @@ export default class AccountOverview extends React.Component {
                                 that_.setState({
                                     isModalVisible: false
                                 });
-                            }else{
+                            } else {
                                 message.info('提交失败!');
                             }
                         })
-                    }else{
+                    } else {
                         message.info('支付密码内容不一致!');
                     }
-                }else{
+                } else {
                     message.info('请输入验证码!');
                 }
-            }else{
+            } else {
                 message.info('请输入确认支付密码!');
             }
-        }else{
+        } else {
             message.info('请输入支付密码!');
         }
-       
-
-
-       
-       
-      
-       
     }
 
-    handleOk_yzm(){
+    handleOk_yzm() {
         let url = '/d3api2/user/sendMobileVerify.groovy'
         let that_ = this;
         let Params = {
-            mobile : '17600982892',//手机号
-            pfAppName : "com.chuangyetong",//包名
-            eventType : 51
+            mobile: this.state.data.contactPhone,//手机号
+            // mobile : 17600982892,//手机号
+            pfAppName: JSON.parse(localStorage.getItem('userData')).pfAppName,//包名
+            eventType: 51
         }
         $AxiosGet('get', url, Params, (res) => {
             let status = res.data.head.status;
-            if(status == 200){
+            if (status == 200) {
                 message.info('验证码发送成功,请注意查收!');
-                let t = setInterval(function(){
+                let t = setInterval(function () {
                     let nums = that_.djsNum();
                     that_.setState({
-                        num : nums
+                        num: nums
                     });
-                    if(nums == 0){
+                    if (nums == 0) {
                         clearInterval(that_.state.t);
                         that_.setState({
-                            t : '',
-                            num : 60
+                            t: '',
+                            num: 60
                         });
                     }
-                },1000);
+                }, 1000);
                 that_.setState({
-                    t : t
+                    t: t
                 });
-                
+
             }
         });
     }
 
-    djsNum(){
+    djsNum() {
         let that_ = this;
         let num = this.state.num
         num--
         return num
     }
 
-
-
     inputChange1(e) {
- 
+
     }
 
     colorChange(e) {
@@ -232,21 +235,9 @@ export default class AccountOverview extends React.Component {
                 break;
         }
     }
-    //input 获取焦点
-    inputOnFocus(){
-        console.log(1)
-        this.setState({ focus: true });
-    }
-    
-    //input 失去焦点
-    inputOnBlur(){
-        console.log(2)
-        this.setState({ focus: false });
-    }
-
 
     render() {
-        const { headTxt, preMonthTrade, yestdayTrade, data, btnsType, isModalVisible, colors,num ,t } = this.state;
+        const { headTxt, preMonthTrade, yestdayTrade, data, btnsType, isModalVisible, colors, num, t, lodings } = this.state;
         return (
             <div className='wrap_table'>
                 <div className='header_center'>
@@ -258,37 +249,65 @@ export default class AccountOverview extends React.Component {
                     }}
                 >
                     <Card title="企业账户" extra={<a href="#" onClick={this.onBtnClick_0.bind(this)}>设置/修改支付密码</a>} style={{ width: 400, display: 'inline-block' }}>
-                        <div style={{ width: '30%', height: '120px', float: 'left' }}>
-                            <img src={sz1} alt="" />
-                        </div>
-                        <div style={{ width: '70%', height: '120px', float: 'left' }}>
-                            <div style={{ lineHeight: '120px' }}>账户余额 : {data.withdrawBalance}</div>
-                        </div>
+
+                        {
+                            lodings == false && <div style={{ width: '100%', height: '120px', float: 'left', textAlign: 'center', lineHeight: '120px' }}>
+                                <Spin tip="加载中请稍后..."></Spin>
+                            </div>
+                        }
+                        {
+                            lodings == true && <div>
+                                <div style={{ width: '30%', height: '120px', float: 'left', marginRight: '5%' }}>
+                                    <img src={sz1} alt="" />
+                                </div>
+                                <div style={{ width: '65%', height: '120px', float: 'left' }}>
+                                    <div style={{ lineHeight: '120px' }}>账户余额 : {data.withdrawBalance}</div>
+                                </div>
+                            </div>
+                        }
                     </Card>
                     <Card title="入网信息" extra={<a href="#"></a>} style={{ width: 400, display: 'inline-block', marginLeft: '20px' }}>
-                        <div style={{ width: '30%', height: '120px', float: 'left', background: '#ccc' }}>
-                            <img style={{ width: '100%', height: '100%' }} src={sz3} alt="" />
-                        </div>
-                        <div style={{ width: '70%', height: '120px', float: 'left' }}>
-                            <div style={{ lineHeight: '40px' }}>商户编号 : {data.merchantId == '' ? '--' : data.merchantId}</div>
-                            <div style={{ lineHeight: '40px' }}>商户名称 : {data.signedShorthand == '' ? '--' : data.signedShorthand}</div>
-                            <div style={{ lineHeight: '40px' }}>商户邮箱 : {data.contactEmail == '' ? '--' : data.contactEmail}</div>
-                        </div>
+                        {
+                            lodings == false && <div style={{ width: '100%', height: '120px', float: 'left', textAlign: 'center', lineHeight: '120px' }}>
+                                <Spin tip="加载中请稍后..."></Spin>
+                            </div>
+                        }
+                        {
+                            lodings == true && <div>
+                                <div style={{ width: '30%', height: '120px', float: 'left', marginRight: '5%' }}>
+                                    <img style={{ width: '100%', height: '100%' }} src={sz3} alt="" />
+                                </div>
+                                <div style={{ width: '65%', height: '120px', float: 'left' }}>
+                                    <div style={{ lineHeight: '40px' }}>商户编号 : {data.merchantId == '' ? '--' : data.merchantId}</div>
+                                    <div style={{ lineHeight: '40px' }}>商户名称 : {data.signedShorthand == '' ? '--' : data.signedShorthand}</div>
+                                    <div style={{ lineHeight: '40px' }}>商户邮箱 : {data.contactEmail == '' ? '--' : data.contactEmail}</div>
+                                </div>
+                            </div>
+                        }
                     </Card>
                     <Card title="收支汇总" extra={<a href="#"></a>} style={{ width: 400, display: 'inline-block', marginLeft: '20px' }}>
-                        <div style={{ width: '100%', height: '40px', float: 'left' }}>
-                            <Button className='btns' type={btnsType == 1 ? 'primary' : 'default'} onClick={this.onBtnClick_1.bind(this)}>昨日收支</Button>
-                            <Button className='btns' type={btnsType == 2 ? 'primary' : 'default'} onClick={this.onBtnClick_2.bind(this)}>上月收支</Button>
-                        </div>
-                        <div style={{ width: '30%', height: '80px', float: 'left', background: '#ccc' }}>
-                            <img style={{ width: '100%', height: '100%' }} src={sz2} alt="" />
-                        </div>
-                        <div style={{ width: '70%', height: '80px', float: 'left' }}>
-                            <div>已收入总额 : {btnsType == 1 ? yestdayTrade.income : preMonthTrade.income}</div>
-                            <div>待收入总额 : {btnsType == 1 ? yestdayTrade.incomeing : preMonthTrade.incomeing}</div>
-                            <div>支出总额 : {btnsType == 1 ? yestdayTrade.expense : preMonthTrade.expense}</div>
-                            <div>手续费 : {btnsType == 1 ? yestdayTrade.fee : preMonthTrade.fee}</div>
-                        </div>
+                        {
+                            lodings == false && <div style={{ width: '100%', height: '120px', float: 'left', textAlign: 'center', lineHeight: '120px' }}>
+                                <Spin tip="加载中请稍后..."></Spin>
+                            </div>
+                        }
+                        {
+                            lodings == true && <div>
+                                <div style={{ width: '30%', height: '120', float: 'left', marginRight: '5%' }}>
+                                    <img style={{ width: '100%', height: '100%' }} src={sz2} alt="" />
+                                </div>
+                                <div style={{ width: '65%', height: '120', float: 'left' }}>
+                                    <div style={{ width: '100%', height: '40px', float: 'left' }}>
+                                        <Button className='btns' type={btnsType == 1 ? 'primary' : 'default'} onClick={this.onBtnClick_1.bind(this)}>昨日收支</Button>
+                                        <Button className='btns' type={btnsType == 2 ? 'primary' : 'default'} onClick={this.onBtnClick_2.bind(this)}>上月收支</Button>
+                                    </div>
+                                    <div>已收入总额 : {btnsType == 1 ? yestdayTrade.income : preMonthTrade.income}</div>
+                                    <div>待收入总额 : {btnsType == 1 ? yestdayTrade.incomeing : preMonthTrade.incomeing}</div>
+                                    <div>支出总额 : {btnsType == 1 ? yestdayTrade.expense : preMonthTrade.expense}</div>
+                                    <div>手续费 : {btnsType == 1 ? yestdayTrade.fee : preMonthTrade.fee}</div>
+                                </div>
+                            </div>
+                        }
                     </Card>
                 </div>
                 <Modal title="设置/修改密码"
@@ -299,17 +318,19 @@ export default class AccountOverview extends React.Component {
                         </Button>,
                     ]}
                     visible={isModalVisible}
-                    closable={false}
+                    closable={true}
+                    mask={true}
+                    onCancel={this.handleOk_c.bind(this)}
                 // onOk={this.handleOk} 
                 >
                     <div>
                         <div className='c-ls'>
                             <test className='titles_tk'>手机号 :</test>
                             <div className='titles_num'><Input id='orderNo' disabled={true} defaultValue={data.contactPhone == '' ? 17600982892 : data.contactPhone} /></div>
-                            { t == '' &&  <Button key="submit" type="primary" onClick={this.handleOk_yzm.bind(this)}>
+                            {t == '' && <Button key="submit" type="primary" onClick={this.handleOk_yzm.bind(this)}>
                                 获取验证码
                             </Button>}
-                            { t !== '' && <Button key="submitNum" type="primary" style={{width:'102px'}} disabled={true}>{num}</Button>}
+                            {t !== '' && <Button key="submitNum" type="primary" style={{ width: '102px' }} disabled={true}>{num}</Button>}
                         </div>
                         <div className='c-ls'>
                             <test className='titles_tk'>验证码 :</test>

+ 21 - 6
src/component/Cash-initiated/Cash-initiated.jsx

@@ -1,6 +1,8 @@
 import React from 'react';
-import { Input, Button ,message   } from 'antd';
+import { Input, Button ,message ,Spin   } from 'antd';
+import { LoadingOutlined } from '@ant-design/icons';
 import { $Axios } from '../../common/publish';
+const antIcon = <LoadingOutlined style={{ fontSize: 24 }} spin />;
 export default class AccountOverview extends React.Component {
     constructor(props) {
         super(props)
@@ -9,7 +11,8 @@ export default class AccountOverview extends React.Component {
             data : '',
             isPwd : '',
             psd : '',
-            je : ''
+            je : '',
+            lodings : false
         }
         
     }
@@ -20,6 +23,9 @@ export default class AccountOverview extends React.Component {
 
     initData(){
         let that_ = this;
+        that_.setState({
+            lodings : false
+        })
         let url = '/payment/merchant.pickup.groovy'
         let params = {
             action :"queryOpInfo", //提现操作相关信息,可提现金额等
@@ -32,7 +38,8 @@ export default class AccountOverview extends React.Component {
                 let data = res.data.body;
                 that_.setState({
                     data : data,
-                    isPwd  : data.isPwd
+                    isPwd  : data.isPwd,
+                    lodings : true
                 })
             }
         })
@@ -76,6 +83,7 @@ export default class AccountOverview extends React.Component {
     }
 
     btnCzClick(){
+        this.initData(); //重置后重新刷新可提现金额
         let zTimeBegin = new Date();                                                                                       
         let keys = zTimeBegin.getTime()  // 时间转成时间戳
         console.log(keys)
@@ -87,7 +95,7 @@ export default class AccountOverview extends React.Component {
 
 
     render() {
-        const { headTxt ,data ,pwd ,je } = this.state;
+        const { headTxt ,data ,pwd ,je ,lodings } = this.state;
         return(
             <div className='wrap_table'>
                 <div className='header_center'>
@@ -96,12 +104,19 @@ export default class AccountOverview extends React.Component {
                <div className='query_table'
                 style={{
                     padding:'30px',
+                    height : '500px',
+                    overflow:'hidden'
                 }}
                >
-                   <div className='top_div'>
+                   <div className='top_div' style={{height : '100%'}}>
                         <div>
                             <div style={{width:'120px',display : 'inline-block',}}> 可提现金额 : </div>
-                            {data.withdrawBalance == '' ? '--' : data.withdrawBalance}
+                            {
+                                lodings == false && <Spin indicator={antIcon} />
+                            }
+                            {
+                                lodings == true && <text>{data.withdrawBalance == '' ? '--' : data.withdrawBalance}</text>
+                            }
                        </div>
                        <div>
                             <div style={{width:'120px',display : 'inline-block',}}> 提现金额 : </div>

+ 92 - 75
src/component/Finance-orderQuery/Finance-orderQuery.jsx

@@ -1,5 +1,5 @@
 import React from 'react';
-import { Button, Table, Select, Input, DatePicker, Space, Modal ,message  } from 'antd';
+import { Button, Table, Select, Input, DatePicker, Space, Modal, message , Spin } from 'antd';
 import 'moment/locale/zh-cn';
 import locale from 'antd/es/date-picker/locale/zh_CN';
 import { $Axios, format } from '../../common/publish';
@@ -104,7 +104,7 @@ export default class FinanceoRderQuery extends React.Component {
                 onChange: (current) => this.changePage(current), //点击当前页码
             },
             isModalVisible: false,
-            columns_tk : [
+            columns_tk: [
                 {
                     title: '分账对象',
                     dataIndex: 'ownerName',
@@ -126,13 +126,14 @@ export default class FinanceoRderQuery extends React.Component {
                     key: 'remark',
                 }
             ],
-            payOrderInfo : null,
-            orderSplitInfo : null,
-            orderNo : null,
-            lodings : null,
-            spinning : true,
-            keys : 1,
-            keye : 2,
+            payOrderInfo: null,
+            orderSplitInfo: null,
+            orderNo: null,
+            lodings: null,
+            spinning: true,
+            keys: 1,
+            keye: 2,
+            tklodings: false
         }
 
     }
@@ -148,12 +149,15 @@ export default class FinanceoRderQuery extends React.Component {
         this.initData_tk(record)
     }
 
-    initData_tk(e){
+    initData_tk(e) {
         let that_ = this;
+        that_.setState({
+            tklodings: false
+        })
         let url = '/payment/merchant.order.query.groovy';
         let params = {
-            action : "payOrderDetail",//查询订单金额流向
-            orderNo : e.orderNo,//商城订单号
+            action: "payOrderDetail",//查询订单金额流向
+            orderNo: e.orderNo,//商城订单号
         }
         $Axios('get', url, params, (res) => {
             let status = res.data.head.status;
@@ -161,16 +165,17 @@ export default class FinanceoRderQuery extends React.Component {
                 let orderSplitInfo = res.data.body.orderSplitInfo;
                 let payOrderInfo = res.data.body.payOrderInfo;
                 that_.setState({
-                    payOrderInfo : payOrderInfo,
-                    orderSplitInfo : orderSplitInfo,
-                    orderNo : e.orderNo
+                    payOrderInfo: payOrderInfo,
+                    orderSplitInfo: orderSplitInfo,
+                    orderNo: e.orderNo,
+                    tklodings: true
                 })
             }
 
         })
     }
 
-    handleOk(){
+    handleOk() {
         this.setState({
             isModalVisible: false
         })
@@ -184,29 +189,29 @@ export default class FinanceoRderQuery extends React.Component {
         this.initData();
     }
 
-    starTime = (value,dateString)=>{
-        if(dateString !== ''){
+    starTime = (value, dateString) => {
+        if (dateString !== '') {
             dateString = new Date(value).formats('yyyy-MM-dd 00:00:00')
-            let time = new Date(dateString).getTime()/1000;
+            let time = new Date(dateString).getTime() / 1000;
             this.setState({
                 starTime: time
             })
-        }else{
+        } else {
             this.setState({
                 starTime: ''
             })
         }
-        
+
     }
 
-    endTime = (value,dateString)=>{
-        if(dateString !== ''){
+    endTime = (value, dateString) => {
+        if (dateString !== '') {
             dateString = new Date(value).formats('yyyy-MM-dd 00:00:00')
-            let time = new Date(dateString).getTime()/1000;
+            let time = new Date(dateString).getTime() / 1000;
             this.setState({
                 endTime: time
             })
-        }else{
+        } else {
             this.setState({
                 endTime: ''
             })
@@ -223,47 +228,47 @@ export default class FinanceoRderQuery extends React.Component {
     handleChange_3(e) {  //时间类型
         this.state.params.timeType = e
         this.setState({
-            timeType : e
+            timeType: e
         });
-        if(e == 0){
+        if (e == 0) {
             this.setState({
                 starTime: '',
                 endTime: '',
-                keys : new Date().getTime(),
-                keye : new Date().getTime() * 1000,
+                keys: new Date().getTime(),
+                keye: new Date().getTime() * 1000,
             });
         }
     }
 
     queryClick() {
-        if(this.state.timeType !== 0 && this.state.timeType !== null){
-            if(this.state.endTime <= this.state.starTime && (this.state.starTime !== '' && this.state.endTime !== '')){
+        if (this.state.timeType !== 0 && this.state.timeType !== null) {
+            if (this.state.endTime <= this.state.starTime && (this.state.starTime !== '' && this.state.endTime !== '')) {
                 message.error('结束时间不可小于或者等于开始时间!');
-            }else{
-                if(this.state.starTime == '' && this.state.endTime == ''){
+            } else {
+                if (this.state.starTime == '' && this.state.endTime == '') {
                     this.initData()
-                }else if(this.state.starTime !== '' && this.state.endTime !== ''){
+                } else if (this.state.starTime !== '' && this.state.endTime !== '') {
                     this.initData()
-                }else{
-                    if(this.state.starTime == ''){
+                } else {
+                    if (this.state.starTime == '') {
                         message.error('请选择开始时间!');
-                    }else if(this.state.endTime == ''){
+                    } else if (this.state.endTime == '') {
                         message.error('请选择结束时间!');
                     }
                 }
             }
-        }else{
+        } else {
             this.initData()
         }
     }
 
-    TableToExcel(){
+    TableToExcel() {
         message.error('暂不支持导出功能!');
     }
 
     initData() {
         this.setState({
-            lodings : true
+            lodings: true
         })
         let orderNo = document.getElementById("orderNo").value //商城订单号
         let userName = document.getElementById("userName").value //发起人
@@ -303,7 +308,7 @@ export default class FinanceoRderQuery extends React.Component {
                 that_.setState({
                     data: arr,
                     total: total,  //数据的总的条数
-                    lodings : false
+                    lodings: false
                 })
             }
 
@@ -339,7 +344,7 @@ export default class FinanceoRderQuery extends React.Component {
     }
 
     render() {
-        const { data, columns, headTxt, keys,keye, select_data, timeType, paginationProps , isModalVisible , columns_tk , payOrderInfo , orderSplitInfo ,orderNo , lodings} = this.state;
+        const { data, columns, headTxt, keys, keye, select_data, timeType, paginationProps, isModalVisible, columns_tk, payOrderInfo, orderSplitInfo, orderNo, lodings, tklodings } = this.state;
         const { Option } = Select;
         return (
             <div className='wrap_table'>
@@ -376,9 +381,9 @@ export default class FinanceoRderQuery extends React.Component {
                         </Space>
                         <div style={{ display: 'inline-block', margin: '0px 10px', color: '#d9d9d9' }}>-</div>
                         <Space direction="vertical">
-                            <DatePicker key={keye} onChange={this.endTime} locale={locale} disabled={timeType == null ? true : false || timeType == 0 ? true : false}  placeholder='请选择结束时间' />
+                            <DatePicker key={keye} onChange={this.endTime} locale={locale} disabled={timeType == null ? true : false || timeType == 0 ? true : false} placeholder='请选择结束时间' />
                         </Space>
-                        
+
 
                         <Button type="primary" style={{
                             float: 'right', display: 'inline-block', margin: '0px 10px', marginRight: '20px'
@@ -394,40 +399,52 @@ export default class FinanceoRderQuery extends React.Component {
                         columns={columns}
                         dataSource={data}
                         pagination={paginationProps}
-                        loading = {lodings}
+                        loading={lodings}
                     />
                 </div>
                 <Modal title="订单金额流向"
-                        footer={[
-                            <Button key="submit" type="primary" onClick={this.handleOk.bind(this)}>
-                                确定
-                            </Button>,
-                        ]}
-                        visible={isModalVisible}
-                        closable={false}
-                    // onOk={this.handleOk} 
-                    >
-                        {
-                            (payOrderInfo !== {} && payOrderInfo !== null) &&
-                            <div>
-                                <p style={{fontSize : '16px',fontWeight : '600'}}>订单信息</p>
-                                <p>商户订单号 : {orderNo}</p>
-                                <p>订单金额 : {payOrderInfo.totalAmount}</p>
-                                <p>支付金额 : {payOrderInfo.cash}</p>
-                                <p>本金金额 : {payOrderInfo.stbPrice}</p>
-                                <p>积分币金额 : {payOrderInfo.benbiPrice}</p>
-                            </div>
-                        }
-                       { (orderSplitInfo !== [] && orderSplitInfo !== null) &&
-                            <div>
-                                <p style={{fontSize : '16px',fontWeight : '600'}}>订单金额流向信息</p>
-                                <Table
-                                    columns={columns_tk}
-                                    dataSource={orderSplitInfo}
-                                />
-                            </div>
-                       }
-                    </Modal>
+                    footer={[
+                        <Button key="submit" type="primary" onClick={this.handleOk.bind(this)}>
+                            确定
+                        </Button>,
+                    ]}
+                    visible={isModalVisible}
+                    closable={false}
+                    mask={true}
+                // onOk={this.handleOk} 
+                >
+                    {
+                        tklodings == false && <div style={{
+                            width: '100%',
+                            height: '300px',
+                            textAlign: 'center',
+                            fontSize: '20px',
+                            color: '#ccc',
+                            lineHeight: '300px'
+                        }}>
+                            <Spin tip="加载中请稍后..."></Spin>
+                        </div>
+                    }
+                  {
+                        tklodings == true && <div>
+                        <div>
+                            <p style={{ fontSize: '16px', fontWeight: '600' }}>订单信息</p>
+                            <p>商户订单号 : {orderNo}</p>
+                            <p>订单金额 : {payOrderInfo.totalAmount}</p>
+                            <p>支付金额 : {payOrderInfo.cash}</p>
+                            <p>本金金额 : {payOrderInfo.stbPrice}</p>
+                            <p>积分币金额 : {payOrderInfo.benbiPrice}</p>
+                        </div>
+                        <div>
+                            <p style={{ fontSize: '16px', fontWeight: '600' }}>订单金额流向信息</p>
+                            <Table
+                                columns={columns_tk}
+                                dataSource={orderSplitInfo}
+                            />
+                        </div>
+                    </div>
+                  }
+                </Modal>
             </div>
         )
     }

+ 6 - 8
src/component/Income-record/Income-record.jsx

@@ -1,5 +1,5 @@
 import React from 'react';
-import { Button, Table ,Select, message, DatePicker, Space } from 'antd';
+import { Button, Table ,Select, message, DatePicker, Space , Input } from 'antd';
 import 'moment/locale/zh-cn';
 import locale from 'antd/es/date-picker/locale/zh_CN';
 import { $Axios } from '../../common/publish';
@@ -26,6 +26,7 @@ export default class IncomeRecord extends React.Component {
                     title: '分账金额',
                     dataIndex: 'amount',
                     key: 'amount',
+                    render: (text, record, index) => <text style={{color: record.amount < 0 ? 'green' : 'red'}}>{record.amount}</text>,
                 },
                 {
                     title: '关联分账商户',
@@ -64,6 +65,7 @@ export default class IncomeRecord extends React.Component {
                 onChange: (current) => this.changePage(current), //点击当前页码
             },
             lodings : null,
+            shdata : ''
         }
         
     }
@@ -109,7 +111,7 @@ export default class IncomeRecord extends React.Component {
         let url = '/payment/spare.bill.list.groovy';
         let params = {
             userId: '',//当前登陆用户userid
-            ownerId:'',//关联分账商户
+            ownerId:document.getElementById("fzsh").value,//关联分账商户
             status: this.state.status,//分账状态,1:分账成功2:分账中3:分账撤回
             createTimeStart : '',//创建开始时间
             createTimeEnd : '',//创建结束时间
@@ -216,7 +218,7 @@ export default class IncomeRecord extends React.Component {
 
 
     render() {
-        const { data , columns , headTxt ,timeType,keys,paginationProps,lodings } = this.state;
+        const { data , columns , headTxt ,timeType,keys,paginationProps,lodings,shdata } = this.state;
         const { Option } = Select;
         return(
             <div className='wrap_table'>
@@ -226,11 +228,7 @@ export default class IncomeRecord extends React.Component {
                <div className='query_table_l' style={{height:'60px'}}>
                    <div className='btm_div' style={{height:'100%',lineHeight:'60px',paddingLeft:'20px'}}>
                         <div style={{display : 'inline-block',}}> 关联分账商户 : </div>
-                        <Select size='default' placeholder="请选择"  onChange={ this.handleChange } style={{ width: 200,marginRight:'20px' }}>
-                            <Option key={1} value={1}>提现中</Option>
-                            <Option key={2} value={2}>提现成功</Option>
-                            <Option key={3} value={3}>提现失败</Option>
-                        </Select>
+                        <Input id='fzsh' style={{width:'200px',marginRight:'20px'}}  placeholder="请输入分账商户"/>
                         <div style={{display : 'inline-block',}}> 分账状态 : </div>
                         <Select size='default' placeholder="请选择分账状态"  onChange={ this.handleChange_2.bind(this) } style={{ width: 200,marginRight:'20px' }}>
                             <Option key={1} value={1}>分账中</Option>

+ 125 - 104
src/component/Refund-inquiry/Refund-inquiry.jsx

@@ -1,8 +1,8 @@
 import React from 'react';
-import { Button, Table, Select, Input, DatePicker, Space,message,Modal,Steps, Popover } from 'antd';
+import { Button, Table, Select, Input, DatePicker, Space, message, Modal, Steps, Spin } from 'antd';
 import 'moment/locale/zh-cn';
 import locale from 'antd/es/date-picker/locale/zh_CN';
-import { $Axios , format } from '../../common/publish';
+import { $Axios, format } from '../../common/publish';
 import '../Refund-inquiry/Refund-inquiry.scss'
 const { Column, ColumnGroup } = Table;
 const { Step } = Steps;
@@ -100,15 +100,16 @@ export default class RefundInquiry extends React.Component {
                 total: null,  //数据的总的条数
                 onChange: (current) => this.changePage(current), //点击当前页码
             },
-            lodings : null,
-            types : null,
-            timeType : null,
-            starTime : '',
-            endTime : '',
-            keys : 1,
-            isModalVisible : false,
-            refundInfo : '',
-            userInfo : ''
+            lodings: null,
+            types: null,
+            timeType: null,
+            starTime: '',
+            endTime: '',
+            keys: 1,
+            isModalVisible: false,
+            refundInfo: '',
+            userInfo: '',
+            tklodangs: false
         }
 
     }
@@ -120,17 +121,17 @@ export default class RefundInquiry extends React.Component {
 
     initData() {
         this.setState({
-            lodings : true
+            lodings: true
         })
         let that_ = this;
         let orderNo = document.getElementById("orderNo").value //商城订单号
         let userName = document.getElementById("userName").value //发起人
         let url = '/payment/merchant.order.query.groovy'
         let params = this.state.params;
-        if(this.state.types == 1){
+        if (this.state.types == 1) {
             this.state.params.orderNo = orderNo;
             this.state.params.requestId = '';
-        }else{
+        } else {
             this.state.params.requestId = orderNo;
             this.state.params.orderNo = '';
         }
@@ -142,9 +143,9 @@ export default class RefundInquiry extends React.Component {
             if (status == 200) {
                 let data = res.data.body.list;
                 let arr = [];
-                data.map((item,index) => {
+                data.map((item, index) => {
                     let obj = {
-                        num : index + 1,
+                        num: index + 1,
                         benbiPrice: item.benbiPrice,
                         cash: item.cash,
                         createTime: item.createTime == '' ? '--' : format(Number(item.createTime)), //:创建时间
@@ -165,49 +166,52 @@ export default class RefundInquiry extends React.Component {
                 that_.setState({
                     data: arr,
                     total: total,  //数据的总的条数
-                    lodings : false
+                    lodings: false
                 })
-            }else{
+            } else {
                 message.info(res.data.body);
                 that_.setState({
                     data: [],
                     total: 0,  //数据的总的条数
-                    lodings : false
+                    lodings: false
                 })
             }
 
         })
     }
 
-    xqClick(text, record, index){
+    xqClick(text, record, index) {
         this.setState({
-            isModalVisible : true
+            isModalVisible: true
         });
         this.initData_tk(record)
     }
 
-    handleOk(){
+    handleOk() {
         this.setState({
-            isModalVisible : false
+            isModalVisible: false
         })
     }
 
-    initData_tk(e){
+    initData_tk(e) {
         let that_ = this;
+        that_.setState({
+            tklodangs: false
+        })
         let url = '/payment/merchant.order.query.groovy';
         let params = {
-            action : "refundDetail",//查询订单金额流向
-            requestId : e.requestId,//商城订单号
+            action: "refundDetail",
+            requestId: e.requestId,
         }
         $Axios('get', url, params, (res) => {
-            console.log(res)
             let status = res.data.head.status;
             if (status == 200) {
                 let refundInfo = res.data.body.refundInfo;
                 let userInfo = res.data.body.userInfo;
                 that_.setState({
-                    refundInfo : refundInfo,
-                    userInfo : userInfo
+                    refundInfo: refundInfo,
+                    userInfo: userInfo,
+                    tklodangs: true
                 })
             }
         })
@@ -249,7 +253,7 @@ export default class RefundInquiry extends React.Component {
 
     handleChange_3(e) {
         this.setState({
-            types : e
+            types: e
         })
     }
 
@@ -259,38 +263,38 @@ export default class RefundInquiry extends React.Component {
     handleChange_5(e) {
         this.state.params.timeType = e
         this.setState({
-            timeType : e
+            timeType: e
         });
-        if(e == 0){
+        if (e == 0) {
             this.setState({
                 starTime: '',
                 endTime: '',
-                keys : new Date().getTime()
+                keys: new Date().getTime()
             });
         }
     }
 
     queryClick() {
-        if(this.state.timeType !== 0 && this.state.timeType !== null){
-            if(this.state.endTime <= this.state.starTime && (this.state.starTime !== '' && this.state.endTime !== '')){
+        if (this.state.timeType !== 0 && this.state.timeType !== null) {
+            if (this.state.endTime <= this.state.starTime && (this.state.starTime !== '' && this.state.endTime !== '')) {
                 message.error('结束时间不可小于或者等于开始时间!');
-            }else{
-                if(this.state.starTime == '' && this.state.endTime == ''){
+            } else {
+                if (this.state.starTime == '' && this.state.endTime == '') {
                     this.initData()
-                }else if(this.state.starTime !== '' && this.state.endTime !== ''){
+                } else if (this.state.starTime !== '' && this.state.endTime !== '') {
                     this.initData()
-                }else{
-                    if(this.state.starTime == ''){
+                } else {
+                    if (this.state.starTime == '') {
                         message.error('请选择开始时间!');
-                    }else if(this.state.endTime == ''){
+                    } else if (this.state.endTime == '') {
                         message.error('请选择结束时间!');
                     }
                 }
             }
-        }else{
+        } else {
             this.initData()
         }
-        
+
     }
 
     changePage(e) {
@@ -302,29 +306,29 @@ export default class RefundInquiry extends React.Component {
     }
 
 
-    starTime = (value,dateString)=>{
-        if(dateString !== ''){
+    starTime = (value, dateString) => {
+        if (dateString !== '') {
             dateString = new Date(value).formats('yyyy-MM-dd 00:00:00')
-            let time = new Date(dateString).getTime()/1000;
+            let time = new Date(dateString).getTime() / 1000;
             this.setState({
                 starTime: time
             })
-        }else{
+        } else {
             this.setState({
                 starTime: ''
             })
         }
-        
+
     }
 
-    endTime = (value,dateString)=>{
-        if(dateString !== ''){
+    endTime = (value, dateString) => {
+        if (dateString !== '') {
             dateString = new Date(value).formats('yyyy-MM-dd 00:00:00')
-            let time = new Date(dateString).getTime()/1000;
+            let time = new Date(dateString).getTime() / 1000;
             this.setState({
                 endTime: time
             })
-        }else{
+        } else {
             this.setState({
                 endTime: ''
             })
@@ -333,8 +337,8 @@ export default class RefundInquiry extends React.Component {
 
 
 
-    render() { 
-        const { data, columns, headTxt , paginationProps,lodings,types,timeType,keys,isModalVisible , refundInfo ,userInfo } = this.state;
+    render() {
+        const { data, columns, headTxt, paginationProps, lodings, types, timeType, keys, isModalVisible, refundInfo, userInfo, tklodangs } = this.state;
         const { Option } = Select;
         return (
             <div className='wrap_table'>
@@ -349,7 +353,7 @@ export default class RefundInquiry extends React.Component {
                             <Option key={2} value='3'>失败</Option>
                             <Option key={3} value='1'>处理中</Option>
                         </Select>
-                        <Select size='default' placeholder="订单号类型选择"  onChange={  this.handleChange_3.bind(this)  } style={{ width: 200 }}>
+                        <Select size='default' placeholder="订单号类型选择" onChange={this.handleChange_3.bind(this)} style={{ width: 200 }}>
                             <Option key={1} value={1}>商户订单号</Option>
                             <Option key={2} value={2}>退款请求号</Option>
                         </Select>
@@ -374,7 +378,7 @@ export default class RefundInquiry extends React.Component {
                         </Space>
                         <div style={{ display: 'inline-block', margin: '0px 10px', color: '#d9d9d9' }}>-</div>
                         <Space direction="vertical">
-                            <DatePicker key={keys} onChange={this.endTime} locale={locale} disabled={timeType == null ? true : false || timeType == 0 ? true : false}  placeholder='请选择结束时间' />
+                            <DatePicker key={keys} onChange={this.endTime} locale={locale} disabled={timeType == null ? true : false || timeType == 0 ? true : false} placeholder='请选择结束时间' />
                         </Space>
                         <Button type="primary" style={{
                             float: 'right', display: 'inline-block', margin: '0px 10px', marginRight: '20px'
@@ -385,60 +389,77 @@ export default class RefundInquiry extends React.Component {
                     </div>
                 </div>
                 <div className='tables'>
-                    <Table 
-                    columns={columns} 
-                    dataSource={data} 
-                    pagination={paginationProps}
-                    loading = {lodings}
+                    <Table
+                        columns={columns}
+                        dataSource={data}
+                        pagination={paginationProps}
+                        loading={lodings}
                     />
                 </div>
                 <Modal title="退款详情"
-                        wrapClassName={'webs'}
-                        footer={[
-                            <Button key="submit" type="primary" onClick={this.handleOk.bind(this)}>
-                                确定
-                            </Button>,
-                        ]}
-                        visible={isModalVisible}
-                        closable={false}
-                    // onOk={this.handleOk} 
-                    >
-                        <div>
-                            <div style={{
-                                width:'50%',
-                                height : '300px',
-                                float:'left',
-                            }}>
-                                <p style={{fontSize : '16px',fontWeight : '600'}}>付款人信息</p>
-                                <p>用户人 : {userInfo.nickname}</p>
-                                <p>电话 : {userInfo.mobile}</p>
-                                <p>邮箱 : {userInfo.email}</p>
-                                <p>支付时间 : {userInfo.nickname}</p>
+                    wrapClassName={'webs'}
+                    footer={[
+                        <Button key="submit" type="primary" onClick={this.handleOk.bind(this)}>
+                            确定
+                        </Button>,
+                    ]}
+                    visible={isModalVisible}
+                    closable={false}
+                    mask={true}
+                // onOk={this.handleOk} 
+                >
+                    {
+                        tklodangs == false && <div style={{
+                            width: '100%',
+                            height: '300px',
+                            textAlign : 'center',
+                            fontSize : '20px',
+                            color : '#ccc',
+                            lineHeight : '300px'
+                        }}>
+                             <Spin tip="加载中请稍后..."></Spin>
+                        </div>
+                    }
+                    {
+                        tklodangs == true && <div>
+                            <div>
+                                <div style={{
+                                    width: '50%',
+                                    height: '300px',
+                                    float: 'left',
+                                }}>
+                                    <p style={{ fontSize: '16px', fontWeight: '600' }}>付款人信息</p>
+                                    <p>用户人 : {userInfo.nickname}</p>
+                                    <p>电话 : {userInfo.mobile}</p>
+                                    <p>邮箱 : {userInfo.email == '' ? '--' : userInfo.email}</p>
+                                    <p>支付时间 : {userInfo.nickname}</p>
+                                </div>
+                                <div style={{
+                                    width: '50%',
+                                    height: '300px',
+                                    float: 'left',
+                                }}>
+                                    <p style={{ fontSize: '16px', fontWeight: '600' }}>退款信息</p>
+                                    <p>订单号 : {refundInfo.orderNo}</p>
+                                    <p>订单金额 :  {refundInfo.totalAmount}</p>
+                                    <p>退款金额 :  {refundInfo.cash}</p>
+                                    <p>退款本币 :  {refundInfo.benbiPrice}</p>
+                                    <p>退款积分币 :  {refundInfo.stbPrice}</p>
+                                    <p>退款原因 :  {refundInfo.remark}</p>
+                                    <p>退款账户 :  {refundInfo.orderNo}</p>
+                                </div>
                             </div>
-                            <div style={{
-                                 width:'50%',
-                                 height : '300px',
-                                 float:'left',
-                            }}>
-                                <p style={{fontSize : '16px',fontWeight : '600'}}>退款信息</p>
-                                <p>订单号 : {refundInfo.orderNo}</p>
-                                <p>订单金额 :  {refundInfo.totalAmount}</p>
-                                <p>退款金额 :  {refundInfo.cash}</p>
-                                <p>退款本币 :  {refundInfo.benbiPrice}</p>
-                                <p>退款积分币 :  {refundInfo.stbPrice}</p>
-                                <p>退款原因 :  {refundInfo.remark}</p>
-                                <p>退款账户 :  {refundInfo.orderNo}</p>
+                            <div>
+                                <p style={{ fontSize: '16px', fontWeight: '600' }}>退款进度</p>
+                                <Steps size="small" current={refundInfo.orderStatus == 2 ? 3 : refundInfo.orderStatus} percent={50}>
+                                    <Step title="商家同意退款" subTitle={format(Number(refundInfo.createTime))} description="系统会在1-2天内提交处理" />
+                                    <Step title="已退款,处理中" description="系统处理中" />
+                                    <Step title="处理成功" subTitle={format(Number(refundInfo.finishTime))} description="已交由微信/支付宝处理,请及时查看账户信息" />
+                                </Steps>
                             </div>
                         </div>
-                        <div>
-                            <p style={{fontSize : '16px',fontWeight : '600'}}>退款进度</p>
-                            <Steps size="small" current={3} percent={100}>
-                                <Step title="商家同意退款" description="系统会在1-2天内提交处理" />
-                                <Step title="已退款,处理中" subTitle="Left 00:00:08" description="系统处理中" />
-                                <Step title="处理成功" description="已交由微信/支付宝处理,请及时查看账户信息" />
-                            </Steps>
-                        </div>
-                    </Modal>
+                    }
+                </Modal>
             </div>
         )
     }

+ 221 - 68
src/component/Withdrawal-record/Withdrawal-record.jsx

@@ -1,52 +1,53 @@
 import React from 'react';
-import { Button, Table ,Select, Input, DatePicker, Space } from 'antd';
+import { Button, Table, Select, message, DatePicker, Space, Modal, Spin, Steps } from 'antd';
 import 'moment/locale/zh-cn';
 import locale from 'antd/es/date-picker/locale/zh_CN';
-import { $Axios } from '../../common/publish';
+import { $Axios, format } from '../../common/publish';
 import '../Withdrawal-record/Withdrawal-record.scss'
 const { Column, ColumnGroup } = Table;
+const { Step } = Steps;
 export default class WithdrawalRecord extends React.Component {
     constructor(props) {
         super(props)
         this.state = {
-            headTxt : '财务管理 > 提现记录',
-            data : [],
-              columns : [
+            headTxt: '财务管理 > 提现记录',
+            data: [],
+            columns: [
                 {
                     title: '序号',
-                    dataIndex: 'name',
-                    key: 'name',
-                    
+                    dataIndex: 'num',
+                    key: 'num',
+
                 },
                 {
                     title: '提现单号',
-                    dataIndex: 'age',
-                    key: 'age',
+                    dataIndex: 'requestId',
+                    key: 'requestId',
                 },
                 {
                     title: '提现金额',
-                    dataIndex: 'age',
-                    key: 'age',
+                    dataIndex: 'withdrawAmount',
+                    key: 'withdrawAmount',
                 },
                 {
                     title: '手续费',
-                    dataIndex: 'age',
-                    key: 'age',
+                    dataIndex: 'fee',
+                    key: 'fee',
                 },
                 {
                     title: '提现状态',
-                    dataIndex: 'age',
-                    key: 'age',
+                    dataIndex: 'orderStatus',
+                    key: 'orderStatus',
                 },
                 {
                     title: '提现时间',
-                    dataIndex: 'age',
-                    key: 'age',
+                    dataIndex: 'createTime',
+                    key: 'createTime',
                 },
                 {
                     title: '完成时间',
-                    dataIndex: 'age',
-                    key: 'age',
+                    dataIndex: 'completeTime',
+                    key: 'completeTime',
                 },
                 {
                     title: '操作',
@@ -55,63 +56,143 @@ export default class WithdrawalRecord extends React.Component {
                     render: (text, record, index) => <a onClick={() => this.xqClick(text, record, index)}>查看详情</a>,
                 },
             ],
-            keys : 1,
-            keye : 2,
-            timeType : null,
+            keys: 1,
+            keye: 2,
+            timeType: null,
+            current: 1,
+            paginationProps: {
+                showSizeChanger: false,//设置每页显示数据条数
+                showQuickJumper: false,
+                showTotal: () => `共${this.state.total}条`,
+                pageSize: 10,
+                total: null,  //数据的总的条数
+                onChange: (current) => this.changePage(current), //点击当前页码
+            },
+            lodings: true,
+            tradeStatus: '', //提现状态:1处理中PROCESS,2成功SUCCESS,3失败FAIL(inithecancle不统计)
+            timeType: '',//为0或不提供此字段,表示不限制,1创建时间,2完成时间
+            starTime: '',//"2021-06-3000:00:00",为空或不提供此字段,表示不限制
+            endTime: '', //"2021-06-3000:00:00",为空或不提供此字段,表示不限制
+            pNo: 1,
+            isModalVisible: false,
+            rowRecord : ''
         }
-        
+
     }
-	
-	componentDidMount() {
+
+    componentDidMount() {
         this.initData()
     }
 
-    xqClick(text, record, index){
-        console.log(record)
+    xqClick(text, record, index) {
+        this.setState({
+            isModalVisible: true,
+            rowRecord : record
+        })
+    }
+
+    handleOk_c(){
+        this.setState({
+            isModalVisible: false
+        })
     }
 
-    onChange(date, dateString){
-        console.log(date, dateString);
+    onChange(date, dateString) {
+        // console.log(date, dateString);
     }
-    
-    initData(){
+
+    changePage(e) {
+        this.state.pNo = e
+        this.setState({
+            current: e
+        });
+        this.initData();
+    }
+
+    initData() {
+        let that_ = this;
+        that_.setState({
+            lodings: true
+        })
         let url = '/payment/merchant.order.query.groovy'
         let params = {
-            action : "pickupList",//查询商户提现记录
-            appName : JSON.parse(localStorage.getItem('userData')).appName,
-            pSize : 10, //每页条数
-            pNo : 1 //第几页,起始值从1开始
+            action: "pickupList",//查询商户提现记录
+            // appName : JSON.parse(localStorage.getItem('userData')).appName,testPickUpList
+            appName: 'testPickUpList',
+            tradeStatus: this.state.tradeStatus, //提现状态:1处理中PROCESS,2成功SUCCESS,3失败FAIL(inithecancle不统计)
+            timeType: this.state.timeType,//为0或不提供此字段,表示不限制,1创建时间,2完成时间
+            begTime: this.state.starTime,//"2021-06-3000:00:00",为空或不提供此字段,表示不限制
+            endTime: this.state.endTime, //"2021-06-3000:00:00",为空或不提供此字段,表示不限制
+            pSize: 10, //每页条数
+            pNo: this.state.pNo//第几页,起始值从1开始
         }
-        $Axios('get',url,params,(res) => {
-            console.log(res)
+        $Axios('get', url, params, (res) => {
+            let status = res.data.head.status;
+            if (status == 200) {
+                let data = res.data.body.list;
+                let arr = [];
+                data.map((item, index) => {
+                    let obj = {
+                        num: index + 1,
+                        bankCardNumber: item.bankCardNumber,
+                        bankName: item.bankName,
+                        completeTime: format(Number(item.completeTime)),
+                        createTime: format(Number(item.createTime)),
+                        fee: item.fee,
+                        id: item.id,
+                        orderStatus: that_.text(item.orderStatus),
+                        requestId: item.requestId,
+                        withdrawAmount: item.withdrawAmount,
+                        orderStatusNums : item.orderStatus == 2 ? 2 : 1
+                    };
+                    arr.push(obj)
+                })
+                let total = res.data.body.totalCount;
+                that_.state.paginationProps.total = total
+                that_.setState({
+                    data: arr,
+                    total: total,  //数据的总的条数
+                    lodings: false
+                })
+            }
         })
-
     }
 
+    text(e) {
+        let txt;
+        if (e == 1) {
+            txt = '提现中'
+        } else if (e == 2) {
+            txt = '提现成功'
+        } else if (e == 3) {
+            txt = '提现失败'
+        }
+        return txt
+    }
 
-    starTime = (value,dateString)=>{
-        if(dateString !== ''){
+    starTime = (value, dateString) => {
+        if (dateString !== '') {
             dateString = new Date(value).formats('yyyy-MM-dd 00:00:00')
-            let time = new Date(dateString).getTime()/1000;
+            let time = new Date(dateString).getTime() / 1000;
             this.setState({
                 starTime: time
             })
-        }else{
+        } else {
             this.setState({
                 starTime: ''
             })
         }
-        
+
     }
 
-    endTime = (value,dateString)=>{
-        if(dateString !== ''){
+    endTime = (value, dateString) => {
+        if (dateString !== '') {
             dateString = new Date(value).formats('yyyy-MM-dd 00:00:00')
-            let time = new Date(dateString).getTime()/1000;
+            let time = new Date(dateString).getTime() / 1000;
             this.setState({
                 endTime: time
             })
-        }else{
+        } else {
             this.setState({
                 endTime: ''
             })
@@ -119,35 +200,67 @@ export default class WithdrawalRecord extends React.Component {
     }
 
 
-    handleChange_1(e){
-        console.log(e)
+    handleChange_1(e) {
+        this.setState({
+            tradeStatus: e
+        })
     }
 
-    handleChange_2(e){
-        console.log(e)
+    handleChange_2(e) {
+        this.setState({
+            timeType: e
+        });
+        if (e == 0) {
+            this.setState({
+                starTime: '',
+                endTime: '',
+                keys: new Date().getTime(),
+                keye: new Date().getTime() * 1000,
+            });
+        }
     }
 
-    queryClick(){
+    queryClick() {
+        if (this.state.timeType !== 0 && this.state.timeType !== null) {
+            if (this.state.endTime <= this.state.starTime && (this.state.starTime !== '' && this.state.endTime !== '')) {
+                message.error('结束时间不可小于或者等于开始时间!');
+            } else {
+                if (this.state.starTime == '' && this.state.endTime == '') {
+                    this.initData()
+                } else if (this.state.starTime !== '' && this.state.endTime !== '') {
+                    this.initData()
+                } else {
+                    if (this.state.starTime == '') {
+                        message.error('请选择开始时间!');
+                    } else if (this.state.endTime == '') {
+                        message.error('请选择结束时间!');
+                    }
+                }
+            }
+        } else {
+            this.initData()
+        }
 
     }
 
     render() {
-        const { data , columns , headTxt, timeType , keys , keye } = this.state;
+        const { data, columns, headTxt, timeType, keys, keye, paginationProps, lodings, isModalVisible , rowRecord } = this.state;
         const { Option } = Select;
-        return(
+        return (
             <div className='wrap_table'>
                 <div className='header_center'>
-                   { headTxt }
-               </div>
-               <div className='query_table_l' style={{height:'60px'}}>
-                   <div className='btm_div' style={{height:'100%',lineHeight:'60px',paddingLeft:'20px'}}>
-                        <div style={{display : 'inline-block',}}> 提现状态 : </div>
-                        <Select size='default' placeholder="请选择提现状态"  onChange={ this.handleChange_1.bind(this) } style={{ width: 200,marginRight:'20px' }}>
+                    {headTxt}
+                </div>
+                <div className='query_table_l' style={{ height: '60px' }}>
+                    <div className='btm_div' style={{ height: '100%', lineHeight: '60px', paddingLeft: '20px' }}>
+                        <div style={{ display: 'inline-block', }}> 提现状态 : </div>
+                        <Select size='default' placeholder="请选择提现状态" onChange={this.handleChange_1.bind(this)} style={{ width: 200, marginRight: '20px' }}>
                             <Option key={1} value={1}>提现中</Option>
                             <Option key={2} value={2}>提现成功</Option>
                             <Option key={3} value={3}>提现失败</Option>
                         </Select>
-                        <Select size='default' placeholder="请选择时间类型"  onChange={ this.handleChange_2.bind(this)  } style={{ width: 200,marginRight:'20px' }}>
+                        <Select size='default' placeholder="请选择时间类型" onChange={this.handleChange_2.bind(this)} style={{ width: 200, marginRight: '20px' }}>
+                            <Option key={0} value={0}>不限时间类型</Option>
                             <Option key={1} value={1}>创建时间</Option>
                             <Option key={2} value={2}>完成时间</Option>
                         </Select>
@@ -156,16 +269,56 @@ export default class WithdrawalRecord extends React.Component {
                         </Space>
                         <div style={{ display: 'inline-block', margin: '0px 10px', color: '#d9d9d9' }}>-</div>
                         <Space direction="vertical">
-                            <DatePicker key={keye} onChange={this.endTime} locale={locale} disabled={timeType == null ? true : false || timeType == 0 ? true : false}  placeholder='请选择结束时间' />
+                            <DatePicker key={keye} onChange={this.endTime} locale={locale} disabled={timeType == null ? true : false || timeType == 0 ? true : false} placeholder='请选择结束时间' />
                         </Space>
                         <Button type="primary" style={{
                             float: 'right', display: 'inline-block', margin: '15px 60px',
                         }} onClick={this.queryClick.bind(this)}>搜索</Button>
-                   </div>
-               </div>
-               <div className='tables'>
-                    <Table columns={columns} dataSource={data} />
-               </div>
+                    </div>
+                </div>
+                <div className='tables'>
+                    <Table
+                        columns={columns}
+                        dataSource={data}
+                        pagination={paginationProps}
+                        loading={lodings}
+                    />
+                </div>
+                <Modal title="提现详情"
+                    // wrapClassName={'webs'}
+                    footer={[
+                        // <Button key="submit" type="primary" onClick={this.handleOk.bind(this)}>
+                        //     确定
+                        // </Button>,
+                    ]}
+                    visible={isModalVisible}
+                    closable={true}
+                    mask={true}
+                onCancel={this.handleOk_c.bind(this)}
+                >
+                    <div>
+                        <div>
+                            <div>
+                                <div style={{
+                                    width: '100%',
+                                }}>
+                                    <p style={{ fontSize: '16px', fontWeight: '600' }}>提现信息</p>
+                                    <p >提现金额 : <text style={{color : 'red' ,fontWeight : 600}}>{rowRecord.withdrawAmount}</text></p>
+                                    <p>手续费 : {rowRecord.fee}</p>
+                                    <p>到账账户 : {rowRecord.bankCardNumber}</p>
+                                </div>
+                            </div>
+                            <div>
+                                <p style={{ fontSize: '16px', fontWeight: '600' }}>提现进度</p>
+                                <Steps size="small" current={rowRecord.orderStatusNums} percent={90}>
+                                    <Step title="发起提现申请"description={rowRecord.createTime} />
+                                    <Step title="提现成功" description={rowRecord.completeTime} />
+                                </Steps>
+                            </div>
+                        </div>
+
+                    </div>
+                </Modal>
             </div>
         )
     }

+ 1 - 1
src/component/center-o/centerO.jsx

@@ -183,7 +183,7 @@ export default class centerO extends React.Component {
                             onChange={ this.handleChangeZs.bind(this) } 
                             style={{ width: 200 }}
                             >
-                            {selectData.contract.map((item,index) => (
+                            {selectData.certificate.map((item,index) => (
                                 <Option key={index} value={item.value}>{item.txt}</Option>
                             ))}
                         </Select>

+ 0 - 1
src/component/center-s/centerS.jsx

@@ -51,7 +51,6 @@ export default class centerS extends React.Component {
             liquidationType : 'WITHDRAW',//清算方式 WITHDRAW 提现   SETTLE 结算
             withdrawRateType : this.state.Params.withdrawRateType,//提现费率类型
             withdrawRate : document.getElementById("withdrawRate").value,//提现费率
-            // profession :  this.state.Params.profession, //法人职业
         }
         console.log(this.state.Params.withdrawRateType)
         return Params

+ 344 - 102
src/component/center-tab/center-tab.jsx

@@ -1,6 +1,6 @@
-import React , { useState } from 'react';
-import { Button, Table , Modal } from 'antd';
-import { $Axios , format } from '../../common/publish';
+import React, { useState } from 'react';
+import { Spin, Table, Modal , Button  } from 'antd';
+import { $Axios, format } from '../../common/publish';
 import select_data from '../../common/ssq';
 import '../center-tab/center-tab.scss'
 const { Column, ColumnGroup } = Table;
@@ -8,15 +8,15 @@ export default class centerTab extends React.Component {
     constructor(props) {
         super(props)
         this.state = {
-            headTxt : '商户入网 > 商户入网列表',
-            select_data : select_data,
-            data : [],
-              columns : [
+            headTxt: '商户入网 > 商户入网列表',
+            select_data: select_data,
+            data: [],
+            columns: [
                 {
                     title: '序号',
                     dataIndex: 'num',
                     key: 'num',
-                    
+
                 },
                 {
                     title: '签约名称',
@@ -37,161 +37,403 @@ export default class centerTab extends React.Component {
                     title: '操作',
                     dataIndex: 'cz',
                     key: 'cz',
-                    row : {xxx:'xxx'},
-                    render:  (text, record, index) => <a onClick={()=>this.xqClick(text, record, index)}>查看详情</a>,
+                    row: { xxx: 'xxx' },
+                    render: (text, record, index) => <a onClick={() => this.xqClick(text, record, index)}>查看详情</a>,
                 },
             ],
-            lastId : 1,
-            isModalVisible : false,
-            bankCardInfo : null,
-            baseInfo : null,
-            merchantInfo : null
-            
+            pNo: 1,
+            isModalVisible: false,
+            bankCardInfo: null,
+            baseInfo: null,
+            merchantInfo: null,
+            tk_data: [],
+            tklodins: false,
+            cityList : [],
+            areaList : [],
+            isModalVisibleImg : false,
+            paginationProps: {
+                showSizeChanger: false,//设置每页显示数据条数
+                showQuickJumper: false,
+                showTotal: () => `共${this.state.total}条`,
+                pageSize: 10,
+                total: null,  //数据的总的条数
+                onChange: (current) => this.changePage(current), //点击当前页码
+            },
+            lodings : true
         }
-        
+
     }
-	
-	componentDidMount() {
+
+    componentDidMount() {
         this.initData()
     }
 
-    
-    initData(){
+    changePage(e) {
+        this.state.params.pNo = e
+        this.setState({
+            current: e
+        });
+        this.initData();
+    }
+
+
+    initData() {
         let that_ = this;
+        that_.setState({
+            lodings: true
+        })
         let url = '/payment/merchant.query.groovy'
         let params = {
-            action:"queryList",//查询商户入网列表
+            action: "queryList",//查询商户入网列表
             merchantStatus: 1, //当前固定为1  //商户状态0待激活1活动中2关闭3删除4已冻结5清退6退驻
-            pSize:10,//每页条数
-            pNo : this.state.lastId, //最后一个排序号,即最后一条记录的id值
-            queryType : 1,//用户权限 1最高权限  2商城权限  3商户权限
-            appName : '' // queryType=2时为指定商户appname,:queryType=3时为二级商户所属上级parentAppName
+            pSize: 10,//每页条数
+            pNo: this.state.pNo, //最后一个排序号,即最后一条记录的id值
+            queryType: 1,//用户权限 1最高权限  2商城权限  3商户权限
+            appName: '' // queryType=2时为指定商户appname,:queryType=3时为二级商户所属上级parentAppName
         }
-        $Axios('get',url,params,(res) => {
+        $Axios('get', url, params, (res) => {
             let status = res.data.head.status;
-            if(status == 200){
+            if (status == 200) {
                 let data = res.data.body.list;
                 let arr = [];
-                data.map((item,index) => {
+                data.map((item, index) => {
                     let obj = {
-                        num : index + 1,
+                        num: index + 1,
                         key: item.id,
                         name: item.name,
                         signedName: item.signedName == '' ? '--' : item.signedName,
-                        signedShorthand : item.signedShorthand == '' ? '--' : item.signedShorthand,
-                        createTime : format(item.createTime),
-                        appName : item.appName
+                        signedShorthand: item.signedShorthand == '' ? '--' : item.signedShorthand,
+                        createTime: format(item.createTime),
+                        appName: item.appName
                     }
                     arr.push(obj)
                 });
+                let total = res.data.body.totalCount;
+                that_.state.paginationProps.total = total
                 that_.setState({
-                    data : arr
+                    data: arr,
+                    total: total,  //数据的总的条数
+                    lodings: false
                 })
             }
         })
     }
 
-    // xqClick(e){
-    //     console.log(e)
-
-    //     this.setState({
-    //         isModalVisible : true
-    //     });
-    // }
-
     xqClick = (text, record, index) => {
-        console.log(text, record, index);
         this.queryData(record)
         this.setState({
-            isModalVisible : true
+            isModalVisible: true
         });
     }
 
 
 
-    queryData(record){
+    queryData(record) {
         let that_ = this;
+        that_.setState({
+            tklodins : false
+        })
         let url = '/payment/merchant.query.groovy'
         let params = {
-            appName:record.appName,//当前需要查询用户的 appName
-            action : 'queryInfo' // 查询当前商户信息
+            appName: record.appName,//当前需要查询用户的 appName
+            action: 'queryInfo' // 查询当前商户信息
         }
-        $Axios('get',url,params,(res) => {
+        $Axios('get', url, params, (res) => {
             let status = res.data.head.status;
-            if(status == 200){
+            if (status == 200) {
                 let bankCardInfo = JSON.parse(res.data.body.bankCardInfo);
                 let baseInfo = JSON.parse(res.data.body.baseInfo);
                 let merchantInfo = JSON.parse(res.data.body.merchantInfo);
-                console.log(baseInfo)
+                let certificateInfo = merchantInfo.certificateInfo;
+                console.log(merchantInfo)
+                let data = [
+                    { txt: '签约类型', value: '被分账方' , type : false},
+                    { txt: '签约名称', value: baseInfo.signedName , type : false },
+                    { txt: '商户简称', value: baseInfo.signedShorthand , type : false },
+                    { txt: '商户手机号', value: baseInfo.contactPhone , type : false },
+                    { txt: '商户邮箱', value: baseInfo.contactEmail , type : false },
+                    { txt: '经营地址省', value: this.businessAddressProvince(baseInfo.businessAddressProvince,1).provinceName , type : false },
+                    { txt: '经营地址市' , value : this.businessAddressProvince(baseInfo.businessAddressCity,2).cityName , type : false},
+                    { txt: '经营地址区' , value : this.businessAddressProvince(baseInfo.businessAddressArea,3).areaName , type : false},
+                    { txt: '经营地址' , value : baseInfo.businessAddress , type : false},
+                    { txt: '业务类型' , value : this.businessClassification(baseInfo.businessClassification) , type : false},
+                    { txt: '证书类型' , value : this.cerType(baseInfo.cerType) , type : false},
+                    { txt: '签约性质' , value : this.registerRole(baseInfo.registerRole) , type : false},
+                    { txt: '法人姓名' , value : certificateInfo.legalPersonName == undefined ? '' : certificateInfo.legalPersonName , type : false},
+                    { txt: '法人职业' , value : this.profession(certificateInfo.profession) , type : false},
+                    { txt: '法人证件类型' , value : this.legalPersonIdType(certificateInfo.legalPersonIdType) , type : false},
+                    { txt: '证件号码' , value : certificateInfo.legalPersonIdNo == undefined ? '' : certificateInfo.legalPersonIdNo , type : false},
+                    { txt: '企业证件类型' , value :  this.cerNoType(certificateInfo.cerNoType) , type : false},
+                    { txt: '企业资质证书编号' , value :  certificateInfo.cerNo == undefined ? '' : certificateInfo.cerNo , type : false},
+                    { txt: '营业面积' , value :  this.sellingArea(certificateInfo.sellingArea,1) , type : false},
+                    { txt: '公司员工规模' , value :  this.sellingArea(certificateInfo.staffSize,2) , type : false},
+                    { txt: '交易场景说明' , value :  this.tradingScenarios(certificateInfo.tradingScenarios == undefined ? [] : certificateInfo.tradingScenarios) , type : false},
+                    { txt: '网站网址' , value : certificateInfo.webSite == undefined ? '' : certificateInfo.webSite , type : false},
+                    { txt: '网站名称' , value : certificateInfo.webSiteName == undefined ? '' : certificateInfo.webSiteName , type : false},
+                    { txt: 'ICP备案号' , value : certificateInfo.icp == undefined ? '' : certificateInfo.icp , type : false},
+                    { txt: 'APP名称' , value : certificateInfo.appName == undefined ? '' : certificateInfo.appName , type : false},
+                    { txt: '公众号/小程序/生活号' , value : certificateInfo.wechatAppletName == undefined ? '' : certificateInfo.wechatAppletName , type : false},
+                    { txt: '营业执照照片路径' , value : certificateInfo.businessLicensePath == undefined ? '' : certificateInfo.businessLicensePath , type : true},
+                    { txt: '开户许可证照片路径' , value : certificateInfo.openAccountPath == undefined ? '' : certificateInfo.openAccountPath , type : true},
+                    { txt: '法人证件人像面路径' , value : certificateInfo.legalIdCardProsPath == undefined ? '' : certificateInfo.legalIdCardProsPath , type : true},
+                    { txt: '法人证件国徽面路径' , value : certificateInfo.legalIdCardConsPath == undefined ? '' : certificateInfo.legalIdCardConsPath , type : true},
+                    { txt: '法人手持证件影印件路径' , value : certificateInfo.holdingIdCardPath == undefined ? '' : certificateInfo.holdingIdCardPath , type : true},
+                    { txt: '商户网址截图影印件路径' , value : certificateInfo.webSitePath == undefined ? '' : certificateInfo.webSitePath , type : true},
+                    { txt: '公众号/小程序/生活号业务流程截图影印件路径	' , value : certificateInfo.wechatAppletPath == undefined ? '' : certificateInfo.wechatAppletPath , type : true},
+                    { txt: '商户网址截图影印件路径' , value : certificateInfo.appPath == undefined ? '' : certificateInfo.appPath , type : true},
+                    { txt: '法人银行卡图影印件路径' , value : certificateInfo.legalPersonBankCardPath == undefined ? '' : certificateInfo.legalPersonBankCardPath , type : true},
+                    { txt: '其他资质文件路径' , value : certificateInfo.otherCerPath == undefined ? '' : certificateInfo.otherCerPath , type : true},
+                    { txt: '开户行' , value : this.bankCode(bankCardInfo.bankCode) , type : false},
+                    { txt: '支行名称' , value : bankCardInfo.bankBranchName == undefined ? '' : bankCardInfo.bankBranchName , type : false},
+                    { txt: '开户名称' , value : bankCardInfo.accountName == undefined ? '' : bankCardInfo.accountName , type : false},
+                    { txt: '开户账号' , value : bankCardInfo.bankCardNo == undefined ? '' : bankCardInfo.bankCardNo , type : false},
+                    { txt: '市编码' , value : bankCardInfo.cityCode == undefined ? '' : bankCardInfo.cityCode , type : false},
+                    { txt: '省编码' , value : bankCardInfo.provinceCode == undefined ? '' : bankCardInfo.provinceCode , type : false},
+                    { txt: '结算银行卡属性' , value :  this.accountType(bankCardInfo.accountType,1) , type : false},
+                    { txt: '清算方式' , value :  this.accountType(bankCardInfo.liquidationType,2) , type : false},
+                    { txt: '提现费率类型' , value : bankCardInfo.withdrawRateType == undefined ? '' : bankCardInfo.withdrawRateType , type : false},
+                    { txt: '提现费率' , value : bankCardInfo.withdrawRate == undefined ? '' : bankCardInfo.withdrawRate , type : false},
+                ]
                 that_.setState({
-                    bankCardInfo : bankCardInfo,
-                    baseInfo : baseInfo,
-                    merchantInfo : merchantInfo,
-                    isModalVisible : true
+                    tk_data: data,
+                    tklodins : true
+                    
+                },function(){
+                    that_.setState({
+                        isModalVisible: true,
+                    })
                 });
             }
             // console.log(res)
-    
+
+        })
+    }
+
+    handleOk_c() {
+        this.setState({
+            isModalVisible: false
         })
     }
 
-    handleOk(){
+    bankCode(e){ //开户行反查
+        console.log(e)
+        let s;
+        if(e !== '' && e !== undefined){
+            s = this.state.select_data.contractS.find((item, index) => { return e == item.value }).txt;
+        }
+        return s
+    }
+
+    accountType(e,n){//结算银行卡属性反查 && 清算方式liquidationType
+        let s;
+        if(e !== '' && e !== undefined){  
+           if(n == 1){
+            if(e == 'PUBLIC'){
+                s = '对公'
+            }else if(e == 'PRIVATE'){
+                s = '对私'
+            }
+           }else{
+            if(e == 'WITHDRAW'){
+                s = '提现'
+            }else if(e == 'SETTLE'){
+                s = '结算'
+            }
+           }
+        }
+        return s
+    }
+
+    tradingScenarios(e){//交易场景说明反查
+        let s;
+        if(e && e.length > 0){
+            e.map((item,index) => {
+                s += `${item}`
+            });
+        }
+        return s
+    }
+
+    sellingArea(e,n){ //营业面积与员工规模反查
+        let s;
+        if(e !== '' && e !== undefined){  
+           if(n == 1){
+                if(e == 'A'){
+                    s = '500平米以上'
+                }else if(e == 'B'){
+                    s = '200-500平米(含)'
+                }else if(e == 'C'){
+                    s = '200平米以下'
+                }
+           }else{
+                if(e == 'A'){
+                    s = '100人以上'
+                }else if(e == 'B'){
+                    s = '50-100人(含)'
+                }else if(e == 'C'){
+                    s = '50人以下'
+                }
+           }
+        }
+        return s
+    }
+
+    cerNoType(e){ //企业证件类型反查
+        let s;
+        if(e !== '' && e !== undefined){
+            s = this.state.select_data.cerNoTypeW.find((item, index) => { return e == item.value }).txt;
+        }
+        return s
+    }
+
+    legalPersonIdType(e){ //法人证件类型反查
+        let s;
+        if(e !== '' && e !== undefined){
+            s = this.state.select_data.certificateW.find((item, index) => { return e == item.value }).txt;
+        }
+        return s
+    }
+
+    legalPersonIdType(e){ //法人证件类型反查
+        let s;
+        if(e !== '' && e !== undefined){
+            s = this.state.select_data.certificateW.find((item, index) => { return e == item.value }).txt;
+        }
+        return s
+    }
+
+    profession(e){//法人职业反查
+        let s;
+        if(e !== '' && e !== undefined){
+            s = this.state.select_data.contractW.find((item, index) => { return e == item.value }).txt;
+        }
+        return s
+    }
+
+    registerRole(e){ //签约性质反查
+        let s;
+        if(e !== '' && e !== undefined){
+            s = this.state.select_data.contract.find((item, index) => { return e == item.value }).txt;
+        }
+        return s
+    }
+
+    cerType(e){ //证书类型反查
+        let s;
+        if(e !== '' && e !== undefined){
+            s = this.state.select_data.certificate.find((item, index) => { return e == item.value }).txt;
+        }
+        return s
+    }
+    businessClassification(e){//业务类型反查
+        let s;
+        if(e !== '' && e !== undefined){
+            s = this.state.select_data.fication.find((item, index) => { return e == item.value }).txt;
+        }
+        return s
+    }
+
+
+    businessAddressProvince(e,n) { //经营地反查
+        let provinceName,cityName,areaName,cityList,areaList;
+        if(n == 1){
+            provinceName = this.state.select_data.Area.find((item, index) => { return e == item.provinceCode }).provinceName;
+            cityList = this.state.select_data.Area.find((item, index) => { return e == item.provinceCode }).mallCityList;
+            this.setState({
+                cityList : cityList
+            })
+        }
+        if(n == 2){
+            cityName = this.state.cityList.find((item, index) => { return e == item.cityCode }).cityName;
+            areaList = this.state.cityList.find((item, index) => { return e == item.cityCode }).mallAreaList;
+            this.setState({
+                areaList : areaList
+            })
+        }
+        if(n == 3){
+            areaName = this.state.areaList.find((item, index) => { return e == item.areaCode }).areaName;
+        }
+        return { provinceName ,cityName ,areaName }
+    }
+
+    cktuImg(url){
         this.setState({
-            isModalVisible : false
+            isModalVisibleImg : true
+        })
+        console.log(url)
+    }
+    handleOk_img(){
+        this.setState({
+            isModalVisibleImg : false
         })
     }
 
-    
 
     render() {
-        const { data , columns , headTxt , isModalVisible ,bankCardInfo ,baseInfo ,merchantInfo , select_data  } = this.state;
-        return(
+        const { data, columns, headTxt, isModalVisible, tk_data, tklodins ,isModalVisibleImg,paginationProps ,lodings } = this.state;
+        return (
             <div className='wrap_table'>
                 <div className='header_center'>
-                   { headTxt }
-               </div>
-               <div className='tables'>
-                <Table columns={columns} dataSource={data} />
-               </div>
-               <Modal title="详细信息" 
-                 footer={[
-                    <Button key="submit" type="primary" onClick={this.handleOk.bind(this)}>
-                      确定
-                    </Button>,
-                  ]}
-                visible={isModalVisible} 
-                closable = {false}
-                // onOk={this.handleOk} 
-               >
-                    {baseInfo && <div>签约类型 : 被分帐方</div>} 
-                    {baseInfo && <div>签约名称 : {baseInfo.signedName}</div>}
-                    {baseInfo && <div>商户简称 : {baseInfo.signedShorthand}</div>}
-                    {baseInfo && <div>商户签约性质 : {baseInfo.registerRole}</div>}
-                    {baseInfo && <div>签约名称 : {baseInfo.signedName}</div>}
-                    {baseInfo && <div>签约名称 : {baseInfo.signedName}</div>}
-                    {baseInfo && <div>签约名称 : {baseInfo.signedName}</div>}
-                    {baseInfo && <div>签约名称 : {baseInfo.signedName}</div>}
-                    {baseInfo && <div>签约名称 : {baseInfo.signedName}</div>}
-                    {baseInfo && <div>签约名称 : {baseInfo.signedName}</div>}
-                    <div>as的</div>
+                    {headTxt}
+                </div>
+                <div className='tables'>
+                    <Table 
+                    columns={columns} 
+                    dataSource={data} 
+                    pagination={paginationProps}
+                    loading={lodings}
+                    />
+                </div>
+                <Modal title="详细信息"
+                    wrapClassName={'webs'}
+                    footer={[]}
+                    visible={isModalVisible}
+                    closable={true}
+                    onCancel={this.handleOk_c.bind(this)}
+                >
+                    {
+                        tklodins == false && <div style={{
+                            width: '100%',
+                            height: '300px',
+                            textAlign : 'center',
+                            fontSize : '20px',
+                            color : '#ccc',
+                            lineHeight : '300px',
+                            overflow:'auto'
+                        }}>
+                             <Spin tip="加载中请稍后..."></Spin>
+                        </div>
+                    }
+                    {
+                        (tklodins == true &&  tk_data !== []) && <div style={{maxHeight:'300px',overflow : 'auto'}}>
+                            {tk_data.map((item, index) => (
+                                item.type == false ? <div key={index} style={{height:'50px',lineHeight :'50px'}} value={item.value}>{item.txt} : {item.value}</div> : <div key={index} style={{height:'50px',lineHeight :'50px'}} >{item.txt} :  <Button type="primary" onClick={ (e) => this.cktuImg(item.value) } >查看图片</Button></div>
+                               
+                            ))}
+                         </div>
+                    }
+                </Modal>
+                <Modal title="图片详情"
+                    wrapClassName={'webs'}
+                    footer={[]}
+                    visible={isModalVisibleImg}
+                    closable={true}
+                    onCancel={this.handleOk_img.bind(this)}
+                >
+                    
+                        <div style={{
+                            width: '100%',
+                            height: '300px',
+                            textAlign : 'center',
+                            fontSize : '20px',
+                            color : '#ccc',
+                            lineHeight : '300px',
+                            overflow:'auto'
+                        }}>
+                             <Spin tip="加载中请稍后..."></Spin>
+                        </div>
                 </Modal>
             </div>
-
-
-            // signedType : 'BY_SPLIT_BILL',  //签约类型
-            // signedName :  document.getElementById("qymc").value, //签约名称
-            // signedShorthand : document.getElementById("names").value, //商户简称
-            // registerRole : this.state.Params.registerRole , //商户签约性质
-            // cerType : this.state.Params.cerType, //证书类型
-            // businessAddressProvince : this.state.Params.businessAddressProvince,//经营地省
-            // businessAddressCity : this.state.Params.businessAddressCity, //经营地市
-            // businessAddressArea : this.state.Params.businessAddressArea, //经营地区
-            // businessAddress : document.getElementById("mywb").value,  //经营详细地址
-            // contactName : document.getElementById("myname").value, //联系人姓名
-            // contactEmail : document.getElementById("mymail").value,// 联系人邮箱
-            // contactPhone : document.getElementById("mynums").value,// 联系人电话
-            // businessClassification : this.state.Params.businessClassification, //业务分类 (签约类型为被分账方不传此参数)
-            // desireAuth : this.state.Params.desireAuth, // 开户意愿核实类型
         )
     }
 }

+ 24 - 4
src/component/center-w/centerW.jsx

@@ -43,8 +43,8 @@ export default class centerW extends React.Component {
             idEffectiveDateEnd : '',//法人证件有效期结束日期
             cerNoType : this.state.Params.cerNoType,//企业证件类型
             cerNo : document.getElementById("cerNo").value,//企业资质证书编号
-            sellingArea : document.getElementById("sellingArea").value,//营业面积
-            staffSize : document.getElementById("staffSize").value,//公司员工规模
+            sellingArea : this.state.Params.sellingArea,//营业面积
+            staffSize : this.state.Params.staffSize,//公司员工规模
             tradingScenarios :  this.state.Params.tradingScenarios,//交易场景说明
             webSite : document.getElementById("webSite").value,//网站网址
             webSiteName : document.getElementById("webSiteName").value,//网站名称
@@ -93,6 +93,14 @@ export default class centerW extends React.Component {
         this.state.Params.cerNoType = value;
     }
 
+    selectChange_4(value) {  // 营业面积
+        this.state.Params.sellingArea = value;
+    }
+
+    selectChange_5(value) {  // 员工规模
+        this.state.Params.staffSize = value;
+    }
+
     CheckChange(e){
         this.state.Params.tradingScenarios = e.toString()
         console.log(e)
@@ -194,11 +202,23 @@ export default class centerW extends React.Component {
                     </div>
                     <div className='c-l'>
                         <div className='titles'> 营业面积 : </div>
-                        <div className='inputs'><Input id='sellingArea' placeholder="A 500平以上" defaultValue={Params.sellingArea} /></div>
+                        <div className='inputs'>
+                            <Select size='default' placeholder="请选择营业面积" defaultValue={Params.sellingArea}  onChange={ this.selectChange_4.bind(this) } style={{ width: 200 }}>
+                                <Option key={1} value='A'>500平米以上</Option>
+                                <Option key={2} value='B'>200-500平米(含)</Option>
+                                <Option key={3} value='C'>200平米以下</Option>
+                            </Select>
+                        </div>
                     </div>
                     <div className='c-l'>
                         <div className='titles'> 公司员工规模 : </div>
-                        <div className='inputs'><Input id='staffSize' placeholder="A 100人以上" defaultValue={Params.staffSize} /></div>
+                        <div className='inputs'>
+                            <Select size='default' placeholder="请选择营业面积" defaultValue={Params.staffSize}  onChange={ this.selectChange_5.bind(this) } style={{ width: 200 }}>
+                                <Option key={4} value='A'>100人以上</Option>
+                                <Option key={5} value='B'>50-100人(含)</Option>
+                                <Option key={6} value='C'>50人以下</Option>
+                            </Select>
+                        </div>
                     </div>
                     <div className='c-l'>
                         <div className='titles'> 交易场景说明 : </div>