Commit 3f4440c0 by WeiCong

保函查询界面

parent 596b0dc3
export default fieldSet = {
getmod_ownref:[
{type:'string',max:20,message:'长度不能超过20个字符'}, // \getmod\ownref 业务编号
],
getmod_selflg:[
{type:'string',max:1,message:'长度不能超过1个字符'}, // \getmod\selflg 出口保函查询标准
],
}
\ No newline at end of file
export {default as model} from './model'
export {default as descriptor} from './descriptor'
export {default} from './views'
\ No newline at end of file
import { action, observable } from 'mobx'
import _descriptor from '../descriptor'
import {modelWrapper} from '@/components/RunTime'
@modelWrapper
class Getsel {
@observable
getmod_gidlst=[] // \getmod\gidlst
@observable
getmod_ownref="" // \getmod\ownref 业务编号
@observable
getmod_selflg="" // \getmod\selflg 出口保函查询标准
@observable
inr="" // \gidgrp\rec\inr 索引
get descriptor()
{
return _descriptor
}
clear()
{
this.getmod_gidlst=[]
this.getmod_ownref=""
this.getmod_selflg=""
}
}
export default Getsel
\ No newline at end of file
import React, { Component, Fragment } from 'react'
import {
Page, Validator, Notification, FormItem,
InputItem, Input, Bind, SelectItem, Button, Label, DatePickerItem, Section, ConfirmButton, Steps, CheckboxItem, TextAreaItem
} from '@/components/Common-Library'
import Api from '@/service/api'
import CodeTableFactory from '@/components/CodeTable'
import "./index.less"
import { inject, observer } from 'mobx-react'
import { action, observable } from 'mobx'
import { Row, Col, Popconfirm, Modal, Spin, Tooltip, Table } from 'antd';
import { Link, withRouter } from 'react-router-dom'
import Business from '@/views/Public/Business'
import mGetsel from '../model'
import moment from 'moment';
const CodeTable = CodeTableFactory.getInstance()
@withRouter
@inject('UserContext')
@inject('i18n')
@observer
export default class ChuKouBaoHanScreen extends Page {
@observable
formBlur = false
constructor(props) {
super(props)
this.model = new mGetsel()
this.bind = Bind.bind(this)
this.model.getmod_selflg = props.flg
this.state = {
selectedInr: ""
}
}
componentDidMount() {
super.componentDidMount()
if (this.props.flg == "0") {
this.getmod_gidlstHeader.push(
{
title: <Label itext="操作" />,
width: 60,
key: "operation",
render: (val, row, index) => {
return (
<a onClick={() => { this.link("getame", row.inr) }}>修改</a>
)
}
}
)
}
else if (this.props.flg == "1") {
this.getmod_gidlstHeader.push(
{
title: <Label itext="操作" />,
width: 60,
key: "operation",
render: (val, row, index) => {
return (
<a onClick={() => { this.link("getcrq", row.inr) }}>索赔</a>
)
}
})
}
else if (this.props.flg == "2") {
this.getmod_gidlstHeader.push(
{
title: <Label itext="操作" />,
width: 60,
key: "operation",
render: (val, row, index) => {
return (
<a onClick={() => { this.link("getset", row.inr) }}>收款</a>
)
}
})
}
else if (this.props.flg == "3") {
this.getmod_gidlstHeader.push(
{
title: <Label itext="操作" />,
width: 60,
key: "operation",
render: (val, row, index) => {
return (
<a onClick={() => { this.link("getcan", row.inr) }}>闭卷</a>
)
}
})
}
else if (this.props.flg == "4") {
this.gidinr = "0"
this.model.inr = "0"
}
}
//交易跳转函数,若参数inr存在,则赋值给this.gidinr
//调用后台查询是否符合跳转前提(前手交易是否复核),根据返回值决定是否带参跳转至pathname交易
async link(pathname, inr) {
if (inr) {
this.gidinr = inr
}
const rtnmsg = await Api.post('getsel/cfgfil_isnext', { data: this.model, params: { objinr: this.gidinr, objtyp: "gid" } })
if (rtnmsg.retcod == SUCCESS) {
this.props.history.push({ pathname, query: { gidinr: this.gidinr } });
} else {
Notification.error({ message: `${rtnmsg.retmsg}` })
}
}
onSellst = async () => {
this.formBlur = true //已触发表单提交处理
const rtnmsg = await Api.post('getsel/sellst', { data: this.model })
if (rtnmsg.retcod == SUCCESS) {
this.model.getmod_gidlst = rtnmsg.data['getmod_gidlst'];
}
else {
Notification.error({ message: '查询失败!' })
}
//余下逻辑处理
}
onGetmod_sel = async() => {
this.formBlur = true //已触发表单提交处理
const rtnmsg = await Api.post('getsel/sellst', { data: this.model })
if (rtnmsg.retcod == SUCCESS) {
this.model.getmod_gidlst = rtnmsg.data['getmod_gidlst'];
}
else {
Notification.error({ message: '查询失败!' })
}
}
async onSelcon(gidinr) {
this.formBlur = true //已触发表单提交处理
this.setState({ selectedInr: gidinr }) //获取选中行的inr,用于改变选中行样式
this.gidinr = gidinr;
this.model.inr = gidinr;
if(this.props.flg == "4"){
// const rtnmsg = await Api.post('getsel/selcon',{ params: { gidinr:gidinr }, data:{} })
}
}
getmod_gidlstHeader = [
{
title: <Label itext="Reference" />,
dataIndex: "ownref",
key: "ownref",
width: 100,
sorter: (r1, r2) => ColSorter(r1.ownref, r2.ownref),
},
{
title: <Label itext="Name" />,
dataIndex: "nam",
key: "nam",
width: 100,
sorter: (r1, r2) => ColSorter(r1.nam, r2.nam),
},
{
title: <Label itext="Opened" />,
dataIndex: "credat",
key: "credat",
width: 100,
sorter: (r1, r2) => ColSorter(r1.credat, r2.credat),
render:(val)=>{
if(val)
return moment(val).format('YYYY-MM-DD')
}
},
{
title: <Label itext="Closed" />,
dataIndex: "clsdat",
key: "clsdat",
width: 100,
sorter: (r1, r2) => ColSorter(r1.clsdat, r2.clsdat),
render:(val)=>{
if(val)
return moment(val).format('YYYY-MM-DD')
}
},
{
title: <Label itext="Handing Type" />,
dataIndex: "hndtyp",
key: "hndtyp",
width: 100,
sorter: (r1, r2) => ColSorter(r1.hndtyp, r2.hndtyp),
render: (val, row, index) => {
let text = val
let em = CodeTable.hndtyp.find(item => item.value == val)
if (em)
text = em.label
return text
}
},
{
title:<Label itext="User" />,
dataIndex:"ownusr",
key:"ownusr",
width:100,
sorter: (r1,r2)=>ColSorter(r1.ownusr,r2.ownusr),
},
]
rowClass = (row, index) => {
//表格选中行变色
if (this.props.flg == 5 && row.inr == this.state.selectedInr) {
return "selectedStyle"
}
//单双行样式
if (index % 2) {
return "tableEvenStyle"
}
return "tableOddStyle"
}
onTabFocus() {
this.setState({ selectedInr: "" }) //切换页签时重置行选中样式
}
//交易内实现
renderPage() {
const bind = this.bind
return (
<div style={{ position: 'relative' }}>
<Business wrappedComponentRef={ref => (this.com = ref)} extra={this.props.extra} model={this.model} />
<Row className="row">
<Col span={10} offset={1}>
<Col span={6}>
<Label itext="Guarantee Reference" trn="getsel" />
</Col>
<Col span={10} >
<InputItem InputProps={bind("getmod_ownref")} maxLength={20} desp="保函编号" path="/getmod/ownref" />
</Col>
<Col span={4} offset={2}>
<Button type="primary" size="small" icon="search" onClick={this.onGetmod_sel} desp="查询" path="/getmod/sel">
<Label itext="Query" />
</Button>
</Col>
</Col>
</Row>
<Row style={{ marginTop: 30 }}>
<Col span={24} >
<Table rowKey="inr" size="middle"
onRow={row => ({ onClick: () => this.onSelcon(row.inr) })}
columns={this.getmod_gidlstHeader}
dataSource={this.model.getmod_gidlst}
rowClassName={this.rowClass}
/>
</Col>
</Row>
{this.props.flg == "4" ?
<div style={{ textAlign: "center", marginTop: 30 }}>
<Button style={{ marginLeft: 10, marginRight: 10 }} disabled={this.model.inr == "0" ? true : false} type="primary" size="small" onClick={() => { this.link("getamc") }}>
<Label itext=" 出口保函保兑" />
</Button>
<Button style={{ marginLeft: 10, marginRight: 10 }} disabled={this.model.inr == "0" ? true : false} type="primary" size="small" onClick={() => { this.link("getfee") }}>
<Label itext="出口保函收费" />
</Button>
<Button style={{ marginLeft: 10, marginRight: 10 }} disabled={this.model.inr == "0" ? true : false} type="primary" size="small" onClick={() => { this.link("getfre") }}>
<Label itext="出口保函自由报文" />
</Button>
</div>
: null}
</div >
)
}
}
import React, { Component, Fragment } from 'react'
import PropTypes from 'prop-types'
import {
Page, Validator, Notification, FormItem, DatePickerItem, TextAreaItem, CheckboxItem, Checkbox,
InputItem, Input, Bind, SelectItem, Button, Label, Image, Table
} from '@/components/Common-Library'
import Api from '@/service/api'
import mGetsel from '../model'
import CodeTableFactory from '@/components/CodeTable'
import { Row, Col, Popconfirm, Modal, Spin, Tooltip } from 'antd';
import "./index.less"
import { inject, observer } from 'mobx-react'
import { action, observable, runInAction } from 'mobx'
const CodeTable = CodeTableFactory.getInstance()
@inject('UserContext')
@inject('i18n')
@observer
export default class GetselScreen extends Page {
static childContextTypes = {
trn: PropTypes.string,
}
getChildContext() {
return { trn: 'getsel' }
}
@observable
formBlur = false
constructor(props) {
super(props)
this.model = new mGetsel()
this.bind = Bind.bind(this)
}
async componentWillMount() {
/*
*添加初始化代码
*/
const rtnmsg = await Api.post('getsel/init', { data: this.model })
if (rtnmsg.retcod == SUCCESS) {
const { data } = rtnmsg
runInAction(() => {
Object.assign(this.model, data)
})
}
//快照模式下,不必开启校验,否则,静默校验,和记录变动
!this.loadDisplay() && this.model.openMonitor && this.model.openMonitor() //开启校验
}
componentWillUnmount() {
this.model.stopMonitor && this.model.stopMonitor()//关闭校验
}
getmod_gidlstHeader = [
{
title: <Label itext="保函编号" />,
dataIndex: "ownref",
key: "ownref",
width: 100,
sorter: (r1, r2) => ColSorter(r1.ownref, r2.ownref),
},
{
title: <Label itext="交易名称" />,
dataIndex: "nam",
key: "nam",
width: 100,
sorter: (r1, r2) => ColSorter(r1.nam, r2.nam),
},
{
title: <Label itext="创建日期" />,
dataIndex: "credat",
key: "credat",
width: 100,
sorter: (r1, r2) => ColSorter(r1.credat, r2.credat),
},
{
title: <Label itext="结束日期" />,
dataIndex: "clsdat",
key: "clsdat",
width: 100,
sorter: (r1, r2) => ColSorter(r1.clsdat, r2.clsdat),
},
{
title: <Label itext="保函类型" />,
dataIndex: "hndtyp",
key: "hndtyp",
width: 100,
sorter: (r1, r2) => ColSorter(r1.hndtyp, r2.hndtyp),
render: (val, row, index) => {
let text = val
let em = CodeTable.hndtyp.find(item => item.value == val)
if (em)
text = em.label
return text
}
},
]
//按钮事件
onGetmod_choose = () => {
this.formBlur = true //已触发表单提交处理
Validator.validate(this.model, this.model.descriptor, async (errors, values) => {
if (errors)
return
const rtnmsg = await Api.post('getsel/getmod_choose', { data: this.model })
if (rtnmsg.retcod == SUCCESS) {
Notification.success({ message: '数据提交成功!' })
}
else {
Notification.error({ message: '服务端请求失败!' })
}
//余下逻辑处理
})
}
onOpnbut = () => {
this.formBlur = true //已触发表单提交处理
Validator.validate(this.model, this.model.descriptor, async (errors, values) => {
if (errors)
return
const rtnmsg = await Api.post('getsel/opnbut', { data: this.model })
if (rtnmsg.retcod == SUCCESS) {
Notification.success({ message: '数据提交成功!' })
}
else {
Notification.error({ message: '服务端请求失败!' })
}
//余下逻辑处理
})
}
onGetmod_sel = () => {
this.formBlur = true //已触发表单提交处理
Validator.validate(this.model, this.model.descriptor, async (errors, values) => {
if (errors)
return
const rtnmsg = await Api.post('getsel/getmod_sel', { data: this.model })
if (rtnmsg.retcod == SUCCESS) {
Notification.success({ message: '数据提交成功!' })
}
else {
Notification.error({ message: '服务端请求失败!' })
}
//余下逻辑处理
})
}
//交易内实现
renderPage() {
const bind = this.bind
const { i18n } = this.props
return (
<div className="transPage">
<Row>
<Col span={24}>
<Row className="row">
<Col span={2} >
<Label itext="保函编号" trn="ditsel" />
</Col>
<Col span={3} >
<InputItem InputProps={bind("getmod_ownref")} maxLength={20} desp="业务编号" path="/getmod/ownref" />
</Col>
</Row>
</Col>
</Row>
{/* <Button type="primary" onClick={this.onOpnbut} desp="出口保函通知" path="/opnbut">
<Label itext="出口保函通知"/>
</Button> */}
{/* <Label itext="保函编号" trn="getsel" />
<InputItem InputProps={bind("getmod_ownref")} maxLength={20} desp="业务编号" path="/getmod/ownref" />
<Button type="primary" icon="search" onClick={this.onGetmod_sel} desp="查询" path="/getmod/sel">
<Label itext="查询"/>
</Button>
<Button type="primary" onClick={this.onGetmod_choose} desp="选中" path="/getmod/choose">
<Label itext="选中"/>
</Button>
<Label itext="出口保函查询标准" trn="getsel" />
<SelectItem InputProps={bind("getmod_selflg")} code={CodeTable.getselflg} desp="出口保函查询标准" path="/getmod/selflg"/> */}
<Table rowKey="inr" columns={this.getmod_gidlstHeader} dataSource={this.model.getmod_gidlst} path="/getmod/gidlst" />
</div>
)
}
}
import React, { Component, Fragment } from 'react'
import {
Page, Validator, Notification, FormItem, DatePickerItem, TextAreaItem, CheckboxItem, Checkbox,
InputItem, Input, Bind, SelectItem, Button, Label, Image, Table, Steps
} from '@/components/Common-Library'
import Api from '@/service/api'
import mGetsel from '../model'
import CodeTableFactory from '@/components/CodeTable'
import "./index.less"
import { inject, observer } from 'mobx-react'
import { action, observable } from 'mobx'
import ChuKouBaoHan from './ChuKouBaoHan'
import { Card } from 'antd'
import DateFormat from '@/utils/DateUtil'
const CodeTable = CodeTableFactory.getInstance()
const StepItem = Steps.Item
@inject('UserContext')
@inject('i18n')
@observer
export default class GetselScreen extends Page {
@observable
formBlur = false
@observable
extra = { inifrm: 'getsel', sptinr: '', bchlevelLst: [] }
constructor(props) {
super(props)
this.state = {
flag: true
}
this.model = new mGetsel()
}
async componentWillMount() {
/*
*添加初始化代码
*/
const rtnmsg = await Api.post('getsel/init', { data: this.model })
if (rtnmsg.retcod == SUCCESS) {
const { data } = rtnmsg
Object.assign(this.model, data)
}
//快照模式下,不必开启校验,否则,静默校验,和记录变动
!this.loadDisplay() && this.model.openMonitor && this.model.openMonitor() //开启校验
}
componentWillUnmount() {
this.model.stopMonitor && this.model.stopMonitor()//关闭校验
}
//交易内实现
renderPage() {
return (
<Card title="Export Guarantee" size="small" className="transTitle">
<Steps>
<StepItem title="Amendment of Guarantee">
<ChuKouBaoHan model={this.model} extra={this.extra} flg="0" />
</StepItem>
<StepItem title="Registeration of Claim">
<ChuKouBaoHan model={this.model} extra={this.extra} flg="1" />
</StepItem>
<StepItem title="Payment of Claim">
< ChuKouBaoHan model={this.model} extra={this.extra} flg="2" />
</StepItem>
<StepItem title="Cancelation of Guarantee">
<ChuKouBaoHan model={this.model} extra={this.extra} flg="3" />
</StepItem>
<StepItem title="Other Guarantee">
< ChuKouBaoHan model={this.model} extra={this.extra} flg="4" />
</StepItem>
</Steps>
<Button style={{ position: 'absolute', right: '3em', top: '4em' }} type="primary" size="small" onClick={() => { this.props.history.push('infged') }}>
<Label itext="Guarantee Search" />
</Button>
<Button style={{ position: 'absolute', right: '13em', top: '4em' }} type="primary" size="small" onClick={() => { this.props.history.push('getopn') }}>
<Label itext="Advising a Guarantee" />
</Button>
</Card>
)
}
}
export default fieldSet = {
gitmod_selflg:[
{type:'string',max:1,message:'长度不能超过1个字符'}, // \gitmod\selflg 进口保函查询标志
],
gitmod_ownref:[
{type:'string',max:16,message:'长度不能超过16个字符'}, // \gitmod\ownref 保函编号
],
gctmod_selflg:[
{type:'string',max:1,message:'长度不能超过1个字符'}, // \gctmod\selflg 查询标记
],
gctmod_gcref:[
{type:'string',max:16,message:'长度不能超过16个字符'}, // \gctmod\gcref 索赔编号
],
}
\ No newline at end of file
export {default as model} from './model'
export {default as descriptor} from './descriptor'
export {default} from './views'
\ No newline at end of file
import { action, observable } from 'mobx'
import _descriptor from '../descriptor'
import {modelWrapper} from '@/components/RunTime'
@modelWrapper
class Gitsel {
@observable
gctmod_gcdlst=[] // \gctmod\gcdlst
@observable
gctmod_gcref="" // \gctmod\gcref 索赔编号
@observable
gctmod_selflg="" // \gctmod\selflg 查询标记
@observable
gitmod_gidlst=[] // \gitmod\gidlst
@observable
gitmod_ownref="" // \gitmod\ownref 保函编号
@observable
gitmod_selflg="" // \gitmod\selflg 进口保函查询标志
@observable
inr="" // \gidgrp\rec\inr 索引
get descriptor()
{
return _descriptor
}
clear()
{
this.gctmod_gcdlst=[]
this.gctmod_gcref=""
this.gctmod_selflg=""
this.gitmod_gidlst=[]
this.gitmod_ownref=""
this.gitmod_selflg=""
}
}
export default Gitsel
\ No newline at end of file
import React,{Component,Fragment} from 'react'
import PropTypes from 'prop-types'
import {Page,Validator,Notification,FormItem,DatePickerItem,TextAreaItem,CheckboxItem,Checkbox,
InputItem,Input,Bind,SelectItem,Button,Label,Image,Table,Steps} from '@/components/Common-Library'
import Api from '@/service/api'
import mGitsel from '../model'
import CodeTableFactory from '@/components/CodeTable'
import "./index.less"
import { inject, observer } from 'mobx-react'
import Guarantee from './Guarantee'
import { action, observable,runInAction } from 'mobx'
import { Card ,Row ,Col} from 'antd'
const CodeTable = CodeTableFactory.getInstance()
const StepItem = Steps.Item
@inject('UserContext')
@inject('i18n')
@observer
export default class GitselScreen extends Page
{
@observable
extra = { inifrm: 'gitsel', sptinr: '', bchlevelLst: []}
@observable
formBlur=false
constructor(props)
{
super(props)
this.state = {
flag: true
}
this.model = new mGitsel()
}
async componentWillMount()
{
/*
*添加初始化代码
*/
const rtnmsg = await Api.post('gitsel/init',{data:this.model})
if(rtnmsg.retcod == SUCCESS)
{
const {data} = rtnmsg
runInAction(()=>{
Object.assign(this.model,data)
})
}
//快照模式下,不必开启校验,否则,静默校验,和记录变动
!this.loadDisplay() && this.model.openMonitor && this.model.openMonitor() //开启校验
}
componentWillUnmount()
{
this.model.stopMonitor&&this.model.stopMonitor()//关闭校验
}
//交易内实现
renderPage(){
return (
<Card title="Import Guarantee" size="small" className="transTitle">
<Steps>
<StepItem title="Amendment of Guarantee">
<Guarantee model={this.model} extra={this.extra} flg="0"/>
</StepItem>
<StepItem title="Registeration of Claim">
<Guarantee model={this.model} extra={this.extra} flg="1"/>
</StepItem>
<StepItem title="Payment of Claim">
<Guarantee model={this.model} extra={this.extra} flg="2"/>
</StepItem>
<StepItem title="Cancelation of Guarantee">
<Guarantee model={this.model} extra={this.extra} flg="3"/>
</StepItem>
<StepItem title="Other Guarantee">
<Guarantee model={this.model} extra={this.extra} flg="4"/>
</StepItem>
</Steps>
<Button style={{ position: 'absolute', right: '3em', top: '4em' }} type="primary" size="small" onClick={() => { this.props.history.push('infgid') }}>
<Label itext="Guarantee Search" />
</Button>
<Button style={{ position:'absolute',right:'13em',top:'4em' }} type="primary" size="small" onClick={()=>{this.props.history.push('gitopn')}} desp="进口保函开立">
<Label itext="Creating a Guarantee"/>
</Button>
</Card>
)
}
}
......@@ -159,6 +159,8 @@ const Lckinf =MLoader(()=>import('./Lckinf'))
const Loginf =MLoader(()=>import('./Loginf'))
const Elschk =MLoader(()=>import('./Elschk'))
const Ptybat =MLoader(()=>import('./Ptybat'))
const Gitsel =MLoader(()=>import('./Gitsel'))
const Getsel =MLoader(()=>import('./Getsel'))
export default class Bus extends Component{
......@@ -342,6 +344,8 @@ export default class Bus extends Component{
<Route exact path={`${moduleBasePath}lckinf${!isDisplay?'':'/:trninr'}`} render={(props)=><Lckinf {...props} {...params}/>} />
<Route exact path={`${moduleBasePath}elschk${!isDisplay?'':'/:trninr'}`} render={(props)=><Elschk {...props} {...params}/>} />
<Route exact path={`${moduleBasePath}ptybat${!isDisplay?'':'/:trninr'}`} render={(props)=><Ptybat {...props} {...params}/>} />
<Route exact path={`${moduleBasePath}gitsel${!isDisplay?'':'/:trninr'}`} render={(props)=><Gitsel {...props} {...params}/>} />
<Route exact path={`${moduleBasePath}getsel${!isDisplay?'':'/:trninr'}`} render={(props)=><Getsel {...props} {...params}/>} />
</React.Fragment>
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment