123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517 |
- import React, { Component } from 'react'
- import {
- Form,
- Spin,
- Table,
- Modal,
- Radio,
- Col,
- Upload,
- Input,
- Button,
- } from 'antd'
- import { getMaterialStatus, getUrgentStatus } from '@/tools'
- import './checkProjectStyle.less'
- const radioGroupStyle = {
- display: 'flex',
- flexFlow: 'row nowrap',
- alignItems: 'flex-start',
- flex: 1,
- }
- const layout = {
- labelCol: {
- span: 8,
- },
- wrapperCol: {
- span: 16,
- },
- };
- const tailLayout = {
- wrapperCol: {
- offset: 8,
- span: 16,
- },
- };
- const radioStyle = {
- display: 'flex',
- flexFlow: 'row nowrap',
- }
- const FormItem = Form.Item
- class CheckProject extends Component {
- constructor(props) {
- super(props)
- this.state = {
- value: '',
- loading: false,
- previewImage: '',
- previewVisible: false,
- previewPayVisible: false,
- // 专利
- ContactsListsNew: [
- {
- title: '供应商名称',
- dataIndex: 'companyName',
- key: 'companyName',
- render: (text, record, index) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '单价(万元)',
- dataIndex: 'unitPrice',
- key: 'unitPrice',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '数量',
- dataIndex: 'quantity',
- key: 'quantity',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '总价(万元)',
- dataIndex: 'totalAmount',
- key: 'totalAmount',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '材料',
- dataIndex: 'material',
- key: 'material',
- render: (text, record) => {
- return getMaterialStatus(text)
- },
- },
- {
- title: '加急',
- dataIndex: 'urgent',
- key: 'urgent',
- render: (text, record) => {
- return getUrgentStatus(text)
- },
- },
- {
- title: '操作',
- dataIndex: 'action',
- key: 'action',
- render: (text, record) => {
- return (
- <div>
- <Button type="primary" onClick={() => {
- this.setState({
- previewPayVisible: true
- })
- }}>
- 申请付款
- </Button>
- </div>
- )
- },
- },
- ],
- //付款节点表头
- PayNodeTableColunms: [
- {
- title: '供应商名称',
- dataIndex: 'companyName',
- key: 'companyName',
- render: (text, record, index) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '付款科目',
- dataIndex: 'dunType',
- key: 'dunType',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '付款时间',
- dataIndex: 'partyTimes',
- key: 'partyTimes',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '数量',
- dataIndex: 'quantity',
- key: 'quantity',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '总价(万元)',
- dataIndex: 'totalAmount',
- key: 'totalAmount',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- {
- title: '付款(万元)',
- dataIndex: 'partyAmount',
- key: 'partyAmount',
- render: (text, record) => {
- if (text) {
- return <span>{text}</span>
- }
- },
- },
- ],
- }
- }
- onChange() {
- this.setState({
- value: e.target.value,
- })
- }
- tableRowClickOne(record) {}
- //点击付款节点详情
- payNodeTableRowClickOne(record) {}
- //第三方信息 新增支付
- addOrderPayment(id) {
- $.ajax({
- method: 'POST',
- dataType: 'json',
- crossDomain: false,
- url: globalConfig.context + '/api/admin/company/addOrderPayment',
- data: {},
- }).done(
- function (data) {
- this.setState({
- loading: false,
- })
- if (!data.error.length) {
- message.success('保存成功!')
- this.noCancel()
- } else {
- message.warning(data.error[0].message)
- }
- }.bind(this)
- )
- }
- handleSubmit(e){
- e.preventDefault();
- console.log('Success:',this.props.form);
- }
- render() {
- return (
- <div className="App">
- <div className="projectType">
- <div className="typeTitle">
- <div className="required">*</div>
- <div>类型:</div>
- </div>
- <Radio.Group style={radioGroupStyle} value={this.props.startType}>
- <Radio value={0} style={radioStyle}>
- <div>
- <div>供应商信息(外包派单,不走总部)</div>
- <div className="tipsText">提示高于总部价格,费用个人承担</div>
- </div>
- </Radio>
- <Radio value={1} style={radioStyle}>
- 供应商信息(普通单)
- </Radio>
- </Radio.Group>
- </div>
- <div className="thirdParty">
- <div>
- <span
- style={{
- fontSize: '18px',
- }}
- >
- 第三方信息
- </span>
- </div>
- <div
- className="clearfix"
- style={
- {
- // display: this.state.type == 1 ? 'block' : 'block',
- }
- }
- >
- <Spin spinning={this.state.loading}>
- <Form layout="horizontal">
- <Table
- pagination={false}
- columns={this.state.ContactsListsNew}
- dataSource={this.props.thirdInfoList}
- onRowClick={this.tableRowClickOne}
- scroll={{ x: 'max-content', y: 0 }}
- bordered
- size="small"
- />
- <Col span={24} offset={9} style={{ marginTop: '15px' }}></Col>
- </Form>
- </Spin>
- </div>
- </div>
- <div className="thirdParty">
- <div>
- <span
- style={{
- fontSize: '18px',
- }}
- >
- 付款节点
- </span>
- </div>
- <div
- className="clearfix"
- style={
- {
- // display: this.state.type == 1 ? 'block' : 'block',
- }
- }
- >
- <Spin spinning={this.state.loading}>
- <Form layout="horizontal">
- <Table
- pagination={false}
- columns={this.state.PayNodeTableColunms}
- dataSource={this.props.dataSource}
- onRowClick={this.payNodeTableRowClickOne}
- scroll={{ x: 'max-content', y: 0 }}
- bordered
- size="small"
- />
- <Col span={24} offset={9} style={{ marginTop: '15px' }}></Col>
- </Form>
- </Spin>
- </div>
- </div>
- <div
- style={{
- borderTop: '1px #000000 dashed',
- paddingTop: '20px',
- }}
- >
- <Form.Item
- labelCol={{ span: 2 }}
- wrapperCol={{ span: 8 }}
- labelAlign="left"
- label="备注"
- >
- <Input
- type="textarea"
- placeholder="请输入备注"
- rows={4}
- value={this.props.outsourceRemarks}
- />
- </Form.Item>
- </div>
- <div className="clearfix">
- <FormItem
- labelCol={{ span: 3 }}
- wrapperCol={{ span: 18 }}
- label="合同/协议扫描件"
- labelAlign='left'
- >
- <Upload
- className="demandDetailShow-upload"
- listType="picture-card"
- fileList={this.props.fileList}
- onPreview={(file) => {
- this.setState({
- previewImage: file.url || file.thumbUrl,
- previewVisible: true,
- })
- }}
- />
- <Modal
- maskClosable={false}
- footer={null}
- visible={this.state.previewVisible}
- onCancel={() => {
- this.setState({ previewVisible: false })
- }}
- >
- <img
- alt=""
- style={{ width: '100%' }}
- src={this.state.previewImage || ''}
- />
- </Modal>
- </FormItem>
- </div>
- {/* 申请付款 */}
- <Modal
- maskClosable={false}
- footer={null}
- visible={this.state.previewPayVisible}
- onCancel={() => {
- this.setState({ previewPayVisible: false })
- }}
- >
- <div>
- <div>支付供应商费用</div>
- <Form
- {...layout}
- name="basic"
- initialValues={{
- remember: true,
- }}
- onSubmit={this.handleSubmit}
- >
- <Form.Item
- style={{
- display:'flex'
- }}
- label="付款单位/个人:"
- name="company"
- rules={[
- {
- required: true,
- message: '请输入付款单位/个人!',
- },
- ]}
- >
- <Input style={{ width: '200px' }} placeholder="请输入付款单位/个人"/>
- </Form.Item>
- <Form.Item
- style={{
- display:'flex'
- }}
- label="单价(万元):"
- name="unitPrice"
- rules={[
- {
- required: true,
- message: '请输入单价!',
- },
- ]}
- >
- <Input style={{ width: '200px' }} placeholder="请输入单价" type={'number'}/>
- </Form.Item>
- <Form.Item
- style={{
- display:'flex'
- }}
- label="数量:"
- name="num"
- rules={[
- {
- required: true,
- message: '请输入數量!',
- },
- ]}
- >
- <Input style={{ width: '200px' }} placeholder="请输入數量" type={'number'}/>
- </Form.Item>
- <Form.Item
- style={{
- display:'flex'
- }}
- label="总价(万元):"
- name="totalPrice"
- rules={[
- {
- required: true,
- message: '请输入总价!',
- },
- ]}
- >
- <Input style={{ width: '200px' }} placeholder="请输入总价" type={'number'}/>
- </Form.Item>
- <Form.Item
- style={{
- display:'flex'
- }}
- label="已付(万元):"
- name="paid"
- rules={[
- {
- required: true,
- message: '请输入已付金额!',
- },
- ]}
- >
- <Input style={{ width: '200px' }} placeholder="请输入已付金额" type={'number'}/>
- </Form.Item>
- <Form.Item
- style={{
- display:'flex'
- }}
- label="本次申请支付金额(万元):"
- name="payment"
- rules={[
- {
- required: true,
- message: '请输入本次申请支付金额!',
- },
- ]}
- >
- <Input style={{ width: '200px' }} placeholder="请输入本次申请支付金额(" type={'number'}/>
- </Form.Item>
- <Form.Item
- style={{
- display:'flex'
- }}
- label="备注:"
- name="remarks"
- rules={[
- {
- required: true,
- message: '请输入本次申请支付金额!',
- },
- ]}
- >
- <Input style={{ width: '200px' }} placeholder="请输入本次申请支付金额(" type={'textarea'}/>
- </Form.Item>
- <Form.Item>
- <Button type="primary" htmlType="submit">
- 确定申请支付
- </Button>
- </Form.Item>
- </Form>
- </div>
- </Modal>
- </div>
- )
- }
- }
- export default CheckProject
|