diff --git a/pc4mobx/hrmSalary/apis/index.js b/pc4mobx/hrmSalary/apis/index.js index 854c9bf6..eabea534 100644 --- a/pc4mobx/hrmSalary/apis/index.js +++ b/pc4mobx/hrmSalary/apis/index.js @@ -1,4 +1,5 @@ import { WeaTools } from "ecCom"; +import { postFetch } from "../util/request"; // form基础数据 export const getBaseForm = (params) => { @@ -19,3 +20,18 @@ export const getCondition = (params) => { export const getTableDatas = (params) => { return WeaTools.callApi("/api/demo03/weatableDemo", "GET", params); }; +//获取日志列表 +export const getLogs = params => { + const payload = { + ...params, module: "hrsa", dataset: "dataset", authParams: "{}", transMethod: "hrsa", + showColums: "[{\"columName\":\"操作时间\",\"columIndex\":\"createdate\",\"width\":\"5%\"},{\"columName\":\"操作人\",\"columIndex\":\"operatorname\",\"width\":\"2%\"},{\"columName\":\"操作类型\",\"columIndex\":\"operatetypename\",\"width\":\"5%\"},{\"columName\":\"对象\",\"columIndex\":\"targetname\",\"width\":\"4%\"},{\"columName\":\"修改详情\",\"columIndex\":\"operatedesc\",\"width\":\"2%\"},{\"columName\":\"客户端IP\",\"columIndex\":\"clientip\",\"width\":\"5%\"}]" + }; + return postFetch("/api/bs/hrmsalary/elog/getLogs", payload); +}; +//获取单条操作记录的更新明细 +export const getDetailChanges = params => { + const payload = { + ...params, module: "hrsa", detailTransMethod: "elogDemoDetail" + }; + return postFetch("/api/bs/hrmsalary/elog/getDetailChanges", payload); +}; diff --git a/pc4mobx/hrmSalary/apis/standingBook.js b/pc4mobx/hrmSalary/apis/standingBook.js index 8cf772a5..c4ae0be0 100644 --- a/pc4mobx/hrmSalary/apis/standingBook.js +++ b/pc4mobx/hrmSalary/apis/standingBook.js @@ -43,7 +43,7 @@ export const inspectList = (params) => { }; //社会福利台账-删除正常缴纳人员 export const siaccountCommonDelete = (params) => { - return postFetch("/api/bs/hrmsalary/siaccount/common/delete", params); + return postFetch("/api/bs/hrmsalary/siaccount/supplementary/delete", params); }; //社会福利台账-添加正常缴纳人员 export const siaccountCommonSave = (params) => { diff --git a/pc4mobx/hrmSalary/components/logViewModal/components/detailLogView/index.js b/pc4mobx/hrmSalary/components/logViewModal/components/detailLogView/index.js new file mode 100644 index 00000000..f19e1c05 --- /dev/null +++ b/pc4mobx/hrmSalary/components/logViewModal/components/detailLogView/index.js @@ -0,0 +1,80 @@ +/* + * Author: 黎永顺 + * name: 日志查看-详情 + * Description: + * Date: 2024/1/25 + */ +import React, { Component } from "react"; +import { WeaDialog, WeaLocaleProvider, WeaTransfer } from "ecCom"; +import * as API from "../../../../apis"; + +const getLabel = WeaLocaleProvider.getLabel; +const WeaTransferList = WeaTransfer.list; + +class Index extends Component { + constructor(props) { + super(props); + this.state = { + dataSource: [], loading: false + }; + } + + componentWillReceiveProps(nextProps, nextContext) { + if (nextProps.visible !== this.props.visible && nextProps.visible) this.getDetailChanges(nextProps); + if (nextProps.visible !== this.props.visible && !nextProps.visible) this.setState({ + dataSource: [], + loading: false + }); + } + + getDetailChanges = (props) => { + const { mainid, logFunction } = props; + const payload = { function: logFunction, mainid }; + this.setState({ loading: true }); + API.getDetailChanges(payload).then(({ status, data }) => { + this.setState({ loading: false }); + if (status) { + this.setState({ + dataSource: _.map(data, (o, i) => ({ + ...o, index: i + 1, + valueschanges: _.map(o.valueschanges, (g, gi) => ({ id: gi + 1, name: g })) + })) + }); + } + }).catch(() => this.setState({ loading: false })); + }; + + render() { + const { dataSource } = this.state; + const scrollHeight = this.logDetailRef ? this.logDetailRef.state.height - 32 : 606.6; + return ( + this.logDetailRef = dom} + style={{ + width: 750, + height: 606.6, + minHeight: 200, + minWidth: 380, + maxHeight: "90%", + maxWidth: "90%", + overflow: "hidden", + transform: "translate(0px, 0px)" + }} + > +
+ { + _.map(dataSource, item => (!_.isEmpty(item.valueschanges) ? (
+
{it.id}
+
{it.name}
+
)} + height={scrollHeight} checkedCb={() => ({})} checkedKeys={[]} + /> :
{getLabel(111, "无数据变更记录")}
)) + } +
+
+ ); + } +} + +export default Index; diff --git a/pc4mobx/hrmSalary/components/logViewModal/config.js b/pc4mobx/hrmSalary/components/logViewModal/config.js new file mode 100644 index 00000000..f3b3189a --- /dev/null +++ b/pc4mobx/hrmSalary/components/logViewModal/config.js @@ -0,0 +1,88 @@ +import React from "react"; +import { WeaFormItem, WeaLocaleProvider, WeaSearchGroup, WeaTools } from "ecCom"; +import { WeaSwitch } from "comsMobx"; +import { Button } from "antd"; + +const getKey = WeaTools.getKey; +const getLabel = WeaLocaleProvider.getLabel; +export const logConditions = [ + { + items: [ + { + conditionType: "RANGEPICKER", + domkey: ["date"], + fieldcol: 18, + label: "操作时间", + lanId: 111, + labelcol: 6, + value: "", + viewAttr: 2 + }, + { + conditionType: "INPUT", + domkey: ["operator"], + fieldcol: 18, + label: "操作人", + lanId: 17482, + labelcol: 6, + value: "", + viewAttr: 2 + }, + { + conditionType: "INPUT", + domkey: ["targetname"], + fieldcol: 18, + label: "对象", + lanId: 106, + labelcol: 6, + value: "", + viewAttr: 2 + }, + { + conditionType: "INPUT", + domkey: ["operatetypename"], + fieldcol: 18, + label: "操作类型", + lanId: 111, + labelcol: 6, + value: "", + viewAttr: 2 + } + ], + defaultshow: true, + title: "" + } +]; + +export const renderLogSearchsForm = (form, condition, onSearch = () => void (0), onReset = () => void (0)) => { + const { isFormInit } = form; + const formParams = form.getFormParams(); + let group = []; + isFormInit && condition && condition.map(c => { + let items = []; + c.items.map(fields => { + items.push({ + com: ( + + + { + getKey(fields) === "operatetypename" && +
+ + +
+ } +
), + colSpan: 1 + }); + }); + group.push( + ); + }); + return group; +}; diff --git a/pc4mobx/hrmSalary/components/logViewModal/index.js b/pc4mobx/hrmSalary/components/logViewModal/index.js index d95ceb25..1867b765 100644 --- a/pc4mobx/hrmSalary/components/logViewModal/index.js +++ b/pc4mobx/hrmSalary/components/logViewModal/index.js @@ -1,99 +1,130 @@ -import React from 'react' -import { Button, Modal } from 'antd'; -import { WeaInput, WeaRangePicker, WeaTable} from 'ecCom' -import { logColumns, dataSource } from "../../common/columns" +/* + * Author: 黎永顺 + * name: 薪酬日志查看 + * Description: + * Date: 2024/1/24 + */ +import React, { Component } from "react"; +import { inject, observer } from "mobx-react"; +import { WeaDialog, WeaLocaleProvider, WeaTable } from "ecCom"; +import DetailLogView from "./components/detailLogView"; +import { logConditions, renderLogSearchsForm } from "./config"; +import * as API from "../../apis/index"; +import "./index.less"; -export default class LogViewModal extends React.Component { - constructor(props) { - super(props) - this.state ={ - value: "" - } +const getLabel = WeaLocaleProvider.getLabel; + +@inject("baseFormStore") +@observer +class Index extends Component { + constructor(props) { + super(props); + this.state = { + dataSource: [], columns: [], pageInfo: { current: 1, pageSize: 10, total: 0 }, + loading: false, conditions: [], logDetailDialog: { visible: false, title: "", logFunction: "", mainid: "" } + }; + } + + componentDidMount() { + const { baseFormStore: { form } } = this.props; + this.setState({ + conditions: _.map(logConditions, it => ({ + ...it, items: _.map(it.items, o => ({ ...o, label: getLabel(o.lanId, o.label) })) + })) + }, () => form.initFormFields(this.state.conditions)); + } + + componentWillReceiveProps(nextProps, nextContext) { + if (nextProps.visible !== this.props.visible && nextProps.visible) this.getLogs({}, nextProps); + if (nextProps.visible !== this.props.visible && !nextProps.visible) { + this.setState({ + dataSource: [], columns: [], pageInfo: { current: 0, pageSize: 10, total: 0 }, + loading: false + }); } - render() { - return ( - alert("ok")} onCancel={this.props.onCancel} - className="logViewModal" - style={{ top: 150 }} - width={'80%'} height={'50%'} - > -
-
-
操作时间
-
- this.setState({ value: v })} - /> -
-
-
-
操作人
-
- { - console.log(value); - this.setState({ value }); - }} - customBlur={v => { - console.log("custom blur", v); - }} - onFocus={v => console.log("focus", v)} - onBlur={v => console.log("blur", v)} - /> -
-
+ } -
-
对象
-
- { - console.log(value); - this.setState({ value }); - }} - customBlur={v => { - console.log("custom blur", v); - }} - onFocus={v => console.log("focus", v)} - onBlur={v => console.log("blur", v)} - /> -
-
+ getLogs = (extra = {}, props) => { + const { pageInfo } = this.state; + const { baseFormStore: { form }, logFunction, filterConditions } = props; + const payload = { + ...pageInfo, ...extra, searchMap: { ...form.getFormParams() }, + function: logFunction, showColums: "", filterConditions + }; + this.setState({ loading: true }); + API.getLogs(payload).then(({ status, data }) => { + this.setState({ loading: false }); + if (status) { + const { columns, list: dataSource, pageNum: current, pageSize, total } = data; + this.setState({ + pageInfo: { ...pageInfo, current, pageSize, total }, + dataSource, columns: _.map(columns, it => { + if (it.dataIndex === "operatedesc") { + return { + ...it, render: (__, record) => ( { + const { operatedesc: title, uuid: mainid } = record; + this.setState({ logDetailDialog: { visible: true, title, logFunction, mainid } }); + }}>{getLabel(33564, "查看")}) + }; + } + return { ...it }; + }) + }); + } + }).catch(() => this.setState({ loading: false })); + }; -
-
操作类型
-
- { - console.log(value); - this.setState({ value }); - }} - customBlur={v => { - console.log("custom blur", v); - }} - onFocus={v => console.log("focus", v)} - onBlur={v => console.log("blur", v)} - /> -
-
- -
- -
-
- -
- ) - } -} \ No newline at end of file + render() { + const { loading, dataSource, columns, pageInfo, conditions, logDetailDialog } = this.state; + const { baseFormStore: { form } } = this.props; + const pagination = { + ...pageInfo, + showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`, + showQuickJumper: true, + showSizeChanger: true, + pageSizeOptions: ["10", "20", "50", "100"], + onShowSizeChange: (current, pageSize) => { + this.setState({ + pageInfo: { ...pageInfo, current, pageSize } + }, () => this.getLogs({}, this.props)); + }, + onChange: current => { + this.setState({ + pageInfo: { ...pageInfo, current } + }, () => this.getLogs({}, this.props)); + } + }; + const scrollHeight = this.logRef ? this.logRef.state.height - 254 : 606.6; + return ( + this.logRef = dom} className="logDialog" initLoadCss + style={{ + width: 1150, + height: 606.6, + minHeight: 200, + minWidth: 380, + maxHeight: "90%", + maxWidth: "90%", + overflow: "hidden", + transform: "translate(0px, 0px)" + }} + > +
+ {renderLogSearchsForm(form, conditions, () => this.getLogs({ current: 1 }, this.props), () => { + form.resetForm(); + this.getLogs({ current: 1 }, this.props); + })} + + this.setState({ logDetailDialog: { ...logDetailDialog, visible: false } })}/> +
+
+ ); + } +} + +export default Index; diff --git a/pc4mobx/hrmSalary/components/logViewModal/index.less b/pc4mobx/hrmSalary/components/logViewModal/index.less new file mode 100644 index 00000000..1d54174f --- /dev/null +++ b/pc4mobx/hrmSalary/components/logViewModal/index.less @@ -0,0 +1,85 @@ +.logDialog { + .wea-dialog-body { + overflow-y: hidden; + } + + .logDialogContent { + background: #F6F6F6; + padding: 16px; + width: 100%; + height: 100%; + + .empty { + width: 100%; + display: flex; + height: 100%; + justify-content: center; + align-items: center; + background: #ffff; + } + + .wea-search-group { + padding: 0; + margin-bottom: 10px; + background: #FFF; + + .wea-form-cell { + padding: 0; + + .wea-form-item { + padding: 10px; + } + } + } + + .logTable { + background: #FFFFFF; + } + + .wea-transfer-list-wrapper { + border: none; + + .ant-tree-switcher { + display: none; + } + + .transfer-tree { + background: #FFF; + border: 1px solid #dadada; + padding: 0; + + & > li:not(:last-child) { + .detailBox .content { + border-bottom: 1px solid #dadada; + } + } + + & > li { + margin: 0 !important; + + .detailBox { + display: flex; + align-items: center; + + .order { + width: 35px; + color: #999; + text-align: center; + } + + .content { + position: relative; + flex: 1; + min-height: 40px; + line-height: 40px; + color: #000; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + } + } + } + } + } +} diff --git a/pc4mobx/hrmSalary/pages/adjustSalaryManage/index.js b/pc4mobx/hrmSalary/pages/adjustSalaryManage/index.js index e57ffa58..59b752f3 100644 --- a/pc4mobx/hrmSalary/pages/adjustSalaryManage/index.js +++ b/pc4mobx/hrmSalary/pages/adjustSalaryManage/index.js @@ -11,10 +11,10 @@ import { adjustRecordItemList } from "../../apis/adjustManage"; import AdvanceInputBtn from "./components/advanceInputBtn"; import AdjustAdvanceSearchPannel from "./components/adjustAdvanceSearchPannel"; import cs from "classnames"; -import { Button } from "antd"; -import "./index.less"; +import { Button, Dropdown, Menu } from "antd"; import { convertToUrlString } from "../../util/url"; - +import LogDialog from "../../components/logViewModal"; +import "./index.less"; const getLabel = WeaLocaleProvider.getLabel; @@ -25,7 +25,8 @@ class Index extends Component { super(props); this.state = { loading: false, columns: [], dataSource: [], showSearchAd: false, - pageInfo: { current: 1, pageSize: 10, total: 0 } + pageInfo: { current: 1, pageSize: 10, total: 0 }, logDialogVisible: false, + filterConditions: "[]" }; } @@ -57,12 +58,26 @@ class Index extends Component { const { columns, list: dataSource, pageNum, pageSize, total } = data; this.setState({ dataSource, pageInfo: { ...pageInfo, pageNum, pageSize, total }, - columns: _.map(columns, o => { + columns: [..._.map(columns, o => { if (o.dataIndex === "username") { return { ...o, width: 150, fixed: "left" }; } return { ...o, width: 150 }; - }) + }), { + dataIndex: "options", title: getLabel(30585, "操作"), + width: 120, render: (_, record) => ( + + + this.onDropMenuClick("log", record.id)}>{getLabel(545781, "操作日志")} + + + }> + + ) + }] }); } }).catch(() => this.setState({ loading: false })); @@ -88,9 +103,21 @@ class Index extends Component { } this.handleDebounce(); }; + onDropMenuClick = (key, targetid = "") => { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; render() { - const { loading, dataSource, columns, pageInfo, showSearchAd } = this.state; + const { loading, dataSource, columns, pageInfo, showSearchAd, logDialogVisible, filterConditions } = this.state; const pagination = { ...pageInfo, showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`, @@ -111,11 +138,17 @@ class Index extends Component { return ( } iconBgcolor="#F14A2D" + icon={} iconBgcolor="#F14A2D" showDropIcon buttons={[ , this.openAdvanceSearch()} onAdvanceSearch={this.adjustRecordItemList}/> + ]} onDropMenuClick={this.onDropMenuClick} + dropMenuDatas={[ + { + key: "log", icon: , + content: getLabel(545781, "操作日志") + } ]} >
@@ -129,6 +162,9 @@ class Index extends Component { dataSource={dataSource} loading={loading} pagination={pagination} columns={columns} /> + {/*操作日志*/} + this.setState({ logDialogVisible: false })}/> ); } diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/conditions.js b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/conditions.js index fe2554e4..080dd0e4 100644 --- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/conditions.js +++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/conditions.js @@ -27,7 +27,10 @@ export const condition = [ labelcol: 6, options: [], rules: "required|string", - viewAttr: 3 + viewAttr: 3, + otherParams: { + showSearch: true, optionFilterProp: "children" + } }, { colSpan: 1, diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js index dc89547d..17a73140 100644 --- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js +++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/employeeDetails.js @@ -52,10 +52,14 @@ class EmployeeDetails extends Component { columns: [...columns, { title: "操作", dataIndex: "operate", - width: 80, + width: 120, render: (_, record) => { - return {getLabel(111, "查看")}; + return + {getLabel(111, "查看")} + this.props.onFilterLog("log", record.id)}>{getLabel(545781, "操作日志")} + ; } }] }); diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/reportList.js b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/reportList.js index ba66eec2..dccae63f 100644 --- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/reportList.js +++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/reportList.js @@ -44,6 +44,8 @@ class ReportList extends Component { message.error(errormsg); } }); + } else if (key === "log") { + this.props.onFilterLog(key, id); } }; reportStatisticsReportDelete = (payload) => { @@ -106,6 +108,7 @@ class ReportList extends Component { {getLabel(111, "编辑")} {getLabel(77, "复制")} {getLabel(111, "删除")} + {getLabel(545781, "操作日志")} }> diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/statisticsModal.js b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/statisticsModal.js index 1f333b7c..d80b2877 100644 --- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/statisticsModal.js +++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/components/statisticsModal.js @@ -20,6 +20,14 @@ class StatisticsModal extends Component { }; } + componentWillReceiveProps(nextProps, nextContext) { + if (nextProps.visible !== this.props.visible && nextProps.visible) { + document.querySelector(".xc_tj_fx_wrapper").classList.add("zIndex0-statistics"); + } else if (nextProps.visible !== this.props.visible && !nextProps.visible) { + document.querySelector(".xc_tj_fx_wrapper").classList.remove("zIndex0-statistics"); + } + } + handleSaveReportList = () => { const { form, id, onCancel } = this.props; form.validateForm().then(f => { diff --git a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.js b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.js index f9a073e5..3666ec39 100644 --- a/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.js +++ b/pc4mobx/hrmSalary/pages/analysisOfSalaryStatistics/index.js @@ -19,6 +19,7 @@ import ReportList from "./components/reportList"; import ReportForm from "./components/reportForm"; import moment from "moment"; import "./index.less"; +import LogDialog from "../../components/logViewModal"; const { getLabel } = WeaLocaleProvider; @@ -41,7 +42,8 @@ class Index extends Component { modalReq: { title: "", visible: false, typeKey: "", id: "" - } + }, + logDialogVisible: false, filterConditions: "[]" }; } @@ -243,10 +245,25 @@ class Index extends Component { initTable && this.dimensionTableRef.dimensionList(); }); }; + onDropMenuClick = (key, targetid = "") => { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; render() { const { taxAgentStore: { statisticsReportBtn }, attendanceStore: { statisticsForm, reportForm } } = this.props; - const { selectedKey, modalReq, slideReq, conditions, reportConditions, reportName, keyword, year } = this.state; + const { + selectedKey, modalReq, slideReq, conditions, reportConditions, + reportName, keyword, year, logDialogVisible, filterConditions + } = this.state; const buttons = selectedKey === "statistics" ? [ , , - ] : []; + ] : [ + , + this.setState({ fieldName })} + onSearch={() => this.fieldMangRef.getAttendanceFieldList({ fieldName, current: 1 })}/> + ]; return (
- this.setState({ selectedKey: v })} - searchsBaseValue={fieldName} onSearchChange={fieldName => this.setState({ fieldName })} - onSearch={() => this.fieldMangRef.getAttendanceFieldList({ fieldName, current: 1 })} - /> - { - selectedKey === "DATA" && this.getAttendanceDataScreen() - } -
- + } iconBgcolor="#F14A2D" + tabDatas={topTab} selectedKey={selectedKey} buttons={showOperateBtn ? buttons : []} + onChange={v => this.setState({ selectedKey: v })} title={getLabel(525196, "考勤数据")} + showDropIcon onDropMenuClick={this.onDropMenuClick} + dropMenuDatas={[ { - selectedKey === "DATA" ? - this.attendanceTableRef = dom} - showOperateBtn={showOperateBtn} - salaryYearMonth={salaryMonth} - /> : - this.fieldMangRef = dom} - showOperateBtn={showOperateBtn} - fieldName={fieldName} - /> + key: "log", icon: , + content: getLabel(545781, "操作日志") } - -
+ ]} + > + { + selectedKey === "DATA" && this.getAttendanceDataScreen() + } +
+ + { + selectedKey === "DATA" ? + this.attendanceTableRef = dom} + showOperateBtn={showOperateBtn} + salaryYearMonth={salaryMonth} + onFilterLog={(type, targetid) => this.onDropMenuClick(type, targetid)} + /> : + this.fieldMangRef = dom} + showOperateBtn={showOperateBtn} + fieldName={fieldName} + onFilterLog={(type, targetid) => this.onDropMenuClick(type, targetid)} + /> + } + +
+ {/*操作日志*/} + this.setState({ logDialogVisible: false })} filterConditions={filterConditions}/> +
); } diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/index.less b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/index.less index 6e4af33c..e4dae347 100644 --- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/index.less +++ b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/index.less @@ -14,6 +14,8 @@ .tableWrapper { flex: 1; overflow: hidden; + background: #FFF; + margin: 16px; } .linkWapper { @@ -23,6 +25,12 @@ } } +.zIndex0-attendance { + .wea-new-top-req { + z-index: 0 !important; + } +} + .attendenceImportWrapper { .wea-dialog-body { diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js b/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js index 085f5756..5c3658fb 100644 --- a/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js +++ b/pc4mobx/hrmSalary/pages/dataAcquisition/cumDeduct/index.js @@ -66,7 +66,8 @@ class Index extends Component { }, exportPayloadUrl: "", exportPayloadType: false, - advanceCondition: null + advanceCondition: null, + targetid: "" }; this.tableRef = null; this.addItemRef = null; @@ -358,7 +359,7 @@ class Index extends Component { const { id } = record; key === "handleAddData" ? getAddUpDeduction({ id }).then(({ status, data }) => { if (status) this[key]("编辑", data); - }) : this[key](record); + }) : key === "log" ? this.setState({ targetid: id }) : this[key](record); }; handleCloseSlide = () => { const { slidePayload } = this.state; @@ -540,7 +541,7 @@ class Index extends Component { const { taxAgentStore: { showOperateBtn }, cumDeductStore: { form } } = this.props; const { declareMonth, taxAgentId, slidePayload, saveLoading, exportPayloadUrl, advanceCondition, - importPayload, exportPayloadType + importPayload, exportPayloadType, targetid } = this.state; const tablePayload = { declareMonth: [declareMonth], taxAgentId }; return ( @@ -548,11 +549,12 @@ class Index extends Component { onResizeWindowInnerWidth={this.handleResize} slidePayload={slidePayload} onClose={this.handleCloseSlide} onSave={this.handleSaveData} slideLoading={saveLoading} exportPayloadUrl={exportPayloadUrl} - exportPayloadType={exportPayloadType} + exportPayloadType={exportPayloadType} logFunction="addupdeduction" form={form} condition={advanceCondition} onAdSearch={this.handleAdSearch} onImportSetStep={this.handleImportSetStep} onCancel={this.handleCloseImport} importPayload={importPayload} onImportFile={this.handleImportFile} onPreviewImport={this.handlePreviewImport} detailOptBtns={this.getDetailOptBtns()} + targetid={targetid} onClearTargrtid={() => this.setState({ targetid: "" })} columns={modalColumns} > { if (status) this[key]("编辑", data); - }) : this.deleteSelectAddUpSituation(record); + }) : key === "log" ? this.setState({ targetid: id }) : this.deleteSelectAddUpSituation(record); }; /* * Author: 黎永顺 @@ -544,7 +545,7 @@ class Index extends Component { const { taxAgentStore: { showOperateBtn }, cumSituationStore: { form } } = this.props; const { declareMonth, taxAgentId, slidePayload, saveLoading, exportPayloadUrl, advanceCondition, - importPayload, year, exportPayloadType + importPayload, year, exportPayloadType, targetid } = this.state; const tablePayload = { taxYearMonth: `${year}-${declareMonth}`, year, taxAgentId }; return ( @@ -552,13 +553,13 @@ class Index extends Component { onResizeWindowInnerWidth={this.handleResize} slidePayload={slidePayload} onClose={this.handleCloseSlide} onSave={this.handleSaveData} slideLoading={saveLoading} exportPayloadUrl={exportPayloadUrl} - exportPayloadType={exportPayloadType} + exportPayloadType={exportPayloadType} logFunction="addupsituation" form={form} condition={advanceCondition} onAdSearch={this.handleAdSearch} onImportSetStep={this.handleImportSetStep} onCancel={this.handleCloseImport} importPayload={{ ...importPayload, importOpts: { taxYearMonth: importPayload.importOpts.declareMonth } }} - onImportFile={this.handleImportFile} + onImportFile={this.handleImportFile} columns={situationModalColumns} onPreviewImport={this.handlePreviewImport} detailOptBtns={this.getDetailOptBtns()} - columns={situationModalColumns} + targetid={targetid} onClearTargrtid={() => this.setState({ targetid: "" })} > this.tableRef = dom} diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/dataTables.js b/pc4mobx/hrmSalary/pages/dataAcquisition/dataTables.js index de207b22..742c7894 100644 --- a/pc4mobx/hrmSalary/pages/dataAcquisition/dataTables.js +++ b/pc4mobx/hrmSalary/pages/dataAcquisition/dataTables.js @@ -8,6 +8,9 @@ import React, { Component } from "react"; import UnifiedTable from "../../components/UnifiedTable"; import { getTableDate } from "../../apis/cumDeduct"; import { Menu, Popover } from "antd"; +import { WeaLocaleProvider } from "ecCom"; + +const getLabel = WeaLocaleProvider.getLabel; class DataTables extends Component { constructor(props) { @@ -118,6 +121,7 @@ class DataTables extends Component { placement="bottomRight" content={ onTableOperate(e, record)}> 删除 + {getLabel(545781, "操作日志")} } title=""> @@ -132,8 +136,19 @@ class DataTables extends Component { onTableOperate({ key: "handleAddData" }, record)}>编辑 - onTableOperate({ key: "deleteSelectAddUpDeduction" }, record)}>删除 + { + showOperateBtn && + onTableOperate(e, record)}> + {getLabel(545781, "操作日志")} + } title=""> + + + } } diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/layout.js b/pc4mobx/hrmSalary/pages/dataAcquisition/layout.js index 4c421d60..587f2785 100644 --- a/pc4mobx/hrmSalary/pages/dataAcquisition/layout.js +++ b/pc4mobx/hrmSalary/pages/dataAcquisition/layout.js @@ -7,11 +7,14 @@ import React, { Component } from "react"; import { inject, observer } from "mobx-react"; import { toJS } from "mobx"; -import { WeaNewScroll, WeaSlideModal, WeaTab, WeaTop } from "ecCom"; +import { WeaLocaleProvider, WeaNewScroll, WeaSlideModal, WeaTab, WeaTop } from "ecCom"; import ImportModal from "../../components/importModal"; import SlideModalTitle from "../../components/slideModalTitle"; import { getSearchs } from "../../util"; import "./index.less"; +import LogDialog from "../../components/logViewModal"; + +const getLabel = WeaLocaleProvider.getLabel; @inject("taxAgentStore") @observer @@ -19,7 +22,7 @@ class Layout extends Component { constructor(props) { super(props); this.state = { - showSearchAd: false + showSearchAd: false, logDialogVisible: false, filterConditions: "[]" }; } @@ -39,6 +42,15 @@ class Layout extends Component { */ window.open(nextProps.exportPayloadUrl, "_self"); } + if (nextProps.targetid !== this.props.targetid && nextProps.targetid) { + /* + * Author: 黎永顺 + * Description:操作日志 + * Params: + * Date: 2023/2/20 + */ + this.onDropMenuClick("log", nextProps.targetid); + } } componentWillUnmount() { @@ -49,14 +61,26 @@ class Layout extends Component { const { onResizeWindowInnerWidth } = this.props; onResizeWindowInnerWidth(window.innerWidth); }; + onDropMenuClick = (key, targetid = "") => { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; render() { - const { showSearchAd } = this.state; + const { showSearchAd, logDialogVisible, filterConditions } = this.state; const { title, btns, leftComp, children, taxAgentStore: { showOperateBtn }, slidePayload, onClose, onSave, slideLoading, form, condition, onAdSearch, onCancel, importPayload, onImportSetStep, onImportFile, - onPreviewImport, detailOptBtns, columns + onPreviewImport, detailOptBtns, columns, logFunction, onClearTargrtid } = this.props; const { visible, title: subtitle, children: slideChildren } = slidePayload; const { @@ -66,8 +90,14 @@ class Layout extends Component { return (
} - iconBgcolor="#F14A2D" showDropIcon={false} + icon={} iconBgcolor="#F14A2D" + showDropIcon onDropMenuClick={this.onDropMenuClick} + dropMenuDatas={[ + { + key: "log", icon: , + content: getLabel(545781, "操作日志") + } + ]} /> + {/*操作日志*/} + this.setState({ logDialogVisible: false }, () => onClearTargrtid())}/>
); diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/otherDeduct/index.js b/pc4mobx/hrmSalary/pages/dataAcquisition/otherDeduct/index.js index 7f843623..208534b0 100644 --- a/pc4mobx/hrmSalary/pages/dataAcquisition/otherDeduct/index.js +++ b/pc4mobx/hrmSalary/pages/dataAcquisition/otherDeduct/index.js @@ -64,7 +64,8 @@ class Index extends Component { }, exportPayloadUrl: "", exportPayloadType: false, - advanceCondition: null + advanceCondition: null, + targetid: "" }; this.tableRef = null; this.addItemRef = null; @@ -190,7 +191,7 @@ class Index extends Component { const { id } = record; key === "handleAddData" ? getData({ id }).then(({ status, data }) => { if (status) this[key]("编辑", data); - }) : this.deleteSelectData(record); + }) : key === "log" ? this.setState({ targetid: id }) : this.deleteSelectData(record); }; /* * Author: 黎永顺 @@ -538,7 +539,7 @@ class Index extends Component { const { taxAgentStore: { showOperateBtn }, otherDeductStore: { form } } = this.props; const { declareMonth, taxAgentId, slidePayload, saveLoading, exportPayloadUrl, advanceCondition, - importPayload, exportPayloadType + importPayload, exportPayloadType, targetid } = this.state; const tablePayload = { declareMonth: [declareMonth], taxAgentId }; return ( @@ -546,11 +547,12 @@ class Index extends Component { onResizeWindowInnerWidth={this.handleResize} slidePayload={slidePayload} onClose={this.handleCloseSlide} onSave={this.handleSaveData} slideLoading={saveLoading} exportPayloadUrl={exportPayloadUrl} - exportPayloadType={exportPayloadType} + exportPayloadType={exportPayloadType} logFunction="otherdeduction" form={form} condition={advanceCondition} onAdSearch={this.handleAdSearch} onImportSetStep={this.handleImportSetStep} onCancel={this.handleCloseImport} importPayload={importPayload} onImportFile={this.handleImportFile} onPreviewImport={this.handlePreviewImport} detailOptBtns={this.getDetailOptBtns()} + targetid={targetid} onClearTargrtid={() => this.setState({ targetid: "" })} columns={otherModalColumns} > { if (status) this[key]("编辑", data); - }) : this.specialAddDeductionDeleteSelectData(record); + }) : key === "log" ? this.setState({ targetid: id }) : this.specialAddDeductionDeleteSelectData(record); }; handleCloseSlide = () => { const { slidePayload } = this.state; @@ -449,7 +450,7 @@ class Index extends Component { const { taxAgentStore: { showOperateBtn }, specialAddStore: { advanceForm } } = this.props; const { taxAgentId, slidePayload, saveLoading, exportPayloadUrl, advanceCondition, importPayload, - exportPayloadType + exportPayloadType, targetid } = this.state; const tablePayload = { taxAgentId }; return ( @@ -457,11 +458,12 @@ class Index extends Component { onResizeWindowInnerWidth={this.handleResize} slidePayload={slidePayload} onClose={this.handleCloseSlide} onSave={this.handleSaveData} slideLoading={saveLoading} exportPayloadUrl={exportPayloadUrl} - exportPayloadType={exportPayloadType} + exportPayloadType={exportPayloadType} logFunction="specialAddDeduction" form={advanceForm} condition={advanceCondition} onAdSearch={this.handleAdSearch} onImportSetStep={this.handleImportSetStep} onCancel={this.handleCloseImport} importPayload={importPayload} onImportFile={this.handleImportFile} onPreviewImport={this.handlePreviewImport} detailOptBtns={[]} + targetid={targetid} onClearTargrtid={() => this.setState({ targetid: "" })} columns={specialModalColumns} > {getLabel(83110, "查看详情")} + { + !showWithDrawBtn && this.props.onFilterLog("log", record.id)}>{getLabel(545781, "操作日志")} + } { showWithDrawBtn && } + { + showWithDrawBtn && + + this.props.onFilterLog("log", record.id)}>{getLabel(545781, "操作日志")} + + + }> + + + } ; } } diff --git a/pc4mobx/hrmSalary/pages/declare/declare.js b/pc4mobx/hrmSalary/pages/declare/declare.js index f524c784..dfdc681e 100644 --- a/pc4mobx/hrmSalary/pages/declare/declare.js +++ b/pc4mobx/hrmSalary/pages/declare/declare.js @@ -12,6 +12,7 @@ import moment from "moment"; import DeclareQuery from "./components/declareQuery"; import DeclareTablelist from "./components/declareTablelist"; import DeclareDialog from "./components/declareDialog"; +import LogDialog from "../../components/logViewModal"; import "./index.less"; const getLabel = WeaLocaleProvider.getLabel; @@ -25,11 +26,12 @@ class Calculate extends Component { queryParams: { taxAgentName: "", dateRange: [ - moment(new Date()).subtract(1, 'year').startOf("year").format("YYYY-MM"), + moment(new Date()).subtract(1, "year").startOf("year").format("YYYY-MM"), moment(new Date()).endOf("year").format("YYYY-MM") ] }, isRefresh: false, - declareDaialog: { visible: false, title: "" } + declareDaialog: { visible: false, title: "" }, + logDialogVisible: false, filterConditions: "[]" }; this.handleDebounce = null; } @@ -57,21 +59,41 @@ class Calculate extends Component { ]; return !showOperateBtn ? calculateOpts.slice(1) : calculateOpts; }; + onDropMenuClick = (key, targetid = "") => { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; render() { - const { queryParams, isRefresh, declareDaialog } = this.state; + const { queryParams, isRefresh, declareDaialog, logDialogVisible, filterConditions } = this.state; return ( } iconBgcolor="#F14A2D" - buttons={this.renderCalculateOpts()} className="declare-main-layout" - > + buttons={this.renderCalculateOpts()} className="declare-main-layout" showDropIcon + onDropMenuClick={this.onDropMenuClick} dropMenuDatas={[{ + key: "log", icon: , + content: getLabel(545781, "操作日志") + } + ]}>
- + this.onDropMenuClick(type, targetid)}/> this.setState({ declareDaialog: { ...declareDaialog, visible: false }, isRefresh: bool === "refresh" ? !isRefresh : isRefresh })} /> + {/*操作日志*/} + this.setState({ logDialogVisible: false })}/>
); diff --git a/pc4mobx/hrmSalary/pages/externalPersonManage/index.js b/pc4mobx/hrmSalary/pages/externalPersonManage/index.js index 4ba1ed22..6ccce9c0 100644 --- a/pc4mobx/hrmSalary/pages/externalPersonManage/index.js +++ b/pc4mobx/hrmSalary/pages/externalPersonManage/index.js @@ -9,11 +9,12 @@ import { inject, observer } from "mobx-react"; import { WeaHelpfulTip, WeaLocaleProvider, WeaTab, WeaTable, WeaTop } from "ecCom"; import ExternalPersonManageEditSlide from "./components/externalPersonManageEditSlide"; import ExternalPersonImport from "./components/externalPersonImport"; -import { Button, message, Modal } from "antd"; +import { Button, Dropdown, Menu, message, Modal } from "antd"; import { getSearchs } from "../../util"; import { condition, searchCondition } from "./conditions"; import { deleteExtEmp, listPage } from "../../apis/externalPersonManage"; import "./index.less"; +import LogDialog from "../../components/logViewModal"; const getLabel = WeaLocaleProvider.getLabel; @@ -23,7 +24,7 @@ class Index extends Component { constructor(props) { super(props); this.state = { - loading: false, + loading: false, logDialogVisible: false, filterConditions: "[]", selectedRowKeys: [], pageInfo: { current: 1, pageSize: 10, total: 0 }, showSearchAd: false, @@ -103,10 +104,22 @@ class Index extends Component { } })); }; + onDropMenuClick = (key, targetid = "") => { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; render() { const { - showSearchAd, externalPersonManagePayload, loading, + showSearchAd, externalPersonManagePayload, loading, logDialogVisible, filterConditions, pageInfo, selectedRowKeys, dataSource, externalPersonImportPayload } = this.state; const { @@ -136,7 +149,13 @@ class Index extends Component {
} - iconBgcolor="#F14A2D" showDropIcon={false} + iconBgcolor="#F14A2D" showDropIcon onDropMenuClick={this.onDropMenuClick} + dropMenuDatas={[ + { + key: "log", icon: , + content: getLabel(545781, "操作日志") + } + ]} > + {/*操作日志*/} + this.setState({ logDialogVisible: false })}/>
); diff --git a/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldTable.js b/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldTable.js index 87af593d..ad3cd14a 100644 --- a/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldTable.js +++ b/pc4mobx/hrmSalary/pages/fieldManagement/components/fieldTable.js @@ -5,11 +5,13 @@ * Date: 2023/1/19 */ import React, { Component } from "react"; -import { WeaTable } from "ecCom"; +import { WeaLocaleProvider, WeaTable } from "ecCom"; import { inject, observer } from "mobx-react"; -import { Switch } from "antd"; +import { Dropdown, Menu, Switch } from "antd"; import { salaryFieldList } from "../../../apis/fieldManage"; +const getLabel = WeaLocaleProvider.getLabel; + @inject("taxAgentStore") @observer class FieldTable extends Component { @@ -75,6 +77,17 @@ class FieldTable extends Component { record.canDelete && (showSalaryItemBtn || showOperateBtn) && onDeleteLedger(record)}>删除 } + + + this.props.onFilterLog("log", record.id)}>{getLabel(545781, "操作日志")} + + + }> + + ; }; } else { diff --git a/pc4mobx/hrmSalary/pages/fieldManagement/index.js b/pc4mobx/hrmSalary/pages/fieldManagement/index.js index 0e6564d9..65da711e 100644 --- a/pc4mobx/hrmSalary/pages/fieldManagement/index.js +++ b/pc4mobx/hrmSalary/pages/fieldManagement/index.js @@ -7,20 +7,22 @@ import React, { Component } from "react"; import { inject, observer } from "mobx-react"; import { Button, message, Modal } from "antd"; -import { WeaInputSearch, WeaTop } from "ecCom"; +import { WeaInputSearch, WeaLocaleProvider, WeaTop } from "ecCom"; import FieldTable from "./components/fieldTable"; import FieldSlide from "./components/fieldSlide"; import { deleteSalaryField } from "../../apis/fieldManage"; +import LogDialog from "../../components/logViewModal"; import "./index.less"; +const getLabel = WeaLocaleProvider.getLabel; + @inject("taxAgentStore") @observer class FieldManagement extends Component { constructor(props) { super(props); this.state = { - searchVal: "", - doSearch: false, + searchVal: "", doSearch: false, logDialogVisible: false, filterConditions: "[]", slideparams: { visible: false, title: "新建字段", @@ -67,9 +69,21 @@ class FieldManagement extends Component { } }); }; + onDropMenuClick = (key, targetid = "") => { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; render() { - const { searchVal, doSearch, slideparams } = this.state; + const { searchVal, doSearch, slideparams, logDialogVisible, filterConditions } = this.state; const { taxAgentStore } = this.props; const { showSalaryItemBtn, showOperateBtn } = taxAgentStore; const btns = [ @@ -85,15 +99,21 @@ class FieldManagement extends Component { ]; return ( } - iconBgcolor="#F14A2D" - showDropIcon={false} + title="字段管理" icon={} iconBgcolor="#F14A2D" buttons={(showSalaryItemBtn || showOperateBtn) ? btns : btns.slice(-1)} + showDropIcon onDropMenuClick={this.onDropMenuClick} + dropMenuDatas={[ + { + key: "log", icon: , + content: getLabel(545781, "操作日志") + } + ]} >
this.handleDeleteField([record.id])}/> + onDeleteLedger={(record) => this.handleDeleteField([record.id])} + onFilterLog={(type, targetid) => this.onDropMenuClick(type, targetid)} + /> this.setState({ @@ -105,6 +125,9 @@ class FieldManagement extends Component { onCancel={this.handleResetField} onRefreshList={() => this.setState({ doSearch: !doSearch })} /> + {/*操作日志*/} + this.setState({ logDialogVisible: false })}/>
); diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerTable.js b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerTable.js index 9f842e24..68f24fde 100644 --- a/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerTable.js +++ b/pc4mobx/hrmSalary/pages/ledgerPage/components/ledgerTable.js @@ -5,13 +5,15 @@ * Date: 2022/12/7 */ import React, { Component } from "react"; -import { WeaCheckbox, WeaTable } from "ecCom"; +import { WeaCheckbox, WeaLocaleProvider, WeaTable } from "ecCom"; import { inject, observer } from "mobx-react"; import { Menu, message, Modal, Popover } from "antd"; import { changeLedgerStatus, deleteLedger, getLedgerList } from "../../../apis/ledger"; import CopyLedgerModal from "./copyLedgerModal"; import "./index.less"; +const getLabel = WeaLocaleProvider.getLabel; + @inject("taxAgentStore", "ledgerStore") @observer class LedgerTable extends Component { @@ -91,6 +93,7 @@ class LedgerTable extends Component { placement="bottomRight" content={ this.handleMenuClick(e, record)}> 删除 + {getLabel(545781, "操作日志")} } title=""> @@ -161,6 +164,9 @@ class LedgerTable extends Component { } }); break; + case "log": + this.props.onFilterLog(key, id); + break; default: break; } diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/index.js b/pc4mobx/hrmSalary/pages/ledgerPage/index.js index c9246477..d053ae3b 100644 --- a/pc4mobx/hrmSalary/pages/ledgerPage/index.js +++ b/pc4mobx/hrmSalary/pages/ledgerPage/index.js @@ -6,21 +6,23 @@ */ import React, { Component } from "react"; import { inject, observer } from "mobx-react"; -import { WeaTop } from "ecCom"; +import { WeaLocaleProvider, WeaTop } from "ecCom"; import { Button } from "antd"; import LedgerTable from "./components/ledgerTable"; import LedgerSlide from "./components/ledgerSlide"; import LedgerSearchComp from "./components/ledgerSearchComp"; +import LogDialog from "../../components/logViewModal"; import "./index.less"; +const getLabel = WeaLocaleProvider.getLabel; + @inject("taxAgentStore") @observer class Index extends Component { constructor(props) { super(props); this.state = { - searchVal: "", - doSearch: false, + searchVal: "", doSearch: false, logDialogVisible: false, filterConditions: "[]", slideparams: { visible: false, title: "新建账套", @@ -51,9 +53,21 @@ class Index extends Component { } }); }; + onDropMenuClick = (key, targetid = "") => { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; render() { - const { searchVal, doSearch, slideparams } = this.state; + const { logDialogVisible, filterConditions, doSearch, slideparams } = this.state; const { taxAgentStore } = this.props; const { showOperateBtn } = taxAgentStore; const btns = [ @@ -65,19 +79,27 @@ class Index extends Component { ]; return ( } - iconBgcolor="#F14A2D" - showDropIcon={false} + title="薪资账套" className="ledgerOuter" icon={} iconBgcolor="#F14A2D" buttons={showOperateBtn ? btns : btns.slice(-1)} + showDropIcon onDropMenuClick={this.onDropMenuClick} + dropMenuDatas={[ + { + key: "log", icon: , + content: getLabel(545781, "操作日志") + } + ]} >
- + this.onDropMenuClick(type, targetid)}/> this.setState({ doSearch: !doSearch })} /> + {/*操作日志*/} + this.setState({ logDialogVisible: false })}/>
); diff --git a/pc4mobx/hrmSalary/pages/ledgerPage/index.less b/pc4mobx/hrmSalary/pages/ledgerPage/index.less index 36f3ec2b..2fc10db7 100644 --- a/pc4mobx/hrmSalary/pages/ledgerPage/index.less +++ b/pc4mobx/hrmSalary/pages/ledgerPage/index.less @@ -1,7 +1,7 @@ .ledgerOuter { .wea-new-top { .ant-col-10 { - span:nth-child(2) { + & > span:nth-child(2) { margin-top: -6px; } } diff --git a/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/payrollTable/index.js b/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/payrollTable/index.js index 4c882560..4e746a70 100644 --- a/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/payrollTable/index.js +++ b/pc4mobx/hrmSalary/pages/mySalaryBenefits/components/payrollTable/index.js @@ -6,6 +6,7 @@ */ import React, { Component } from "react"; import { WeaLocaleProvider, WeaTable } from "ecCom"; +import { Dropdown, Menu } from "antd"; import { mySalaryBillList, mySalaryBillList4Card } from "../../../../apis/mySalaryBenefits"; import moment from "moment"; @@ -83,9 +84,22 @@ class Index extends Component { dataIndex: "options", title: getLabel(30585, "操作"), width: 120, - render: (_, record) => ({getLabel(33564, "查看")}) + render: (_, record) => ( + {getLabel(33564, "查看")} + + + this.props.onFilterLog("log", record.id)}>{getLabel(545781, "操作日志")} + + + }> + + + ) }]} /> ); diff --git a/pc4mobx/hrmSalary/pages/mySalaryBenefits/index.js b/pc4mobx/hrmSalary/pages/mySalaryBenefits/index.js index 7f8a1678..a955b423 100644 --- a/pc4mobx/hrmSalary/pages/mySalaryBenefits/index.js +++ b/pc4mobx/hrmSalary/pages/mySalaryBenefits/index.js @@ -11,6 +11,7 @@ import SalaryAdjustmentRecords from "./components/SalaryAdjustmentRecords"; import { MonthRangePicker } from "../reportView/components/statisticalMicroSettingsSlide"; import Authority from "../mySalary/authority"; import * as API from "../../apis/ruleconfig"; +import LogDialog from "../../components/logViewModal"; import moment from "moment"; import "./index.less"; @@ -21,6 +22,7 @@ class Index extends Component { super(props); this.state = { selectedKey: "0", sysinfo: {}, tabs: [], store: { loading: false, hasRight: false }, + logDialogVisible: false, filterConditions: "[]", salaryYearMonth: [ moment().subtract(1, "year").startOf("year").format("YYYY-MM"), moment().endOf("year").format("YYYY-MM") @@ -51,7 +53,8 @@ class Index extends Component { let Dom = null; switch (selectedKey) { case "1": - Dom = ; + Dom = this.onDropMenuClick(type, targetid)}/>; break; case "2": Dom = ; @@ -61,9 +64,21 @@ class Index extends Component { } return Dom; }; + onDropMenuClick = (key, targetid = "") => { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; render() { - const { selectedKey, salaryYearMonth, tabs } = this.state; + const { selectedKey, salaryYearMonth, tabs, logDialogVisible, filterConditions } = this.state; const btns = [
{getLabel(542604, "薪资所属月")}
@@ -71,6 +86,7 @@ class Index extends Component { onChange={v => this.setState({ salaryYearMonth: v })}/>
]; + const logFunction = selectedKey === "1" ? "mysalarybill" : "myadjustrecord"; return ( @@ -79,8 +95,18 @@ class Index extends Component { iconBgcolor="#F14A2D" tabDatas={tabs} className="mySalary_wrapper" buttons={selectedKey === "1" ? btns : []} buttonSpace={10} selectedKey={selectedKey} onChange={selectedKey => this.setState({ selectedKey })} + showDropIcon onDropMenuClick={this.onDropMenuClick} + dropMenuDatas={[ + { + key: "log", icon: , + content: getLabel(545781, "操作日志") + } + ]} > {this.renderContent()} + {/*操作日志*/} + this.setState({ logDialogVisible: false })}/> ); diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js index bf3cfc17..90c6938c 100644 --- a/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js +++ b/pc4mobx/hrmSalary/pages/payrollFiles/components/salaryFileList/index.js @@ -109,6 +109,9 @@ class Index extends Component { } }); break; + case "log": + this.props.onFilterLog(id, params.record.id); + break; default: break; } @@ -143,7 +146,8 @@ class Index extends Component { "删除待办": getLabel(543181, "删除待办"), "查看": getLabel(33564, "查看"), "取消停薪": getLabel(543309, "取消停薪"), "共": getLabel(18609, "共"), "条": getLabel(18256, "条"), "设为发薪人员": getLabel(543308, "设为发薪人员"), - "停薪": getLabel(542692, "停薪"), "编辑": getLabel(501169, "编辑") + "停薪": getLabel(542692, "停薪"), "编辑": getLabel(501169, "编辑"), + "操作日志": getLabel(545781, "操作日志") }; const childFrameObj = document.getElementById("atdTable"); childFrameObj.contentWindow.postMessage(JSON.stringify({ ...payload, i18n }), "*"); diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/config/index.js b/pc4mobx/hrmSalary/pages/payrollFiles/config/index.js index 360b03bf..ffd98075 100644 --- a/pc4mobx/hrmSalary/pages/payrollFiles/config/index.js +++ b/pc4mobx/hrmSalary/pages/payrollFiles/config/index.js @@ -115,6 +115,10 @@ export const renderDropMenuDatas = (selectedKey, showOperateBtn) => { key: "custom_cols", icon: , content: getLabel(32535, "显示列定制") + }, { + key: "log", + icon: , + content: getLabel(545781, "操作日志") }]; switch (selectedKey) { case "pending": diff --git a/pc4mobx/hrmSalary/pages/payrollFiles/salaryFiles.js b/pc4mobx/hrmSalary/pages/payrollFiles/salaryFiles.js index 8ef3c6df..b8144de4 100644 --- a/pc4mobx/hrmSalary/pages/payrollFiles/salaryFiles.js +++ b/pc4mobx/hrmSalary/pages/payrollFiles/salaryFiles.js @@ -15,6 +15,7 @@ import SalaryFileList from "./components/salaryFileList"; import * as API from "../../apis/payrollFiles"; import { sysinfo } from "../../apis/ruleconfig"; import { convertToUrlString } from "../../util/url"; +import LogDialog from "../../components/logViewModal"; import cs from "classnames"; import "./index.less"; @@ -29,7 +30,7 @@ class SalaryFiles extends Component { selectedKey: "pending", showSearchAd: false, isQuery: false, showDelSalaryFileBtn: false, topTabCount: { PENDING: 0, FIXED: 0, SUSPEND: 0, STOP: 0, EXT: 0 }, showExtEmpsWitch: false, salaryFileImpDialog: { visible: false, title: getLabel(24023, "数据导入"), importType: "", isExtEmp: false }, - salaryImportTypes: [] + salaryImportTypes: [], logDialogVisible: false, filterConditions: "" }; this.salaryFileListRef = null; } @@ -48,9 +49,15 @@ class SalaryFiles extends Component { handleOpenAdvanceSearch = () => this.setState({ showSearchAd: true }); handleAdvanceSearch = () => this.setState({ isQuery: !this.state.isQuery }); onAdSearch = () => this.setState({ showSearchAd: false, isQuery: !this.state.isQuery }); - onDropMenuClick = (key) => { + onDropMenuClick = (key, targetid = "") => { const { state, handleSalaryOpts } = this.salaryFileListRef.wrappedInstance || {}; switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; case "custom_cols": const { payrollFilesStore: { tableStore } } = this.props; tableStore.setColSetVisible(true); @@ -232,7 +239,7 @@ class SalaryFiles extends Component { render() { const { selectedKey, topTabCount, showSearchAd, isQuery, showDelSalaryFileBtn, showExtEmpsWitch, - salaryFileImpDialog, salaryImportTypes + salaryFileImpDialog, salaryImportTypes, logDialogVisible, filterConditions } = this.state; const { taxAgentStore: { showOperateBtn } } = this.props; return ( @@ -263,7 +270,11 @@ class SalaryFiles extends Component { selectedKey={selectedKey} showOperateBtn={showOperateBtn} showDelSalaryFileBtn={showDelSalaryFileBtn} onChangeTopTabCount={this.queryInsuranceTabTotal} + onFilterLog={(type, targetid) => this.onDropMenuClick(type, targetid)} /> + {/*操作日志*/} + this.setState({ logDialogVisible: false })}/> {/* 导入*/} { diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/grantTableList/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/grantTableList/index.js index bb821919..64e91b27 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/components/grantTableList/index.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/grantTableList/index.js @@ -57,7 +57,7 @@ class Index extends Component {
{ salaryAcctType === 1 && - 补发 + {getLabel(388064, "补发")} } {`${getLabel(15323, "第")}${acctTimes}${getLabel(18929, "次")}`}
@@ -90,6 +90,9 @@ class Index extends Component { message.warning(getLabel(543602, "请设置默认模板")); } break; + case "log": + this.props.onFilterLog(key, id); + break; default: break; } @@ -140,11 +143,23 @@ class Index extends Component { style={{ marginRight: 10 }} target="_blank" >{getLabel(83110, "查看详情")} } + { + sendNum === sendTotal && !showGrant && + this.handleOpts(e, record)}> + {getLabel(545781, "操作日志")} + + } + > + + + } { sendNum !== sendTotal && !showGrant && this.handleOpts(e, record)}> {getLabel(543603, "更新模板")} + {getLabel(545781, "操作日志")} } > diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js index cb9c2402..47fe8228 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/payrollTemplateTableList/index.js @@ -115,6 +115,9 @@ class Index extends Component { } }); break; + case "log": + this.props.onFilterLog(key, id); + break; default: break; } @@ -165,6 +168,7 @@ class Index extends Component { this.handleOpts(e, record)}> {getLabel(535052, "删除")} + {getLabel(545781, "操作日志")} } > diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js index 9b0a1c53..e59cf608 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/components/updatePayrollTemplateSlide/index.js @@ -30,7 +30,12 @@ class Index extends Component { } componentWillReceiveProps(nextProps, nextContext) { - if (nextProps.visible !== this.props.visible && !nextProps.visible) nextProps.payrollStore.setHasBeenModify(false); + if (nextProps.visible !== this.props.visible && nextProps.visible) { + document.querySelector(".salary-payroll-main-page").classList.add("zIndex0-payroll-release"); + } else if (nextProps.visible !== this.props.visible && !nextProps.visible) { + document.querySelector(".salary-payroll-main-page").classList.remove("zIndex0-payroll-release"); + nextProps.payrollStore.setHasBeenModify(false); + } } save = async () => { diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/index.js b/pc4mobx/hrmSalary/pages/payrollRelease/index.js index 8fa3d35e..ebc36b4e 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/index.js +++ b/pc4mobx/hrmSalary/pages/payrollRelease/index.js @@ -12,6 +12,7 @@ import TemplateQuery from "./components/reqQuery/templateQuery"; import GrantTableList from "./components/grantTableList"; import PayrollTemplateTableList from "./components/payrollTemplateTableList"; import TemplateBaseSettings from "../payroll/templateBaseSettings"; +import LogDialog from "../../components/logViewModal"; import { Button } from "antd"; import moment from "moment"; import "./index.less"; @@ -28,10 +29,10 @@ class Index extends Component { queryParams: { salarySobId: "", name: "", dateRange: [ - moment(new Date()).subtract(1, 'year').startOf("year").format("YYYY-MM"), + moment(new Date()).subtract(1, "year").startOf("year").format("YYYY-MM"), moment(new Date()).endOf("year").format("YYYY-MM") ] - } + }, logDialogVisible: false, filterConditions: "[]" }; this.templateRef = null; this.baseSetRef = null; @@ -92,11 +93,13 @@ class Index extends Component { onUpdateTemp={(id) => this.setState({ selectedKey: "template" }, () => { this.templateRef.wrappedInstance.handleOpts({ key: "edit" }, { id }); })} + onFilterLog={(type, targetid) => this.onDropMenuClick(type, targetid)} />; break; case "template": dom = this.templateRef = dom} queryParams={queryParams} - isRefresh={isRefresh} forceUpdate={() => this.forceUpdate()}/>; + isRefresh={isRefresh} forceUpdate={() => this.forceUpdate()} + onFilterLog={(type, targetid) => this.onDropMenuClick(type, targetid)}/>; break; case "watermark": dom = { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; render() { - const { selectedKey, queryParams } = this.state; + const { selectedKey, queryParams, logDialogVisible, filterConditions } = this.state; const tabs = [ { key: "grant", title: getLabel(538012, "工资单发放") }, { key: "template", title: getLabel(543575, "工资单模板设置") }, @@ -126,9 +141,19 @@ class Index extends Component { selectedKey: key, queryParams: { ...queryParams, name: "", salarySobId: "" } })} - buttons={this.renderReqBtns()} + buttons={this.renderReqBtns()} showDropIcon={selectedKey !== "watermark"} + onDropMenuClick={this.onDropMenuClick} + dropMenuDatas={[ + { + key: "log", icon: , + content: getLabel(545781, "操作日志") + } + ]} >
{this.renderContent()}
+ {/*操作日志*/} + this.setState({ logDialogVisible: false })} filterConditions={filterConditions}/> ); diff --git a/pc4mobx/hrmSalary/pages/payrollRelease/index.less b/pc4mobx/hrmSalary/pages/payrollRelease/index.less index 2b3c079f..245c991f 100644 --- a/pc4mobx/hrmSalary/pages/payrollRelease/index.less +++ b/pc4mobx/hrmSalary/pages/payrollRelease/index.less @@ -1,3 +1,9 @@ +.zIndex0-payroll-release { + .wea-new-top-req { + z-index: 0 !important; + } +} + .salary-payroll-main-page { min-width: 1000px; overflow: auto; @@ -14,10 +20,6 @@ } } - .wea-new-top-req { - z-index: 0 !important; - } - .wea-new-top-req-wapper .wea-new-top-req-title > div:last-child { right: 16px; } diff --git a/pc4mobx/hrmSalary/pages/salaryItem/index.js b/pc4mobx/hrmSalary/pages/salaryItem/index.js index 921c9d2f..4be1e225 100644 --- a/pc4mobx/hrmSalary/pages/salaryItem/index.js +++ b/pc4mobx/hrmSalary/pages/salaryItem/index.js @@ -11,6 +11,7 @@ import CustomSalaryItemSlide from "./customSalaryItemSlide"; import CustomPaginationTable from "../../components/customPaginationTable"; import SyncToSalaryAccountSetDialog from "./syncToSalaryAccountSetDialog"; import "../socialSecurityBenefits/programme/index.less"; +import LogDialog from "../../components/logViewModal"; const { getLabel } = WeaLocaleProvider; @inject("salaryItemStore", "taxAgentStore", "salaryFileStore") @@ -27,7 +28,8 @@ export default class SalaryItem extends React.Component { formalModalVisible: false, searchParams: { current: 1, pageSize: 10, total: 0 }, selectedRowKeys: [], - syncSalarySetDialog: { visible: false, title: "", id: "" } + syncSalarySetDialog: { visible: false, title: "", id: "" }, + logDialogVisible: false, filterConditions: "[]" }; columns.map(item => { if (item.dataIndex == "refere") { @@ -130,7 +132,7 @@ export default class SalaryItem extends React.Component { columns.push({ key: "operate", title: "操作", - width: 120, + width: 185, render: (text, record) => { return ( @@ -142,6 +144,17 @@ export default class SalaryItem extends React.Component { onClick={() => this.handleDeleteItem(record)} >{getLabel(535052, "删除")} } + + + this.onDropMenuClick("log", record.id)}>{getLabel(545781, "操作日志")} + + + }> + + ); } @@ -191,6 +204,20 @@ export default class SalaryItem extends React.Component { getTableDatas({ ...searchParams }); } + + onDropMenuClick = (key, targetid = "") => { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; + render() { const { salaryItemStore, @@ -198,7 +225,7 @@ export default class SalaryItem extends React.Component { taxAgentStore: { showOperateBtn, showSalaryItemBtn, taxAgentOption } } = this.props; const { userStatusList } = salaryFileStore; - const { selectedRowKeys } = this.state; + const { selectedRowKeys, logDialogVisible, filterConditions } = this.state; const { loading, deleteItemRequest, getTableDatas } = salaryItemStore; const { tableDataSource, @@ -342,11 +369,14 @@ export default class SalaryItem extends React.Component { }; return (
- } - iconBgcolor="#F14A2D" - showDropIcon={false} + } iconBgcolor="#F14A2D" + showDropIcon onDropMenuClick={this.onDropMenuClick} + dropMenuDatas={[ + { + key: "log", icon: , + content: getLabel(545781, "操作日志") + } + ]} >
@@ -387,7 +417,9 @@ export default class SalaryItem extends React.Component { } })} /> - + {/*操作日志*/} + this.setState({ logDialogVisible: false })}/> { systemItemVisible && this.postMessageToChild({ - scrollHeight: 108, dataSource, columns, pageInfo: this.state.pageInfo, showOperateBtn + scrollHeight: 108, dataSource, columns, pageInfo: this.state.pageInfo, showOperateBtn, + unitTableType: "welfareRecord" })); } }).catch(() => this.setState({ loading: false })); diff --git a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/standingBook.js b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/standingBook.js index 8abb378f..f4089c44 100644 --- a/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/standingBook.js +++ b/pc4mobx/hrmSalary/pages/socialSecurityBenefits/standingBook/standingBook.js @@ -16,6 +16,7 @@ import WelfareRecordList from "./components/welfareRecordList"; import Accountdialog from "./components/accountDialog"; import ProgressModal from "../../../components/progressModal"; import { convertToUrlString } from "../../../util/url"; +import LogDialog from "../../../components/logViewModal"; import moment from "moment"; import "./index.less"; @@ -32,7 +33,8 @@ class StandingBook extends Component { endTime: moment(new Date()).endOf("year").format("YYYY-MM"), taxAgents: "" }, progressVisible: false, progress: 0, - accountDialog: { visible: false, title: "", loading: false, options: [] } + accountDialog: { visible: false, title: "", loading: false, options: [] }, + logDialogVisible: false, filterConditions: "[]" }; this.wfListRef = null; this.timer = null; @@ -102,9 +104,21 @@ class StandingBook extends Component { }); } }; + onDropMenuClick = (key, targetid = "") => { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; render() { - const { accountDialog, queryForm } = this.state; + const { accountDialog, queryForm, logDialogVisible, filterConditions } = this.state; const { taxAgentStore: { showOperateBtn } } = this.props; const rightBtns = [
); diff --git a/pc4mobx/hrmSalary/pages/taxAgent/index.js b/pc4mobx/hrmSalary/pages/taxAgent/index.js index 1010c090..39ceeec2 100644 --- a/pc4mobx/hrmSalary/pages/taxAgent/index.js +++ b/pc4mobx/hrmSalary/pages/taxAgent/index.js @@ -1,13 +1,16 @@ import React from "react"; import { inject, observer } from "mobx-react"; -import { Button, Col, message, Modal, Row, Switch } from "antd"; -import { WeaFormItem, WeaInputSearch, WeaSearchGroup, WeaTable, WeaTop } from "ecCom"; +import { Button, Col, Dropdown, Menu, message, Modal, Row, Switch } from "antd"; +import { WeaFormItem, WeaInputSearch, WeaLocaleProvider, WeaSearchGroup, WeaTable, WeaTop } from "ecCom"; import { renderNoright } from "../../util"; import EditModal from "./editModal"; import TipLabel from "../../components/TipLabel"; import { decentralizationConditions, editConditions } from "./editConditions"; +import LogDialog from "../../components/logViewModal"; import "./index.less"; +const getLabel = WeaLocaleProvider.getLabel; + @inject("taxAgentStore") @observer export default class TaxAgent extends React.Component { @@ -30,7 +33,9 @@ export default class TaxAgent extends React.Component { conditions: editConditions, decentralizationConditions: decentralizationConditions, permission: {}, - syncLoading: false + syncLoading: false, + logDialogVisible: false, + filterConditions: "[]" }; } @@ -282,6 +287,18 @@ export default class TaxAgent extends React.Component { } }); }; + onDropMenuClick = (key, targetid = "") => { + switch (key) { + case "log": + this.setState({ + logDialogVisible: true, + filterConditions: targetid ? `[{\"connectCondition\":\"AND\",\"columIndex\":\"targetid\",\"type\":\"=\",\"value\":\"${targetid}\"}]` : "[]" + }); + break; + default: + break; + } + }; render() { @@ -294,7 +311,9 @@ export default class TaxAgent extends React.Component { decentralizationConditions, permission, syncLoading, - name + name, + logDialogVisible, + filterConditions } = this.state; const { loading, @@ -362,6 +381,17 @@ export default class TaxAgent extends React.Component { onClick={() => this.deleteTaxAgent(record.id)}> 删除 + + + this.onDropMenuClick("log", record.id)}>{getLabel(545781, "操作日志")} + + + }> + +
} ], @@ -389,12 +419,15 @@ export default class TaxAgent extends React.Component { return (
- } // 左侧图标 - iconBgcolor="#F14A2D" // 左侧图标背景色 - buttons={showOperateBtn ? btns : btns.slice(1)} - showDropIcon={true}> + } iconBgcolor="#F14A2D" + buttons={showOperateBtn ? btns : btns.slice(1)} showDropIcon onDropMenuClick={this.onDropMenuClick} + dropMenuDatas={[ + { + key: "log", icon: , + content: getLabel(545781, "操作日志") + } + ]} + > @@ -440,7 +473,9 @@ export default class TaxAgent extends React.Component { - + {/*操作日志*/} + this.setState({ logDialogVisible: false })}/> {editModalProps.visible &&