From 79ac8960af0f9af67163d008fd31d45a8bbabeb7 Mon Sep 17 00:00:00 2001 From: MustangDeng <670124965@qq.com> Date: Tue, 22 Mar 2022 20:06:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=97=E6=AE=B5=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pc4mobx/hrmSalary/apis/attendance.js | 27 ++++++- .../pages/dataAcquisition/attendance/index.js | 73 +++++++++++++++++-- .../attendance/itemMangeFormModal.js | 34 ++++++--- pc4mobx/hrmSalary/stores/attendanceStore.js | 66 +++++++++++++++++ 4 files changed, 180 insertions(+), 20 deletions(-) diff --git a/pc4mobx/hrmSalary/apis/attendance.js b/pc4mobx/hrmSalary/apis/attendance.js index 85a8f932..7f2f37dd 100644 --- a/pc4mobx/hrmSalary/apis/attendance.js +++ b/pc4mobx/hrmSalary/apis/attendance.js @@ -82,17 +82,38 @@ export const saveAttendanceField = params => { //数据采集-考勤引用-修改考勤字段 export const updateAttendanceField = params => { - return WeaTools.callApi('/api/bs/hrmsalary/attendQuote/updateField', 'POST', params); + return fetch('/api/bs/hrmsalary/attendQuote/updateField', { + method: 'POST', + mode: 'cors', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(params) + }).then(res => res.json()) } //数据采集-考勤引用-启用/停用自定义字段 export const updateAttendanceFieldStatus = params => { - return WeaTools.callApi('/api/bs/hrmsalary/attendQuote/updateEnableStatus', 'POST', params); + return fetch('/api/bs/hrmsalary/attendQuote/updateEnableStatus', { + method: 'POST', + mode: 'cors', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(params) + }).then(res => res.json()) } //数据采集-考勤引用-删除考勤字段 export const deleteAttendanceField = params => { - return WeaTools.callApi('/api/bs/hrmsalary/attendQuote/deleteField', 'POST', params); + return fetch('/api/bs/hrmsalary/attendQuote/deleteField', { + method: 'POST', + mode: 'cors', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify(params) + }).then(res => res.json()) } diff --git a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/index.js b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/index.js index eb1686d2..7c861b16 100644 --- a/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/index.js +++ b/pc4mobx/hrmSalary/pages/dataAcquisition/attendance/index.js @@ -53,7 +53,8 @@ export default class Attendance extends React.Component { selectItemVisible: false, refereAttendFormVisible: false, tabSelectedKey: "0", - itemMangeVisible: false + itemMangeVisible: false, + itemMangeValue: {} } } @@ -62,19 +63,39 @@ export default class Attendance extends React.Component { setSlideVisiable(true) } + onItemOperatesClick(record, index, operate, flag) { + switch(operate.index.toString()){ + case '0': // 查看明细 + this.onItemEdit(record); + break; + } + }; - onDelete() { - + onItemEdit(record) { + this.setState({ + itemMangeVisible: true + }) + + const { attendanceStore: { setCurrentItemOperate, setCurrentItem }} = this.props; + setCurrentItemOperate("update") + setCurrentItem(record) } render() { const { attendanceStore } = this.props; const { loading, hasRight, form, condition, tableStore, showSearchAd, getTableDatas, doSearch, setShowSearchAd } = attendanceStore; - const { step, setStep, setSlideVisiable, slideVisiable } = attendanceStore; + const { step, setStep, setSlideVisiable, slideVisiable, doBatchDelete } = attendanceStore; + const selectedRowKeys = toJS(tableStore.selectedRowKeys) || []; // tableStore 右侧选中数组 if (!hasRight && !loading) { // 无权限处理 return renderNoright(); } + const batchDelete = () => { + doBatchDelete() + getAttendanceFieldList({}) + } + + const rightMenu = [// 右键菜单 { key: 'BTN_COLUMN', @@ -82,6 +103,13 @@ export default class Attendance extends React.Component { content: '显示列定制', onClick: this.showColumn }, + { + key: 'BTN_DEL', + icon: , + content : '批量删除', + disable: selectedRowKeys.length === 0, // 没有选中禁用 + onClick : batchDelete, + } ]; const collectParams = { // 收藏功能配置 favname: '考勤引用', @@ -169,10 +197,16 @@ export default class Attendance extends React.Component { ) } + const handleNewClick = () => { + const { attendanceStore: {setCurrentItemOperate}} = this.props; + this.setState({itemMangeVisible: true}) + setCurrentItemOperate("add") + } + const renderRightOperation = () => { return (