first commit
This commit is contained in:
1
朱鹏鹏/.pydio
Normal file
1
朱鹏鹏/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
37ee5fd0-f188-4cf7-b533-68bdd4083bd7
|
||||
30
朱鹏鹏/keiri/.gitignore
vendored
Executable file
30
朱鹏鹏/keiri/.gitignore
vendored
Executable file
@@ -0,0 +1,30 @@
|
||||
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/node_modules
|
||||
/.pnp
|
||||
.pnp.js
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
.env.local
|
||||
.env.development.local
|
||||
.env.test.local
|
||||
.env.production.local
|
||||
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
/dist
|
||||
.vscode
|
||||
.history
|
||||
.yarn*
|
||||
.idea
|
||||
package-lock
|
||||
1
朱鹏鹏/keiri/.pydio
Normal file
1
朱鹏鹏/keiri/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
ee1fcdd4-b3e0-4553-83f1-b277566953a6
|
||||
4
朱鹏鹏/keiri/README.md
Executable file
4
朱鹏鹏/keiri/README.md
Executable file
@@ -0,0 +1,4 @@
|
||||
# keiri
|
||||
# yarn
|
||||
# yarn start 运行
|
||||
|
||||
51
朱鹏鹏/keiri/config-overrides.js
Executable file
51
朱鹏鹏/keiri/config-overrides.js
Executable file
@@ -0,0 +1,51 @@
|
||||
const { override, fixBabelImports, addDecoratorsLegacy, addWebpackAlias, overrideDevServer, disableEsLint, addLessLoader } = require('customize-cra');
|
||||
const path = require('path')
|
||||
|
||||
const devServer = () => {
|
||||
return (config) => {
|
||||
return {
|
||||
...config,
|
||||
open: true,
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://222k09y748.iask.in/',
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
'^/api': '/'
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
webpack: override(
|
||||
addWebpackAlias({
|
||||
["$actions"]: path.resolve(__dirname, "src/store/actions"),
|
||||
["$pages"]: path.resolve(__dirname, "src/pages"),
|
||||
["$c"]: path.resolve(__dirname, "src/components"),
|
||||
["$router"]: path.resolve(__dirname, "src/router"),
|
||||
["$public"]: path.resolve(__dirname, "src/public/js"),
|
||||
["$http"]: path.resolve(__dirname, "src/public/js/http"),
|
||||
["$button"]: path.resolve(__dirname, "src/public/js/buttons"),
|
||||
["$src"]: path.resolve(__dirname, "src")
|
||||
}),
|
||||
addDecoratorsLegacy(),
|
||||
disableEsLint(),
|
||||
fixBabelImports('import', {
|
||||
libraryName: 'antd',
|
||||
libraryDirectory: 'es',
|
||||
style: true
|
||||
}),
|
||||
addLessLoader({
|
||||
javascriptEnabled: true,
|
||||
modifyVars: { '@primary-color': '#4BAEA0' },
|
||||
})
|
||||
|
||||
),
|
||||
devServer: overrideDevServer(
|
||||
devServer()
|
||||
)
|
||||
};
|
||||
14944
朱鹏鹏/keiri/package-lock.json
generated
Executable file
14944
朱鹏鹏/keiri/package-lock.json
generated
Executable file
File diff suppressed because it is too large
Load Diff
52
朱鹏鹏/keiri/package.json
Executable file
52
朱鹏鹏/keiri/package.json
Executable file
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"name": "keiri",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"dependencies": {
|
||||
"@babel/plugin-proposal-decorators": "^7.6.0",
|
||||
"@loadable/component": "^5.10.2",
|
||||
"antd": "^4.7.0",
|
||||
"axios": "^0.19.0",
|
||||
"babel-plugin-import": "^1.12.1",
|
||||
"bignumber": "^1.1.0",
|
||||
"bignumber.js": "^9.0.0",
|
||||
"classnames": "^2.2.6",
|
||||
"cross-env": "^7.0.2",
|
||||
"customize-cra": "^0.6.0",
|
||||
"echarts": "^4.4.0",
|
||||
"echarts-for-react": "^2.0.15-beta.1",
|
||||
"less": "^3.10.3",
|
||||
"less-loader": "^5.0.0",
|
||||
"lodash": "^4.17.15",
|
||||
"node-sass": "^4.12.0",
|
||||
"react": "^16.9.0",
|
||||
"react-app-rewired": "^2.1.3",
|
||||
"react-dom": "^16.9.0",
|
||||
"react-redux": "^7.1.1",
|
||||
"react-router-dom": "^5.0.1",
|
||||
"react-scripts": "3.1.1",
|
||||
"redux": "^4.0.4",
|
||||
"redux-persist": "^6.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "react-app-rewired start",
|
||||
"build": " cross-env GENERATE_SOURCEMAP=false react-app-rewired build",
|
||||
"test": "react-app-rewired test",
|
||||
"eject": "react-scripts eject"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"extends": "react-app"
|
||||
},
|
||||
"browserslist": {
|
||||
"production": [
|
||||
">0.2%",
|
||||
"not dead",
|
||||
"not op_mini all"
|
||||
],
|
||||
"development": [
|
||||
"last 1 chrome version",
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
}
|
||||
}
|
||||
1
朱鹏鹏/keiri/public/.pydio
Normal file
1
朱鹏鹏/keiri/public/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
b336353c-30c6-4b36-aa95-043ebf4ba7fb
|
||||
BIN
朱鹏鹏/keiri/public/favicon.ico
Executable file
BIN
朱鹏鹏/keiri/public/favicon.ico
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 3.8 KiB |
26
朱鹏鹏/keiri/public/index.html
Executable file
26
朱鹏鹏/keiri/public/index.html
Executable file
@@ -0,0 +1,26 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<title>キャッシュレスシステム</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||
<div id="root"></div>
|
||||
<!--
|
||||
This HTML file is a template.
|
||||
If you open it directly in the browser, you will see an empty page.
|
||||
|
||||
You can add webfonts, meta tags, or analytics to this file.
|
||||
The build step will place the bundled scripts into the <body> tag.
|
||||
|
||||
To begin the development, run `npm start` or `yarn start`.
|
||||
To create a production bundle, use `npm run build` or `yarn build`.
|
||||
-->
|
||||
</body>
|
||||
|
||||
</html>
|
||||
25
朱鹏鹏/keiri/public/manifest.json
Executable file
25
朱鹏鹏/keiri/public/manifest.json
Executable file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"short_name": "React App",
|
||||
"name": "Create React App Sample",
|
||||
"icons": [
|
||||
{
|
||||
"src": "favicon.ico",
|
||||
"sizes": "64x64 32x32 24x24 16x16",
|
||||
"type": "image/x-icon"
|
||||
},
|
||||
{
|
||||
"src": "logo192.png",
|
||||
"type": "image/png",
|
||||
"sizes": "192x192"
|
||||
},
|
||||
{
|
||||
"src": "logo512.png",
|
||||
"type": "image/png",
|
||||
"sizes": "512x512"
|
||||
}
|
||||
],
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"theme_color": "#000000",
|
||||
"background_color": "#ffffff"
|
||||
}
|
||||
2
朱鹏鹏/keiri/public/robots.txt
Executable file
2
朱鹏鹏/keiri/public/robots.txt
Executable file
@@ -0,0 +1,2 @@
|
||||
# https://www.robotstxt.org/robotstxt.html
|
||||
User-agent: *
|
||||
1
朱鹏鹏/keiri/src/.pydio
Normal file
1
朱鹏鹏/keiri/src/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
f563b270-f994-4a75-bc7e-8e382ee9fbd7
|
||||
28
朱鹏鹏/keiri/src/App.js
Executable file
28
朱鹏鹏/keiri/src/App.js
Executable file
@@ -0,0 +1,28 @@
|
||||
import React from 'react';
|
||||
import { HashRouter as Router, Route, Switch } from 'react-router-dom';
|
||||
import Main from '$pages/main';
|
||||
import ja_JP from 'antd/es/locale/ja_JP';
|
||||
import { ConfigProvider } from 'antd';
|
||||
|
||||
import { Provider } from 'react-redux';
|
||||
import { PersistGate } from 'redux-persist/integration/react';
|
||||
import configStore from './store';
|
||||
|
||||
function App() {
|
||||
const { store, persistor } = configStore();
|
||||
return (
|
||||
<Provider store={store}>
|
||||
<PersistGate loading={null} persistor={persistor}>
|
||||
<ConfigProvider locale={ja_JP}>
|
||||
<Router>
|
||||
<Switch>
|
||||
<Route path="/" component={Main} />
|
||||
</Switch>
|
||||
</Router>
|
||||
</ConfigProvider>
|
||||
</PersistGate>
|
||||
</Provider>
|
||||
);
|
||||
}
|
||||
|
||||
export default App;
|
||||
1
朱鹏鹏/keiri/src/components/.pydio
Normal file
1
朱鹏鹏/keiri/src/components/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
8f43184a-8d90-4431-ac0e-7d8530be3048
|
||||
1
朱鹏鹏/keiri/src/components/detail/.pydio
Normal file
1
朱鹏鹏/keiri/src/components/detail/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
f3702f59-009a-47df-8ded-dec23adc1341
|
||||
517
朱鹏鹏/keiri/src/components/detail/index.js
Executable file
517
朱鹏鹏/keiri/src/components/detail/index.js
Executable file
@@ -0,0 +1,517 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Form, Input, Select, Checkbox, Button, Spin } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { CaretRightOutlined, RollbackOutlined } from '@ant-design/icons';
|
||||
import { http } from '$http';
|
||||
import './index.scss'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Detail extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
loading: false,
|
||||
detail: {},
|
||||
checked1: false,
|
||||
checked2: false,
|
||||
checked3: false,
|
||||
checked4: false,
|
||||
}
|
||||
}
|
||||
|
||||
formRef = React.createRef();
|
||||
onGenderChange = (label,value) => {
|
||||
console.log(label,value);
|
||||
this.formRef.current.setFieldsValue({
|
||||
[label]: value,
|
||||
});
|
||||
};
|
||||
|
||||
changeChecked(name, e) {
|
||||
this.setState({
|
||||
[name]: e.target.checked
|
||||
})
|
||||
};
|
||||
|
||||
onFinish = (values) => {
|
||||
console.log(values);
|
||||
};
|
||||
|
||||
goBack = () => {
|
||||
this.props.goBack()
|
||||
}
|
||||
|
||||
submit() {
|
||||
|
||||
}
|
||||
|
||||
async load() {
|
||||
|
||||
const { row, hd_c1_name } = this.props;
|
||||
const parmas = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
denpyo_no: row.pldenpyo_NO,
|
||||
denpyo_ymd: row.pldenpyo_YMD,
|
||||
hd_c1_name: hd_c1_name
|
||||
}
|
||||
try {
|
||||
this.setState({ loading: true})
|
||||
const detail = await http.post('s01/a1701_0010r/Entry/doIndicate', parmas)
|
||||
this.setState({ loading: false, detail: detail })
|
||||
console.log(detail)
|
||||
this.formRef.current.setFieldsValue({
|
||||
tx_denpyo_no: detail.tx_denpyo_no,
|
||||
tx_shain_no: detail.tx_shain_no,
|
||||
tx_buka_cod: detail.tx_buka_cod,
|
||||
tx_buka_name: detail.tx_buka_name,
|
||||
tx_serialno: detail.tx_serialno,
|
||||
lbl_seihin_mei: detail.lbl_seihin_mei,
|
||||
se_kamoku_mei: detail.se_kamoku_mei,
|
||||
se_tekiyo_mei: detail.se_tekiyo_mei || "-----------",
|
||||
tx_tekiyo_mei: detail.tx_tekiyo_mei,
|
||||
tx_kanjo_code: detail.tx_kanjo_code,
|
||||
tx_kanjo_name: detail.tx_kanjo_name,
|
||||
tx_kih_year: detail.tx_kih_year,
|
||||
tx_kih_month: detail.tx_kih_month,
|
||||
tx_kih_day: detail.tx_kih_day,
|
||||
se_shuhyotp_kbn: detail.se_shuhyotp_kbn,
|
||||
tx_shoniks_kin: detail.tx_shoniks_kin,
|
||||
tx_nito_kin: detail.tx_nito_kin,
|
||||
tx_kotuhi_kin: detail.tx_kotuhi_kin,
|
||||
tx_goukei_kin: detail.tx_goukei_kin,
|
||||
tx_hikyuks_kin: detail.tx_hikyuks_kin,
|
||||
tx_taizaihi_kin: detail.tx_taizaihi_kin,
|
||||
se_shucho_kbn: detail.se_shucho_kbn,
|
||||
tx_schosaki_mei: detail.tx_schosaki_mei,
|
||||
se_schosaki_mei: detail.se_schosaki_mei,
|
||||
se_shuhatu_year: detail.se_shuhatu_year,
|
||||
se_shuhatu_month: detail.se_shuhatu_month,
|
||||
se_shuhatu_day: detail.se_shuhatu_day,
|
||||
se_shuchaku_year: detail.se_shuchaku_year,
|
||||
se_shuchaku_month: detail.se_shuchaku_month,
|
||||
se_shuchaku_day: detail.se_shuchaku_day,
|
||||
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
this.setState({ loading: false })
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
|
||||
}
|
||||
render() {
|
||||
const { loading, detail, checked1, checked2, checked3, checked4 } = this.state;
|
||||
const { se_shucho_kbn_list, se_tekiyo_mei_list, se_kamoku_mei_list, se_schosaki_mei_list,
|
||||
se_shuhatu_year_list, se_shuchaku_year_list, se_shuhatu_month_list,
|
||||
se_shuchaku_month_list, se_shuhatu_day_list, se_shuchaku_day_list, lbl_1} = detail;
|
||||
const { hd_c1_name } = this.props;
|
||||
return (
|
||||
<Spin spinning={loading}>
|
||||
<div className='aw_a1701_0010_detail'>
|
||||
<div><Button onClick={this.goBack} className='back_btn' icon={<RollbackOutlined />} /> 国内出張旅費</div>
|
||||
<div style={{ textAlign: "right", paddingRight: 50 }}>
|
||||
<AddButton >コピー</AddButton>
|
||||
<span style={{ marginLeft: 16 }}>{lbl_1}</span>
|
||||
</div>
|
||||
<div style={{ margin: '10px auto 0', }}>
|
||||
<Form labelAlign="left" size="small" layout="inline" ref={this.formRef} name="control-ref" onFinish={this.onFinish}>
|
||||
<div className="form_one">
|
||||
<div className="form_one">
|
||||
<div>
|
||||
<div className="form_one">
|
||||
<Form.Item name="tx_denpyo_no" label="伝票番号">
|
||||
<Input disabled style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="tx_shain_no" label="社員名称">
|
||||
<Input disabled style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Form.Item name="tx_buka_cod" label="部課コード">
|
||||
<Input style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="tx_buka_name" label="部課名称">
|
||||
<Input disabled />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Form.Item name="tx_serialno" label="オーダーNo">
|
||||
<Input style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="lbl_seihin_mei" label="">
|
||||
<Input disabled />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one form_labe_center">
|
||||
<div style={{ margin: '0 8px 0 2px', width: 64, textAlign: 'right' }}>用件:</div>
|
||||
{
|
||||
hd_c1_name === 'a1701_0010r' ?
|
||||
<div >
|
||||
<div className="form_one">
|
||||
<Form.Item name="se_kamoku_mei" label="" style={{ marginRight: 6 }}>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_kamoku_mei')}
|
||||
>
|
||||
|
||||
{
|
||||
|
||||
se_kamoku_mei_list && se_kamoku_mei_list.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<Button className="form_btn" style={{ marginRight: 6 }} icon={<CaretRightOutlined style={{ color: '#fff', fontSize: 16 }} />}></Button>
|
||||
<Form.Item name="se_tekiyo_mei" label="" style={{ marginRight: 6 }}>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_tekiyo_mei')}
|
||||
>
|
||||
{
|
||||
|
||||
se_tekiyo_mei_list && se_tekiyo_mei_list.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<Button className="form_btn"><div className="stop_btn_icon"></div></Button>
|
||||
</div>
|
||||
<Form.Item name="tx_tekiyo_mei" label="">
|
||||
<Input style={{width:200}} />
|
||||
</Form.Item>
|
||||
</div> :
|
||||
<Form.Item name="tx_tekiyo_mei" label="">
|
||||
<Input style={{ width: 200 }} disabled />
|
||||
</Form.Item>
|
||||
}
|
||||
|
||||
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Form.Item name="tx_kanjo_code" label="勘定科目">
|
||||
<Input disabled style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="tx_kanjo_name" label="">
|
||||
<Input disabled style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Form.Item name="tx_kih_year" label="起票日" style={{ marginRight: 0 }}>
|
||||
<Input disabled style={{ width: 70 }} />
|
||||
</Form.Item>
|
||||
<span style={{ margin: '0 6px' }}>年</span>
|
||||
<Form.Item name="tx_kih_month" label="" style={{ marginRight: 0 }}>
|
||||
<Input disabled style={{ width: 50 }} />
|
||||
</Form.Item>
|
||||
<span style={{ margin: '0 6px' }}>月</span>
|
||||
<Form.Item name="tx_kih_day" label="" style={{ marginRight: 0 }}>
|
||||
<Input disabled style={{ width: 50 }} />
|
||||
</Form.Item>
|
||||
<span style={{ margin: '0 16px 0 6px' }}>日</span>
|
||||
<Form.Item name="se_shuhyotp_kbn" label="証憑添付">
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_shuhyotp_kbn')}
|
||||
style={{ width: 60 }}
|
||||
>
|
||||
<Option value="1">有</Option>
|
||||
<Option value="0">無</Option>
|
||||
</Select>
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<div>
|
||||
<Form.Item name="tx_shoniks_kin" label="初日加算">
|
||||
<Input style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="tx_nito_kin" label="長期出張手当">
|
||||
<Input style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="tx_kotuhi_kin" label="交通費">
|
||||
<Input disabled style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div style={{ marginLeft: 30 }}>
|
||||
<Form.Item name="tx_goukei_kin" label="合計金額">
|
||||
<Input style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="tx_hikyuks_kin" label="日帰出張手当">
|
||||
<Input style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="tx_taizaihi_kin" label="宿泊代(実費)">
|
||||
<Input style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{/* 右边 */}
|
||||
<div style={{ marginLeft: '30px' }}>
|
||||
<Form.Item name="se_shucho_kbn" label="出張種別" style={{ maxWidth: 120 }}>
|
||||
<Select
|
||||
disabled={hd_c1_name !== 'a1701_0010r'}
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_shucho_kbn')}
|
||||
>
|
||||
{
|
||||
|
||||
se_shucho_kbn_list&& se_shucho_kbn_list.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<div className="form_one form_labe_center">
|
||||
<div style={{ margin: '0 8px 0 2px' }}>出張先:</div>
|
||||
{
|
||||
hd_c1_name === 'a1701_0010r' ?
|
||||
<div >
|
||||
<div className="form_one">
|
||||
<Form.Item name="tx_schosaki_mei" label="">
|
||||
<Input />
|
||||
</Form.Item>
|
||||
<AddButton>出張先追加</AddButton>
|
||||
</div>
|
||||
<Form.Item name="se_schosaki_mei" label="">
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_schosaki_mei')}
|
||||
>
|
||||
{
|
||||
|
||||
se_schosaki_mei_list && se_schosaki_mei_list.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
</div> :
|
||||
<div className="form_one">
|
||||
<Form.Item name="tx_schosaki_mei" label="">
|
||||
<Input disabled />
|
||||
</Form.Item>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div className='form_right_tow'>
|
||||
<div className='title'>出張期间</div>
|
||||
<div className="form_one">
|
||||
<Form.Item name="se_shuhatu_year" label="出発日" style={{ marginRight: 0 }}>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_shuhatu_year')}
|
||||
style={{ width: 70 }}
|
||||
>
|
||||
{
|
||||
se_shuhatu_year_list && se_shuhatu_year_list.map((item, i) => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<span style={{ margin: '0 6px' }}>年</span>
|
||||
<Form.Item name="se_shuhatu_month" label="" style={{ marginRight: 0 }}>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_shuhatu_month')}
|
||||
style={{ width: 70 }}
|
||||
>
|
||||
{
|
||||
se_shuhatu_month_list && se_shuhatu_month_list.map((item, i) => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<span style={{ margin: '0 6px' }}>月</span>
|
||||
<Form.Item name="se_shuhatu_day" label="" style={{ marginRight: 0 }}>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_shuhatu_day')}
|
||||
style={{ width: 70 }}
|
||||
>
|
||||
{
|
||||
se_shuhatu_day_list && se_shuhatu_day_list.map((item, i) => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<span style={{ margin: '0 6px' }}>日</span>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Form.Item name="se_shuchaku_year" label="帰着日" style={{ marginRight: 0 }}>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_shuchaku_year')}
|
||||
style={{ width: 70 }}
|
||||
>
|
||||
{
|
||||
se_shuchaku_year_list && se_shuchaku_year_list.map((item, i) => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<span style={{ margin: '0 6px' }}>年</span>
|
||||
<Form.Item name="se_shuchaku_month" label="" style={{ marginRight: 0 }}>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_shuchaku_month')}
|
||||
style={{ width: 70 }}
|
||||
>
|
||||
{
|
||||
se_shuchaku_month_list && se_shuchaku_month_list.map((item, i) => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<span style={{ margin: '0 6px' }}>月</span>
|
||||
<Form.Item name="se_shuchaku_day" label="" style={{ marginRight: 0 }}>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_shuchaku_day')}
|
||||
style={{ width: 70 }}
|
||||
>
|
||||
{
|
||||
se_shuchaku_day_list && se_shuchaku_day_list.map((item, i) => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<span style={{ margin: '0 6px' }}>日</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_one form_right">
|
||||
<div className='form_right_tow'>
|
||||
<div className='title'>出張手当</div>
|
||||
<div className="form_one">
|
||||
<Checkbox onChange={this.changeChecked.bind(this, 'checked1')}>
|
||||
<span >帰社時刻が</span><br />
|
||||
<span style={{ paddingLeft: 20 }}>19:30</span><br />
|
||||
<span style={{ paddingLeft: 20 }}>を超えた場合</span><br />
|
||||
<span style={{ paddingLeft: 20, color: 'red' }}>※2級以上のみ</span>
|
||||
</Checkbox>
|
||||
<Form.Item name="tx_nitks_kai" label="">
|
||||
<Input disabled={!checked1} style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
</div>
|
||||
<div className='form_right_tow'>
|
||||
<div className='title' style={{ transform: 'translate(0px, -12px)' }}>日帰出張旅費-出張手当</div>
|
||||
<div className="form_one">
|
||||
<Checkbox onChange={this.changeChecked.bind(this, 'checked2')}>4H以上</Checkbox>
|
||||
<Form.Item name="tx_kyu6h_kai" label="">
|
||||
<Input disabled={!checked2} style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Checkbox onChange={this.changeChecked.bind(this, 'checked3')}>2H以上~4H未満</Checkbox>
|
||||
<Form.Item name="tx_kyu4h_kai" label="">
|
||||
<Input disabled={!checked3} style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Checkbox onChange={this.changeChecked.bind(this, 'checked4')}>1H以上~2H未満</Checkbox>
|
||||
<Form.Item name="tx_kyu2h_kai" label="">
|
||||
<Input disabled={!checked4} style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
</div>
|
||||
{/* <div className='form_right_tow'>
|
||||
<div className='title' style={{ transform: 'translate(0px, -12px)' }}>宿泊出張旅費-所定就業日</div>
|
||||
<div className="form_one">
|
||||
<Checkbox >4H以上</Checkbox>
|
||||
<Form.Item name="tx_gai6h_kai" label="">
|
||||
<Input style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Checkbox >2H以上~4H未満</Checkbox>
|
||||
<Form.Item name="tx_gai4h_kai" label="">
|
||||
<Input style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Checkbox >1H以上~2H未満</Checkbox>
|
||||
<Form.Item name="tx_gai2h_kai" label="">
|
||||
<Input style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
</div>
|
||||
<div className='form_right_tow'>
|
||||
<div className='title' style={{ transform: 'translate(0px, -12px)' }}>宿泊出張旅費-休日</div>
|
||||
<div className="form_one">
|
||||
<Checkbox >4H以上</Checkbox>
|
||||
<Form.Item name="tx_chokyu6h_kai" label="">
|
||||
<Input style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Checkbox >2H以上~4H未満</Checkbox>
|
||||
<Form.Item name="tx_chokyu4h_kai" label="">
|
||||
<Input style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Checkbox >1H以上~2H未満</Checkbox>
|
||||
<Form.Item name="tx_chokyu2h_kai" label="">
|
||||
<Input style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
</div>
|
||||
<div className='form_right_tow'>
|
||||
<div className='title'>滞在日数</div>
|
||||
<div className="form_one">
|
||||
<Checkbox >車中</Checkbox>
|
||||
<Form.Item name="tx_shusha_kai" label="">
|
||||
<Input style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Checkbox >普通</Checkbox>
|
||||
<Form.Item name="tx_shufut_kai" label="">
|
||||
<Input style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div className="form_one">
|
||||
<Checkbox >綱島寮</Checkbox>
|
||||
<Form.Item name="tx_shuryo_kai" label="">
|
||||
<Input style={{ maxWidth: 50 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
</div> */}
|
||||
</div>
|
||||
{
|
||||
hd_c1_name === 'a1701_0010r' &&
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<AddButton htmlType="submit">印刷プレビュー</AddButton> 
|
||||
<AddButton htmlType="submit">確定</AddButton> 
|
||||
<AddButton htmlType="submit">交通費明細</AddButton> 
|
||||
<AddButton htmlType="submit">滞在費計算</AddButton>
|
||||
</div>
|
||||
}
|
||||
</Form>
|
||||
</div>
|
||||
</div>
|
||||
</Spin>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Detail
|
||||
41
朱鹏鹏/keiri/src/components/detail/index.scss
Executable file
41
朱鹏鹏/keiri/src/components/detail/index.scss
Executable file
@@ -0,0 +1,41 @@
|
||||
.aw_a1701_0010_detail {
|
||||
width: 90%;
|
||||
margin: 0 auto;
|
||||
.form_one {
|
||||
display: flex;
|
||||
}
|
||||
.form_btn {
|
||||
background: #4baea0;
|
||||
width: 60px;
|
||||
}
|
||||
.stop_btn_icon {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
background: #FFF;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.form_labe_center {
|
||||
align-items: center;
|
||||
}
|
||||
.form_right {
|
||||
width: 100%;
|
||||
justify-content: center;
|
||||
}
|
||||
.form_right_tow {
|
||||
margin: 20px 0 0 20px;
|
||||
padding: 0 24px;
|
||||
border: 1px solid #ccc;
|
||||
.title {
|
||||
display: inline-block;
|
||||
padding: 0 10px;
|
||||
background: #fff;
|
||||
transform: translate(20px,-12px);
|
||||
}
|
||||
}
|
||||
.ant-form-item {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.back_btn {
|
||||
transform: translateX(-30px);
|
||||
}
|
||||
}
|
||||
1
朱鹏鹏/keiri/src/components/detail_21/.pydio
Normal file
1
朱鹏鹏/keiri/src/components/detail_21/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
62005a64-c293-447b-9e4c-409f2d271184
|
||||
707
朱鹏鹏/keiri/src/components/detail_21/index.js
Executable file
707
朱鹏鹏/keiri/src/components/detail_21/index.js
Executable file
@@ -0,0 +1,707 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Form, Input, Select, Modal, Button, Spin, Table, Radio } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { RollbackOutlined, CaretRightOutlined } from '@ant-design/icons';
|
||||
import { http } from '$http';
|
||||
import './index.scss'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Detail extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
loading: false,
|
||||
detail: {},
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: 'No',
|
||||
dataIndex: 'no',
|
||||
key: 'no',
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '部課',
|
||||
dataIndex: 'bukake_mei',
|
||||
key: 'bukake_mei',
|
||||
},
|
||||
{
|
||||
title: '利用日',
|
||||
dataIndex: 'torihiki_ymd',
|
||||
key: 'torihiki_ymd',
|
||||
},
|
||||
{
|
||||
title: '勘定科目',
|
||||
dataIndex: 'kamoku_mei',
|
||||
key: 'kamoku_mei',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo_mei',
|
||||
key: 'tekiyo_mei',
|
||||
},
|
||||
{
|
||||
title: 'オーダー名称',
|
||||
dataIndex: 'sei_ryaku',
|
||||
key: 'sei_ryaku',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_kin',
|
||||
key: 'karikata_kin',
|
||||
},
|
||||
{
|
||||
title: '税',
|
||||
dataIndex: 'zeibunri_kbn',
|
||||
key: 'zeibunri_kbn',
|
||||
},
|
||||
{
|
||||
title: '支払先',
|
||||
dataIndex: 'torihkpl_mei',
|
||||
key: 'torihkpl_mei',
|
||||
}
|
||||
|
||||
],
|
||||
visible: false,
|
||||
visible1: false
|
||||
}
|
||||
}
|
||||
|
||||
formRef = React.createRef();
|
||||
onGenderChange = (label,value) => {
|
||||
console.log(label,value);
|
||||
this.formRef.current.setFieldsValue({
|
||||
[label]: value,
|
||||
});
|
||||
};
|
||||
toDetail(text, record) {
|
||||
|
||||
}
|
||||
changeChecked(name, e) {
|
||||
this.setState({
|
||||
[name]: e.target.checked
|
||||
})
|
||||
};
|
||||
|
||||
onFinish = (values) => {
|
||||
console.log(values);
|
||||
};
|
||||
|
||||
goBack = () => {
|
||||
this.props.goBack()
|
||||
}
|
||||
|
||||
submit() {
|
||||
|
||||
}
|
||||
setKanjo({ kanjo_code, kanjo_name, tekiyou_name }) {
|
||||
this.setState({ visible1: false});
|
||||
console.log(kanjo_code);
|
||||
this.formRef.current.setFieldsValue({
|
||||
tx_kanjo_code: kanjo_code,
|
||||
tx_kanjo_name: kanjo_name,
|
||||
// tx_tekiyou_name: tekiyou_name,
|
||||
})
|
||||
|
||||
}
|
||||
async load() {
|
||||
|
||||
const { row } = this.props;
|
||||
const parmas = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
denpyo_no: row.pldenpyo_NO,
|
||||
denpyo_ymd: row.pldenpyo_YMD,
|
||||
// hd_c1_name: 'a1701_0010r'
|
||||
}
|
||||
try {
|
||||
this.setState({ loading: true})
|
||||
const detail = await http.post('s02/a1702_0010r/entry/doIndicate', parmas)
|
||||
this.setState({ loading: false, detail: detail, dataSource: detail.resultList})
|
||||
console.log(detail)
|
||||
this.formRef.current.setFieldsValue({
|
||||
tx_denpyo_no: detail.tx_denpyo_no,
|
||||
tx_buka_cod: detail.tx_buka_cod,
|
||||
tx_shain_no: detail.tx_shain_no,
|
||||
tx_buka_name: detail.tx_buka_name,
|
||||
tx_kih_year: detail.tx_kih_year,
|
||||
tx_kih_month: detail.tx_kih_month,
|
||||
tx_kih_day: detail.tx_kih_day,
|
||||
se_shiharai_kbn: detail.se_shiharai_kbn,
|
||||
tx_sumprice: detail.tx_sumprice,
|
||||
tx_taxprice: detail.tx_taxprice,
|
||||
tx_meisai_no: detail.tx_meisai_no,
|
||||
tx_buka_cod2: detail.tx_buka_cod2,
|
||||
se_tyear: detail.se_tyear,
|
||||
se_tmonth: detail.se_tmonth,
|
||||
se_tday: detail.se_tday,
|
||||
tx_kanjo_code: detail.tx_kanjo_code,
|
||||
tx_kanjo_name: detail.tx_kanjo_name,
|
||||
tx_tekiyou_name: detail.tx_tekiyou_name,
|
||||
tx_serialno: detail.tx_serialno,
|
||||
se_sihaskdi_cod: detail.se_sihaskdi_cod,
|
||||
tx_pay_side: detail.tx_pay_side,
|
||||
tx_priceyen: detail.tx_priceyen,
|
||||
se_zeibunri_kbn: detail.se_zeibunri_kbn,
|
||||
se_sihaskdi_cod_list: detail.se_sihaskdi_cod_list,
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
this.setState({ loading: false })
|
||||
}
|
||||
}
|
||||
|
||||
toKanjo() {
|
||||
const { visible1 } = this.state;
|
||||
this.setState({ visible1: !visible1 })
|
||||
}
|
||||
handleCancel() {
|
||||
const { visible } = this.state;
|
||||
this.setState({ visible: !visible })
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
|
||||
}
|
||||
render() {
|
||||
const { loading, detail, columns, dataSource, visible, visible1 } = this.state, { row } = this.props;;
|
||||
const { se_sihaskdi_cod_list, lbl_1, tx_buka_cod=""} = detail;
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
rowKey: 'no',
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
|
||||
};
|
||||
return (
|
||||
<Spin spinning={loading}>
|
||||
<div className='detail_21'>
|
||||
<div><Button onClick={this.goBack} icon={<RollbackOutlined />} /> 21 領収証支払</div>
|
||||
{
|
||||
!row.isAdd &&
|
||||
<div style={{ textAlign: "right", paddingRight: 50 }}>
|
||||
<AddButton >コピー</AddButton>
|
||||
<span style={{ marginLeft: 16 }}>{lbl_1}</span>
|
||||
</div>
|
||||
}
|
||||
<div style={{ margin: '10px auto 0', }}>
|
||||
<Form labelAlign="right" size="small" ref={this.formRef} name="control" >
|
||||
<div className="detail_21_form_1">
|
||||
<div >
|
||||
<Form.Item name="tx_denpyo_no" label="伝票番号">
|
||||
<Input disabled style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="tx_buka_cod" label="部課コード">
|
||||
<Input disabled style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div>
|
||||
<Form.Item name="tx_shain_no" label="社員名称">
|
||||
<Input disabled style={{ width: 150 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="tx_buka_name" label="部課名称">
|
||||
<Input disabled style={{ width: 150 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div>
|
||||
<div style={{display:'flex'}}>
|
||||
<Form.Item name="tx_kih_year" label="起票日" >
|
||||
<Input disabled style={{ width: 70 }} />
|
||||
</Form.Item>
|
||||
<span >年</span>
|
||||
<Form.Item name="tx_kih_month">
|
||||
<Input disabled style={{ width: 50 }} />
|
||||
</Form.Item>
|
||||
<span>月</span>
|
||||
<Form.Item name="tx_kih_day" >
|
||||
<Input disabled style={{ width: 50 }} />
|
||||
</Form.Item>
|
||||
<span >日</span>
|
||||
</div>
|
||||
<Form.Item name="se_shiharai_kbn" label="精算種別">
|
||||
<Select
|
||||
onChange={this.onGenderChange.bind(this, 'se_shiharai_kbn')}
|
||||
style={{ width: 100 }}
|
||||
>
|
||||
<Option value="">--------</Option>
|
||||
<Option value="0">概算精算</Option>
|
||||
<Option value="1">確定精算</Option>
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<div style={{display: 'flex'}}>
|
||||
<Form.Item name="tx_sumprice" label="合計金額">
|
||||
<Input style={{ width: 80 }} />
|
||||
</Form.Item> 
|
||||
<Form.Item name="tx_taxprice" label="消費税">
|
||||
<Input disabled style={{ width: 80 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{marginTop: 20}}>
|
||||
<Form.Item name="tx_meisai_no" label="編集明細No">
|
||||
<Input disabled style={{ width: 80 }} />
|
||||
</Form.Item>
|
||||
<div className="detail_21_form_1">
|
||||
<div>
|
||||
<Form.Item name="tx_buka_cod2" label="部課コード">
|
||||
<Input style={{ width: 80 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div style={{ display: 'flex' }}>
|
||||
<Form.Item name="se_tyear" label="利用日" >
|
||||
<Input disabled style={{ width: 70 }} />
|
||||
</Form.Item>
|
||||
<span >年</span>
|
||||
<Form.Item name="se_tmonth" label="">
|
||||
<Input disabled style={{ width: 50 }} />
|
||||
</Form.Item>
|
||||
<span>月</span>
|
||||
<Form.Item name="se_tday" label="" >
|
||||
<Input disabled style={{ width: 50 }} />
|
||||
</Form.Item>
|
||||
<span >日</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{display:'flex'}}>
|
||||
<span className="layout_label">勘定科目:</span>
|
||||
<AddButton htmlType="submit" onClick={this.toKanjo.bind(this)}>科目選択</AddButton>
|
||||
<AddButton htmlType="submit">科目クリア</AddButton>
|
||||
<Form.Item name="tx_kanjo_code">
|
||||
<Input disabled style={{ width: 80 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="tx_kanjo_name">
|
||||
<Input disabled style={{ width: 180 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
<Form.Item name="tx_tekiyou_name" label="摘要">
|
||||
<Input style={{ width: 280 }} />
|
||||
</Form.Item>
|
||||
<div className="detail_21_form_1">
|
||||
<div>
|
||||
<Form.Item name="tx_serialno" label="オーダーNo">
|
||||
<Input style={{ width: 100 }} />
|
||||
<span>( )</span>
|
||||
</Form.Item>
|
||||
</div>
|
||||
<div style={{ display: 'flex' }}>
|
||||
<Form.Item name="se_sihaskdi_cod" label="支払先" >
|
||||
<Select
|
||||
onChange={this.onGenderChange.bind(this, 'se_sihaskdi_cod')}
|
||||
style={{ width: 160 }}
|
||||
>
|
||||
{
|
||||
se_sihaskdi_cod_list && se_sihaskdi_cod_list.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
<Form.Item name="tx_pay_side" >
|
||||
<Input style={{ width: 170 }} />
|
||||
</Form.Item>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ display: 'flex' }}>
|
||||
<Form.Item name="tx_priceyen" label="金額(円)" >
|
||||
<Input style={{ width: 100 }} />
|
||||
</Form.Item>
|
||||
<Form.Item name="se_zeibunri_kbn" >
|
||||
<Select
|
||||
onChange={this.onGenderChange.bind(this, 'se_zeibunri_kbn')}
|
||||
style={{ width: 100 }}
|
||||
>
|
||||
<Option value="1">税込</Option>
|
||||
<Option value="2">課税対象外</Option>
|
||||
</Select>
|
||||
</Form.Item>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ textAlign: 'right' }}>
|
||||
<AddButton htmlType="submit">印刷プレビュー</AddButton> 
|
||||
<AddButton htmlType="submit" onClick={this.handleCancel.bind(this)}>取引先登録</AddButton> 
|
||||
{
|
||||
row.isAdd &&
|
||||
<span>
|
||||
<AddButton htmlType="submit">行登録</AddButton> 
|
||||
<AddButton htmlType="submit">確定</AddButton> 
|
||||
</span>
|
||||
}
|
||||
</div>
|
||||
</Form>
|
||||
</div>
|
||||
<div style={{ marginTop: 20}}>
|
||||
<span className="layout_label"> 検索結果:{ dataSource.length }件</span>
|
||||
<Table {...setting} ></Table>
|
||||
</div>
|
||||
<Modal
|
||||
title="02 取引先メンテナンス"
|
||||
visible={visible}
|
||||
onCancel={this.handleCancel.bind(this)}
|
||||
width={1000}
|
||||
footer={null}
|
||||
>
|
||||
<ModalInfo />
|
||||
</Modal>
|
||||
<Modal
|
||||
title="02 摘要科目選択"
|
||||
visible={visible1}
|
||||
onCancel={this.toKanjo.bind(this)}
|
||||
width={1000}
|
||||
footer={null}
|
||||
>
|
||||
<ModalInfo1 bukaCod={tx_buka_cod} setKanjo={this.setKanjo.bind(this)} />
|
||||
</Modal>
|
||||
</div>
|
||||
</Spin>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
class ModalInfo extends Component {
|
||||
|
||||
state = {
|
||||
valueRadio: '10',
|
||||
active1: '-1',
|
||||
se_torihkpl_cod1_list: [],
|
||||
se_torihkpl_cod2_list: [],
|
||||
hd_torihkpl_cnt1: '',
|
||||
hd_torihkpl_cnt2: '',
|
||||
hd_torishu_kbn: '',
|
||||
se_torihkpl_cod1: '',
|
||||
se_torihkpl_cod2: '',
|
||||
tx_torihkpl_cod: ''
|
||||
}
|
||||
|
||||
changeInput({ target: { value } }) {
|
||||
this.setState({ tx_torihkpl_cod: value})
|
||||
}
|
||||
clickItem(item, name) {
|
||||
this.setState({ active1: item.value, [name]: item.value})
|
||||
}
|
||||
async fnEntry() {
|
||||
const { tx_torihkpl_cod, valueRadio } = this.state;
|
||||
console.log(tx_torihkpl_cod);
|
||||
try {
|
||||
const params = {
|
||||
hd_denpyodt_kbn: 'B1',
|
||||
rd_torishu_kbn: valueRadio,
|
||||
tx_torihkpl_cod,
|
||||
}
|
||||
const res = await http.post('s90/a1790_0020z/Entry/doEntry', params)
|
||||
this.setState({
|
||||
se_torihkpl_cod2_list: res.se_torihkpl_cod2_list,
|
||||
se_torihkpl_cod1_list: res.se_torihkpl_cod1_list,
|
||||
hd_torihkpl_cnt1: res.hd_torihkpl_cnt1,
|
||||
hd_torihkpl_cnt2: res.hd_torihkpl_cnt2,
|
||||
hd_torishu_kbn: res.hd_torishu_kbn,
|
||||
se_torihkpl_cod1: '',
|
||||
se_torihkpl_cod2: ''
|
||||
})
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
async fnDelete(num) {
|
||||
const { hd_torihkpl_cnt1, hd_torihkpl_cnt2, hd_torishu_kbn, se_torihkpl_cod1, se_torihkpl_cod2, valueRadio, tx_torihkpl_cod} = this.state;
|
||||
if (num === '1' && !se_torihkpl_cod1) {
|
||||
alert("項目を選択してください。");
|
||||
return
|
||||
}
|
||||
if (num === '2' && !se_torihkpl_cod2) {
|
||||
alert("項目を選択してください。");
|
||||
return
|
||||
}
|
||||
try {
|
||||
const params = {
|
||||
hd_denpyodt_kbn: 'B1',
|
||||
hd_torihkpl_cnt1,
|
||||
hd_torihkpl_cnt2,
|
||||
hd_torishu_kbn,
|
||||
se_torihkpl_cod1,
|
||||
se_torihkpl_cod2,
|
||||
rd_torishu_kbn: valueRadio,
|
||||
tx_torihkpl_cod
|
||||
}
|
||||
const res = await http.post('s90/a1790_0020z/Entry/doDelete', params)
|
||||
this.setState({
|
||||
se_torihkpl_cod2_list: res.se_torihkpl_cod2_list,
|
||||
se_torihkpl_cod1_list: res.se_torihkpl_cod1_list,
|
||||
hd_torihkpl_cnt1: res.hd_torihkpl_cnt1,
|
||||
hd_torihkpl_cnt2: res.hd_torihkpl_cnt2,
|
||||
hd_torishu_kbn: res.hd_torishu_kbn,
|
||||
se_torihkpl_cod1: '',
|
||||
se_torihkpl_cod2: ''
|
||||
})
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
onChange({ target: { value }}) {
|
||||
this.setState({ valueRadio: value})
|
||||
}
|
||||
async load() {
|
||||
try {
|
||||
const { se_torihkpl_cod2_list, se_torihkpl_cod1_list, hd_torihkpl_cnt1, hd_torihkpl_cnt2, hd_torishu_kbn} = await http.post('s90/a1790_0020z/Entry/doIndicate', { hd_denpyodt_kbn: 'B1'})
|
||||
this.setState({
|
||||
se_torihkpl_cod2_list,
|
||||
se_torihkpl_cod1_list,
|
||||
hd_torihkpl_cnt1,
|
||||
hd_torihkpl_cnt2,
|
||||
hd_torishu_kbn
|
||||
})
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
render() {
|
||||
const { valueRadio, active1, se_torihkpl_cod1_list, se_torihkpl_cod2_list, tx_torihkpl_cod } = this.state;
|
||||
|
||||
|
||||
return (
|
||||
<div>
|
||||
<div>
|
||||
<span className="layout_label" style={{marginRight:8}}>追加名称</span>
|
||||
<Radio.Group onChange={this.onChange.bind(this)} value={valueRadio}>
|
||||
<Radio value='10'>代表支払先 /</Radio>
|
||||
<Radio value='20'>客先名称</Radio>
|
||||
</Radio.Group>
|
||||
<Input style={{ width: 200, margin: '0px 20px 0 10px' }} onChange={this.changeInput.bind(this)} size="small" />
|
||||
<AddButton onClick={this.fnEntry.bind(this)}>追加</AddButton>
|
||||
<span style={{marginRight:100}}></span>
|
||||
<AddButton>設定</AddButton>
|
||||
</div>
|
||||
<div style={{display:'flex',marginTop:10}}>
|
||||
<div className="layout_label">削除名称</div>
|
||||
<div style={{width:350,display:'flex',flexDirection:'column',alignItems:'center'}}>
|
||||
<div className="layout_label" ><<代表支払先>></div>
|
||||
<div style={{ width: 167, height: 234, border: '1px solid #ccc', margin: '14px 0', overflow: "auto"}}>
|
||||
{
|
||||
se_torihkpl_cod1_list.map(item => {
|
||||
return(
|
||||
<div
|
||||
onClick={this.clickItem.bind(this, item,'se_torihkpl_cod1')}
|
||||
key={item.value}
|
||||
style={{
|
||||
height: 20, lineHeight: '20px',
|
||||
textAlign:'center',cursor:'pointer',
|
||||
color: active1 === item.value ? '#fff' : '#000000d9',
|
||||
background: active1 === item.value ? '#4baea0' : '#fff',
|
||||
}}
|
||||
>{item.label}</div>
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
</div>
|
||||
<div style={{ width: 80 }}><AddButton onClick={this.fnDelete.bind(this,'1')}>削除</AddButton></div>
|
||||
</div>
|
||||
<div style={{ width: 350, display: 'flex', flexDirection: 'column', alignItems: 'center' }}>
|
||||
<div className="layout_label" ><<客先名称>></div>
|
||||
<div style={{ width: 167, height: 234, border: '1px solid #ccc', margin: '14px 0',overflow:"auto" }}>
|
||||
{
|
||||
se_torihkpl_cod2_list.map(item => {
|
||||
return (
|
||||
<div
|
||||
onClick={this.clickItem.bind(this, item,'se_torihkpl_cod2')}
|
||||
key={item.value}
|
||||
style={{
|
||||
height: 20, lineHeight: '20px',
|
||||
textAlign: 'center', cursor: 'pointer',
|
||||
color: active1 === item.value ? '#fff' : '#000000d9',
|
||||
background: active1 === item.value ? '#4baea0' : '#fff',
|
||||
}}
|
||||
>{item.label}</div>
|
||||
)
|
||||
})
|
||||
}
|
||||
|
||||
</div>
|
||||
<div style={{ width: 80 }}><AddButton onClick={this.fnDelete.bind(this,'2')}>削除</AddButton></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
class ModalInfo1 extends Component {
|
||||
|
||||
state = {
|
||||
se_tekiyou1: '',
|
||||
se_tekiyou2: '',
|
||||
se_tekiyou3: '',
|
||||
se_tekiyou4: '',
|
||||
se_tekiyou5: '',
|
||||
se_tekiyou6: '',
|
||||
se_tekiyou1_list:[],
|
||||
se_tekiyou2_list:[],
|
||||
se_tekiyou3_list:[],
|
||||
se_tekiyou4_list:[],
|
||||
se_tekiyou5_list:[],
|
||||
se_tekiyou6_list:[],
|
||||
array: [],
|
||||
kanjo_code: '',
|
||||
kanjo_name: '',
|
||||
tekiyou_name: ''
|
||||
}
|
||||
|
||||
submit() {
|
||||
const { kanjo_code, kanjo_name, tekiyou_name} = this.state
|
||||
this.props.setKanjo({ kanjo_code, kanjo_name, tekiyou_name})
|
||||
}
|
||||
|
||||
onChange(name, value ) {
|
||||
console.log( value);
|
||||
const array = value.split('@').filter(item => item)
|
||||
console.log(array);
|
||||
this.setState({ [name]: value, array })
|
||||
}
|
||||
async next(hd_status) {
|
||||
try {
|
||||
const { se_tekiyou1, se_tekiyou2, se_tekiyou3, se_tekiyou4, se_tekiyou5, se_tekiyou6, array} = this.state;
|
||||
const pamars ={
|
||||
buka_cod: this.props.bukaCod,
|
||||
hd_status, se_tekiyou1,
|
||||
se_tekiyou2, se_tekiyou3,
|
||||
se_tekiyou4, se_tekiyou5,
|
||||
se_tekiyou6
|
||||
}
|
||||
const res = await http.post('s90/a1790_0020z/Search/doSearch', pamars)
|
||||
let obj = {}
|
||||
if (array.length>3) {
|
||||
obj = {
|
||||
kanjo_code: array[1],
|
||||
kanjo_name: array[3],
|
||||
tekiyou_name: array[0]
|
||||
}
|
||||
}
|
||||
this.setState({
|
||||
se_tekiyou1_list: res.resultMap.se_tekiyou1_list,
|
||||
se_tekiyou2_list: res.resultMap.se_tekiyou2_list,
|
||||
se_tekiyou3_list: res.resultMap.se_tekiyou3_list,
|
||||
se_tekiyou4_list: res.resultMap.se_tekiyou4_list,
|
||||
se_tekiyou5_list: res.resultMap.se_tekiyou5_list,
|
||||
se_tekiyou6_list: res.resultMap.se_tekiyou6_list,
|
||||
...obj
|
||||
})
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
async load() {
|
||||
try {
|
||||
const res = await http.post('s90/a1790_0020z/Search/doIndicate', { buka_cod: this.props.bukaCod })
|
||||
this.setState({
|
||||
se_tekiyou1_list: res.resultMap.se_tekiyou1_list,
|
||||
se_tekiyou2_list: res.resultMap.se_tekiyou2_list,
|
||||
se_tekiyou3_list: res.resultMap.se_tekiyou3_list,
|
||||
se_tekiyou4_list: res.resultMap.se_tekiyou4_list,
|
||||
se_tekiyou5_list: res.resultMap.se_tekiyou5_list,
|
||||
se_tekiyou6_list: res.resultMap.se_tekiyou6_list,
|
||||
se_tekiyou1: res.resultMap.se_tekiyou1_list[0].value
|
||||
})
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
render() {
|
||||
const { se_tekiyou1, se_tekiyou2, se_tekiyou3,
|
||||
se_tekiyou4, se_tekiyou5, se_tekiyou6, se_tekiyou1_list,
|
||||
se_tekiyou4_list, se_tekiyou3_list, se_tekiyou5_list, se_tekiyou2_list,
|
||||
se_tekiyou6_list, kanjo_code, kanjo_name, tekiyou_name
|
||||
} = this.state;
|
||||
const buttonStyle = { background: '#4baea0', width: 50, height: 20, lineHeight: '20px', border: 0, padding: 0 };
|
||||
|
||||
return (
|
||||
<div style={{paddingBottom:100}}>
|
||||
<div className="layout_label" style={{width:85}}>1.絞り込み</div>
|
||||
<div style={{ margin: '10px 0 10px 85px' }}><AddButton>摘要クリア</AddButton></div>
|
||||
<div >
|
||||
<span className="layout_label" style={{paddingLeft:50}}>摘要</span>
|
||||
<Select value={se_tekiyou1} size="small" style={{ width: 288 }} onChange={this.onChange.bind(this,'se_tekiyou1')} >
|
||||
{
|
||||
se_tekiyou1_list.map((item) => {
|
||||
return <Option key={item.value||'1'} value={item.vlaue}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select> 
|
||||
<Button onClick={this.next.bind(this,'1')} style={buttonStyle} icon={<CaretRightOutlined style={{ color: '#fff', fontSize: 16 }} />}></Button> 
|
||||
<Select value={se_tekiyou2} size="small" style={{ width: 174 }} onChange={this.onChange.bind(this,'se_tekiyou2')} > 
|
||||
{
|
||||
se_tekiyou2_list.map((item) => {
|
||||
return <Option key={item.value||'1'} value={item.vlaue}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select> 
|
||||
<Button onClick={this.next.bind(this, '2')} style={buttonStyle} icon={<CaretRightOutlined style={{ color: '#fff', fontSize: 16 }} />}></Button> 
|
||||
<Select value={se_tekiyou3} size="small" style={{ width: 174 }} onChange={this.onChange.bind(this,'se_tekiyou3')} >
|
||||
{
|
||||
se_tekiyou3_list.map((item) => {
|
||||
return <Option key={item.value || '1'} value={item.vlaue}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select> 
|
||||
<Button onClick={this.next.bind(this, '3')} style={buttonStyle} icon={<CaretRightOutlined style={{ color: '#fff', fontSize: 16 }} />}></Button>
|
||||
</div>
|
||||
<div style={{margin:'10px 0 0 82px'}}>
|
||||
<Select value={se_tekiyou4} size="small" style={{ width: 174, marginRight: 114 }} onChange={this.onChange.bind(this,'se_tekiyou4')} >
|
||||
{
|
||||
se_tekiyou4_list.map((item) => {
|
||||
return <Option key={item.value || '1'} value={item.vlaue}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select> 
|
||||
<Button onClick={this.next.bind(this, '4')} style={buttonStyle} icon={<CaretRightOutlined style={{ color: '#fff', fontSize: 16 }} />}></Button> 
|
||||
<Select value={se_tekiyou5} size="small" style={{ width: 174 }} onChange={this.onChange.bind(this,'se_tekiyou5')} > 
|
||||
{
|
||||
se_tekiyou5_list.map((item) => {
|
||||
return <Option key={item.value || '1'} value={item.vlaue}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select> 
|
||||
<Button onClick={this.next.bind(this, '5')} style={buttonStyle} icon={<CaretRightOutlined style={{ color: '#fff', fontSize: 16 }} />}></Button> 
|
||||
<Select value={se_tekiyou6} size="small" style={{ width: 174 }} onChange={this.onChange.bind(this,'se_tekiyou6')} >
|
||||
{
|
||||
se_tekiyou6_list.map((item, i) => {
|
||||
return <Option key={item.value || '1'} value={item.vlaue}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select> 
|
||||
<Button onClick={this.next.bind(this, '6')} style={buttonStyle}><div className="stop_btn_icon"></div></Button>
|
||||
</div>
|
||||
<div style={{marginTop:20}}>
|
||||
<div>
|
||||
<span className="layout_label" style={{paddingLeft:24}}>勘定科目</span>
|
||||
<Input size="small" value={kanjo_code} style={{ width: 80 }} /> 
|
||||
<Input size="small" value={kanjo_name} style={{width:180}} />
|
||||
</div>
|
||||
<div style={{margin:'10px 0'}}>
|
||||
<span className="layout_label" style={{ paddingLeft: 24 }}>摘要名称</span>
|
||||
<Input size="small" value={tekiyou_name} style={{ width: 300 }} />
|
||||
</div>
|
||||
<div style={{marginLeft:80}}>
|
||||
<AddButton onClick={this.submit.bind(this)}>設定</AddButton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Detail
|
||||
22
朱鹏鹏/keiri/src/components/detail_21/index.scss
Executable file
22
朱鹏鹏/keiri/src/components/detail_21/index.scss
Executable file
@@ -0,0 +1,22 @@
|
||||
.detail_21 {
|
||||
width: 960px;
|
||||
.detail_21_form_1 {
|
||||
display: flex;
|
||||
>div {
|
||||
flex: 1
|
||||
}
|
||||
}
|
||||
.ant-form-item-label {
|
||||
font-weight: bold;
|
||||
}
|
||||
.ant-form-item {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
.stop_btn_icon {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
background: #FFF;
|
||||
margin: 0 auto;
|
||||
}
|
||||
1
朱鹏鹏/keiri/src/documents/.pydio
Normal file
1
朱鹏鹏/keiri/src/documents/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
28d02706-278c-4622-a0f4-a81929737fc8
|
||||
1
朱鹏鹏/keiri/src/documents/pdf/.pydio
Normal file
1
朱鹏鹏/keiri/src/documents/pdf/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
070bb4cc-a4c5-46b2-a8a6-bef619a3c185
|
||||
BIN
朱鹏鹏/keiri/src/documents/pdf/plsp_doc.pdf
Executable file
BIN
朱鹏鹏/keiri/src/documents/pdf/plsp_doc.pdf
Executable file
Binary file not shown.
BIN
朱鹏鹏/keiri/src/documents/pdf/plsp_doc_soumu.pdf
Executable file
BIN
朱鹏鹏/keiri/src/documents/pdf/plsp_doc_soumu.pdf
Executable file
Binary file not shown.
13
朱鹏鹏/keiri/src/index.js
Executable file
13
朱鹏鹏/keiri/src/index.js
Executable file
@@ -0,0 +1,13 @@
|
||||
import React from 'react';
|
||||
import ReactDOM from 'react-dom';
|
||||
import './index.scss';
|
||||
import App from './App';
|
||||
import * as serviceWorker from './serviceWorker';
|
||||
|
||||
import moment from 'moment';
|
||||
import 'moment/locale/zh-cn';
|
||||
moment.locale('zh-cn');
|
||||
|
||||
ReactDOM.render(<App />, document.getElementById('root'));
|
||||
|
||||
serviceWorker.unregister();
|
||||
265
朱鹏鹏/keiri/src/index.scss
Executable file
265
朱鹏鹏/keiri/src/index.scss
Executable file
@@ -0,0 +1,265 @@
|
||||
html,
|
||||
body,
|
||||
#root {
|
||||
height: 100%;
|
||||
// min-width: 1920px;
|
||||
font-family: "MS ゴシック";
|
||||
|
||||
}
|
||||
.layout_label {
|
||||
font-weight: bold;
|
||||
font-size: 9pt;
|
||||
padding-right: 6px;
|
||||
font-family: "MS ゴシック";
|
||||
}
|
||||
|
||||
.ellipsis {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
width: 99%;
|
||||
}
|
||||
div::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
height: 10px;
|
||||
}
|
||||
div::-webkit-scrollbar-track {
|
||||
background: none;
|
||||
border-radius: 2px;
|
||||
}
|
||||
div::-webkit-scrollbar-thumb {
|
||||
background: rgb(239, 239, 239);
|
||||
border-radius: 10px;
|
||||
}
|
||||
div::-webkit-scrollbar-thumb:hover {
|
||||
background: #bfbfbf;
|
||||
}
|
||||
.ant-modal-content .ant-modal-body {
|
||||
padding: 14px 20px;
|
||||
}
|
||||
#root {
|
||||
.logo {
|
||||
float: left;
|
||||
padding-left: 52px;
|
||||
}
|
||||
|
||||
.version {
|
||||
position: absolute;
|
||||
left: 38px;
|
||||
bottom: 20px;
|
||||
font-size: 10px;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
.v-tag {
|
||||
color: #359CF1;
|
||||
background: #fff;
|
||||
border: 1px solid #359CF1;
|
||||
position: relative;
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 24px;
|
||||
height: 100%;
|
||||
width: 1px;
|
||||
height: 100%;
|
||||
background: #359CF1;
|
||||
}
|
||||
|
||||
.anticon-close {
|
||||
color: #359CF1;
|
||||
margin-left: 14px;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-input,
|
||||
.ant-select,
|
||||
.ant-form label {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.upload-box {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
|
||||
&:hover {
|
||||
.mask {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.trash {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
|
||||
.icon {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
color: #fff;
|
||||
font-size: 18px;
|
||||
margin-right: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
img {
|
||||
cursor: pointer;
|
||||
height: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
.mask {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background: rgba(0, 0, 0, .2);
|
||||
display: none;
|
||||
}
|
||||
|
||||
.upload-view {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex-direction: column;
|
||||
height: 80px;
|
||||
// line-height: 80px;
|
||||
width: 80px;
|
||||
border: 1px dashed #BBB9BB;
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
|
||||
}
|
||||
|
||||
.upload-view-icon {
|
||||
display: flex;
|
||||
color: #fff;
|
||||
border-radius: 50%;
|
||||
background: #F8E71C;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.upload-image-box {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: #fff;
|
||||
overflow: hidden;
|
||||
|
||||
|
||||
.upload-image {
|
||||
height: 100%;
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
height: 16px;
|
||||
width: 100%;
|
||||
background: linear-gradient(180deg, rgba(0, 0, 0, 0.36) 0%, rgba(0, 0, 0, 0) 100%);
|
||||
border-radius: 4px 4px 0px 0px;
|
||||
}
|
||||
|
||||
>img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.upload-progress {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.searchBox {
|
||||
// min-height: 32px;
|
||||
// line-height: 32px;
|
||||
vertical-align: middle;
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
|
||||
.ant-switch {
|
||||
&.ant-switch-checked {
|
||||
background-color: #4BAEA0;
|
||||
}
|
||||
}
|
||||
|
||||
.base-modal {
|
||||
position: absolute;
|
||||
top: 5px;
|
||||
left: 20px;
|
||||
right: 20px;
|
||||
bottom: 0;
|
||||
background-color: #fff;
|
||||
z-index: 100;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
.base-modal-title {
|
||||
margin: 30px 0 0 40px;
|
||||
font-size: 18px;
|
||||
position: relative;
|
||||
padding-left: 12px;
|
||||
margin-bottom: 24px;
|
||||
|
||||
>span {
|
||||
vertical-align: sub;
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 5px;
|
||||
background: #4BAEA0;
|
||||
height: 26px;
|
||||
}
|
||||
}
|
||||
|
||||
.base-modal-body {
|
||||
flex: 1;
|
||||
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.base-modal-footer {
|
||||
line-height: 84px;
|
||||
border-top: 1px solid #D9D9D9;
|
||||
text-align: center;
|
||||
padding: 0 24px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
.ant-form-item {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
7
朱鹏鹏/keiri/src/logo.svg
Executable file
7
朱鹏鹏/keiri/src/logo.svg
Executable file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 841.9 595.3">
|
||||
<g fill="#61DAFB">
|
||||
<path d="M666.3 296.5c0-32.5-40.7-63.3-103.1-82.4 14.4-63.6 8-114.2-20.2-130.4-6.5-3.8-14.1-5.6-22.4-5.6v22.3c4.6 0 8.3.9 11.4 2.6 13.6 7.8 19.5 37.5 14.9 75.7-1.1 9.4-2.9 19.3-5.1 29.4-19.6-4.8-41-8.5-63.5-10.9-13.5-18.5-27.5-35.3-41.6-50 32.6-30.3 63.2-46.9 84-46.9V78c-27.5 0-63.5 19.6-99.9 53.6-36.4-33.8-72.4-53.2-99.9-53.2v22.3c20.7 0 51.4 16.5 84 46.6-14 14.7-28 31.4-41.3 49.9-22.6 2.4-44 6.1-63.6 11-2.3-10-4-19.7-5.2-29-4.7-38.2 1.1-67.9 14.6-75.8 3-1.8 6.9-2.6 11.5-2.6V78.5c-8.4 0-16 1.8-22.6 5.6-28.1 16.2-34.4 66.7-19.9 130.1-62.2 19.2-102.7 49.9-102.7 82.3 0 32.5 40.7 63.3 103.1 82.4-14.4 63.6-8 114.2 20.2 130.4 6.5 3.8 14.1 5.6 22.5 5.6 27.5 0 63.5-19.6 99.9-53.6 36.4 33.8 72.4 53.2 99.9 53.2 8.4 0 16-1.8 22.6-5.6 28.1-16.2 34.4-66.7 19.9-130.1 62-19.1 102.5-49.9 102.5-82.3zm-130.2-66.7c-3.7 12.9-8.3 26.2-13.5 39.5-4.1-8-8.4-16-13.1-24-4.6-8-9.5-15.8-14.4-23.4 14.2 2.1 27.9 4.7 41 7.9zm-45.8 106.5c-7.8 13.5-15.8 26.3-24.1 38.2-14.9 1.3-30 2-45.2 2-15.1 0-30.2-.7-45-1.9-8.3-11.9-16.4-24.6-24.2-38-7.6-13.1-14.5-26.4-20.8-39.8 6.2-13.4 13.2-26.8 20.7-39.9 7.8-13.5 15.8-26.3 24.1-38.2 14.9-1.3 30-2 45.2-2 15.1 0 30.2.7 45 1.9 8.3 11.9 16.4 24.6 24.2 38 7.6 13.1 14.5 26.4 20.8 39.8-6.3 13.4-13.2 26.8-20.7 39.9zm32.3-13c5.4 13.4 10 26.8 13.8 39.8-13.1 3.2-26.9 5.9-41.2 8 4.9-7.7 9.8-15.6 14.4-23.7 4.6-8 8.9-16.1 13-24.1zM421.2 430c-9.3-9.6-18.6-20.3-27.8-32 9 .4 18.2.7 27.5.7 9.4 0 18.7-.2 27.8-.7-9 11.7-18.3 22.4-27.5 32zm-74.4-58.9c-14.2-2.1-27.9-4.7-41-7.9 3.7-12.9 8.3-26.2 13.5-39.5 4.1 8 8.4 16 13.1 24 4.7 8 9.5 15.8 14.4 23.4zM420.7 163c9.3 9.6 18.6 20.3 27.8 32-9-.4-18.2-.7-27.5-.7-9.4 0-18.7.2-27.8.7 9-11.7 18.3-22.4 27.5-32zm-74 58.9c-4.9 7.7-9.8 15.6-14.4 23.7-4.6 8-8.9 16-13 24-5.4-13.4-10-26.8-13.8-39.8 13.1-3.1 26.9-5.8 41.2-7.9zm-90.5 125.2c-35.4-15.1-58.3-34.9-58.3-50.6 0-15.7 22.9-35.6 58.3-50.6 8.6-3.7 18-7 27.7-10.1 5.7 19.6 13.2 40 22.5 60.9-9.2 20.8-16.6 41.1-22.2 60.6-9.9-3.1-19.3-6.5-28-10.2zM310 490c-13.6-7.8-19.5-37.5-14.9-75.7 1.1-9.4 2.9-19.3 5.1-29.4 19.6 4.8 41 8.5 63.5 10.9 13.5 18.5 27.5 35.3 41.6 50-32.6 30.3-63.2 46.9-84 46.9-4.5-.1-8.3-1-11.3-2.7zm237.2-76.2c4.7 38.2-1.1 67.9-14.6 75.8-3 1.8-6.9 2.6-11.5 2.6-20.7 0-51.4-16.5-84-46.6 14-14.7 28-31.4 41.3-49.9 22.6-2.4 44-6.1 63.6-11 2.3 10.1 4.1 19.8 5.2 29.1zm38.5-66.7c-8.6 3.7-18 7-27.7 10.1-5.7-19.6-13.2-40-22.5-60.9 9.2-20.8 16.6-41.1 22.2-60.6 9.9 3.1 19.3 6.5 28.1 10.2 35.4 15.1 58.3 34.9 58.3 50.6-.1 15.7-23 35.6-58.4 50.6zM320.8 78.4z"/>
|
||||
<circle cx="420.9" cy="296.5" r="45.7"/>
|
||||
<path d="M520.5 78.1z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
1
朱鹏鹏/keiri/src/pages/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
aaf079ec-44c1-4b35-9e37-4292c11ab6d8
|
||||
1
朱鹏鹏/keiri/src/pages/main/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
55b92cb5-7dfc-4105-be8c-48d5856555c3
|
||||
1
朱鹏鹏/keiri/src/pages/main/home/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/home/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
d1352898-c814-4ed8-ad6c-c008c3335057
|
||||
135
朱鹏鹏/keiri/src/pages/main/home/index.js
Executable file
135
朱鹏鹏/keiri/src/pages/main/home/index.js
Executable file
@@ -0,0 +1,135 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Card, Select, Button } from 'antd';
|
||||
import { connect } from 'react-redux';
|
||||
import { http } from '$http';
|
||||
import { getDate } from '$public/allMenus'
|
||||
import './index.scss'
|
||||
const date = new Date();
|
||||
const { Option } = Select
|
||||
@connect(
|
||||
({ user }) => {
|
||||
return {
|
||||
user: user.user
|
||||
};
|
||||
},
|
||||
() => ({})
|
||||
)
|
||||
class Home extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
const {fullYear, months, days} = getDate()
|
||||
console.log(months, days);
|
||||
this.state = {
|
||||
info: [],
|
||||
fullYear,
|
||||
months,
|
||||
days,
|
||||
form: {
|
||||
year: date.getFullYear(),
|
||||
months: date.getMonth() + 1,
|
||||
days: date.getDate()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
handleChange(name, val) {
|
||||
console.log(val, name)
|
||||
this.setState({
|
||||
form: {
|
||||
...this.state.form,
|
||||
[name]: val
|
||||
}
|
||||
})
|
||||
}
|
||||
submit() {
|
||||
const { form } = this.state
|
||||
const ymd = `${form.year}/${form.months}/${form.days}`
|
||||
sessionStorage.setItem('login_ymd', ymd)
|
||||
}
|
||||
|
||||
async loadInfo() {
|
||||
try {
|
||||
const info = await http.get('index/message')
|
||||
this.setState({ info: info.map(item => item.sysnaiyoMei).join(' ') })
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
}
|
||||
componentDidMount() {
|
||||
this.loadInfo()
|
||||
this.submit()
|
||||
}
|
||||
|
||||
render() {
|
||||
|
||||
const { shain_no, shain_mei, buka_cod, buka_mei } = this.props.user;
|
||||
const {info, fullYear, months, days, form} = this.state;
|
||||
|
||||
return (
|
||||
<div className="home_wrp" >
|
||||
<Card title="ログイン情報" style={{ width: 700 }}>
|
||||
<div className="item_info">
|
||||
<span>社員番号 : </span>
|
||||
<span>{shain_no} {shain_mei}</span>
|
||||
</div>
|
||||
<div className="item_info">
|
||||
<span>部課コード : </span>
|
||||
<span>{buka_cod} {buka_mei}</span>
|
||||
</div>
|
||||
<div className="item_info">
|
||||
<span>起票日付 : </span>
|
||||
<span> {form.year}年{form.months}月{form.days}日</span>
|
||||
</div>
|
||||
<div className="item_info">
|
||||
<span>起票日付変更 : </span>
|
||||
<div>
|
||||
<Select size='small' value={form.year} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'year')}>
|
||||
{
|
||||
fullYear.map(item => {
|
||||
return (
|
||||
<Option key={item} value={item}>{item}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 年
|
||||
<span style={{ padding: '0 6px '}}>
|
||||
<Select size='small' value={form.months} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'months')}>
|
||||
{
|
||||
months.map(item => {
|
||||
return (
|
||||
<Option key={item} value={item}>{item}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 月
|
||||
</span>
|
||||
<Select size='small' value={form.days} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'days')}>
|
||||
{
|
||||
days.map(item => {
|
||||
return (
|
||||
<Option key={item} value={item}>{item}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 日
|
||||
<Button onClick={this.submit.bind(this)} className="ok_btn" size='small' type="primary">OK</Button>
|
||||
<div style={{ lineHeight: '26px' }}>起票日付 を変更する場合は日付を変更してから OKボタン を押してください。</div>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
<Card title="総務部からのお知らせ" style={{ width: 700, marginTop:50 }}>
|
||||
{/* {
|
||||
info.map(item => {
|
||||
return <span key={item.systeigiCod} dangerouslySetInnerHTML={{ __html: item.sysnaiyoMei }} ></span>
|
||||
})
|
||||
} */}
|
||||
{
|
||||
<div dangerouslySetInnerHTML={{ __html: info }}></div>
|
||||
}
|
||||
</Card>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
24
朱鹏鹏/keiri/src/pages/main/home/index.scss
Executable file
24
朱鹏鹏/keiri/src/pages/main/home/index.scss
Executable file
@@ -0,0 +1,24 @@
|
||||
|
||||
.home_wrp {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
.ant-card-head {
|
||||
min-height: 36px;
|
||||
}
|
||||
.ant-card-head-title {
|
||||
padding: 4px 0;
|
||||
text-align: center;
|
||||
}
|
||||
.ant-card-bordered {
|
||||
border-radius: 4px;
|
||||
}
|
||||
.item_info {
|
||||
line-height: 34px;
|
||||
display: flex;
|
||||
}
|
||||
.ok_btn {
|
||||
margin-left: 10px;
|
||||
width: 60px;
|
||||
}
|
||||
}
|
||||
388
朱鹏鹏/keiri/src/pages/main/index.js
Executable file
388
朱鹏鹏/keiri/src/pages/main/index.js
Executable file
@@ -0,0 +1,388 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Layout, Menu, Dropdown } from 'antd';
|
||||
import { Route, Switch, withRouter, Link, Redirect } from 'react-router-dom';
|
||||
import PDF from '../../documents/pdf/plsp_doc.pdf'
|
||||
import PDFSoumu from '../../documents/pdf/plsp_doc_soumu.pdf'
|
||||
import loadable from '@loadable/component';
|
||||
import { connect } from 'react-redux';
|
||||
import Home from './home'
|
||||
import { setUser } from '$actions/user';
|
||||
import './index.scss';
|
||||
import { http } from '$http';
|
||||
import { DownOutlined, HomeOutlined, AppstoreOutlined } from '@ant-design/icons';
|
||||
import { allMenus } from '$public/allMenus'
|
||||
const { Header, Content, Sider } = Layout;
|
||||
const { SubMenu, Item } = Menu;
|
||||
|
||||
@withRouter
|
||||
@connect(
|
||||
({ user }) => {
|
||||
return {
|
||||
user: user.user
|
||||
};
|
||||
},
|
||||
() => ({})
|
||||
)
|
||||
class Info extends Component {
|
||||
logout() {
|
||||
sessionStorage.clear();
|
||||
this.props.history.replace('/');
|
||||
}
|
||||
render() {
|
||||
const style = {
|
||||
float: 'right',
|
||||
marginRight: 50,
|
||||
cursor: 'pointer'
|
||||
};
|
||||
const menu = (
|
||||
<Menu>
|
||||
<Menu.Item onClick={this.logout.bind(this)}>退出</Menu.Item>
|
||||
</Menu>
|
||||
);
|
||||
const { shain_mei, shain_no } = this.props.user;
|
||||
return (
|
||||
<div overlay={menu} style={style}>
|
||||
{shain_no} {shain_mei}
|
||||
{/* <Dropdown overlay={menu}>
|
||||
<div style={{ color: '#fff' }}>
|
||||
{shain_no} {shain_mei} <DownOutlined />
|
||||
</div>
|
||||
</Dropdown> */}
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@connect(
|
||||
() => {
|
||||
return {};
|
||||
},
|
||||
(dispatch) => {
|
||||
return {
|
||||
setUser: (data) => dispatch(setUser(data))
|
||||
};
|
||||
}
|
||||
)
|
||||
class Main extends Component {
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
async UNSAFE_componentWillMount() {
|
||||
try {
|
||||
// const { shain_no, shain_mei, buka_cod, buka_mei, authCode } = await http.get('getUserDetailById?userId=0010');
|
||||
const authCode = [
|
||||
"sw_a1701",
|
||||
"sw_a1701_0010",
|
||||
"sw_a1701_0020",
|
||||
"sw_a1701_0030",
|
||||
"sw_a1701_0040",
|
||||
"sw_a1701_0050",
|
||||
"sw_a1701_0060",
|
||||
"sw_a1702",
|
||||
"sw_a1702_0010",
|
||||
"sw_a1702_0020",
|
||||
"sw_a1702_0030",
|
||||
"sw_a1703",
|
||||
"sw_a1703_0010",
|
||||
"sw_a1703_0020",
|
||||
"sw_a1706",
|
||||
"sw_a1706_0010",
|
||||
"sw_a1707",
|
||||
"sw_a1707_0010",
|
||||
"sw_a1708",
|
||||
"sw_a1708_0010",
|
||||
"sw_a1708_0020",
|
||||
"sw_a1708_0030",
|
||||
"sw_a1708_0040",
|
||||
"sw_a1708_0050",
|
||||
"sw_a1708_0060",
|
||||
"sw_a1708_0070",
|
||||
"sw_a1708_0080",
|
||||
"sw_a1702",
|
||||
"sw_a1702_0040",
|
||||
"sw_a1702_0050",
|
||||
"sw_a1703",
|
||||
"sw_a1703_0030",
|
||||
"sw_a1703_0040",
|
||||
"sw_a1704",
|
||||
"sw_a1704_0010",
|
||||
"sw_a1704_0020",
|
||||
"sw_a1704_0030",
|
||||
"sw_a1704_0040",
|
||||
"sw_a1704",
|
||||
"sw_a1704_0050",
|
||||
"sw_a1704_0060",
|
||||
"sw_a1704_0070",
|
||||
"sw_a1704_0080",
|
||||
"sw_a1704_0090",
|
||||
"sw_a1704_0100",
|
||||
"sw_a1704_0110",
|
||||
"sw_a1705",
|
||||
"sw_a1705_0010_01",
|
||||
"sw_a1705_0010_02",
|
||||
"sw_a1705_0010_03",
|
||||
"sw_a1705_0010_04",
|
||||
"sw_a1705_0010_05",
|
||||
"sw_a1705_0010_06",
|
||||
"sw_a1705_0010_07",
|
||||
"sw_a1705_0010_08",
|
||||
"sw_a1709",
|
||||
"sw_a1709_0010",
|
||||
"sw_a1709_0020",
|
||||
"sw_a1709_0030",
|
||||
"sw_a1709_0050",
|
||||
"sw_a1709_0060",
|
||||
"sw_a1709_0070",
|
||||
"sw_a1709_0080",
|
||||
"sw_a1709_0090",
|
||||
"sw_a1709_0100",
|
||||
"sw_a1709_0110",
|
||||
"sw_a1709_0120",
|
||||
"sw_a1709_0130",
|
||||
"sw_a1709_0140",
|
||||
"sw_a1709_0150",
|
||||
"sw_a1709_0160",
|
||||
"sw_a1709_0170",
|
||||
"sw_a1709_0040",
|
||||
"sw_a1790",
|
||||
"sw_a1790_0030",
|
||||
"sw_a1710",
|
||||
"sw_a1710_0010",
|
||||
"sw_a1710_0020",
|
||||
"sw_a1710_0030",
|
||||
"sw_a1710_0040",
|
||||
"sw_a1710_0050",
|
||||
"sw_a1710_0060",
|
||||
"sw_a1710_0070",
|
||||
"sw_a1710_0080",
|
||||
"sw_a1710_0090",
|
||||
"sw_a1710_0100",
|
||||
"sw_a1710_0110",
|
||||
"sw_a1710_0120",
|
||||
"sw_a1709",
|
||||
"sw_a1709_0050",
|
||||
"sw_a1709_0080",
|
||||
"sw_a1709_0120"
|
||||
]
|
||||
|
||||
const currentMenus = []
|
||||
allMenus.forEach(item => {
|
||||
let menu = {}
|
||||
if (authCode.indexOf(item.code) > -1) {
|
||||
menu = item;
|
||||
if (item.children) {
|
||||
menu.children = item.children.filter(child => authCode.indexOf(child.code) > -1)
|
||||
}
|
||||
currentMenus.push(menu)
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
this.props.setUser({
|
||||
user: {
|
||||
// shain_no,
|
||||
// shain_mei,
|
||||
// buka_cod,
|
||||
// buka_mei,
|
||||
},
|
||||
menus: currentMenus
|
||||
});
|
||||
} catch (error) {
|
||||
console.error(error);
|
||||
}
|
||||
}
|
||||
render() {
|
||||
return (
|
||||
<div className="main-layout">
|
||||
<Layout>
|
||||
<Header style={{ background: '#4BAEA0', padding: 0 }}>
|
||||
<div className="logo">
|
||||
キャッシュレスシステム
|
||||
</div>
|
||||
<Info />
|
||||
</Header>
|
||||
|
||||
<Layout>
|
||||
<Sider
|
||||
trigger={null}
|
||||
width={270}
|
||||
style={{ background: '#fff' }}
|
||||
collapsible
|
||||
collapsed={this.state.inlineCollapsed}
|
||||
>
|
||||
<div className='main-menu-wrp'>
|
||||
<LeftMenu inlineCollapsed={this.state.inlineCollapsed} />
|
||||
</div>
|
||||
</Sider>
|
||||
<Content className="main-layout-content">
|
||||
<PageRoute />
|
||||
</Content>
|
||||
</Layout>
|
||||
</Layout>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@withRouter
|
||||
@connect(
|
||||
({ user }) => {
|
||||
return {
|
||||
user
|
||||
};
|
||||
},
|
||||
() => ({})
|
||||
)
|
||||
class PageRoute extends Component {
|
||||
getRouters() {
|
||||
return this.findMenu(this.props.user.menus);
|
||||
}
|
||||
findMenu(array) {
|
||||
let ret = [];
|
||||
array.forEach((menu) => {
|
||||
if (menu.children && menu.children.length > 0) {
|
||||
ret = ret.concat(this.findMenu(menu.children));
|
||||
} else {
|
||||
if (menu.keys === 'desc') {
|
||||
return;
|
||||
}
|
||||
const path = `/${menu.keys.join('/')}`;
|
||||
ret.push(
|
||||
<Route
|
||||
key={path}
|
||||
path={path}
|
||||
component={loadable(() => import('../main/' + menu.keys.join('/')))}
|
||||
/>
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
render() {
|
||||
return <Switch>
|
||||
<Route exact path="/"><Redirect to="/home" /></Route>
|
||||
{this.getRouters()}
|
||||
<Route
|
||||
path='/home'
|
||||
component={Home}
|
||||
/>
|
||||
</Switch>;
|
||||
}
|
||||
}
|
||||
|
||||
@withRouter
|
||||
@connect(
|
||||
({ user }) => {
|
||||
return {
|
||||
user
|
||||
};
|
||||
},
|
||||
() => ({})
|
||||
)
|
||||
class LeftMenu extends Component {
|
||||
defaultOpenKeys = [];
|
||||
defaultSelectedKeys = [];
|
||||
|
||||
state = {
|
||||
openKeys: []
|
||||
};
|
||||
go(item) {
|
||||
if (item.keys === 'desc') {
|
||||
window.open(PDFSoumu)
|
||||
return;
|
||||
}
|
||||
const path = `/${item.keys.join('/')}`;
|
||||
|
||||
this.props.history.replace(path);
|
||||
}
|
||||
getItems(items) {
|
||||
return items.map((item) => {
|
||||
if (item.children && item.children.length > 0) {
|
||||
return (
|
||||
<SubMenu
|
||||
key={item.keys.join('-')}
|
||||
title={
|
||||
<span>
|
||||
<AppstoreOutlined />
|
||||
<span>{item.title}</span>
|
||||
</span>
|
||||
}
|
||||
>
|
||||
{this.getItems(item.children)}
|
||||
</SubMenu>
|
||||
);
|
||||
}
|
||||
return (
|
||||
<Item onClick={this.go.bind(this, item)} key={item.keys ==='desc'?'desc' :item.keys.join('-')}>
|
||||
<div className='empty-icon'></div>
|
||||
{item.title}
|
||||
</Item>
|
||||
);
|
||||
});
|
||||
}
|
||||
constructor(props) {
|
||||
super(props);
|
||||
const { history } = this.props;
|
||||
let _paths = history.location.pathname.split('/').filter((item) => item);
|
||||
this.defaultSelectedKeys = [_paths.join('-') || 'home'];
|
||||
this.state.openKeys = _paths;
|
||||
}
|
||||
onOpenChange(_openKeys) {
|
||||
const { openKeys } = this.state;
|
||||
|
||||
const array = _openKeys.filter((key) => openKeys.indexOf(key) == -1);
|
||||
|
||||
this.setState({
|
||||
openKeys: array.length > 0 ? array : _openKeys
|
||||
});
|
||||
}
|
||||
render() {
|
||||
const { user, inlineCollapsed } = this.props;
|
||||
const { openKeys } = this.state;
|
||||
const setting = {
|
||||
mode: 'inline',
|
||||
defaultOpenKeys: openKeys,
|
||||
defaultSelectedKeys: this.defaultSelectedKeys,
|
||||
onOpenChange: this.onOpenChange.bind(this),
|
||||
};
|
||||
if (!inlineCollapsed) {
|
||||
setting.openKeys = openKeys;
|
||||
}
|
||||
return (
|
||||
<Menu {...setting}>
|
||||
<Item key={'home'}>
|
||||
<Link to='/home'>
|
||||
<HomeOutlined />
|
||||
<span style={{fontWeight:'bold',fontSize:14}}>首頁</span>
|
||||
</Link>
|
||||
</Item>
|
||||
<SubMenu
|
||||
key='operate'
|
||||
title={
|
||||
<span>
|
||||
<AppstoreOutlined />
|
||||
<span>操作説明</span>
|
||||
</span>
|
||||
}
|
||||
>
|
||||
<Item key='instructions'>
|
||||
<a href = {PDF} target = "_blank">
|
||||
<span>操作説明 [PDF 1.99MB]</span>
|
||||
</a>
|
||||
</Item>
|
||||
</SubMenu>
|
||||
{this.getItems(user.menus)}
|
||||
</Menu>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
export default Main;
|
||||
|
||||
139
朱鹏鹏/keiri/src/pages/main/index.scss
Executable file
139
朱鹏鹏/keiri/src/pages/main/index.scss
Executable file
@@ -0,0 +1,139 @@
|
||||
.main-layout {
|
||||
height: 100%;
|
||||
position: relative;
|
||||
|
||||
>.ant-layout {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.ant-table-small .ant-table-thead {
|
||||
tr th{
|
||||
background-color: #fafafa;
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
.ant-table-small {
|
||||
.ant-table-tbody {
|
||||
.ant-table-cell {
|
||||
padding: 2px 8px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ant-table-small > .ant-table-content > .ant-table-body {
|
||||
margin: 0;
|
||||
}
|
||||
.ant-layout-content {
|
||||
position: relative;
|
||||
margin: 14px;
|
||||
background: #fff;
|
||||
border-radius: 6px;
|
||||
padding: 10px 10px 20px;
|
||||
.ant-select-single .ant-select-selector {
|
||||
height: 21px;
|
||||
line-height: 20px;
|
||||
.ant-select-selection-search-input {
|
||||
height: 20px;
|
||||
}
|
||||
.ant-select-selection-item {
|
||||
line-height: 20px;
|
||||
}
|
||||
.ant-select-selection-placeholder {
|
||||
line-height: 21px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.main-menu-wrp {
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
.ant-menu {
|
||||
&.ant-menu-inline {
|
||||
border-right: none;
|
||||
}
|
||||
.ant-menu-submenu-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
.ant-menu-item {
|
||||
font-size: 12px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
color: #000;
|
||||
&:hover {
|
||||
color: #4BAEA0;
|
||||
}
|
||||
}
|
||||
.ant-menu-item-selected {
|
||||
color: #4BAEA0;
|
||||
background-color: rgba(26, 194, 170, .2);
|
||||
}
|
||||
.ant-menu-item:hover {
|
||||
color: #4BAEA0;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-menu-submenu-title {
|
||||
|
||||
&:hover {
|
||||
.ant-menu-submenu-arrow {
|
||||
&:before {
|
||||
background: linear-gradient(to right, #4BAEA0, #4BAEA0);
|
||||
|
||||
}
|
||||
|
||||
&:after {
|
||||
background: linear-gradient(to right, #4BAEA0, #4BAEA0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.ant-menu-submenu-arrow {
|
||||
|
||||
&:before {
|
||||
background: #999;
|
||||
height: 0.5px;
|
||||
}
|
||||
|
||||
&:after {
|
||||
background: #999;
|
||||
height: 0.5px;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.systole {
|
||||
cursor: pointer;
|
||||
float: left;
|
||||
margin-left: 70px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
.ant-tooltip.ant-menu-inline-collapsed-tooltip.ant-tooltip-placement-right .ant-tooltip-inner {
|
||||
background-color: #fff;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
// .ant-tooltip .ant-menu-inline-collapsed-tooltip .ant-tooltip-placement-right {
|
||||
// left: 75px !important;
|
||||
// }
|
||||
|
||||
.ant-tooltip.ant-menu-inline-collapsed-tooltip.ant-tooltip-placement-right .ant-tooltip-arrow {
|
||||
&:before {
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.empty-icon {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
width: 14px;
|
||||
}
|
||||
1
朱鹏鹏/keiri/src/pages/main/sw_a1701/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/sw_a1701/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
e92422f6-06c4-4749-a8a1-1057489821cc
|
||||
7
朱鹏鹏/keiri/src/pages/main/sw_a1701/0010.scss
Executable file
7
朱鹏鹏/keiri/src/pages/main/sw_a1701/0010.scss
Executable file
@@ -0,0 +1,7 @@
|
||||
.aw_a1701_0010 {
|
||||
.table-label {
|
||||
border-left: 3px solid rgb(75, 174, 160);
|
||||
padding-left: 6px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
}
|
||||
149
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0010.js
Executable file
149
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0010.js
Executable file
@@ -0,0 +1,149 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Radio, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
|
||||
import { http } from '$http';
|
||||
import Detail from '$c/detail'
|
||||
import './0010.scss'
|
||||
class Home extends Component {
|
||||
state = {
|
||||
value: 3,
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '状態',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
},
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
},
|
||||
{
|
||||
title: '振込',
|
||||
dataIndex: 'furikomi',
|
||||
key: 'furikomi',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
showDetail: false,
|
||||
row: {}
|
||||
};
|
||||
|
||||
onChange = e => {
|
||||
console.log('radio checked', e.target.value);
|
||||
this.setState({
|
||||
value: e.target.value,
|
||||
});
|
||||
};
|
||||
toDetail = (text, record) => {
|
||||
this.setState({ showDetail: true, row: record})
|
||||
}
|
||||
async submit() {
|
||||
try {
|
||||
const { value } = this.state;
|
||||
const { hd_info_msg2 } = await http.post('s01/a1701_0010r/Denpyo/doEntry', { rangedate: value, sKey: '1' })
|
||||
alert(hd_info_msg2)
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
}
|
||||
async fnSearch() {
|
||||
try {
|
||||
const { value } = this.state;
|
||||
this.setState({ loading: true })
|
||||
const { result, resultList } = await http.post('s01/a1701_0010r/Denpyo/doSearch', { rangedate: value, hd_status:''}).catch((err) => this.setState({ loading: false }))
|
||||
if (result) {
|
||||
this.setState({ dataSource: resultList, loading: false })
|
||||
}
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
}
|
||||
goback() {
|
||||
this.setState({ showDetail: false })
|
||||
}
|
||||
|
||||
|
||||
onFinish = (values) => {
|
||||
console.log(values);
|
||||
};
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey, showDetail, row } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
expandable: {
|
||||
expandedRowRender: record => <div>承認者「{record.snin_NO} {record.snin_MEI}」承認時刻「{record.snin_YMD}」出張先「{record.schosaki_MEI}」切符手配「{record.tehai_NO} {record.note} {record.mishori}」</div>,
|
||||
defaultExpandAllRows: true
|
||||
},
|
||||
rowClassName: (record, index) => {
|
||||
let className = 'odd';
|
||||
if (index % 2 === 1) className = 'even';
|
||||
return className;
|
||||
}
|
||||
};
|
||||
return (
|
||||
<div>
|
||||
{
|
||||
!showDetail ?
|
||||
<div className='aw_a1701_0010' style={{width:1000}}>
|
||||
<div>11 国内出張旅費 【確認】</div>
|
||||
<div style={{ marginTop: 10, paddingLeft: 120 }}>
|
||||
<span>不承認 0件</span> 
|
||||
<span>未確定 0件</span> 
|
||||
<span>
|
||||
<span onClick={this.fnSearch.bind(this)} style={{ color: '#4BAEA0', cursor: 'pointer' }}>確定済</span>
|
||||
( 
|
||||
<Radio.Group onChange={this.onChange} value={this.state.value}>
|
||||
<Radio value={3}>3ヶ月前</Radio>
|
||||
<Radio value={6}>6ヶ月前</Radio>
|
||||
<Radio value={24}>12ヶ月前</Radio>
|
||||
</Radio.Group>) 
|
||||
{dataSource.length}件
|
||||
</span>  
|
||||
<AddButton onClick={this.submit.bind(this)} >新規</AddButton>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<div className="table-label">承認情報/その他情報</div>
|
||||
{ !!dataSource.length && <Table {...setting} ></Table> }
|
||||
</div>
|
||||
</div> :
|
||||
<Detail row={row} hd_c1_name='a1701_0010r' goBack={this.goback.bind(this)} />
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
104
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0020.js
Executable file
104
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0020.js
Executable file
@@ -0,0 +1,104 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
import { http } from '$http';
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
},
|
||||
{
|
||||
title: '出張先',
|
||||
dataIndex: 'schosaki_MEI',
|
||||
key: 'schosaki_MEI',
|
||||
width: 270
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
},
|
||||
{
|
||||
title: '登録日',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
options: [],
|
||||
selectValue: ''
|
||||
}
|
||||
handleChange() {
|
||||
|
||||
}
|
||||
|
||||
async loadList() {
|
||||
try {
|
||||
const { se_pldenpyo_no_list, slist } = await http.post('s01/a1701_0020r/Entry/doIndicate', { login_ymd: sessionStorage.getItem('login_ymd')});
|
||||
if (se_pldenpyo_no_list && se_pldenpyo_no_list.length) {
|
||||
this.setState({ options: se_pldenpyo_no_list})
|
||||
}
|
||||
if (slist && slist.length) {
|
||||
this.setState({ dataSource: slist })
|
||||
}
|
||||
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.loadList()
|
||||
}
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey, options, selectValue } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
bordered:true,
|
||||
size: "small"
|
||||
};
|
||||
return (
|
||||
<div>
|
||||
<div>12 内容取消 (国内出張旅費)</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
伝票番号 <Select size='small' vlaue={selectValue} style={{ width: 100 }} onChange={this.handleChange.bind(this)}>
|
||||
{
|
||||
options.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
<div style={{ marginTop: 20}}>
|
||||
<Table {...setting}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
131
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0030.js
Executable file
131
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0030.js
Executable file
@@ -0,0 +1,131 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Radio, Table, Select } from 'antd';
|
||||
import Detail from '$c/detail'
|
||||
import './0010.scss'
|
||||
import { http } from '$http';
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
value: 3,
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '状態',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
},
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
},
|
||||
{
|
||||
title: '振込',
|
||||
dataIndex: 'furikomi',
|
||||
key: 'furikomi',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
showDetail: false,
|
||||
row: {}
|
||||
};
|
||||
|
||||
toDetail = (text, record) => {
|
||||
this.setState({ showDetail: true, row: record })
|
||||
}
|
||||
goback() {
|
||||
this.setState({ showDetail: false })
|
||||
}
|
||||
|
||||
onChange = e => {
|
||||
console.log('radio checked', e.target.value);
|
||||
this.setState({
|
||||
value: e.target.value,
|
||||
});
|
||||
};
|
||||
async fnSearch() {
|
||||
try {
|
||||
const { value } = this.state;
|
||||
this.setState({ loading: true })
|
||||
const { result, resultList } = await http.post('s01/a1701_0030r/Entry/doIndicate', { rangedate: value, hd_status: '' }).catch((err) => this.setState({ loading: false }))
|
||||
if (result) {
|
||||
this.setState({ dataSource: resultList, loading: false })
|
||||
}
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey, showDetail, row, value } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
expandable: {
|
||||
expandedRowRender: record => <div>承認者「{record.snin_NO} {record.snin_MEI}」承認時刻「{record.snin_YMD}」出張先「{record.schosaki_MEI}」切符手配「{record.tehai_NO} {record.note} {record.mishori}」</div>,
|
||||
defaultExpandAllRows: true
|
||||
},
|
||||
rowClassName: (record, index) => {
|
||||
let className = 'odd';
|
||||
if (index % 2 === 1) className = 'even';
|
||||
return className;
|
||||
}
|
||||
};
|
||||
return (
|
||||
<div>
|
||||
{
|
||||
!showDetail ?
|
||||
<div className='aw_a1701_0010'>
|
||||
<div>13 事後修正 【確認】</div>
|
||||
<div style={{ marginTop: 10, paddingLeft: 120 }}>
|
||||
<span>
|
||||
<span onClick={this.fnSearch.bind(this)} style={{ color: '#4BAEA0', cursor: 'pointer' }}>期間</span>
|
||||
( 
|
||||
<Radio.Group onChange={this.onChange} value={value}>
|
||||
<Radio value={3}>3ヶ月前</Radio>
|
||||
<Radio value={6}>6ヶ月前</Radio>
|
||||
<Radio value={24}>12ヶ月前</Radio>
|
||||
</Radio.Group>) 
|
||||
0件
|
||||
</span>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<div className="table-label">承認情報/その他情報</div>
|
||||
{!!dataSource.length && <Table {...setting} ></Table>}
|
||||
</div>
|
||||
</div> :
|
||||
<Detail row={row} hd_c1_name='a1701_0030r' goBack={this.goback.bind(this)} />
|
||||
}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
10
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0040.js
Executable file
10
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0040.js
Executable file
@@ -0,0 +1,10 @@
|
||||
import React, { Component } from 'react';
|
||||
|
||||
class Home extends Component {
|
||||
render() {
|
||||
return (
|
||||
<div>0040</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
10
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0050.js
Executable file
10
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0050.js
Executable file
@@ -0,0 +1,10 @@
|
||||
import React, { Component } from 'react';
|
||||
|
||||
class Home extends Component {
|
||||
render() {
|
||||
return (
|
||||
<div>0050</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
10
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0060.js
Executable file
10
朱鹏鹏/keiri/src/pages/main/sw_a1701/sw_a1701_0060.js
Executable file
@@ -0,0 +1,10 @@
|
||||
import React, { Component } from 'react';
|
||||
|
||||
class Home extends Component {
|
||||
render() {
|
||||
return (
|
||||
<div>0060</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
1
朱鹏鹏/keiri/src/pages/main/sw_a1702/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/sw_a1702/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
768929e1-8728-4fc5-8798-3feca9d3b7c5
|
||||
7
朱鹏鹏/keiri/src/pages/main/sw_a1702/0020.scss
Executable file
7
朱鹏鹏/keiri/src/pages/main/sw_a1702/0020.scss
Executable file
@@ -0,0 +1,7 @@
|
||||
.aw_a1702_0010 {
|
||||
.table-label {
|
||||
border-left: 3px solid rgb(75, 174, 160);
|
||||
padding-left: 6px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
}
|
||||
201
朱鹏鹏/keiri/src/pages/main/sw_a1702/sw_a1702_0010.js
Executable file
201
朱鹏鹏/keiri/src/pages/main/sw_a1702/sw_a1702_0010.js
Executable file
@@ -0,0 +1,201 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Radio, Table, Modal } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { ExclamationCircleOutlined } from '@ant-design/icons';
|
||||
import { http } from '$http';
|
||||
import Detail from '$c/detail_21'
|
||||
import './0020.scss'
|
||||
class Home extends Component {
|
||||
state = {
|
||||
value: 3,
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '状態',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
},
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
},
|
||||
{
|
||||
title: '振込',
|
||||
dataIndex: 'furikomi',
|
||||
key: 'furikomi',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
showDetail: false,
|
||||
row: {}
|
||||
};
|
||||
onChange = e => {
|
||||
console.log('radio checked', e.target.value);
|
||||
this.setState({
|
||||
value: e.target.value,
|
||||
});
|
||||
};
|
||||
toDetail = (text, record) => {
|
||||
this.setState({ showDetail: true, row: record })
|
||||
}
|
||||
async add() {
|
||||
try {
|
||||
const { value } = this.state;
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
rd_range: value,
|
||||
hd_status: '確定済',
|
||||
key: '1'
|
||||
}
|
||||
const { hd_info_msg2=''} = await http.post('s02/a1702_0010r/Denpyo/doEntry', params)
|
||||
Modal.confirm({
|
||||
title: '提示',
|
||||
icon: <ExclamationCircleOutlined />,
|
||||
content: hd_info_msg2,
|
||||
okText: '確認',
|
||||
cancelText: 'キャンセル',
|
||||
onOk: () => { this.toAdd() },
|
||||
onCancel: () => { this.cancel() }
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
async cancel() {
|
||||
try {
|
||||
const { value } = this.state;
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
rd_range: value,
|
||||
hd_status: '確定済',
|
||||
key: '3'
|
||||
}
|
||||
const { hd_info_msg2 = '' } = await http.post('s02/a1702_0010r/Denpyo/doEntry', params)
|
||||
Modal.confirm({
|
||||
title: '提示',
|
||||
icon: <ExclamationCircleOutlined />,
|
||||
content: hd_info_msg2,
|
||||
okText: '確認',
|
||||
cancelText: 'キャンセル',
|
||||
onOk: () => { this.toAdd() },
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
async toAdd() {
|
||||
try {
|
||||
const { value } = this.state;
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
rd_range: value,
|
||||
hd_status: '確定済',
|
||||
key: '2'
|
||||
}
|
||||
const { hd_denpyo_no = '', hd_denpyo_ymd="" } = await http.post('s02/a1702_0010r/Denpyo/doEntry', params)
|
||||
this.setState({ showDetail: true, row: { pldenpyo_NO: hd_denpyo_no, pldenpyo_YMD: hd_denpyo_ymd ,isAdd: true}})
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
async fnSearch() {
|
||||
try {
|
||||
const { value } = this.state;
|
||||
this.setState({ loading: true })
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
rd_range: value,
|
||||
hd_status: '確定済'
|
||||
}
|
||||
const { result, resultList } = await http.post('s02/a1702_0010r/Denpyo/doSearch', params).catch((err) => this.setState({ loading: false }))
|
||||
this.setState({ dataSource: resultList, loading: false })
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
}
|
||||
goback() {
|
||||
this.setState({ showDetail: false })
|
||||
}
|
||||
|
||||
|
||||
formRef = React.createRef();
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey, showDetail, row } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
expandable: {
|
||||
expandedRowRender: record => <div>承認者「{record.snin_NO} {record.snin_MEI}」承認時刻「{record.snin_YMD}」出張先「{record.schosaki_MEI}」切符手配「{record.tehai_NO} {record.note} {record.mishori}」</div>,
|
||||
defaultExpandAllRows: true
|
||||
},
|
||||
rowClassName: (record, index) => {
|
||||
let className = 'odd';
|
||||
if (index % 2 === 1) className = 'even';
|
||||
return className;
|
||||
}
|
||||
};
|
||||
return (
|
||||
<div>
|
||||
{
|
||||
!showDetail ?
|
||||
<div className='aw_a1702_0010'>
|
||||
<div>21 領収証支払 【確認】</div>
|
||||
<div style={{ marginTop: 10, paddingLeft: 120 }}>
|
||||
<span>不承認 0件</span> 
|
||||
<span>未確定 0件</span> 
|
||||
<span>
|
||||
<span onClick={this.fnSearch.bind(this)} style={{ color: '#4BAEA0', cursor: 'pointer' }}>確定済</span>
|
||||
( 
|
||||
<Radio.Group onChange={this.onChange} value={this.state.value}>
|
||||
<Radio value={3}>3ヶ月前</Radio>
|
||||
<Radio value={6}>6ヶ月前</Radio>
|
||||
<Radio value={24}>12ヶ月前</Radio>
|
||||
</Radio.Group>) 
|
||||
0件
|
||||
</span>  
|
||||
<AddButton onClick={this.add.bind(this)} >新規</AddButton>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<div className="table-label">承認情報/その他情報</div>
|
||||
{!!dataSource.length && <Table {...setting} ></Table>}
|
||||
</div>
|
||||
</div> :
|
||||
<Detail row={row} goBack={this.goback.bind(this)} />
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
91
朱鹏鹏/keiri/src/pages/main/sw_a1702/sw_a1702_0020.js
Executable file
91
朱鹏鹏/keiri/src/pages/main/sw_a1702/sw_a1702_0020.js
Executable file
@@ -0,0 +1,91 @@
|
||||
import React, { Component, } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { http } from '$http';
|
||||
const { Option } = Select
|
||||
class Home extends Component {
|
||||
state = {
|
||||
se_denpyo_no_list: [],
|
||||
slist: [],
|
||||
columns: [
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'denpyo_no',
|
||||
key: 'denpyo_no',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo',
|
||||
key: 'tekiyo',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_ban',
|
||||
key: 'seizo_ban',
|
||||
},
|
||||
{
|
||||
title: '登録日',
|
||||
dataIndex: 'touroku_ymd',
|
||||
key: 'touroku_ymd',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_kin',
|
||||
key: 'karikata_kin',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'denpyo_no',
|
||||
selectValue: ''
|
||||
}
|
||||
|
||||
handleChange(value) {
|
||||
this.setState({ selectValue: value})
|
||||
}
|
||||
async load() {
|
||||
try {
|
||||
const { se_denpyo_no_list=[], slist=[] } = await http.post('s02/a1702_0020r/Entry/doIndicate', { login_ymd: sessionStorage.getItem('login_ymd') })
|
||||
this.setState({
|
||||
se_denpyo_no_list, slist
|
||||
})
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
render() {
|
||||
const { se_denpyo_no_list, selectValue, slist, columns, loading, rowKey } = this.state;
|
||||
const setting = {
|
||||
dataSource: slist,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
bordered: true,
|
||||
size: "small"
|
||||
};
|
||||
return (
|
||||
<div>
|
||||
<div>内容取消 (領収証)</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
伝票番号 <Select size='small' value={selectValue} style={{ width: 120 }} onChange={this.handleChange.bind(this)}>
|
||||
{
|
||||
se_denpyo_no_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<Table {...setting}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
82
朱鹏鹏/keiri/src/pages/main/sw_a1702/sw_a1702_0030.js
Executable file
82
朱鹏鹏/keiri/src/pages/main/sw_a1702/sw_a1702_0030.js
Executable file
@@ -0,0 +1,82 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'number',
|
||||
key: 'number',
|
||||
},
|
||||
{
|
||||
title: '社員',
|
||||
dataIndex: 'address',
|
||||
key: 'address',
|
||||
},
|
||||
{
|
||||
title: '社員名称 ',
|
||||
dataIndex: 'userName',
|
||||
key: 'userName',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'desc',
|
||||
key: 'desc',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'orderNo',
|
||||
key: 'orderNo',
|
||||
},
|
||||
{
|
||||
title: '登録日',
|
||||
dataIndex: 'date',
|
||||
key: 'date',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'money',
|
||||
key: 'money',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'id'
|
||||
}
|
||||
handleChange() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small"
|
||||
};
|
||||
const options = []
|
||||
return (
|
||||
<div>
|
||||
<div>概算リスト</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
<AddButton>印刷</AddButton>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<span>検索結果:0件</span>
|
||||
<Table {...setting}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
149
朱鹏鹏/keiri/src/pages/main/sw_a1702/sw_a1702_0040.js
Executable file
149
朱鹏鹏/keiri/src/pages/main/sw_a1702/sw_a1702_0040.js
Executable file
@@ -0,0 +1,149 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Radio, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
|
||||
import { http } from '$http';
|
||||
import Detail from '$c/detail'
|
||||
import './0020.scss'
|
||||
|
||||
class Home extends Component {
|
||||
state = {
|
||||
value: 1,
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '状態',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
},
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
},
|
||||
{
|
||||
title: '振込',
|
||||
dataIndex: 'furikomi',
|
||||
key: 'furikomi',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
showDetail: false,
|
||||
row: {}
|
||||
};
|
||||
onChange = e => {
|
||||
console.log('radio checked', e.target.value);
|
||||
this.setState({
|
||||
value: e.target.value,
|
||||
});
|
||||
};
|
||||
toDetail = (text, record) => {
|
||||
this.setState({ showDetail: true, row: record })
|
||||
}
|
||||
submit() {
|
||||
|
||||
}
|
||||
async fnSearch() {
|
||||
try {
|
||||
const { value } = this.state;
|
||||
this.setState({ loading: true })
|
||||
const { result, resultList } = await http.post('a1701_0010r/doSearch', { rangedate: value }).catch((err) => this.setState({ loading: false }))
|
||||
if (result) {
|
||||
this.setState({ dataSource: resultList, loading: false })
|
||||
}
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
}
|
||||
goback() {
|
||||
this.setState({ showDetail: false })
|
||||
}
|
||||
|
||||
|
||||
formRef = React.createRef();
|
||||
onGenderChange = (value) => {
|
||||
this.formRef.current.setFieldsValue({
|
||||
note: `Hi, ${value === 'male' ? 'man' : 'lady'}!`,
|
||||
});
|
||||
};
|
||||
onFinish = (values) => {
|
||||
console.log(values);
|
||||
};
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey, showDetail, row } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
expandable: {
|
||||
expandedRowRender: record => <div>承認者「{record.snin_NO} {record.snin_MEI}」承認時刻「{record.snin_YMD}」出張先「{record.schosaki_MEI}」切符手配「{record.tehai_NO} {record.note} {record.mishori}」</div>,
|
||||
defaultExpandAllRows: true
|
||||
},
|
||||
rowClassName: (record, index) => {
|
||||
let className = 'odd';
|
||||
if (index % 2 === 1) className = 'even';
|
||||
return className;
|
||||
}
|
||||
};
|
||||
return (
|
||||
<div>
|
||||
{
|
||||
!showDetail ?
|
||||
<div className='aw_a1702_0010'>
|
||||
<div> 振込支払 【確認】</div>
|
||||
<div style={{ marginTop: 10, paddingLeft: 120 }}>
|
||||
<span>不承認 0件</span> 
|
||||
<span>未確定 0件</span> 
|
||||
<span>
|
||||
<span onClick={this.fnSearch.bind(this)} style={{ color: '#4BAEA0', cursor: 'pointer' }}>確定済</span>
|
||||
( 
|
||||
<Radio.Group onChange={this.onChange} value={this.state.value}>
|
||||
<Radio value={1}>3ヶ月前</Radio>
|
||||
<Radio value={2}>6ヶ月前</Radio>
|
||||
<Radio value={3}>12ヶ月前</Radio>
|
||||
</Radio.Group>) 
|
||||
0件
|
||||
</span>  
|
||||
<AddButton onClick={this.submit.bind(this)} >新規</AddButton>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<div className="table-label">承認情報/その他情報</div>
|
||||
<Table {...setting} ></Table>
|
||||
</div>
|
||||
</div> :
|
||||
<Detail row={row} goBack={this.goback.bind(this)} />
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
80
朱鹏鹏/keiri/src/pages/main/sw_a1702/sw_a1702_0050.js
Executable file
80
朱鹏鹏/keiri/src/pages/main/sw_a1702/sw_a1702_0050.js
Executable file
@@ -0,0 +1,80 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'number',
|
||||
key: 'number',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'desc',
|
||||
key: 'desc',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'orderNo',
|
||||
key: 'orderNo',
|
||||
},
|
||||
{
|
||||
title: '登録日',
|
||||
dataIndex: 'date',
|
||||
key: 'date',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'money',
|
||||
key: 'money',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'id'
|
||||
}
|
||||
handleChange() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small"
|
||||
};
|
||||
const options = []
|
||||
return (
|
||||
<div>
|
||||
<div>内容取消 (振込支払)</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
伝票番号 <Select size='small' defaultValue={''} style={{ width: 70 }} onChange={this.handleChange.bind(this)}>
|
||||
{
|
||||
options.map(item => {
|
||||
return (
|
||||
<Option key={item} value={item}>{item}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<span>検索結果:0件</span>
|
||||
<Table {...setting}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
1
朱鹏鹏/keiri/src/pages/main/sw_a1703/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/sw_a1703/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
fcfc1546-eeb3-4e93-83f4-7d595c40f29e
|
||||
7
朱鹏鹏/keiri/src/pages/main/sw_a1703/0030.scss
Executable file
7
朱鹏鹏/keiri/src/pages/main/sw_a1703/0030.scss
Executable file
@@ -0,0 +1,7 @@
|
||||
.aw_a1703_0010 {
|
||||
.table-label {
|
||||
border-left: 3px solid rgb(75, 174, 160);
|
||||
padding-left: 6px;
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
}
|
||||
148
朱鹏鹏/keiri/src/pages/main/sw_a1703/sw_a1703_0010.js
Executable file
148
朱鹏鹏/keiri/src/pages/main/sw_a1703/sw_a1703_0010.js
Executable file
@@ -0,0 +1,148 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Radio, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
|
||||
import { http } from '$http';
|
||||
import Detail from '$c/detail'
|
||||
import './0030.scss'
|
||||
class Home extends Component {
|
||||
state = {
|
||||
value: 1,
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '状態',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
},
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
},
|
||||
{
|
||||
title: '振込',
|
||||
dataIndex: 'furikomi',
|
||||
key: 'furikomi',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
showDetail: false,
|
||||
row: {}
|
||||
};
|
||||
onChange = e => {
|
||||
console.log('radio checked', e.target.value);
|
||||
this.setState({
|
||||
value: e.target.value,
|
||||
});
|
||||
};
|
||||
toDetail = (text, record) => {
|
||||
this.setState({ showDetail: true, row: record })
|
||||
}
|
||||
submit() {
|
||||
|
||||
}
|
||||
async fnSearch() {
|
||||
try {
|
||||
const { value } = this.state;
|
||||
this.setState({ loading: true })
|
||||
const { result, resultList } = await http.post('a1701_0010r/doSearch', { rangedate: value }).catch((err) => this.setState({ loading: false }))
|
||||
if (result) {
|
||||
this.setState({ dataSource: resultList, loading: false })
|
||||
}
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
}
|
||||
goback() {
|
||||
this.setState({ showDetail: false })
|
||||
}
|
||||
|
||||
|
||||
formRef = React.createRef();
|
||||
onGenderChange = (value) => {
|
||||
this.formRef.current.setFieldsValue({
|
||||
note: `Hi, ${value === 'male' ? 'man' : 'lady'}!`,
|
||||
});
|
||||
};
|
||||
onFinish = (values) => {
|
||||
console.log(values);
|
||||
};
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey, showDetail, row } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
expandable: {
|
||||
expandedRowRender: record => <div>承認者「{record.snin_NO} {record.snin_MEI}」承認時刻「{record.snin_YMD}」出張先「{record.schosaki_MEI}」切符手配「{record.tehai_NO} {record.note} {record.mishori}」</div>,
|
||||
defaultExpandAllRows: true
|
||||
},
|
||||
rowClassName: (record, index) => {
|
||||
let className = 'odd';
|
||||
if (index % 2 === 1) className = 'even';
|
||||
return className;
|
||||
}
|
||||
};
|
||||
return (
|
||||
<div>
|
||||
{
|
||||
!showDetail ?
|
||||
<div className='aw_a1703_0010'>
|
||||
<div>31 請求書支払 【確認】</div>
|
||||
<div style={{ marginTop: 10, paddingLeft: 120 }}>
|
||||
<span>不承認 0件</span> 
|
||||
<span>未確定 0件</span> 
|
||||
<span>
|
||||
<span onClick={this.fnSearch.bind(this)} style={{ color: '#4BAEA0', cursor: 'pointer' }}>確定済</span>
|
||||
( 
|
||||
<Radio.Group onChange={this.onChange} value={this.state.value}>
|
||||
<Radio value={1}>3ヶ月前</Radio>
|
||||
<Radio value={2}>6ヶ月前</Radio>
|
||||
<Radio value={3}>12ヶ月前</Radio>
|
||||
</Radio.Group>) 
|
||||
0件
|
||||
</span>  
|
||||
<AddButton onClick={this.submit.bind(this)} >新規</AddButton>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<div className="table-label">承認情報/その他情報</div>
|
||||
<Table {...setting} ></Table>
|
||||
</div>
|
||||
</div> :
|
||||
<Detail row={row} goBack={this.goback.bind(this)} />
|
||||
}
|
||||
</div>
|
||||
|
||||
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
80
朱鹏鹏/keiri/src/pages/main/sw_a1703/sw_a1703_0020.js
Executable file
80
朱鹏鹏/keiri/src/pages/main/sw_a1703/sw_a1703_0020.js
Executable file
@@ -0,0 +1,80 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'number',
|
||||
key: 'number',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'desc',
|
||||
key: 'desc',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'orderNo',
|
||||
key: 'orderNo',
|
||||
},
|
||||
{
|
||||
title: '登録日',
|
||||
dataIndex: 'date',
|
||||
key: 'date',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'money',
|
||||
key: 'money',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'id'
|
||||
}
|
||||
handleChange() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small"
|
||||
};
|
||||
const options = []
|
||||
return (
|
||||
<div>
|
||||
<div>32 内容取消 (請求書)</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
伝票番号 <Select size='small' defaultValue={''} style={{ width: 70 }} onChange={this.handleChange.bind(this)}>
|
||||
{
|
||||
options.map(item => {
|
||||
return (
|
||||
<Option key={item} value={item}>{item}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<span>検索結果:0件</span>
|
||||
<Table {...setting}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
1
朱鹏鹏/keiri/src/pages/main/sw_a1704/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/sw_a1704/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
b231001c-2916-476c-8644-02c17148366b
|
||||
80
朱鹏鹏/keiri/src/pages/main/sw_a1704/sw_a1704_0010.js
Executable file
80
朱鹏鹏/keiri/src/pages/main/sw_a1704/sw_a1704_0010.js
Executable file
@@ -0,0 +1,80 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'number',
|
||||
key: 'number',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'desc',
|
||||
key: 'desc',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'orderNo',
|
||||
key: 'orderNo',
|
||||
},
|
||||
{
|
||||
title: '登録日',
|
||||
dataIndex: 'date',
|
||||
key: 'date',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'money',
|
||||
key: 'money',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'id'
|
||||
}
|
||||
handleChange() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small"
|
||||
};
|
||||
const options = []
|
||||
return (
|
||||
<div>
|
||||
<div>内容取消 (振込支払)</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
伝票番号 <Select size='small' defaultValue={''} style={{ width: 70 }} onChange={this.handleChange.bind(this)}>
|
||||
{
|
||||
options.map(item => {
|
||||
return (
|
||||
<Option key={item} value={item}>{item}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<span>検索結果:0件</span>
|
||||
<Table {...setting}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
80
朱鹏鹏/keiri/src/pages/main/sw_a1704/sw_a1704_0020.js
Executable file
80
朱鹏鹏/keiri/src/pages/main/sw_a1704/sw_a1704_0020.js
Executable file
@@ -0,0 +1,80 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'number',
|
||||
key: 'number',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'desc',
|
||||
key: 'desc',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'orderNo',
|
||||
key: 'orderNo',
|
||||
},
|
||||
{
|
||||
title: '登録日',
|
||||
dataIndex: 'date',
|
||||
key: 'date',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'money',
|
||||
key: 'money',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'id'
|
||||
}
|
||||
handleChange() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small"
|
||||
};
|
||||
const options = []
|
||||
return (
|
||||
<div>
|
||||
<div>内容取消 (振込支払)</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
伝票番号 <Select size='small' defaultValue={''} style={{ width: 70 }} onChange={this.handleChange.bind(this)}>
|
||||
{
|
||||
options.map(item => {
|
||||
return (
|
||||
<Option key={item} value={item}>{item}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<span>検索結果:0件</span>
|
||||
<Table {...setting}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
80
朱鹏鹏/keiri/src/pages/main/sw_a1704/sw_a1704_0030.js
Executable file
80
朱鹏鹏/keiri/src/pages/main/sw_a1704/sw_a1704_0030.js
Executable file
@@ -0,0 +1,80 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'number',
|
||||
key: 'number',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'desc',
|
||||
key: 'desc',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'orderNo',
|
||||
key: 'orderNo',
|
||||
},
|
||||
{
|
||||
title: '登録日',
|
||||
dataIndex: 'date',
|
||||
key: 'date',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'money',
|
||||
key: 'money',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'id'
|
||||
}
|
||||
handleChange() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small"
|
||||
};
|
||||
const options = []
|
||||
return (
|
||||
<div>
|
||||
<div>内容取消 (振込支払)</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
伝票番号 <Select size='small' defaultValue={''} style={{ width: 70 }} onChange={this.handleChange.bind(this)}>
|
||||
{
|
||||
options.map(item => {
|
||||
return (
|
||||
<Option key={item} value={item}>{item}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<span>検索結果:0件</span>
|
||||
<Table {...setting}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
1
朱鹏鹏/keiri/src/pages/main/sw_a1705/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/sw_a1705/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
aa6684bd-9cba-454a-b22a-6db882920ed1
|
||||
27
朱鹏鹏/keiri/src/pages/main/sw_a1705/0040.scss
Executable file
27
朱鹏鹏/keiri/src/pages/main/sw_a1705/0040.scss
Executable file
@@ -0,0 +1,27 @@
|
||||
.sw_a1705_0010_01 {
|
||||
max-width: 1000px;
|
||||
.sw_a1705_0010_01_header{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: #e5e5e5;
|
||||
padding: 10px;
|
||||
|
||||
}
|
||||
.sw_a1705_0010_01_list {
|
||||
margin-top: 20px;
|
||||
width: 300px;
|
||||
>div {
|
||||
border-left: 3px solid rgb(75, 174, 160);
|
||||
padding-left: 6px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
}
|
||||
.ant-radio-group {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
}
|
||||
}
|
||||
1
朱鹏鹏/keiri/src/pages/main/sw_a1705/components/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/sw_a1705/components/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
d49d43c9-3f46-4010-843a-f1fbcf15a414
|
||||
345
朱鹏鹏/keiri/src/pages/main/sw_a1705/components/detail.js
Executable file
345
朱鹏鹏/keiri/src/pages/main/sw_a1705/components/detail.js
Executable file
@@ -0,0 +1,345 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Table, Input, Select, Checkbox, Button } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { CaretRightOutlined, RollbackOutlined } from '@ant-design/icons';
|
||||
import { http } from '$http';
|
||||
import './index.scss'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Detail extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
|
||||
this.state = {
|
||||
dataSource: [
|
||||
// {
|
||||
// id: 1,
|
||||
// pro: '普通',
|
||||
// num: '2回',
|
||||
// money: '4,000'
|
||||
// }
|
||||
],
|
||||
dataSource1: [
|
||||
// {
|
||||
// id: 1,
|
||||
// index:'1',
|
||||
// pro: '普通',
|
||||
// num: '2回',
|
||||
// name: '間接',
|
||||
// money: '4,000'
|
||||
// }
|
||||
],
|
||||
dataSource2: [
|
||||
// {
|
||||
// id: 1,
|
||||
// index: '1',
|
||||
// pro: '普通',
|
||||
// num: '2回',
|
||||
// name: '間接',
|
||||
// money: '4,000',
|
||||
// date: '2019/07/02'
|
||||
// }
|
||||
],
|
||||
loading: false,
|
||||
columns: [
|
||||
{
|
||||
title: '項目',
|
||||
dataIndex: 'pro',
|
||||
key: '1',
|
||||
},
|
||||
{
|
||||
title: '回数',
|
||||
dataIndex: 'num',
|
||||
key: '2',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'money',
|
||||
key: '3',
|
||||
}
|
||||
],
|
||||
columns1: [
|
||||
{
|
||||
title: 'No',
|
||||
dataIndex: 'index',
|
||||
key: '1',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'num',
|
||||
key: '2',
|
||||
},
|
||||
{
|
||||
title: 'オーダー名称',
|
||||
dataIndex: 'name',
|
||||
key: '3',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'money',
|
||||
key: '4',
|
||||
}
|
||||
],
|
||||
columns2: [
|
||||
{
|
||||
title: '年月日',
|
||||
dataIndex: 'date',
|
||||
key: '1',
|
||||
},
|
||||
{
|
||||
title: '休日',
|
||||
dataIndex: 'num',
|
||||
key: '2',
|
||||
},
|
||||
{
|
||||
title: '出発',
|
||||
dataIndex: 'name',
|
||||
key: '3',
|
||||
},
|
||||
{
|
||||
title: '到着',
|
||||
dataIndex: 'money',
|
||||
key: '4',
|
||||
},
|
||||
{
|
||||
title: '乗車船',
|
||||
dataIndex: 'money',
|
||||
key: '5',
|
||||
},
|
||||
{
|
||||
title: '宿泊地',
|
||||
dataIndex: 'money',
|
||||
key: '5',
|
||||
},
|
||||
{
|
||||
title: '乗車駅',
|
||||
dataIndex: 'money',
|
||||
key: '5',
|
||||
},
|
||||
{
|
||||
title: '降車駅',
|
||||
dataIndex: 'money',
|
||||
key: '5',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'money',
|
||||
key: '5',
|
||||
},
|
||||
{
|
||||
title: '内訳',
|
||||
dataIndex: 'money',
|
||||
key: '5',
|
||||
}
|
||||
],
|
||||
rowKey: 'id'
|
||||
}
|
||||
}
|
||||
|
||||
formRef = React.createRef();
|
||||
onGenderChange = (label, value) => {
|
||||
console.log(label, value);
|
||||
this.formRef.current.setFieldsValue({
|
||||
note: `Hi, ${value === 'male' ? 'man' : 'lady'}!`,
|
||||
});
|
||||
};
|
||||
|
||||
onFinish = (values) => {
|
||||
console.log(values);
|
||||
};
|
||||
|
||||
goBack = () => {
|
||||
this.props.goBack()
|
||||
}
|
||||
|
||||
submit() {
|
||||
|
||||
}
|
||||
componentDidMount() {
|
||||
// console.log(this.props.row);
|
||||
// this.formRef.current.setFieldsValue({
|
||||
// tx_denpyo_no: this.props.row.pldenpyo_NO,
|
||||
// tx_shain_no: this.props.row.snin_MEI,
|
||||
|
||||
// });
|
||||
}
|
||||
render() {
|
||||
const { dataSource, dataSource1, columns1, dataSource2, columns2, loading, columns, rowKey } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
style: {width: 300}
|
||||
};
|
||||
const setting1 = {
|
||||
dataSource: dataSource1,
|
||||
columns: columns1,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
const setting2 = {
|
||||
dataSource: dataSource2,
|
||||
columns: columns2,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
return (
|
||||
<div className='aw_a1705_0010_detail'>
|
||||
 <Button onClick={this.goBack} icon={<RollbackOutlined />} />
|
||||
<div className="aw_a1705_0010_detail_form">
|
||||
<div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">伝票番号</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{width:100}} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">起票日</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">社員名称</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
 <Input size="small" disabled style={{ width: 120 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">部課名称</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
 <Input size="small" disabled style={{ width: 120 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">勘定科目</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
 <Input size="small" disabled style={{ width: 120 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">摘要</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 200 }} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">1次承認</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">2次承認</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">総務承認</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">出張種別</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">出張期間</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} /> ~
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">出張先名称</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 200 }} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="aw_a1705_0010_detail_form1">
|
||||
<div className="form1_left">
|
||||
<div className="form_item">
|
||||
<div className="form_label">合計金額</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">初日加算</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">長期出張手当</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">日帰出張手当</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">宿泊代(実費)</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="form_item">
|
||||
<div className="form_label">交通費</div>
|
||||
<div className="form_value">
|
||||
<Input size="small" disabled style={{ width: 100 }} />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="form1_right">
|
||||
<Table {...setting} ></Table>  
|
||||
<Table {...setting} ></Table>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{width: 500,marginTop:20}}>
|
||||
<Table {...setting1} ></Table>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
交通費明細
|
||||
<Table {...setting2} ></Table>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Detail
|
||||
37
朱鹏鹏/keiri/src/pages/main/sw_a1705/components/index.scss
Executable file
37
朱鹏鹏/keiri/src/pages/main/sw_a1705/components/index.scss
Executable file
@@ -0,0 +1,37 @@
|
||||
.aw_a1705_0010_detail {
|
||||
width: 1000px;
|
||||
.aw_a1705_0010_detail_form {
|
||||
margin-top: 12px;
|
||||
padding: 20px 0 0;
|
||||
background: #e5e5e5;
|
||||
display: flex;
|
||||
>div{
|
||||
flex:1;
|
||||
}
|
||||
|
||||
}
|
||||
.aw_a1705_0010_detail_form1 {
|
||||
display: flex;
|
||||
.form1_left {
|
||||
width: 300px;
|
||||
background: #e5e5e5;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-end;
|
||||
}
|
||||
.form1_right {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
padding: 10px 20px;
|
||||
}
|
||||
}
|
||||
.form_item {
|
||||
display: flex;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.form_label {
|
||||
margin-right: 6px;
|
||||
width: 100px;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
49
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_01.js
Executable file
49
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_01.js
Executable file
@@ -0,0 +1,49 @@
|
||||
import React, { Component } from 'react';
|
||||
import { AddButton } from '$button'
|
||||
import { Input } from 'antd';
|
||||
import './0040.scss'
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
loading: false,
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { loading } = this.state
|
||||
return (
|
||||
<div className="sw_a1705_0010_01">
|
||||
<div>51 承認処理 【確認】</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
<div className="sw_a1705_0010_01_header">
|
||||
<span>状態 </span>
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
<span style={{ marginLeft: 20 }}>承認者 </span>
|
||||
<Input size="small" disabled style={{width:120}} />
|
||||
</div>
|
||||
<div className="sw_a1705_0010_01_list">
|
||||
<div>
|
||||
<span>国内出張旅費支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>請求書支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>領収証支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>勘定振替</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
49
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_02.js
Executable file
49
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_02.js
Executable file
@@ -0,0 +1,49 @@
|
||||
import React, { Component } from 'react';
|
||||
import { AddButton } from '$button'
|
||||
import { Input } from 'antd';
|
||||
import './0040.scss'
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
loading: false,
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { loading } = this.state
|
||||
return (
|
||||
<div className="sw_a1705_0010_01">
|
||||
<div>51 承認処理 【確認】</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
<div className="sw_a1705_0010_01_header">
|
||||
<span>状態 </span>
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
<span style={{ marginLeft: 20 }}>承認者 </span>
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
</div>
|
||||
<div className="sw_a1705_0010_01_list">
|
||||
<div>
|
||||
<span>国内出張旅費支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>請求書支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>領収証支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>勘定振替</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
49
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_03.js
Executable file
49
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_03.js
Executable file
@@ -0,0 +1,49 @@
|
||||
import React, { Component } from 'react';
|
||||
import { AddButton } from '$button'
|
||||
import { Input } from 'antd';
|
||||
import './0040.scss'
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
loading: false,
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { loading } = this.state
|
||||
return (
|
||||
<div className="sw_a1705_0010_01">
|
||||
<div>51 承認処理 【確認】</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
<div className="sw_a1705_0010_01_header">
|
||||
<span>状態 </span>
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
<span style={{ marginLeft: 20 }}>承認者 </span>
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
</div>
|
||||
<div className="sw_a1705_0010_01_list">
|
||||
<div>
|
||||
<span>国内出張旅費支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>請求書支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>領収証支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>勘定振替</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
49
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_04.js
Executable file
49
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_04.js
Executable file
@@ -0,0 +1,49 @@
|
||||
import React, { Component } from 'react';
|
||||
import { AddButton } from '$button'
|
||||
import { Input } from 'antd';
|
||||
import './0040.scss'
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
loading: false,
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { loading } = this.state
|
||||
return (
|
||||
<div className="sw_a1705_0010_01">
|
||||
<div>51 承認処理 【確認】</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
<div className="sw_a1705_0010_01_header">
|
||||
<span>状態 </span>
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
<span style={{ marginLeft: 20 }}>承認者 </span>
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
</div>
|
||||
<div className="sw_a1705_0010_01_list">
|
||||
<div>
|
||||
<span>国内出張旅費支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>請求書支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>領収証支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>勘定振替</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
189
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_05.js
Executable file
189
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_05.js
Executable file
@@ -0,0 +1,189 @@
|
||||
import React, { Component } from 'react';
|
||||
import { AddButton } from '$button'
|
||||
import { Input, Radio, Table } from 'antd';
|
||||
import Detail from './components/detail'
|
||||
import './0040.scss'
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
value: 1,
|
||||
loading: false,
|
||||
showTable: false,
|
||||
dataSource: [
|
||||
{
|
||||
"snin_MEI": "江田好美",
|
||||
"tehai_NO": "",
|
||||
"tekiyo": "",
|
||||
"note": "",
|
||||
"mishori": "",
|
||||
"pldenpyo_NO": "120K058",
|
||||
"snin_YMD": "2019/06/04 10:55:00",
|
||||
"snin_NO": "0444",
|
||||
"furikomi": "貂?",
|
||||
"pldenpyo_YMD": "2019/05/31",
|
||||
"cpyplden_NO": "",
|
||||
"schosaki_MEI": "大井電気本社",
|
||||
"tekiyo_MEI": "各種会議出席",
|
||||
"seizo_BAN": "X9-00-00-000",
|
||||
"karikata_KIN": "\\2,447"
|
||||
},
|
||||
],
|
||||
columns: [
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
},
|
||||
{
|
||||
title: 'CAMS',
|
||||
dataIndex: 'CAMS',
|
||||
key: 'CAMS',
|
||||
},
|
||||
{
|
||||
title: '氏名',
|
||||
dataIndex: 'furikomi',
|
||||
key: 'furikomi',
|
||||
},
|
||||
{
|
||||
title: '出張先',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI',
|
||||
},
|
||||
{
|
||||
title: '用件',
|
||||
dataIndex: 'tehai_NO',
|
||||
key: 'tehai_NO',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
},
|
||||
{
|
||||
title: '承認',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
align: 'center',
|
||||
render: val => {
|
||||
return {
|
||||
children: <Radio.Group onChange={this.onChange} value={this.state.value}>
|
||||
<Radio value={1}></Radio>
|
||||
<Radio value={2}></Radio>
|
||||
<Radio value={3}></Radio>
|
||||
</Radio.Group>,
|
||||
props: { colSpan: 3 }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '不承認',
|
||||
key: 'karikata_KIN',
|
||||
align: 'center',
|
||||
render: val => {
|
||||
return {
|
||||
props: { colSpan: 0 }
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '保留',
|
||||
key: 'karikata_KIN',
|
||||
align: 'center',
|
||||
render: val => {
|
||||
return {
|
||||
|
||||
props: { colSpan: 0 }
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
rowKey: 'pldenpyo_NO',
|
||||
row: {},
|
||||
showDetail: false
|
||||
}
|
||||
|
||||
onChange = e => {
|
||||
console.log(1);
|
||||
this.setState({
|
||||
value: e.target.value,
|
||||
});
|
||||
};
|
||||
toDetail = (text, record) => {
|
||||
this.setState({ showDetail: true, row: record })
|
||||
}
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey, showTable, showDetail } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
return (
|
||||
<div className="sw_a1705_0010_01">
|
||||
{
|
||||
!showDetail ?
|
||||
<>
|
||||
<div>51 承認処理 【確認】</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
<div className="sw_a1705_0010_01_header">
|
||||
<span>状態 </span>
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
<span style={{ marginLeft: 20 }}>承認者 </span>
|
||||
<Input size="small" disabled style={{ width: 120, marginRight: 'auto' }} />
|
||||
{
|
||||
showTable &&
|
||||
<span>
|
||||
<AddButton >確定</AddButton> 
|
||||
<AddButton>戻る</AddButton>
|
||||
</span>
|
||||
}
|
||||
|
||||
</div>
|
||||
<div className="sw_a1705_0010_01_list">
|
||||
<div>
|
||||
<span style={{ color: '#4BAEA0', cursor: 'pointer' }}>国内出張旅費支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>請求書支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span style={{ color: '#4BAEA0', cursor: 'pointer' }}>領収証支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>勘定振替</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<Table {...setting} ></Table>
|
||||
</div>
|
||||
</> :
|
||||
<Detail />
|
||||
}
|
||||
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
49
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_06.js
Executable file
49
朱鹏鹏/keiri/src/pages/main/sw_a1705/sw_a1705_0010_06.js
Executable file
@@ -0,0 +1,49 @@
|
||||
import React, { Component } from 'react';
|
||||
import { AddButton } from '$button'
|
||||
import { Input } from 'antd';
|
||||
import './0040.scss'
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
loading: false,
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { loading } = this.state
|
||||
return (
|
||||
<div className="sw_a1705_0010_01">
|
||||
<div>51 承認処理 【確認】</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
<div className="sw_a1705_0010_01_header">
|
||||
<span>状態 </span>
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
<span style={{ marginLeft: 20 }}>承認者 </span>
|
||||
<Input size="small" disabled style={{ width: 120 }} />
|
||||
</div>
|
||||
<div className="sw_a1705_0010_01_list">
|
||||
<div>
|
||||
<span>国内出張旅費支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>請求書支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>領収証支払</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>勘定振替</span>
|
||||
<span>0件</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
1
朱鹏鹏/keiri/src/pages/main/sw_a1706/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/sw_a1706/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
e2c1c126-7f52-48ff-b72d-5b1af206f3c0
|
||||
9
朱鹏鹏/keiri/src/pages/main/sw_a1706/index.scss
Executable file
9
朱鹏鹏/keiri/src/pages/main/sw_a1706/index.scss
Executable file
@@ -0,0 +1,9 @@
|
||||
.sw_a1706_0020 {
|
||||
.sw_a1706_0020_header{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: #e5e5e5;
|
||||
padding: 10px;
|
||||
|
||||
}
|
||||
}
|
||||
77
朱鹏鹏/keiri/src/pages/main/sw_a1706/sw_a1706_0010.js
Executable file
77
朱鹏鹏/keiri/src/pages/main/sw_a1706/sw_a1706_0010.js
Executable file
@@ -0,0 +1,77 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '支払先CD',
|
||||
dataIndex: 'number',
|
||||
key: 'number',
|
||||
},
|
||||
{
|
||||
title: '支払先名称',
|
||||
dataIndex: 'address',
|
||||
key: 'address',
|
||||
},
|
||||
{
|
||||
title: '銀行名称',
|
||||
dataIndex: 'desc',
|
||||
key: 'desc',
|
||||
},
|
||||
{
|
||||
title: '支店名称',
|
||||
dataIndex: 'orderNo',
|
||||
key: 'orderNo',
|
||||
},
|
||||
{
|
||||
title: '申請依頼日',
|
||||
dataIndex: 'date',
|
||||
key: 'date',
|
||||
},
|
||||
{
|
||||
title: '申請依頼者',
|
||||
dataIndex: 'money',
|
||||
key: 'money',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'id'
|
||||
}
|
||||
handleChange() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small"
|
||||
};
|
||||
const options = []
|
||||
return (
|
||||
<div>
|
||||
<div>61 請求書支払先申請依頼【確認】</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
<AddButton >新規</AddButton>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
検索結果:0件
|
||||
<Table {...setting}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
84
朱鹏鹏/keiri/src/pages/main/sw_a1706/sw_a1706_0020.js
Executable file
84
朱鹏鹏/keiri/src/pages/main/sw_a1706/sw_a1706_0020.js
Executable file
@@ -0,0 +1,84 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table, Input } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
import './index.scss'
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '支払先CD',
|
||||
dataIndex: 'number',
|
||||
key: 'number',
|
||||
},
|
||||
{
|
||||
title: '支払先名称',
|
||||
dataIndex: 'address',
|
||||
key: 'address',
|
||||
},
|
||||
{
|
||||
title: '銀行名称',
|
||||
dataIndex: 'desc',
|
||||
key: 'desc',
|
||||
},
|
||||
{
|
||||
title: '支店名称',
|
||||
dataIndex: 'orderNo',
|
||||
key: 'orderNo',
|
||||
},
|
||||
{
|
||||
title: '申請依頼日',
|
||||
dataIndex: 'date',
|
||||
key: 'date',
|
||||
},
|
||||
{
|
||||
title: '申請依頼者',
|
||||
dataIndex: 'money',
|
||||
key: 'money',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'id'
|
||||
}
|
||||
handleChange() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small"
|
||||
};
|
||||
const options = []
|
||||
return (
|
||||
<div className="sw_a1706_0020">
|
||||
<div>31 支払先マスタ検索 【口座番号検索】</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
<div className="sw_a1706_0020_header">
|
||||
<span>口座番号(7桁) </span>
|
||||
<Input size="small" style={{ width: 120 }} /> 
|
||||
<AddButton>口座検索</AddButton>
|
||||
<span style={{ marginLeft: 'auto'}}>
|
||||
<AddButton>閉じる</AddButton>
|
||||
</span>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
検索結果:0件
|
||||
<Table {...setting}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
1
朱鹏鹏/keiri/src/pages/main/sw_a1707/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/sw_a1707/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
5e969060-f8f0-4efa-ad50-9b35966c5aa7
|
||||
7
朱鹏鹏/keiri/src/pages/main/sw_a1707/index.scss
Executable file
7
朱鹏鹏/keiri/src/pages/main/sw_a1707/index.scss
Executable file
@@ -0,0 +1,7 @@
|
||||
.sw_a1707_0010 {
|
||||
.sw_a1707_0010_header{
|
||||
align-items: center;
|
||||
background: #e5e5e5;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
176
朱鹏鹏/keiri/src/pages/main/sw_a1707/sw_a1707_0010.js
Executable file
176
朱鹏鹏/keiri/src/pages/main/sw_a1707/sw_a1707_0010.js
Executable file
@@ -0,0 +1,176 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table, Radio } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { http } from '$http';
|
||||
const { Option } = Select
|
||||
import './index.scss'
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
columns: [
|
||||
{
|
||||
title: '',
|
||||
dataIndex: 'kamoku_COD',
|
||||
key: 'kamoku_COD',
|
||||
width: 60,
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '勘定科目名称',
|
||||
dataIndex: 'kamoku_MEI',
|
||||
key: 'kamoku_MEI',
|
||||
},
|
||||
{
|
||||
title: '期予算',
|
||||
dataIndex: 'kiyosan',
|
||||
key: 'kiyosan',
|
||||
},
|
||||
{
|
||||
title: '当月発生累計',
|
||||
dataIndex: 'tougetu',
|
||||
key: 'tougetu',
|
||||
},
|
||||
{
|
||||
title: '実績累計',
|
||||
dataIndex: 'jiseki',
|
||||
key: 'jiseki',
|
||||
},
|
||||
{
|
||||
title: '残予算',
|
||||
dataIndex: 'zanyosan',
|
||||
key: 'zanyosan',
|
||||
},
|
||||
{
|
||||
title: '費消率',
|
||||
dataIndex: 'hiritu',
|
||||
key: 'hiritu',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'kamoku_COD',
|
||||
value: '1200',
|
||||
res:{}
|
||||
}
|
||||
|
||||
toDetail = (text, record) => {
|
||||
// this.setState({ showDetail: true, row: record })
|
||||
};
|
||||
|
||||
handleChange(e) {
|
||||
console.log(e);
|
||||
this.setState({
|
||||
value: e.target.value,
|
||||
},() => {
|
||||
this.load()
|
||||
});
|
||||
}
|
||||
|
||||
async load() {
|
||||
try {
|
||||
const { value } = this.state
|
||||
const params = {
|
||||
dsp_flg: true,
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
se_buka_cod: value,
|
||||
hd_buka_list: value,
|
||||
}
|
||||
const res = await http.post('s07/a1707_0010s/Search/doIndicate', params);
|
||||
this.setState({ res })
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
|
||||
}
|
||||
summary() {
|
||||
const { res } = this.state;
|
||||
return (
|
||||
<Table.Summary.Row style={{ backgroundColor: '#fafafa' }}>
|
||||
<Table.Summary.Cell colSpan={4}>
|
||||
<div style={{ textAlign: 'right' }}><strong>総計</strong></div>
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
{res.jiseki_kei1}
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
{res.zanyosan_kei1}
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
{res.hiritu_kei1}
|
||||
</Table.Summary.Cell>
|
||||
</Table.Summary.Row>
|
||||
)
|
||||
}
|
||||
summary1() {
|
||||
const { res } = this.state;
|
||||
return (
|
||||
<Table.Summary.Row style={{ backgroundColor: '#fafafa' }}>
|
||||
<Table.Summary.Cell colSpan={4}>
|
||||
<div style={{ textAlign: 'right' }}><strong>総計</strong></div>
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
{res.jiseki_kei2}
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
{res.zanyosan_kei2}
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
{res.hiritu_kei2}
|
||||
</Table.Summary.Cell>
|
||||
</Table.Summary.Row>
|
||||
)
|
||||
}
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
render() {
|
||||
const { loading, columns, rowKey, value, res } = this.state;
|
||||
const { slist1 = [], slist2 = [] } = res;
|
||||
const setting = {
|
||||
dataSource: slist1,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
|
||||
};
|
||||
const setting1 = {
|
||||
...setting,
|
||||
dataSource: slist2,
|
||||
};
|
||||
const optionsWithDisabled = [
|
||||
{ label: '1200 本社(総務部)', value: '1200' },
|
||||
{ label: '1790 SEセンター', value: '1790' },
|
||||
{ label: '9000 退職者', value: '9000' },
|
||||
];
|
||||
const deptName = optionsWithDisabled.filter(item => item.value === value)[0].label;
|
||||
return (
|
||||
<div className="sw_a1707_0010">
|
||||
<div>71 予算実績累計</div>
|
||||
<div style={{ marginTop: 10, padding: 20 }}>
|
||||
<div className="sw_a1707_0010_header">
|
||||
<span>対象部門  </span>
|
||||
<Radio.Group
|
||||
options={optionsWithDisabled}
|
||||
onChange={this.handleChange.bind(this)}
|
||||
value={value}
|
||||
optionType="button"
|
||||
buttonStyle="solid"
|
||||
/>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
部門名称:{deptName}
|
||||
<Table {...setting} summary={this.summary.bind(this)}></Table>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<Table {...setting1} summary={this.summary1.bind(this)}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
1
朱鹏鹏/keiri/src/pages/main/sw_a1708/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/sw_a1708/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
4cd88ded-a326-44ca-9794-da1f4e240463
|
||||
39
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0010.js
Executable file
39
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0010.js
Executable file
@@ -0,0 +1,39 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Input, Select } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
onGenderChange = (value) => {
|
||||
|
||||
};
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div style={{width:1000}}>
|
||||
<div>82 費用実績明細</div>
|
||||
<div style={{display:'flex',alignContent:'center',margin:'20px 0 0 20px'}}>
|
||||
対象年月
|
||||
<Input disabled size="small" style={{ width: 80 }} /> 年
|
||||
<Input disabled size="small" style={{ width: 80 }} /> 月分
|
||||
<span style={{ marginLeft: 20 }}>対象部課</span>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this)}
|
||||
style={{marginRight:40}}
|
||||
>
|
||||
<Option value="1200">1200 本社(総務部)</Option>
|
||||
<Option value="1790">1790 SEセンター</Option>
|
||||
<Option value="9000">9000 退職者</Option>
|
||||
</Select>
|
||||
<AddButton>CSV</AddButton> 
|
||||
<AddButton>印刷</AddButton>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
39
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0030.js
Executable file
39
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0030.js
Executable file
@@ -0,0 +1,39 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Input, Select } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
onGenderChange = (value) => {
|
||||
|
||||
};
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>83 費用実績明細 (半期)</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 0 20px' }}>
|
||||
対象半期
|
||||
<Input disabled size="small" style={{ width: 80 }} /> 年度
|
||||
<Input disabled size="small" style={{ width: 80 }} /> 分
|
||||
<span style={{ marginLeft: 20 }}>対象部課</span>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this)}
|
||||
style={{ marginRight: 40 }}
|
||||
>
|
||||
<Option value="1200">1200 本社(総務部)</Option>
|
||||
<Option value="1790">1790 SEセンター</Option>
|
||||
<Option value="9000">9000 退職者</Option>
|
||||
</Select>
|
||||
<AddButton>CSV</AddButton> 
|
||||
<AddButton>印刷</AddButton>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
38
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0040.js
Executable file
38
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0040.js
Executable file
@@ -0,0 +1,38 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Input, Select } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
onGenderChange = (value) => {
|
||||
|
||||
};
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>83 費用実績明細 (半期)</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 0 20px' }}>
|
||||
対象半期
|
||||
<Input disabled size="small" style={{ width: 80 }} /> 年度
|
||||
<Input disabled size="small" style={{ width: 80 }} /> 分
|
||||
<span style={{ marginLeft: 20 }}>対象部課</span>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this)}
|
||||
style={{ marginRight: 40 }}
|
||||
>
|
||||
<Option value="1200">1200 本社(総務部)</Option>
|
||||
<Option value="1790">1790 SEセンター</Option>
|
||||
<Option value="9000">9000 退職者</Option>
|
||||
</Select>
|
||||
<AddButton>印刷</AddButton>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
126
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0050.js
Executable file
126
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0050.js
Executable file
@@ -0,0 +1,126 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Input, Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { http } from '$http';
|
||||
const { Option } = Select
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
value: 1,
|
||||
dataSource: [],
|
||||
columns: [
|
||||
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '伝票種別',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
},
|
||||
{
|
||||
title: '未使用理由',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
},
|
||||
{
|
||||
title: '確認済',
|
||||
dataIndex: 'furikomi',
|
||||
key: 'furikomi',
|
||||
},
|
||||
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
showDetail: false,
|
||||
row: {},
|
||||
tx_shain_mei: ''
|
||||
};
|
||||
|
||||
toDetail = (text, record) => {
|
||||
// this.setState({ showDetail: true, row: record })
|
||||
}
|
||||
onGenderChange = (value) => {
|
||||
|
||||
};
|
||||
|
||||
async load() {
|
||||
try {
|
||||
const { tx_shain_mei } = await http.post('s08/a1708_0050r/Entry/doIndicate', { login_ymd: sessionStorage.getItem('login_ymd') });
|
||||
this.setState({ tx_shain_mei })
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey, value, tx_shain_mei } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>85 未確定データ確認</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 10px 20px' }}>
|
||||
氏名
|
||||
<Input disabled size="small" value={tx_shain_mei} style={{ width: 100 }} />
|
||||
</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 10px 20px' }}>
|
||||
伝票番号 <Input disabled size="small" style={{ width: 80 }} />
|
||||
未使用理由 <Input disabled size="small" style={{ width: 300 }} />
|
||||
<span style={{ marginLeft: 20 }}>対象部課</span>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this)}
|
||||
style={{ marginRight: 40,width:80 }}
|
||||
value={value}
|
||||
>
|
||||
<Option value={0}>使用</Option>
|
||||
<Option value={1}>未使用</Option>
|
||||
</Select>
|
||||
</div>
|
||||
<div style={{ marginRight: 100, textAlign: 'right' }}><AddButton>設定</AddButton></div>
|
||||
<div style={{marginTop: 50}}>
|
||||
<Table {...setting} ></Table>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
26
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0060.js
Executable file
26
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0060.js
Executable file
@@ -0,0 +1,26 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Input } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>86 未使用番号リスト</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 0 20px' }}>
|
||||
対象半期
|
||||
<Input disabled size="small" style={{ width: 80 }} /> 年度
|
||||
<Input disabled size="small" style={{ width: 80 }} /> 分
|
||||
<span style={{ marginLeft: 20 }}>対象部課</span>
|
||||
<Input disabled size="small" style={{ width: 180,marginRight: 20 }} />
|
||||
<AddButton>印刷</AddButton>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
178
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0070.js
Executable file
178
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0070.js
Executable file
@@ -0,0 +1,178 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { http } from '$http';
|
||||
const { Option } = Select
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
year: '',
|
||||
months: '',
|
||||
value: '000',
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '種別',
|
||||
dataIndex: 'dendtshu_MEI',
|
||||
key: 'dendtshu_MEI',
|
||||
},
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
},
|
||||
{
|
||||
title: '社員名称',
|
||||
dataIndex: 'shain_MEI',
|
||||
key: 'shain_MEI',
|
||||
},
|
||||
{
|
||||
title: '部課',
|
||||
dataIndex: 'buka_COD',
|
||||
key: 'buka_COD'
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
},
|
||||
{
|
||||
title: '支払日',
|
||||
dataIndex: 'sihairai_YMD',
|
||||
key: 'sihairai_YMD',
|
||||
},
|
||||
{
|
||||
title: '借方金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI'
|
||||
},
|
||||
{
|
||||
title: '承認者',
|
||||
dataIndex: 'sninsha_MEI',
|
||||
key: 'sninsha_MEI',
|
||||
},
|
||||
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
res: {}
|
||||
}
|
||||
}
|
||||
|
||||
handleChange(name, val) {
|
||||
this.setState({
|
||||
[name]: val
|
||||
})
|
||||
}
|
||||
onGenderChange() {
|
||||
|
||||
}
|
||||
async fnDisp() {
|
||||
try {
|
||||
const { year, months, value } = this.state;
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
tyear: year,
|
||||
tmonth: months,
|
||||
status: value
|
||||
}
|
||||
const res = await http.post('s08/a1708_0070p/SearchList/doSearch', params);
|
||||
this.setState({ res, year: res.se_tyear, months: res.se_tmonth, dataSource: res.slist })
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
};
|
||||
async load() {
|
||||
try {
|
||||
const { year, months, value } = this.state;
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
tyear: year,
|
||||
tmonth: months,
|
||||
status: value
|
||||
}
|
||||
const res = await http.post('s08/a1708_0070p/SearchList/doIndicate', params);
|
||||
this.setState({ res, year: res.se_tyear, months: res.se_tmonth})
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
render() {
|
||||
const date = new Date();
|
||||
const { dataSource, loading, columns, rowKey, value, res } = this.state;
|
||||
const { se_tyear_list =[], se_tmonth_list=[], se_status_list=[]} = res;
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>87 承認警告リスト</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 0 20px' }}>
|
||||
対象半期
|
||||
<Select size='small' defaultValue={date.getFullYear()} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'year')}>
|
||||
{
|
||||
se_tyear_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 年
|
||||
<span style={{ padding: '0 6px ' }}>
|
||||
<Select size='small' defaultValue={date.getMonth() + 1} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'months')}>
|
||||
{
|
||||
se_tmonth_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 月
|
||||
</span>
|
||||
<span style={{ marginLeft: 40 }}>状態</span>
|
||||
<Select
|
||||
onChange={this.onGenderChange.bind(this)}
|
||||
style={{ marginRight: 40 }}
|
||||
value={value}
|
||||
>
|
||||
{
|
||||
se_status_list.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
<AddButton onClick={this.fnDisp.bind(this)}>一覧</AddButton>  
|
||||
<AddButton>印刷</AddButton>
|
||||
</div>
|
||||
<div style={{ marginTop: 50 }}>
|
||||
<Table {...setting} ></Table>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
41
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0080.js
Executable file
41
朱鹏鹏/keiri/src/pages/main/sw_a1708/sw_a1708_0080.js
Executable file
@@ -0,0 +1,41 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Input } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>88 パスワード変更</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 10px 20px' }}>
|
||||
<span style={{ width: 100, textAlign: 'right' }}>氏名</span>
|
||||
<Input disabled size="small" style={{ width: 120 }} />
|
||||
</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 10px 20px' }}>
|
||||
<span style={{ width: 100, textAlign: 'right' }}>現パスワード</span>
|
||||
<Input disabled size="small" style={{ width: 120 }} />
|
||||
</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 10px 20px' }}>
|
||||
<span style={{ width: 100, textAlign: 'right' }}>新パスワード</span>
|
||||
<Input size="small" style={{ width: 120 }} />
|
||||
</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 10px 20px' }}>
|
||||
<span style={{ width: 100, textAlign: 'right' }}>新パスワード</span>
|
||||
<Input size="small" style={{ width: 120 }} /> (確認)
|
||||
</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 10px 20px' }}>
|
||||
<span style={{ width: 100, textAlign: 'right' }}></span>
|
||||
<AddButton>設定</AddButton>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
1
朱鹏鹏/keiri/src/pages/main/sw_a1709/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/sw_a1709/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
45b082d2-f3da-45b1-84eb-7c87b4768be2
|
||||
1
朱鹏鹏/keiri/src/pages/main/sw_a1709/components/.pydio
Normal file
1
朱鹏鹏/keiri/src/pages/main/sw_a1709/components/.pydio
Normal file
@@ -0,0 +1 @@
|
||||
d1cc03e1-5662-4f6b-8197-4279d91a2e37
|
||||
276
朱鹏鹏/keiri/src/pages/main/sw_a1709/components/0030Detail.js
Executable file
276
朱鹏鹏/keiri/src/pages/main/sw_a1709/components/0030Detail.js
Executable file
@@ -0,0 +1,276 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Button, Input, Checkbox, Radio } from 'antd';
|
||||
import { http, postByJson } from '$http';
|
||||
import { AddButton } from '$button'
|
||||
import { RollbackOutlined } from '@ant-design/icons';
|
||||
import './index.scss'
|
||||
const CheckboxGroup = Checkbox.Group;
|
||||
const { Option } = Select;
|
||||
const size = 'small'
|
||||
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
res:{}
|
||||
};
|
||||
|
||||
goBack = () => {
|
||||
this.props.goBack()
|
||||
}
|
||||
|
||||
onChange = (name, { target: { value }}) => {
|
||||
const { res } = this.state;
|
||||
this.setState({
|
||||
res: {
|
||||
...res,
|
||||
[name]: value
|
||||
}
|
||||
});
|
||||
};
|
||||
onChange1 = (name, value) => {
|
||||
const { res } = this.state
|
||||
this.setState({
|
||||
res: {
|
||||
...res,
|
||||
[name]: value
|
||||
}
|
||||
});
|
||||
};
|
||||
async fnDataNG() {
|
||||
try {
|
||||
const { hd_Sihask_Cod, tx_ginko_cod, tx_ginten_cod, se_mtginko_kbn, se_torokuho_kbn, ra_tesuryo_kbn } = this.state.res
|
||||
const params = {
|
||||
hd_Sihask_Cod, tx_ginko_cod,
|
||||
tx_ginten_cod, se_mtginko_kbn, se_torokuho_kbn,
|
||||
ra_tesuryo_kbn
|
||||
}
|
||||
await postByJson('s09/a1709_0030r/Entry/doDataNG', params)
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
}
|
||||
async fnDataOK() {
|
||||
try {
|
||||
const { hd_Sihask_Cod, tx_ginko_cod, tx_ginten_cod, se_mtginko_kbn,
|
||||
se_torokuho_kbn, ra_tesuryo_kbn, tx_hojo_cod, rd_siharai_kbn,
|
||||
} = this.state.res;
|
||||
if (!tx_ginko_cod) {
|
||||
alert("支払先銀行コードが入力されていません。");
|
||||
return false;
|
||||
}
|
||||
if (!tx_ginten_cod) {
|
||||
alert("支払先支店コードが入力されていません。");
|
||||
}
|
||||
if (!rd_siharai_kbn) {
|
||||
alert("買掛金または未払金が選択されていません。");
|
||||
return false;
|
||||
}
|
||||
if (!tx_hojo_cod) {
|
||||
alert("補助コードを確認してください。");
|
||||
return false;
|
||||
}
|
||||
if (tx_hojo_cod.length != 4) {
|
||||
alert("補助コードは4桁で入力してください。");
|
||||
return false;
|
||||
}
|
||||
const params = {
|
||||
hd_Sihask_Cod, tx_ginko_cod,
|
||||
tx_ginten_cod, se_mtginko_kbn, se_torokuho_kbn,
|
||||
ra_tesuryo_kbn, tx_hojo_cod, rd_siharai_kbn
|
||||
}
|
||||
await postByJson('s09/a1709_0030r/Entry/doDataOK', params)
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
}
|
||||
async load() {
|
||||
try {
|
||||
const { sihask_COD } = this.props.row;
|
||||
const res = await http.post('s09/a1709_0030r/Entry/doIndicate', { sihask_cod: sihask_COD });
|
||||
this.setState({ res })
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount(){
|
||||
this.load()
|
||||
}
|
||||
|
||||
render() {
|
||||
const { res } = this.state;
|
||||
return (
|
||||
<div className="detail_0030">
|
||||
<div><Button onClick={this.goBack} style={{marginRight:30}} icon={<RollbackOutlined />} />93 請求書支払先申請依頼確認</div>
|
||||
<div className="layout_label" style={{ textAlign: 'right',color:'red' }}>{res.lbl_shounin}</div>
|
||||
<div className="detail_0030_item">
|
||||
<div style={{width:160}}></div>
|
||||
<div style={{width:210}}></div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120}}>依頼申請者</div>
|
||||
<div style={{width:142}}>
|
||||
<Input value={res.tx_sinshain_mei} disabled size={size} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>支払先名称(半角カナ)</div>
|
||||
<div style={{ width: 210 }}>
|
||||
<Input value={res.tx_kozakn_mei} disabled size={size} style={{width: 118}} />
|
||||
</div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120 }}>支払先名称(漢字)</div>
|
||||
<div style={{ width: 142 }}>
|
||||
<Input value={res.tx_sihask_mei} disabled size={size} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>口座名称(半角カナ)</div>
|
||||
<div style={{ width: 210 }}>
|
||||
<Input value={res.tx_kozakn_mei} disabled size={size} />
|
||||
</div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120 }}>口座名称(漢字)</div>
|
||||
<div style={{ width: 142 }}>
|
||||
<Input value={res.tx_koza_mei} disabled size={size} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>銀行名称(半角カナ)</div>
|
||||
<div style={{ width: 210 }}>
|
||||
<Input value={res.tx_ginkokn_mei} disabled size={size} style={{ width: 118 }} />
|
||||
</div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120 }}>銀行名称(漢字)</div>
|
||||
<div style={{ width: 142 }}>
|
||||
<Input value={res.tx_ginko_mei} disabled size={size} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>支店名称(半角カナ)</div>
|
||||
<div style={{ width: 210 }}>
|
||||
<Input value={res.tx_gintenkn_mei} disabled size={size} style={{ width: 118 }} />
|
||||
</div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120 }}>支店名称(漢字)</div>
|
||||
<div style={{ width: 142 }}>
|
||||
<Input value={res.tx_ginten_mei} disabled size={size} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>預金種目</div>
|
||||
<div style={{ width: 210 }}>
|
||||
<Input value={res.tx_yokinshu_mei} disabled size={size} style={{ width: 60 }} />
|
||||
</div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120 }}>口座番号</div>
|
||||
<div style={{ width: 142 }}>
|
||||
<Input value={res.tx_koza_no} disabled size={size} style={{ width: 60 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>取引内容</div>
|
||||
<div>
|
||||
<Input value={res.tx_torinai_mei} disabled size={size} style={{ width: 380 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>申請理由</div>
|
||||
<div>
|
||||
<Input value={res.tx_sinsenai_mei} disabled size={size} style={{ width: 380 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>年間取引予定数</div>
|
||||
<div style={{ width: 210 }}>
|
||||
<Input value={res.tx_torinen_cnt} disabled size={size} style={{ width: 60 }} />
|
||||
</div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120 }}>登録依頼日</div>
|
||||
<div >
|
||||
<Input value={res.tx_torokurq_year} disabled size={size} style={{ width: 60 }} /> 年
|
||||
<Input value={res.tx_torokurq_month} disabled size={size} style={{ width: 60 }} /> 月
|
||||
<Input value={res.tx_torokurq_day} disabled size={size} style={{ width: 60 }} /> 日
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>資本金区分</div>
|
||||
<div style={{ width: 210 }}>
|
||||
<Input value={res.lbl_shihonkin_kbn} disabled size={size} style={{ width: 160 }} />
|
||||
</div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120 }}>資本金(円)</div>
|
||||
<div style={{ width: 142 }}>
|
||||
<Input value={res.lbl_shihon_kin} disabled size={size} style={{ width: 160 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>取引内容区分</div>
|
||||
<div>
|
||||
<Checkbox disabled checked={res.ch_torihikinaiyo1_kbn}>商品(材料等)</Checkbox>
|
||||
<Checkbox disabled checked={res.ch_torihikinaiyo2_kbn}>外注費</Checkbox>
|
||||
<Checkbox disabled checked={res.ch_torihikinaiyo3_kbn}>その他原価</Checkbox>
|
||||
<Checkbox disabled checked={res.ch_torihikinaiyo4_kbn}>経費等未払金</Checkbox>
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>支払条件</div>
|
||||
<div style={{ width: 210 }}>
|
||||
<Input value={res.tx_sihajken_kbn} disabled size={size} style={{ width: 160 }} />
|
||||
</div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120 }}>支払種別</div>
|
||||
<div>
|
||||
<Radio.Group onChange={this.onChange.bind(this,'rd_siharai_kbn')} value={res.rd_siharai_kbn}>
|
||||
<Radio value="A">買掛金業者</Radio>
|
||||
<Radio value="B">未払金業者</Radio>
|
||||
</Radio.Group>
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>支払先銀行コード</div>
|
||||
<div style={{ width: 210 }}>
|
||||
<Input value={res.tx_ginko_cod} onChange={this.onChange.bind(this, 'tx_ginko_cod')} size={size} style={{ width: 60 }} />
|
||||
</div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120 }}>持込銀行</div>
|
||||
<div style={{ width: 142 }}>
|
||||
<Select onChange={this.onChange1.bind(this,'se_mtginko_kbn')} value={res.se_mtginko_kbn} style={{ width: 120 }} >
|
||||
{
|
||||
res.se_mtginko_kbn_list && res.se_mtginko_kbn_list.map(item => {
|
||||
return <Option value={item.value} key={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>支払先支店コード</div>
|
||||
<div style={{ width: 210 }}>
|
||||
<Input value={res.tx_ginten_cod} onChange={this.onChange.bind(this, 'tx_ginten_cod')} size={size} style={{ width: 60 }} />
|
||||
</div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120 }}>登録方法</div>
|
||||
<div style={{ width: 142 }}>
|
||||
<Select onChange={this.onChange1.bind(this, 'se_torokuho_kbn')} value={res.se_torokuho_kbn} style={{ width: 120 }} >
|
||||
{
|
||||
res.se_torokuho_kbn_list && res.se_torokuho_kbn_list.map(item => {
|
||||
return <Option value={item.value} key={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
</div>
|
||||
</div>
|
||||
<div className="detail_0030_item">
|
||||
<div className="detail_0030_item_label" style={{ width: 160 }}>補助コード</div>
|
||||
<div style={{ width: 210 }}>
|
||||
<Input value={res.tx_hojo_cod} onChange={this.onChange.bind(this, 'tx_hojo_cod')} size={size} style={{ width: 60 }} />
|
||||
</div>
|
||||
<div className="detail_0030_item_label" style={{ width: 120 }}>手数料相殺</div>
|
||||
<div>
|
||||
<Radio.Group onChange={this.onChange.bind(this,'ra_tesuryo_kbn')} value={res.ra_tesuryo_kbn}>
|
||||
<Radio value="0">しない</Radio>
|
||||
<Radio value="1">する</Radio>
|
||||
</Radio.Group>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ textAlign: 'right' }}>
|
||||
<AddButton onClick={this.fnDataNG.bind(this)}>却下</AddButton> 
|
||||
<AddButton>印刷プレビュー</AddButton> 
|
||||
<AddButton onClick={this.fnDataOK.bind(this)}>承認</AddButton>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
13
朱鹏鹏/keiri/src/pages/main/sw_a1709/components/index.scss
Executable file
13
朱鹏鹏/keiri/src/pages/main/sw_a1709/components/index.scss
Executable file
@@ -0,0 +1,13 @@
|
||||
.detail_0030 {
|
||||
.detail_0030_item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.detail_0030_item_label {
|
||||
padding-right: 6px;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
font-size: 9pt;
|
||||
}
|
||||
}
|
||||
30
朱鹏鹏/keiri/src/pages/main/sw_a1709/index.scss
Executable file
30
朱鹏鹏/keiri/src/pages/main/sw_a1709/index.scss
Executable file
@@ -0,0 +1,30 @@
|
||||
.sw_a1709_0080 {
|
||||
width: 1000px;
|
||||
.sw_a1709_0080_header{
|
||||
display: flex;
|
||||
background: #e5e5e5;
|
||||
padding: 10px;
|
||||
}
|
||||
.sw_a1709_0080_dep {
|
||||
border: 1px solid #fafafa;
|
||||
width: 220px;
|
||||
height: 120px;
|
||||
overflow-y: auto;
|
||||
padding: 2px 4px;
|
||||
background: #FFF;
|
||||
>div {
|
||||
cursor: pointer;
|
||||
&.active {
|
||||
background: #4BAEA0;
|
||||
color: #FFF;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.sw_a1709_0120 {
|
||||
.sw_a1709_0120_search {
|
||||
display: flex;
|
||||
padding: 0 10px 0 20px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
}
|
||||
257
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0010.js
Executable file
257
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0010.js
Executable file
@@ -0,0 +1,257 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { http, postByJson } from '$http';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
class Home extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
se_tyear: '',
|
||||
se_tmonth: '',
|
||||
se_tday: '',
|
||||
se_search_sihashu_kbn: '',
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: 'No',
|
||||
dataIndex: 'no',
|
||||
key: 'no',
|
||||
},
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_no',
|
||||
key: 'pldenpyo_no',
|
||||
},
|
||||
{
|
||||
title: '計上日',
|
||||
dataIndex: 'pldenpyo_ymd',
|
||||
key: 'pldenpyo_ymd',
|
||||
},
|
||||
{
|
||||
title: '支払日',
|
||||
dataIndex: 'se_siharai_ymd',
|
||||
key: 'se_siharai_ymd',
|
||||
render: (text, record) => this.select(text, record)
|
||||
},
|
||||
{
|
||||
title: '支払先名称',
|
||||
dataIndex: 'sihask_mei',
|
||||
key: 'sihask_mei',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_kin',
|
||||
key: 'karikata_kin',
|
||||
},
|
||||
{
|
||||
title: '確認',
|
||||
dataIndex: 'se_sihashu_kbn',
|
||||
key: 'se_sihashu_kbn',
|
||||
render: (text, record) => this.select1(text, record)
|
||||
},
|
||||
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'no',
|
||||
res: {},
|
||||
list:[],
|
||||
se_siharai_ymd_list: [],
|
||||
show: false,
|
||||
}
|
||||
}
|
||||
select(text, record) {
|
||||
const { se_siharai_ymd_list } = this.state;
|
||||
return <Select size='small' value={text} onSelect={this.changeSelect.bind(this, record, 'se_siharai_ymd')} style={{width:'100%'}}>
|
||||
{
|
||||
se_siharai_ymd_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
}
|
||||
select1(text, record) {
|
||||
const { list } = this.state;
|
||||
|
||||
return <Select value={text} onSelect={this.changeSelect.bind(this, record,'se_sihashu_kbn')} size='small' style={{width:'100px'}}>
|
||||
{
|
||||
list.map(item => {
|
||||
return (
|
||||
<Option key={item.kakunin_COD} value={item.kakunin_COD}>{item.kakunin_MEI}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
}
|
||||
changeSelect(record, key, value) {
|
||||
let { dataSource } = this.state;
|
||||
dataSource.forEach(item => {
|
||||
if (item.no === record.no) {
|
||||
item[key] = value;
|
||||
this.setState({ dataSource})
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
handleChange(name, val) {
|
||||
this.setState({
|
||||
[name]: val
|
||||
})
|
||||
}
|
||||
|
||||
async fnEntry() {
|
||||
const { se_tyear, se_tmonth, se_tday, se_search_sihashu_kbn,dataSource, res} = this.state;
|
||||
if (!res.records) {
|
||||
return
|
||||
}
|
||||
const hd_pldenpyo_no = dataSource.map(item => item.hd_pldenpyo_no);
|
||||
const se_siharai_ymd = dataSource.map(item => item.se_siharai_ymd);
|
||||
const se_sihashu_kbn = dataSource.map(item => item.se_sihashu_kbn);
|
||||
const hd_pldenpyo_ymd = dataSource.map(item => item.hd_pldenpyo_ymd);
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
se_group: '10',
|
||||
se_tyear: '2013',
|
||||
se_tmonth: '03',
|
||||
se_tday: '21',
|
||||
se_search_sihashu_kbn,
|
||||
lbl_karikata_kin: res.lbl_karikata_kin || '',
|
||||
se_siharai_ymd,
|
||||
se_sihashu_kbn,
|
||||
hd_pldenpyo_no,
|
||||
hd_pldenpyo_ymd,
|
||||
hd_records: res.hd_records
|
||||
}
|
||||
try {
|
||||
const res = await postByJson('s09/a1709_0010r/Entry/doEntry', params);
|
||||
this.setState({ res, dataSource: res.sList, list: res.list, se_siharai_ymd_list: res.se_siharai_ymd_list, show: false });
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
async fnSearch() {
|
||||
const { se_tyear, se_tmonth, se_tday, se_search_sihashu_kbn} = this.state
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
se_group: '10',
|
||||
se_tyear: '2013',
|
||||
se_tmonth: '03',
|
||||
se_tday: '21',
|
||||
se_search_sihashu_kbn,
|
||||
}
|
||||
try {
|
||||
const res = await http.post('s09/a1709_0010r/Entry/doSearch', params);
|
||||
this.setState({ res, dataSource: res.sList, list: res.list, se_siharai_ymd_list: res.se_siharai_ymd_list, show: true });
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
async load() {
|
||||
try {
|
||||
const res = await http.post('s09/a1709_0010r/Entry/doIndicate', { login_ymd: sessionStorage.getItem('login_ymd') });
|
||||
this.setState({ res, se_tyear: res.se_tyear, se_tmonth: res.se_tmonth, se_tday: res.se_tday, se_search_sihashu_kbn: res.se_search_sihashu_kbn});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
summary() {
|
||||
const { res } = this.state;
|
||||
return (
|
||||
<Table.Summary.Row style={{ backgroundColor: '#fafafa' }}>
|
||||
<Table.Summary.Cell colSpan={5}>
|
||||
<div style={{ textAlign: 'right' }}><strong>金額計</strong></div>
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
{res.lbl_karikata_kin|| 0}
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell></Table.Summary.Cell>
|
||||
</Table.Summary.Row>
|
||||
)
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
render() {
|
||||
const { show, dataSource, loading, columns, rowKey, se_search_sihashu_kbn, res, se_tyear, se_tmonth, se_tday } = this.state;
|
||||
const { se_tyear_list = [], se_tday_list = [], se_tmonth_list = [], se_sihashu_kbn_list = [], records=0} = res;
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>91 請求書支払対象</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 0 20px' }}>
|
||||
<span className="layout_label">支払対象日 </span>
|
||||
<Select size='small' value={se_tyear} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'se_tyear')}>
|
||||
{
|
||||
se_tyear_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 年
|
||||
<span style={{ padding: '0 6px ' }}>
|
||||
<Select size='small' value={se_tmonth} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'se_tmonth')}>
|
||||
{
|
||||
se_tmonth_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 月
|
||||
</span>
|
||||
<span style={{ padding: '0 6px ' }}>
|
||||
<Select size='small' value={se_tday} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'se_tday')}>
|
||||
{
|
||||
se_tday_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 日
|
||||
</span>
|
||||
<span className="layout_label" style={{ marginLeft: 40 }}>支払種別</span>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.handleChange.bind(this, 'se_search_sihashu_kbn')}
|
||||
style={{ marginRight: 40 }}
|
||||
value={se_search_sihashu_kbn}
|
||||
>
|
||||
{
|
||||
se_sihashu_kbn_list.map(item => {
|
||||
return <Option value={item.value} key={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
<AddButton onClick={this.fnSearch.bind(this)}>一覧表示</AddButton>  
|
||||
<AddButton onClick={this.fnEntry.bind(this)}>設定</AddButton>
|
||||
</div>
|
||||
{
|
||||
show &&
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<div>検索結果:{records}件</div>
|
||||
<Table {...setting} summary={this.summary.bind(this)} ></Table>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
92
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0020.js
Executable file
92
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0020.js
Executable file
@@ -0,0 +1,92 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { http, postByJson } from '$http';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
se_tyear: '',
|
||||
se_tmonth: '',
|
||||
se_pay: '',
|
||||
}
|
||||
|
||||
handleChange(name, val) {
|
||||
console.log(name, val);
|
||||
this.setState({
|
||||
[name]: val
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
async load() {
|
||||
const res = await http.post('s09/a1709_0020p/SearchList/doIndicate', { login_ymd: sessionStorage.getItem('login_ymd')});
|
||||
this.res = { ...res };
|
||||
this.setState({ se_tyear: res.se_tyear, se_tmonth: res.se_tmonth, se_pay: res.se_pay})
|
||||
}
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
const { se_tyear, se_tmonth, se_pay } = this.state;
|
||||
const { se_tyear_list = [], se_tmonth_list = [], se_pay_list = [] } = this.res||{};
|
||||
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>92 請求書支払明細書</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 0 20px' }}>
|
||||
<span className="layout_label">銀行振込</span>
|
||||
<span className="layout_label" style={{ marginLeft: 40 }}>支払対象日</span>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.handleChange.bind(this,'se_pay')}
|
||||
style={{ marginRight: 140,width:110 }}
|
||||
value={se_pay}
|
||||
>
|
||||
{
|
||||
se_pay_list.map(item => {
|
||||
return <Option value={item.value} key={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
|
||||
</Select>
|
||||
<AddButton>三菱UFJ銀行</AddButton> 
|
||||
<AddButton>外貨</AddButton>
|
||||
</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 0 20px' }}>
|
||||
<span className="layout_label" style={{ marginRight: 40 }}>支払種類別</span>
|
||||
<span className="layout_label">対象年月 </span>
|
||||
<Select size='small' value={se_tyear} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'se_tyear')}>
|
||||
{
|
||||
se_tyear_list.map(item => {
|
||||
return (
|
||||
<Option value={item.value} key={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 年
|
||||
<span style={{ padding: '0 6px ', marginRight: 40 }}>
|
||||
<Select size='small' value={se_tmonth} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'se_tmonth')}>
|
||||
{
|
||||
se_tmonth_list.map(item => {
|
||||
return (
|
||||
<Option value={item.value} key={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 月
|
||||
</span>
|
||||
<AddButton>手形</AddButton> 
|
||||
<AddButton>相殺</AddButton> 
|
||||
<AddButton>引落</AddButton>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
120
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0030.js
Executable file
120
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0030.js
Executable file
@@ -0,0 +1,120 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { http } from '$http';
|
||||
const { Option } = Select
|
||||
import Detail from './components/0030Detail'
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '支払先CD',
|
||||
dataIndex: 'sihask_COD',
|
||||
key: 'sihask_COD',
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '支払先名称',
|
||||
dataIndex: 'sihask_MEI',
|
||||
key: 'sihask_MEI',
|
||||
},
|
||||
{
|
||||
title: '銀行名称',
|
||||
dataIndex: 'ginko_MEI',
|
||||
key: 'ginko_MEI',
|
||||
},
|
||||
{
|
||||
title: '支店名称',
|
||||
dataIndex: 'ginten_MEI',
|
||||
key: 'ginten_MEI'
|
||||
},
|
||||
{
|
||||
title: '申請依頼日',
|
||||
dataIndex: 'torokurq_YMD',
|
||||
key: 'torokurq_YMD',
|
||||
},
|
||||
{
|
||||
title: '申請依頼者',
|
||||
dataIndex: 'sinshain_MEI',
|
||||
key: 'sinshain_MEI',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'sihask_COD',
|
||||
showDetail: false,
|
||||
records: '',
|
||||
row:{}
|
||||
}
|
||||
}
|
||||
|
||||
toDetail(text, record) {
|
||||
this.setState({ row: record, showDetail: true})
|
||||
}
|
||||
|
||||
handleChange(name, val) {
|
||||
this.setState({
|
||||
form: {
|
||||
...this.state.form,
|
||||
[name]: val
|
||||
}
|
||||
})
|
||||
}
|
||||
goBack() {
|
||||
const { showDetail } = this.state;
|
||||
this.setState({
|
||||
showDetail: !showDetail
|
||||
});
|
||||
}
|
||||
|
||||
async load() {
|
||||
try {
|
||||
const { slist, records } = await http.post('s09/a1709_0030r/Search/doIndicate', { login_ymd: sessionStorage.getItem('login_ymd') });
|
||||
this.setState({
|
||||
records,
|
||||
dataSource: slist
|
||||
})
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, rowKey, showDetail, records, row } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
{
|
||||
showDetail ?
|
||||
<Detail row={row} goBack={this.goBack.bind(this)} /> :
|
||||
<>
|
||||
<div>93 請求書支払先申請依頼確認【確認】</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<div className="layout_label" style={{ marginBottom: 10 }}>検索結果:{records}件</div>
|
||||
<Table {...setting} ></Table>
|
||||
</div>
|
||||
</>
|
||||
}
|
||||
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
244
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0040.js
Executable file
244
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0040.js
Executable file
@@ -0,0 +1,244 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table, Input, InputNumber } from 'antd';
|
||||
import { http, postByJson } from '$http';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
se_hanki: '',
|
||||
se_buka_cod: '1000',
|
||||
dataSource: [
|
||||
{ number: '7217', pldenpyo_name: '事務用消耗品' },
|
||||
{ number: '7218', pldenpyo_name: '消耗器具備品' },
|
||||
{ number: '7219', pldenpyo_name: '旅費交通費' },
|
||||
{ number: '7223', pldenpyo_name: '広告宣伝費' },
|
||||
{ number: '7225', pldenpyo_name: '接待交際費' },
|
||||
{ number: '7228', pldenpyo_name: '諸会費' },
|
||||
{ number: '7229', pldenpyo_name: '会議費' },
|
||||
{ number: '7233', pldenpyo_name: '図書費' },
|
||||
{ number: '7234', pldenpyo_name: '教育費' },
|
||||
],
|
||||
dataSource1: [
|
||||
{ number: '7814', pldenpyo_name: '消耗器具備品' },
|
||||
{ number: '7815', pldenpyo_name: '事務用消耗品' },
|
||||
{ number: '7822', pldenpyo_name: '旅費交通費' },
|
||||
{ number: '7828', pldenpyo_name: '接待費' },
|
||||
{ number: '7830', pldenpyo_name: '会議費' },
|
||||
{ number: '7831', pldenpyo_name: '教育費' },
|
||||
{ number: '7834', pldenpyo_name: '図書費' },
|
||||
|
||||
],
|
||||
columns: [
|
||||
{
|
||||
title: '',
|
||||
dataIndex: 'number',
|
||||
key: 'number',
|
||||
},
|
||||
{
|
||||
title: '勘定科目名称',
|
||||
dataIndex: 'pldenpyo_name',
|
||||
key: 'pldenpyo_name',
|
||||
},
|
||||
{
|
||||
title: '半期予算',
|
||||
dataIndex: 'lbl',
|
||||
key: 'lbl',
|
||||
},
|
||||
{
|
||||
title: '半期予算(変更)',
|
||||
dataIndex: 'tx',
|
||||
key: 'tx',
|
||||
render: (text, record) => <InputNumber value={text} onChange={this.onInput.bind(this, record)} size="small" />,
|
||||
}
|
||||
],
|
||||
columns1: [
|
||||
{
|
||||
title: '',
|
||||
dataIndex: 'number',
|
||||
key: 'number',
|
||||
},
|
||||
{
|
||||
title: '勘定科目名称',
|
||||
dataIndex: 'pldenpyo_name',
|
||||
key: 'pldenpyo_name',
|
||||
},
|
||||
{
|
||||
title: '半期予算',
|
||||
dataIndex: 'lbl',
|
||||
key: 'lbl',
|
||||
},
|
||||
{
|
||||
title: '半期予算(変更)',
|
||||
dataIndex: 'tx',
|
||||
key: 'tx',
|
||||
render: (text, record) => <InputNumber value={text} onChange={this.onInput1.bind(this, record)} size="small" />,
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'number',
|
||||
res: {}
|
||||
}
|
||||
}
|
||||
|
||||
onInput(record, value) {
|
||||
let { dataSource } = this.state;
|
||||
dataSource.forEach(item => {
|
||||
if (item.number === record.number) {
|
||||
item.tx = value
|
||||
}
|
||||
})
|
||||
this.setState({ dataSource})
|
||||
}
|
||||
onInput1(record, value) {
|
||||
let { dataSource1 } = this.state;
|
||||
dataSource1.forEach(item => {
|
||||
if (item.number === record.number) {
|
||||
item.tx = value
|
||||
}
|
||||
})
|
||||
this.setState({ dataSource1 })
|
||||
}
|
||||
handleChange(val) {
|
||||
this.setState({
|
||||
se_hanki: val
|
||||
})
|
||||
}
|
||||
onGenderChange(val) {
|
||||
this.setState({
|
||||
se_buka_cod: val,
|
||||
})
|
||||
}
|
||||
|
||||
async fnCSV() {
|
||||
window.open('http://222k09y748.iask.in/s09/a1709_0040r/Entry/doCsv')
|
||||
}
|
||||
|
||||
async fnEntry() {
|
||||
const { res, dataSource1, dataSource } = this.state;
|
||||
let params = {
|
||||
login_Ymd: sessionStorage.getItem('login_ymd'),
|
||||
hd_hanki: res.hd_hanki,
|
||||
se_hanki: res.se_hanki,
|
||||
se_buka_cod: res.se_buka_cod,
|
||||
hd_buka_cod: res.hd_buka_cod,
|
||||
}
|
||||
dataSource.forEach(item => {
|
||||
if (!item.tx) return;
|
||||
params['tx' + item.number] = item.tx+''
|
||||
})
|
||||
dataSource1.forEach(item => {
|
||||
if (!item.tx) return;
|
||||
params['tx' + item.number] = item.tx + ''
|
||||
})
|
||||
await postByJson('s09/a1709_0040r/Entry/doEntry', params);
|
||||
}
|
||||
|
||||
async fnSearch() {
|
||||
try {
|
||||
const { se_hanki, se_buka_cod } = this.state;
|
||||
const params = { se_hanki, se_buka_cod }
|
||||
const res = await postByJson('s09/a1709_0040r/Entry/doSearch', params);
|
||||
const dataSource = [
|
||||
{ number: '7217', pldenpyo_name: '事務用消耗品', lbl: res.lbl_7217, tx: res.tx_7217 },
|
||||
{ number: '7218', pldenpyo_name: '消耗器具備品', lbl: res.lbl_7218, tx: res.tx_7218 },
|
||||
{ number: '7219', pldenpyo_name: '旅費交通費', lbl: res.lbl_7219, tx: res.tx_7219 },
|
||||
{ number: '7223', pldenpyo_name: '広告宣伝費', lbl: res.lbl_7223, tx: res.tx_7223 },
|
||||
{ number: '7225', pldenpyo_name: '接待交際費', lbl: res.lbl_7225, tx: res.tx_7225 },
|
||||
{ number: '7228', pldenpyo_name: '諸会費', lbl: res.lbl_7228, tx: res.tx_7228 },
|
||||
{ number: '7229', pldenpyo_name: '会議費', lbl: res.lbl_7229, tx: res.tx_7229 },
|
||||
{ number: '7233', pldenpyo_name: '図書費', lbl: res.lbl_7233, tx: res.tx_7233 },
|
||||
{ number: '7234', pldenpyo_name: '教育費', lbl: res.lbl_7234, tx: res.tx_7234 },
|
||||
]
|
||||
const dataSource1 = [
|
||||
{ number: '7814', pldenpyo_name: '消耗器具備品', lbl: res.lbl_7814, tx: res.tx_7814 },
|
||||
{ number: '7815', pldenpyo_name: '事務用消耗品', lbl: res.lbl_7815, tx: res.tx_7815 },
|
||||
{ number: '7822', pldenpyo_name: '旅費交通費', lbl: res.lbl_7822, tx: res.tx_7822 },
|
||||
{ number: '7828', pldenpyo_name: '接待費', lbl: res.lbl_7828, tx: res.tx_7828 },
|
||||
{ number: '7830', pldenpyo_name: '会議費', lbl: res.lbl_7830, tx: res.tx_7830 },
|
||||
{ number: '7831', pldenpyo_name: '教育費', lbl: res.lbl_7831, tx: res.tx_7831 },
|
||||
{ number: '7834', pldenpyo_name: '図書費', lbl: res.lbl_7834, tx: res.tx_7834 },
|
||||
]
|
||||
this.setState({ res, dataSource, dataSource1})
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
async load() {
|
||||
try {
|
||||
const res = await http.post('s09/a1709_0040r/Entry/doIndicate', { login_Ymd: sessionStorage.getItem('login_ymd') })
|
||||
this.setState({ res, se_hanki: res.se_hanki })
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
render() {
|
||||
const { dataSource, dataSource1, loading, columns, columns1, rowKey, se_buka_cod, se_hanki, res } = this.state
|
||||
const { se_buka_cod_list = [], lbl_bukake_mei="" } = res
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
const setting1 = {
|
||||
dataSource: dataSource1,
|
||||
columns: columns1,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>94 半期予算データ入力</div>
|
||||
<div style={{ display: 'flex', alignItems: 'center', margin: '20px 0 0 20px' }}>
|
||||
<span className="layout_label">対象半期</span>
|
||||
<Select size='small' value={se_hanki} style={{ width: 70 }} onChange={this.handleChange.bind(this)}>
|
||||
<Option value="0">上期</Option>
|
||||
<Option value="1">下期</Option>
|
||||
</Select>
|
||||
|
||||
<span className="layout_label" style={{ marginLeft: 40 }}>対象部課</span>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this)}
|
||||
style={{ marginRight: 40 }}
|
||||
value={se_buka_cod}
|
||||
>
|
||||
{
|
||||
se_buka_cod_list.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
<AddButton onClick={this.fnSearch.bind(this)}>呼出</AddButton>  
|
||||
<AddButton onClick={this.fnEntry.bind(this)}>更新</AddButton>  
|
||||
<AddButton onClick={this.fnCSV.bind(this)}>CSV</AddButton>
|
||||
</div>
|
||||
|
||||
<div style={{ marginTop: 50 }}>
|
||||
<span className="layout_label">部門名称:{lbl_bukake_mei}</span>
|
||||
<div style={{ display: "flex" }}>
|
||||
<Table {...setting} ></Table>    
|
||||
<Table {...setting1} ></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
68
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0050.js
Executable file
68
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0050.js
Executable file
@@ -0,0 +1,68 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table, Input } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
class Home extends Component {
|
||||
|
||||
state= {
|
||||
selectValue: '1000'
|
||||
}
|
||||
|
||||
onGenderChange() {
|
||||
|
||||
}
|
||||
|
||||
render() {
|
||||
const { selectValue } = this.state;
|
||||
const options = [
|
||||
{ name: '1000 本社(役員)', value: '1000' }
|
||||
]
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>95 全部門費用実績明細 (年度)</div>
|
||||
<div style={{ display: 'flex', alignItems: 'center', margin: '20px 0 0 20px' }}>
|
||||
<span className="layout_label">対象年度</span>
|
||||
<Input size="small" disabled style={{ width: 60 }} /> 年度分
|
||||
<span className="layout_label" style={{ marginLeft: 40 }}>対象部課</span>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this)}
|
||||
style={{ marginRight: 40 }}
|
||||
value={selectValue}
|
||||
>
|
||||
{
|
||||
options.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.name}</Option>
|
||||
})
|
||||
}
|
||||
|
||||
</Select>
|
||||
<AddButton>CSV</AddButton>  
|
||||
<AddButton>印刷</AddButton>
|
||||
</div>
|
||||
<div style={{ display: 'flex', alignItems: 'center', margin: '20px 0 0 20px' }}>
|
||||
<span className="layout_label">対象年月</span>
|
||||
<Input size="small" disabled style={{ width: 60 }} /> 年
|
||||
<Input size="small" disabled style={{ width: 40 }} /> 月分
|
||||
<span className="layout_label" style={{ marginLeft: 40 }}>対象勘定科目</span>
|
||||
<Select
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this)}
|
||||
style={{ marginRight: 40 }}
|
||||
value={selectValue}
|
||||
>
|
||||
{
|
||||
options.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.name}</Option>
|
||||
})
|
||||
}
|
||||
|
||||
</Select>
|
||||
<AddButton>CSV</AddButton>  
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
127
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0060.js
Executable file
127
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0060.js
Executable file
@@ -0,0 +1,127 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table, Input } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { http } from '$http';
|
||||
const { Option } = Select
|
||||
class Home extends Component {
|
||||
state = {
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '社員',
|
||||
dataIndex: 'shain_NO',
|
||||
key: 'shain_NO',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '社員名称',
|
||||
dataIndex: 'shain_MEI',
|
||||
key: 'shain_MEI',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI',
|
||||
align: 'center',
|
||||
width: 300
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
align: 'center'
|
||||
},
|
||||
],
|
||||
loading: false,
|
||||
hd_records: '',
|
||||
lbl_karikata_kin: ''
|
||||
}
|
||||
|
||||
async load() {
|
||||
try {
|
||||
const { slist, hd_records, lbl_karikata_kin } = await http.post('s09/a1709_0060p/search/doIndicate', { login_ymd: sessionStorage.getItem('login_ymd') });
|
||||
this.setState({
|
||||
hd_records,
|
||||
dataSource: slist,
|
||||
lbl_karikata_kin
|
||||
})
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
summary = (pageData ) => {
|
||||
console.log(pageData);
|
||||
const { lbl_karikata_kin } = this.state
|
||||
return (
|
||||
<>
|
||||
<Table.Summary.Row style={{ backgroundColor:'#fafafa'}}>
|
||||
<Table.Summary.Cell colSpan={6}>
|
||||
<div style={{textAlign:'right'}}><strong>社員計</strong></div>
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
<strong>{lbl_karikata_kin}</strong>
|
||||
</Table.Summary.Cell>
|
||||
</Table.Summary.Row>
|
||||
<Table.Summary.Row style={{ backgroundColor: '#fafafa' }}>
|
||||
<Table.Summary.Cell colSpan={6}>
|
||||
<div style={{ textAlign: 'right' }}><strong>金額計</strong></div>
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
<strong>{lbl_karikata_kin}</strong>
|
||||
</Table.Summary.Cell>
|
||||
</Table.Summary.Row>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
render() {
|
||||
const { hd_records, dataSource, columns, loading } = this.state;
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true
|
||||
};
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>96 全部門概算リスト</div>
|
||||
<div style={{padding:'10px 0 0 10px'}}><AddButton>印刷</AddButton></div>
|
||||
<div style={{ marginTop: 50 }}>
|
||||
<span className="layout_label">検索結果:{hd_records}件</span>
|
||||
<div>
|
||||
<Table {...setting} summary={this.summary.bind(this)}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
178
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0070.js
Executable file
178
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0070.js
Executable file
@@ -0,0 +1,178 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { http } from '$http';
|
||||
const { Option } = Select
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
year: '',
|
||||
months: '',
|
||||
value: '000',
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '種別',
|
||||
dataIndex: 'dendtshu_MEI',
|
||||
key: 'dendtshu_MEI',
|
||||
},
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
},
|
||||
{
|
||||
title: '社員名称',
|
||||
dataIndex: 'shain_MEI',
|
||||
key: 'shain_MEI',
|
||||
},
|
||||
{
|
||||
title: '部課',
|
||||
dataIndex: 'buka_COD',
|
||||
key: 'buka_COD'
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
},
|
||||
{
|
||||
title: '支払日',
|
||||
dataIndex: 'sihairai_YMD',
|
||||
key: 'sihairai_YMD',
|
||||
},
|
||||
{
|
||||
title: '借方金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI'
|
||||
},
|
||||
{
|
||||
title: '承認者',
|
||||
dataIndex: 'sninsha_MEI',
|
||||
key: 'sninsha_MEI',
|
||||
},
|
||||
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
res: {}
|
||||
}
|
||||
}
|
||||
|
||||
handleChange(name, val) {
|
||||
this.setState({
|
||||
[name]: val
|
||||
})
|
||||
}
|
||||
onGenderChange() {
|
||||
|
||||
}
|
||||
async fnDisp() {
|
||||
try {
|
||||
const { year, months, value } = this.state;
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
tyear: year,
|
||||
tmonth: months,
|
||||
status: value
|
||||
}
|
||||
const res = await http.post('s09/a1709_0070p/SearchList/doSearch', params);
|
||||
this.setState({ res, year: res.se_tyear, months: res.se_tmonth, dataSource: res.slist })
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
};
|
||||
async load() {
|
||||
try {
|
||||
const { year, months, value } = this.state;
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
tyear: year,
|
||||
tmonth: months,
|
||||
status: value
|
||||
}
|
||||
const res = await http.post('s09/a1709_0070p/SearchList/doIndicate', params);
|
||||
this.setState({ res, year: res.se_tyear, months: res.se_tmonth })
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
render() {
|
||||
const date = new Date();
|
||||
const { dataSource, loading, columns, rowKey, value, res } = this.state;
|
||||
const { se_tyear_list = [], se_tmonth_list = [], se_status_list = [] } = res;
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>97 全部門承認警告リスト</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 0 20px' }}>
|
||||
対象半期
|
||||
<Select size='small' defaultValue={date.getFullYear()} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'year')}>
|
||||
{
|
||||
se_tyear_list &&se_tyear_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 年
|
||||
<span style={{ padding: '0 6px ' }}>
|
||||
<Select size='small' defaultValue={date.getMonth() + 1} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'months')}>
|
||||
{
|
||||
se_tmonth_list && se_tmonth_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 月
|
||||
</span>
|
||||
<span style={{ marginLeft: 40 }}>状態</span>
|
||||
<Select
|
||||
onChange={this.onGenderChange.bind(this)}
|
||||
style={{ marginRight: 40 }}
|
||||
value={value}
|
||||
>
|
||||
{
|
||||
se_status_list && se_status_list.map(item => {
|
||||
return <Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
})
|
||||
}
|
||||
</Select>
|
||||
<AddButton onClick={this.fnDisp.bind(this)}>一覧</AddButton>  
|
||||
<AddButton>印刷</AddButton>
|
||||
</div>
|
||||
<div style={{ marginTop: 50 }}>
|
||||
<Table {...setting} ></Table>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
154
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0080.js
Executable file
154
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0080.js
Executable file
@@ -0,0 +1,154 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table, Radio } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { http } from '$http';
|
||||
const { Option } = Select
|
||||
import './index.scss'
|
||||
|
||||
class Home extends Component {
|
||||
|
||||
state = {
|
||||
slist1: [],
|
||||
slist2: [],
|
||||
columns: [
|
||||
{
|
||||
title: '',
|
||||
dataIndex: 'kamoku_COD',
|
||||
key: 'kamoku_COD',
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '勘定科目名称',
|
||||
dataIndex: 'kamoku_MEI',
|
||||
key: 'kamoku_MEI',
|
||||
},
|
||||
{
|
||||
title: '期予算',
|
||||
dataIndex: 'kiyosan',
|
||||
key: 'kiyosan',
|
||||
},
|
||||
{
|
||||
title: '当月発生累計',
|
||||
dataIndex: 'tougetu',
|
||||
key: 'tougetu',
|
||||
},
|
||||
{
|
||||
title: '実績累計',
|
||||
dataIndex: 'jiseki',
|
||||
key: 'jiseki',
|
||||
},
|
||||
{
|
||||
title: '残予算',
|
||||
dataIndex: 'zanyosan',
|
||||
key: 'zanyosan',
|
||||
},
|
||||
{
|
||||
title: '費消率',
|
||||
dataIndex: 'hiritu',
|
||||
key: 'hiritu',
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'kamoku_COD',
|
||||
activeValue: '',
|
||||
depData: [],
|
||||
res: {}
|
||||
}
|
||||
clickDep(item) {
|
||||
this.setState({ activeValue: item.value });
|
||||
}
|
||||
toDetail = (text, record) => {
|
||||
// this.setState({ showDetail: true, row: record })
|
||||
}
|
||||
|
||||
async load() {
|
||||
try {
|
||||
const res = await http.post('s09/a1709_0080s/search/doIndicate', { login_Ymd: sessionStorage.getItem('login_ymd')});
|
||||
this.setState({ res, depData: res.se_buka_cod_list, slist1: res.slist1, slist2: res.slist2, activeValue: res.hd_buka_list })
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
summary = (pageData) => {
|
||||
const { jiseki_kei1, zanyosan_kei1, hiritu_kei1} = this.state.res;
|
||||
return (
|
||||
<Table.Summary.Row style={{ backgroundColor: '#fafafa' }}>
|
||||
<Table.Summary.Cell colSpan={4}>
|
||||
<div style={{ textAlign: 'right' }}><strong>総計</strong></div>
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell >{jiseki_kei1}</Table.Summary.Cell>
|
||||
<Table.Summary.Cell >{zanyosan_kei1}</Table.Summary.Cell>
|
||||
<Table.Summary.Cell >{hiritu_kei1}</Table.Summary.Cell>
|
||||
</Table.Summary.Row>
|
||||
)
|
||||
}
|
||||
summary1 = (pageData) => {
|
||||
const { jiseki_kei2, zanyosan_kei2, hiritu_kei2 } = this.state.res;
|
||||
return (
|
||||
<Table.Summary.Row style={{ backgroundColor: '#fafafa' }}>
|
||||
<Table.Summary.Cell colSpan={4}>
|
||||
<div style={{ textAlign: 'right' }}><strong>総計</strong></div>
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell >{jiseki_kei2}</Table.Summary.Cell>
|
||||
<Table.Summary.Cell >{zanyosan_kei2}</Table.Summary.Cell>
|
||||
<Table.Summary.Cell >{hiritu_kei2}</Table.Summary.Cell>
|
||||
</Table.Summary.Row>
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
render() {
|
||||
const { slist1, slist2, loading, columns, rowKey, depData, res, activeValue } = this.state;
|
||||
const { buka_list } = res
|
||||
const setting = {
|
||||
dataSource: slist1,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
summary: this.summary
|
||||
};
|
||||
const setting1 = {
|
||||
dataSource: slist2,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="sw_a1709_0080">
|
||||
<div>98 予算実績累計</div>
|
||||
<div style={{ padding: 20 }}>
|
||||
<div className="sw_a1709_0080_header">
|
||||
<span>対象部門  </span>
|
||||
<div className="sw_a1709_0080_dep">
|
||||
{
|
||||
depData.map(item => {
|
||||
return <div className={activeValue === item.value ? 'active' : ''} key={item.value} onClick={this.clickDep.bind(this, item)}>{item.label}</div>
|
||||
})
|
||||
}
|
||||
</div>
|
||||
 <AddButton>選択</AddButton>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
部門名称:{buka_list}
|
||||
<Table {...setting} summary={this.summary.bind(this)}></Table>
|
||||
<br/>
|
||||
<Table {...setting1} summary={this.summary1.bind(this)}></Table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
export default Home
|
||||
201
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0090.js
Executable file
201
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0090.js
Executable file
@@ -0,0 +1,201 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
const { Option } = Select
|
||||
import { http } from '$http';
|
||||
class Home extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
se_tyear: '',
|
||||
se_tmonth: '',
|
||||
se_tday: '',
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: 'No',
|
||||
dataIndex: 'no',
|
||||
key: 'no',
|
||||
},
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_no',
|
||||
key: 'pldenpyo_no',
|
||||
},
|
||||
{
|
||||
title: '計上日',
|
||||
dataIndex: 'pldenpyo_ymd',
|
||||
key: 'pldenpyo_ymd',
|
||||
},
|
||||
{
|
||||
title: '支払日',
|
||||
dataIndex: 'sihairai_ymd',
|
||||
key: 'sihairai_ymd'
|
||||
},
|
||||
{
|
||||
title: '支払先名称',
|
||||
dataIndex: 'sihask_mei',
|
||||
key: 'sihask_mei',
|
||||
},
|
||||
{
|
||||
title: '金額',
|
||||
dataIndex: 'karikata_kin',
|
||||
key: 'karikata_kin',
|
||||
},
|
||||
{
|
||||
title: '確認',
|
||||
dataIndex: 'sihashu_kbn',
|
||||
key: 'sihashu_kbn',
|
||||
},
|
||||
{
|
||||
title: '手数料',
|
||||
dataIndex: 'tesuryo_kin',
|
||||
key: 'tesuryo_kin',
|
||||
},
|
||||
{
|
||||
title: '支払金額',
|
||||
dataIndex: 'shiharai_kin',
|
||||
key: 'shiharai_kin'
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
res: {},
|
||||
}
|
||||
}
|
||||
|
||||
handleChange(name, val) {
|
||||
this.setState({
|
||||
[name]: val
|
||||
})
|
||||
}
|
||||
onGenderChange() {
|
||||
|
||||
}
|
||||
toDetail() {
|
||||
|
||||
}
|
||||
async fnDisp() {
|
||||
try {
|
||||
const { se_tyear, se_tmonth, se_tday } = this.state;
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd'),
|
||||
se_tyear: '2013',
|
||||
se_tmonth: '09',
|
||||
se_tday: '10'
|
||||
}
|
||||
this.setState({ loading:true})
|
||||
const res = await http.post('s09/a1709_0090s/search/doSearch', params);
|
||||
const dataSource = res.slist.map(item => {
|
||||
Object.keys(item).forEach(key => {
|
||||
if (item[key] === ' ') {
|
||||
item[key] = ''
|
||||
}
|
||||
})
|
||||
return item
|
||||
})
|
||||
this.setState({ res, se_tyear: res.se_tyear, se_tmonth: res.se_tmonth, se_tday: res.se_tday, dataSource, loading: false })
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
};
|
||||
async load() {
|
||||
try {
|
||||
const params = {
|
||||
login_ymd: sessionStorage.getItem('login_ymd')
|
||||
}
|
||||
const res = await http.post('s09/a1709_0090s/search/doIndicate', params);
|
||||
this.setState({ res, se_tyear: res.se_tyear, se_tmonth: res.se_tmonth, se_tday: res.se_tday })
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
|
||||
summary = (pageData) => {
|
||||
const { lbl_karikata_kin=0, lbl_tesuryo_kin=0, lbl_shiharai_kin=0 } = this.state.res
|
||||
return (
|
||||
<>
|
||||
<Table.Summary.Row style={{ backgroundColor: '#fafafa' }}>
|
||||
<Table.Summary.Cell colSpan={5}>
|
||||
<div style={{ textAlign: 'right' }}><strong>金額計</strong></div>
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
<strong>{lbl_karikata_kin}</strong>
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
<strong></strong>
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
<strong>{lbl_tesuryo_kin}</strong>
|
||||
</Table.Summary.Cell>
|
||||
<Table.Summary.Cell style={{ textAlign: 'center' }}>
|
||||
<strong>{lbl_shiharai_kin}</strong>
|
||||
</Table.Summary.Cell>
|
||||
</Table.Summary.Row>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
render() {
|
||||
const { dataSource, loading, columns, se_tyear, se_tmonth, se_tday, res, } = this.state;
|
||||
const { se_tyear_list = [], se_tmonth_list = [], se_tday_list = [], records=0 } = res
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>99 請求書支払合計</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 0 20px' }}>
|
||||
支払対象日
|
||||
<Select size='small' value={se_tyear} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'se_tyear')}>
|
||||
{
|
||||
se_tyear_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 年
|
||||
<span style={{ padding: '0 6px ' }}>
|
||||
<Select size='small' value={se_tmonth} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'se_tmonth')}>
|
||||
{
|
||||
se_tmonth_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 月
|
||||
</span>
|
||||
<span style={{ padding: '0 6px ',marginRight:50 }}>
|
||||
<Select size='small' value={se_tday} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'se_tday')}>
|
||||
{
|
||||
se_tday_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 日
|
||||
</span>
|
||||
<AddButton onClick={this.fnDisp.bind(this)}>一覧表示</AddButton>  
|
||||
<AddButton>印刷</AddButton>
|
||||
</div>
|
||||
<div style={{ marginTop: 50 }}>
|
||||
<div className="layout_label">検索結果:{records}件</div>
|
||||
<Table {...setting} summary={this.summary.bind(this)} rowKey={(record, index) => index+1}></Table>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
232
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0120.js
Executable file
232
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0120.js
Executable file
@@ -0,0 +1,232 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table, Input } from 'antd';
|
||||
import { AddButton } from '$button';
|
||||
import { http, postByJson } from '$http';
|
||||
import './index.scss'
|
||||
const { Option } = Select
|
||||
|
||||
const options = [
|
||||
{ name: '', value: '' },
|
||||
{ name: '部課', value: '部課' },
|
||||
{ name: '科目', value: '科目' },
|
||||
{ name: '科目', value: '科目' },
|
||||
{ name: 'オーダーNo', value: 'オーダーNo' },
|
||||
{ name: '借方金額', value: '借方金額' },
|
||||
{ name: '貸方金額', value: '貸方金額' },
|
||||
{ name: '伝票日付', value: '伝票日付' },
|
||||
{ name: '伝票番号', value: '伝票番号' },
|
||||
{ name: '摘要', value: '摘要' },
|
||||
{ name: '代表支払先', value: '代表支払先' },
|
||||
{ name: '客先名称', value: '客先名称' },
|
||||
]
|
||||
class Home extends Component {
|
||||
state = {
|
||||
se_condition1: '',
|
||||
se_condition2: '',
|
||||
se_condition3: '',
|
||||
tx_condition1: '',
|
||||
tx_condition2: '',
|
||||
tx_condition3: '',
|
||||
loading: false,
|
||||
dataSource: [],
|
||||
records: 0,
|
||||
columns: [
|
||||
{
|
||||
title: '部課',
|
||||
dataIndex: 'buka_cod',
|
||||
key: 'buka_cod',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '科目',
|
||||
dataIndex: 'kamoku_cod',
|
||||
key: 'kamoku_cod',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '得意先',
|
||||
dataIndex: 'tokui_cod',
|
||||
key: 'tokui_cod',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'seizo_ban',
|
||||
key: 'seizo_ban',
|
||||
align: 'center',
|
||||
},
|
||||
{
|
||||
title: '借方金額',
|
||||
dataIndex: 'karikata_kin',
|
||||
key: 'karikata_kin',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '貸方金額',
|
||||
dataIndex: 'kasikata_kin',
|
||||
key: 'kasikata_kin',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'denpyo_ymd',
|
||||
key: 'denpyo_ymd',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'denpyo_no',
|
||||
key: 'denpyo_no',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'tekiyo',
|
||||
key: 'tekiyo',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '代表支払先',
|
||||
dataIndex: 'torihkpl_mei',
|
||||
key: 'torihkpl_mei',
|
||||
align: 'center'
|
||||
},
|
||||
{
|
||||
title: '客先名称',
|
||||
dataIndex: 'kyakupl_mei',
|
||||
key: 'kyakupl_mei',
|
||||
align: 'center'
|
||||
},
|
||||
]
|
||||
}
|
||||
onGenderChange(name, value) {
|
||||
this.setState({ [name]: value})
|
||||
}
|
||||
changeInput(name, { target: { value }}) {
|
||||
this.setState({ [name]: value })
|
||||
}
|
||||
async fnSearchList () {
|
||||
const { se_condition1, se_condition2, se_condition3, tx_condition1, tx_condition2, tx_condition3 } = this.state;
|
||||
const params = {
|
||||
se_condition1, se_condition2, se_condition3,
|
||||
tx_condition1, tx_condition2, tx_condition3
|
||||
}
|
||||
try {
|
||||
const { records, slist} = await postByJson('s09/a1709_0120s/SearchList/doSearch', params)
|
||||
this.setState({ records, dataSource: slist})
|
||||
} catch (error) {
|
||||
|
||||
}
|
||||
|
||||
// await http.request({
|
||||
// url: 's09/a1709_0120s/SearchList/doSearch',
|
||||
// method: 'post',
|
||||
// data: params,
|
||||
// transformRequest: [function (data) {
|
||||
// data = JSON.stringify(data)
|
||||
// return data
|
||||
// }],
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json;charset=UTF-8',
|
||||
// 'Accept':'text/plain'
|
||||
// }
|
||||
// })
|
||||
}
|
||||
componentDidMount() {
|
||||
}
|
||||
|
||||
render() {
|
||||
const { se_condition1, se_condition2, se_condition3, tx_condition1, tx_condition2, tx_condition3, dataSource, columns, loading, records } = this.state;
|
||||
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true
|
||||
};
|
||||
return (
|
||||
<div className="sw_a1709_0120" style={{ width: 1000 }}>
|
||||
<div>9C データ検索</div>
|
||||
<div className="sw_a1709_0120_search">
|
||||
<div className="layout_label">検索対象</div>
|
||||
<div style={{marginLeft:80}}>
|
||||
<div>
|
||||
<span className="layout_label">条件1</span>
|
||||
<Select
|
||||
size="small"
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this, 'se_condition1')}
|
||||
style={{ marginRight: 20,width:100 }}
|
||||
value={se_condition1}
|
||||
>
|
||||
{
|
||||
options.map((item, i) => {
|
||||
return <Option key={i} value={item.value}>{item.name}</Option>
|
||||
})
|
||||
}
|
||||
|
||||
</Select>
|
||||
<span className="layout_label">値1</span>
|
||||
<Input size="small" onChange={this.changeInput.bind(this,'tx_condition1')} disabled={!se_condition1} value={tx_condition1} style={{width:250}} />
|
||||
</div>
|
||||
<div style={{margin: '10px 0px'}}>
|
||||
<span className="layout_label">条件2</span>
|
||||
<Select
|
||||
size="small"
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this,'se_condition2')}
|
||||
style={{ marginRight: 20, width: 100 }}
|
||||
value={se_condition2}
|
||||
>
|
||||
{
|
||||
options.map((item, i) => {
|
||||
return <Option key={i} value={item.value}>{item.name}</Option>
|
||||
})
|
||||
}
|
||||
|
||||
</Select>
|
||||
<span className="layout_label">値2</span>
|
||||
<Input size="small" onChange={this.changeInput.bind(this, 'tx_condition2')} disabled={!se_condition2} value={tx_condition2} style={{ width: 250 }} />
|
||||
</div>
|
||||
<div>
|
||||
<span className="layout_label">条件3</span>
|
||||
<Select
|
||||
size="small"
|
||||
placeholder="Select a option"
|
||||
onChange={this.onGenderChange.bind(this,'se_condition3')}
|
||||
style={{ marginRight: 20, width: 100 }}
|
||||
value={se_condition3}
|
||||
>
|
||||
{
|
||||
options.map((item, i) => {
|
||||
return <Option key={i} value={item.value}>{item.name}</Option>
|
||||
})
|
||||
}
|
||||
|
||||
</Select>
|
||||
<span className="layout_label">値3</span>
|
||||
<Input size="small" onChange={this.changeInput.bind(this, 'tx_condition3')} disabled={!se_condition3} value={tx_condition3} style={{ width: 250 }} />
|
||||
</div>
|
||||
</div>
|
||||
<div style={{marginLeft:170}}>
|
||||
<AddButton onClick={this.fnSearchList.bind(this)}>検索</AddButton> 
|
||||
<AddButton>CSV</AddButton>
|
||||
</div>
|
||||
</div>
|
||||
<div style={{ marginTop: 20 }}>
|
||||
<span className="layout_label">検索結果:{records}件</span>
|
||||
{
|
||||
records === 1000 &&
|
||||
<span style={{color:'red',marginLeft:10}}>最大表示件数1000件を超えました。</span>
|
||||
}
|
||||
<Table {...setting} ></Table>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
157
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0130.js
Executable file
157
朱鹏鹏/keiri/src/pages/main/sw_a1709/sw_a1709_0130.js
Executable file
@@ -0,0 +1,157 @@
|
||||
import React, { Component } from 'react';
|
||||
import { Select, Table } from 'antd';
|
||||
import { AddButton } from '$button'
|
||||
import { http } from '$http';
|
||||
const { Option } = Select
|
||||
class Home extends Component {
|
||||
|
||||
constructor(props) {
|
||||
super(props);
|
||||
this.state = {
|
||||
se_year_list: [],
|
||||
se_month_list: [],
|
||||
se_year: '',
|
||||
se_month: '',
|
||||
dataSource: [],
|
||||
columns: [
|
||||
{
|
||||
title: '種別',
|
||||
dataIndex: 'status',
|
||||
key: 'status',
|
||||
},
|
||||
{
|
||||
title: '伝票番号',
|
||||
dataIndex: 'pldenpyo_NO',
|
||||
key: 'pldenpyo_NO',
|
||||
render: (text, record) => <a onClick={this.toDetail.bind(this, text, record)}>{text}</a>
|
||||
},
|
||||
{
|
||||
title: '社員名称',
|
||||
dataIndex: 'status',
|
||||
key: 'status',
|
||||
},
|
||||
{
|
||||
title: '部課',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
},
|
||||
{
|
||||
title: '伝票日付',
|
||||
dataIndex: 'pldenpyo_YMD',
|
||||
key: 'pldenpyo_YMD',
|
||||
},
|
||||
{
|
||||
title: '明細',
|
||||
dataIndex: 'tekiyo_MEI',
|
||||
key: 'tekiyo_MEI',
|
||||
},
|
||||
{
|
||||
title: '支払日',
|
||||
dataIndex: 'seizo_BAN',
|
||||
key: 'seizo_BAN',
|
||||
},
|
||||
{
|
||||
title: '借方金額',
|
||||
dataIndex: 'karikata_KIN',
|
||||
key: 'karikata_KIN',
|
||||
},
|
||||
{
|
||||
title: 'オーダーNo',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
},
|
||||
{
|
||||
title: '摘要',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
},
|
||||
{
|
||||
title: '状態',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
},
|
||||
{
|
||||
title: '承認者',
|
||||
dataIndex: 'status',
|
||||
key: 'status'
|
||||
}
|
||||
],
|
||||
loading: false,
|
||||
rowKey: 'pldenpyo_NO',
|
||||
}
|
||||
}
|
||||
|
||||
handleChange(name, val) {
|
||||
this.setState({
|
||||
[name]: val
|
||||
})
|
||||
}
|
||||
onGenderChange() {
|
||||
|
||||
}
|
||||
async load() {
|
||||
try {
|
||||
const { se_year_list, se_month_list, se_year, se_month } = await http.post('s09/a1709_0130s/Search/doIndicate', { login_ymd: sessionStorage.getItem('login_ymd') });
|
||||
this.setState({
|
||||
se_year_list,
|
||||
se_month_list,
|
||||
se_year,
|
||||
se_month
|
||||
})
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
}
|
||||
|
||||
componentDidMount() {
|
||||
this.load()
|
||||
}
|
||||
render() {
|
||||
|
||||
const { dataSource, loading, columns, rowKey, se_year_list, se_month_list, se_year, se_month } = this.state
|
||||
const setting = {
|
||||
dataSource: dataSource,
|
||||
columns: columns,
|
||||
loading: loading,
|
||||
rowKey: rowKey,
|
||||
pagination: false,
|
||||
size: "small",
|
||||
bordered: true,
|
||||
};
|
||||
return (
|
||||
<div style={{ width: 1000 }}>
|
||||
<div>9D 同一金額警告リスト</div>
|
||||
<div style={{ display: 'flex', alignContent: 'center', margin: '20px 0 0 20px' }}>
|
||||
対象年月
|
||||
<Select size='small' value={se_year} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'year')}>
|
||||
{
|
||||
se_year_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 年
|
||||
<span style={{ padding: '0 6px ' }}>
|
||||
<Select size='small' value={se_month} style={{ width: 70 }} onChange={this.handleChange.bind(this, 'months')}>
|
||||
{
|
||||
se_month_list.map(item => {
|
||||
return (
|
||||
<Option key={item.value} value={item.value}>{item.label}</Option>
|
||||
)
|
||||
})
|
||||
}
|
||||
</Select> 月
|
||||
</span>
|
||||
<AddButton>検索</AddButton>
|
||||
</div>
|
||||
<div style={{ marginTop: 50 }}>
|
||||
({se_year}-{se_month}月分)
|
||||
<Table {...setting} ></Table>
|
||||
</div>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
export default Home
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user