备注
diff --git a/pc4mobx/hrmSalary/pages/declare/generateModal.js b/pc4mobx/hrmSalary/pages/declare/generateModal.js
index 338ff498..d645a365 100644
--- a/pc4mobx/hrmSalary/pages/declare/generateModal.js
+++ b/pc4mobx/hrmSalary/pages/declare/generateModal.js
@@ -1,55 +1,90 @@
-import React from 'react'
-import { WeaHelpfulTip, WeaDatePicker, WeaInput } from 'ecCom';
-import { Modal, Row, Col, Button } from 'antd'
-import { inject, observer } from 'mobx-react';
+import React from "react";
+import { WeaHelpfulTip, WeaDatePicker, WeaInput, WeaSelect } from "ecCom";
+import { Modal, Row, Col, Button } from "antd";
+import { inject, observer } from "mobx-react";
-@inject('declareStore')
+@inject("declareStore", "taxAgentStore")
@observer
export default class GenerateModal extends React.Component {
- constructor(props) {
- super(props)
- this.state = {
- date: ""
- }
- }
+ constructor(props) {
+ super(props);
+ this.state = {
+ date: "",
+ taxAgentId: "",
+ };
+ }
- // 生成申报表
- handleGenerate() {
- const { declareStore: { saveDeclare }} = this.props;
- saveDeclare(this.state.date).then(() => {
- this.props.onGenerate()
- })
- }
+ // 生成申报表
+ handleGenerate() {
+ const {
+ declareStore: { saveDeclare },
+ } = this.props;
+ const { date, taxAgentId } = this.state;
+ saveDeclare({ salaryMonthStr: date, taxAgentId }).then(() => {
+ this.props.onGenerate();
+ });
+ }
- render() {
- return (
- this.props.onCancel()} width={800}
- footer={
-
- }>
-
- 申报
-
-
-
-
- 薪资所属月
-
- this.setState({date: value})}
- />
-
-
-
-
- )
- }
-}
\ No newline at end of file
+ render() {
+ const {
+ taxAgentStore: { taxAgentOption },
+ } = this.props;
+ return (
+ this.props.onCancel()}
+ width={800}
+ footer={
+
+ }>
+
+ 申报
+
+
+
+
+ 薪资所属月
+
+ this.setState({ date: value })}
+ />
+
+
+
+ 扣缴义务人
+
+ {
+ this.setState({ taxAgentId });
+ }}
+ />
+
+
+
+
+ );
+ }
+}
diff --git a/pc4mobx/hrmSalary/pages/declare/index.js b/pc4mobx/hrmSalary/pages/declare/index.js
index cc4559d8..278b56a2 100644
--- a/pc4mobx/hrmSalary/pages/declare/index.js
+++ b/pc4mobx/hrmSalary/pages/declare/index.js
@@ -1,23 +1,30 @@
-import React from 'react';
-import { inject, observer } from 'mobx-react';
-import { toJS } from 'mobx';
+import React from "react";
+import { inject, observer } from "mobx-react";
+import { toJS } from "mobx";
-import { Button, Table, DatePicker } from 'antd';
+import { Button, Table, DatePicker } from "antd";
-import { WeaTop, WeaTab, WeaRightMenu, WeaRangePicker, WeaTable, WeaDatePicker } from 'ecCom';
+import {
+ WeaTop,
+ WeaTab,
+ WeaRightMenu,
+ WeaRangePicker,
+ WeaTable,
+ WeaDatePicker,
+} from "ecCom";
-import { renderNoright, getSearchs } from '../../util'; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
-import CustomTab from '../../components/customTab';
-import ContentWrapper from '../../components/contentWrapper';
-import CustomTable from '../../components/customTable'
+import { renderNoright, getSearchs } from "../../util"; // 渲染form数据的方法:因为多个页面都会使用,所以抽的公共方法在util中
+import CustomTab from "../../components/customTab";
+import ContentWrapper from "../../components/contentWrapper";
+import CustomTable from "../../components/customTable";
-import { columns, dataSource } from './columns';
-import GenerateModal from './generateModal'
-import moment from 'moment'
+import { columns, dataSource } from "./columns";
+import GenerateModal from "./generateModal";
+import moment from "moment";
const { RangePicker } = DatePicker;
-@inject('declareStore')
+@inject("declareStore", "taxAgentStore")
@observer
export default class Declare extends React.Component {
constructor(props) {
@@ -26,136 +33,192 @@ export default class Declare extends React.Component {
value: "",
selectedKey: "0",
declarationModalVisible: false,
- startDate: moment(new Date()).subtract(3,'months').startOf('month').format('YYYY-MM'),
- endDate: moment(new Date()).subtract(-3,'months').startOf('month').format('YYYY-MM')
- }
- this.searchParams = {current: 1}
- columns.map(item => {
- if(item.dataIndex == "cz") {
- item.render =(text, record) => {
+ startDate: moment(new Date())
+ .subtract(3, "months")
+ .startOf("month")
+ .format("YYYY-MM"),
+ endDate: moment(new Date())
+ .subtract(-3, "months")
+ .startOf("month")
+ .format("YYYY-MM"),
+ };
+ this.searchParams = { current: 1 };
+ columns.map((item) => {
+ if (item.dataIndex == "cz") {
+ item.render = (text, record) => {
return (
- {window.open("/spa/hrmSalary/static/index.html#/main/hrmSalary/generateDeclarationDetail?id=" + record.id)}}>查看
- )
- }
+ {
+ window.open(
+ "/spa/hrmSalary/static/index.html#/main/hrmSalary/generateDeclarationDetail?id=" +
+ record.id
+ );
+ }}>
+ 查看
+
+ );
+ };
}
- })
+ });
}
componentWillMount() {
- const { declareStore : {getDeclareList} } = this.props;
+ const {
+ taxAgentStore: { fetchTaxAgentOption },
+ declareStore: { getDeclareList },
+ } = this.props;
this.searchParams = {
fromSalaryMonthStr: this.state.startDate,
endSalaryMonthStr: this.state.endDate,
- current: 1
- }
- getDeclareList(this.searchParams)
+ current: 1,
+ };
+ getDeclareList(this.searchParams);
+ fetchTaxAgentOption();
}
// 日期区间改变事件
handleRangePickerChange(value) {
- let range = value.map(item => moment(item).format("YYYY-MM"))
- const { declareStore : {getDeclareList} } = this.props;
+ let range = value.map((item) => moment(item).format("YYYY-MM"));
+ const {
+ declareStore: { getDeclareList },
+ } = this.props;
this.setState({
startDate: range[0],
- endDate: range[1]
- })
+ endDate: range[1],
+ });
getDeclareList({
fromSalaryMonthStr: range[0],
endSalaryMonthStr: range[1],
- current: 1
- })
+ current: 1,
+ });
}
-
// 查询列表
handleSearch() {
- const { declareStore } = this.props;
- const { getDeclareList } = declareStore
- this.searchParams = {
- fromSalaryMonthStr: this.state.startDate,
- endSalaryMonthStr: this.state.endDate,
- current: 1
- }
- getDeclareList(this.searchParams)
+ this.setState({ declarationModalVisible: false }, () => {
+ const { declareStore } = this.props;
+ const { getDeclareList } = declareStore;
+ this.searchParams = {
+ fromSalaryMonthStr: this.state.startDate,
+ endSalaryMonthStr: this.state.endDate,
+ current: 1,
+ };
+ getDeclareList(this.searchParams);
+ });
}
getColumns() {
- const { declareStore: {listColumns}} = this.props;
- let columns = [...listColumns]
+ const {
+ declareStore: { listColumns },
+ } = this.props;
+ let columns = [...listColumns];
columns.push({
title: "操作",
dataIndex: "operate",
render: (text, record) => {
return (
- {window.open("/spa/hrmSalary/static/index.html#/main/hrmSalary/generateDeclarationDetail?id=" + record.id)}}>查看
- )
- }
- })
+ {
+ window.open(
+ "/spa/hrmSalary/static/index.html#/main/hrmSalary/generateDeclarationDetail?id=" +
+ record.id
+ );
+ }}>
+ 查看
+
+ );
+ },
+ });
return columns;
}
-
handleDataPageChange(value) {
- const { declareStore : {getDeclareList} } = this.props;
+ const {
+ declareStore: { getDeclareList },
+ } = this.props;
this.searchParams = {
fromSalaryMonthStr: this.state.startDate,
endSalaryMonthStr: this.state.endDate,
- current: value
- }
- getDeclareList(this.searchParams)
+ current: value,
+ };
+ getDeclareList(this.searchParams);
}
-
render() {
const { declareStore } = this.props;
- const { loading, hasRight, form, condition,
- tableStore, showSearchAd, getTableDatas, doSearch,
- setShowSearchAd, listDataSource, listColumns, pageInfo } = declareStore;
+ const {
+ loading,
+ hasRight,
+ form,
+ condition,
+ tableStore,
+ showSearchAd,
+ getTableDatas,
+ doSearch,
+ setShowSearchAd,
+ listDataSource,
+ listColumns,
+ pageInfo,
+ } = declareStore;
- if (!hasRight && !loading) { // 无权限处理
+ if (!hasRight && !loading) {
+ // 无权限处理
return renderNoright();
}
- const rightMenu = [// 右键菜单
- {
- key: 'BTN_COLUMN',
- icon: ,
- content: '显示列定制',
- onClick: this.showColumn
+ const rightMenu = [
+ // 右键菜单
+ {
+ key: "BTN_COLUMN",
+ icon: ,
+ content: "显示列定制",
+ onClick: this.showColumn,
},
];
- const collectParams = { // 收藏功能配置
- favname: '个税申报表',
+ const collectParams = {
+ // 收藏功能配置
+ favname: "个税申报表",
favouritetype: 1,
objid: 0,
- link: 'wui/index.html#/ns_demo03/index',
+ link: "wui/index.html#/ns_demo03/index",
importantlevel: 1,
};
- const adBtn = [ // 高级搜索内部按钮
- ,
- ,
- ,
+ const adBtn = [
+ // 高级搜索内部按钮
+ ,
+ ,
+ ,
];
- const topTab = [
- ];
+ const topTab = [];
const renderRightOperation = () => {
- return
-
- this.handleRangePickerChange(value)}
- />
-
-
-
-
- }
-
+ return (
+
+ this.handleRangePickerChange(value)}
+ />
+
+
+ );
+ };
return (
@@ -165,35 +228,40 @@ export default class Declare extends React.Component {
>
} // 左侧图标
- iconBgcolor='#F14A2D' // 左侧图标背景色
+ icon={} // 左侧图标
+ iconBgcolor="#F14A2D" // 左侧图标背景色
showDropIcon={true} // 是否显示下拉按钮
dropMenuDatas={rightMenu} // 下拉菜单(和页面的右键菜单相同)
dropMenuProps={{ collectParams }} // 收藏功能: 配置之后显示 收藏、帮助、显示页面地址 这3个功能
>
-
- {this.handleDataPageChange(value)},
- total: pageInfo.total,
- showTotal: (total) => `共 ${total} 条`,
- current: pageInfo.pageNum
- }}
+
+ {
+ this.handleDataPageChange(value);
+ },
+ total: pageInfo.total,
+ showTotal: (total) => `共 ${total} 条`,
+ current: pageInfo.pageNum,
+ }}
/>
- {
- this.state.declarationModalVisible && {this.handleSearch()}}
- visible={this.state.declarationModalVisible}
- onCancel={() => {this.setState({declarationModalVisible: false})}}
+ {this.state.declarationModalVisible && (
+ {
+ this.handleSearch();
+ }}
+ visible={this.state.declarationModalVisible}
+ onCancel={() => {
+ this.setState({ declarationModalVisible: false });
+ }}
/>
- }
+ )}
- )
+ );
}
}
diff --git a/pc4mobx/hrmSalary/pages/taxAgent/index.js b/pc4mobx/hrmSalary/pages/taxAgent/index.js
index f4580d2b..58e17bc9 100644
--- a/pc4mobx/hrmSalary/pages/taxAgent/index.js
+++ b/pc4mobx/hrmSalary/pages/taxAgent/index.js
@@ -394,11 +394,14 @@ export default class TaxAgent extends React.Component {
title={
个税扣缴义务人
-
this.showEditModal()}
- />
+ {/* 总管理员开启新增功能 */}
+ {permission.isChief && (
+ this.showEditModal()}
+ />
+ )}
}
showGroup>
diff --git a/pc4mobx/hrmSalary/stores/declare.js b/pc4mobx/hrmSalary/stores/declare.js
index 988f66aa..67dce033 100644
--- a/pc4mobx/hrmSalary/stores/declare.js
+++ b/pc4mobx/hrmSalary/stores/declare.js
@@ -89,9 +89,9 @@ export class DeclareStore {
//个税申报表-个税申报表生成
@action
- saveDeclare = (date) => {
+ saveDeclare = (params) => {
return new Promise((resolve, reject) => {
- API.saveDeclare({salaryMonthStr: date}).then(res => {
+ API.saveDeclare(params).then(res => {
if(res.status) {
message.success("生成成功")
resolve();