接口异常报错提示

This commit is contained in:
18652063575 2022-09-16 11:30:13 +08:00
parent 3131de6446
commit 5e1dac0554
4 changed files with 157 additions and 176 deletions

View File

@ -89,14 +89,6 @@ export default class Attendance extends React.Component {
setSlideVisiable(true);
}
onItemOperatesClick(record, index, operate, flag) {
switch (operate.index.toString()) {
case "0": // 查看明细
this.onItemEdit(record);
break;
}
}
onItemEdit(record) {
this.setState({
itemMangeVisible: true
@ -291,51 +283,20 @@ export default class Attendance extends React.Component {
render() {
const { attendanceStore, taxAgentStore: { showOperateBtn } } = this.props;
const { modalParam } = this.state;
const {
loading,
hasRight,
tableStore
const { loading, hasRight, tableStore } = attendanceStore;
const { step, setStep, setSlideVisiable, slideVisiable, doBatchDelete,searchFieldSettingList,
fieldSettingAttendList, fieldSettingCustomList, setFieldSettingAttendList, setFieldSettingCustomList,
} = attendanceStore;
const {
step,
setStep,
setSlideVisiable,
slideVisiable,
doBatchDelete,
fieldSettingAttendList,
fieldSettingCustomList,
setFieldSettingAttendList,
setFieldSettingCustomList,
searchFieldSettingList
} = attendanceStore;
const {
getAttendanceFieldSettingList,
saveAttendanceFieldSetting,
fieldDataSource,
fieldTableStore,
fieldPageInfo,
attendanceDataSource,
attendanceColumns,
attendancePageInfo,
importLedgerList,
previewAttendQuoteColumns,
previewAttendQuoteDataSource,
importResult,
cycle
} = attendanceStore;
const selectedRowKeys = toJS(tableStore.selectedRowKeys) || []; // tableStore 右侧选中数组
const { getAttendanceFieldSettingList, saveAttendanceFieldSetting, fieldDataSource,
fieldTableStore, fieldPageInfo, attendanceDataSource, attendanceColumns,
attendancePageInfo, importLedgerList, previewAttendQuoteColumns, previewAttendQuoteDataSource,
importResult, cycle } = attendanceStore;
if (!hasRight && !loading) {
// 无权限处理
return renderNoright();
}
const batchDelete = () => {
doBatchDelete();
this.fieldSearch = { fieldName: this.state.fieldName };
getAttendanceFieldList({ fieldName: this.state.fieldName });
};
const rightMenu = [
// 右键菜单
// {
@ -651,17 +612,17 @@ export default class Attendance extends React.Component {
attendanceStore: { saveAttendanceField, getAttendanceFieldList }
} = this.props;
value.fieldType = value.fieldType == "1" ? "NUMBER" : "TEXT";
saveAttendanceField(value);
this.fieldSearch = { fieldName: this.state.fieldName };
getAttendanceFieldList(this.fieldSearch);
this.setState({ itemMangeVisible: false });
saveAttendanceField(value).then(()=>{
this.fieldSearch = { fieldName: this.state.fieldName };
getAttendanceFieldList(this.fieldSearch);
this.setState({ itemMangeVisible: false });
})
};
const handleItemMangeUpdate = value => {
const {
attendanceStore: { updateAttendanceField, getAttendanceFieldList }
} = this.props;
// alert(JSON.stringify(value));
value.fieldType = value.fieldType == "1" ? "NUMBER" : "TEXT";
updateAttendanceField(value);
this.fieldSearch = { fieldName: this.state.fieldName };

View File

@ -34,3 +34,18 @@
}
}
//新建考勤自定义字段弹框
.itemManageModalWrapper{
.wea-select,.ant-select-selection,.ant-select{
width: 100%;
}
.wea-select{
display: inline-block;
position: relative;
}
.ant-select-selection{
height: 30px;
border-radius: 0;
}
}

View File

@ -1,123 +1,124 @@
import React from 'react'
import { Modal, Row, Col, Button,Switch, Select } from 'antd'
import { inject, observer } from 'mobx-react';
import { WeaInput, WeaSelect } from 'ecCom'
import SelectItemModal, { items } from '../../../components/selectItemsModal/selectItemsWrapper';
import React from "react";
import { Button, Col, Row, Switch } from "antd";
import { inject, observer } from "mobx-react";
import { WeaDialog, WeaInput, WeaSelect } from "ecCom";
import "./index.less";
@inject('attendanceStore')
@inject("attendanceStore")
@observer
export default class ItemMangeFormModal extends React.Component {
componentWillMount() {
const { attendanceStore: {currentItem, currentItemOperate}} = this.props;
if(currentItemOperate == "add") {
this.state = {
request: {
fieldName: "",
fieldType: "1",
enableStatus: 0,
description: ''
componentWillMount() {
const { attendanceStore: { currentItem, currentItemOperate } } = this.props;
if (currentItemOperate == "add") {
this.state = {
request: {
fieldName: "",
fieldType: "1",
enableStatus: 0,
description: ""
}
};
} else {
this.state = {
request: currentItem
};
}
}
handleChange(params) {
const { request } = this.state;
let result = { ...request, ...params };
this.setState({ request: result });
}
convertFieldType = (fileTypeStr) => {
if (fileTypeStr == "数值") {
return "1";
} else if (fileTypeStr == "文本") {
return "2";
} else if (fileTypeStr == "1" || fileTypeStr == "2") {
return fileTypeStr;
}
return "";
};
render() {
const options = [
{
key: "1",
selected: true,
showname: "数值"
},
{
key: "2",
selected: false,
showname: "文本"
}
];
const { request } = this.state;
const { fieldName, fieldType, enableStatus, description } = request;
let fileTypeKey = this.convertFieldType(fieldType);
const { attendanceStore: { currentItemOperate } } = this.props;
return (
<WeaDialog style={{ width: 600 }} visible={this.props.visible} onCancel={this.props.onCancel}
title="新建考勤自定义字段"
initLoadCss
className="itemManageModalWrapper"
buttons={[
<Button type="primary" onClick={() => {
currentItemOperate == "add" ? this.props.onSave(this.state.request) :
this.props.onUpdate(this.state.request);
}
}>保存</Button>
]}>
<div style={{ padding: "16px 120px" }}>
<Row gutter={[10, 10]} style={{ marginBottom: "10px" }}>
<Col span={8}>
字段名称
</Col>
<Col span={16}>
<WeaInput viewAttr={3} style={{ width: "200px" }} value={fieldName} onChange={(v) => {
this.handleChange({ fieldName: v });
}}/>
</Col>
</Row>
<Row gutter={[10, 10]} style={{ marginBottom: "10px" }}>
<Col span={8}>
类型
</Col>
<Col span={16}>
<WeaSelect style={{ width: "200px" }} options={options} value={fileTypeKey}
onChange={(v) => this.handleChange({ fieldType: v })}
/>
</Col>
</Row>
<Row gutter={[10, 10]} style={{ marginBottom: "10px" }}>
<Col span={8}>
是否启用
</Col>
<Col span={16}>
<Switch checked={enableStatus == 1} onChange={(value) => {
let enableStatus = 0;
if (value) {
enableStatus = 1;
}
}
} else {
this.state = {
request: currentItem
}
}
}
this.handleChange({ enableStatus });
}}/>
</Col>
</Row>
<Row gutter={[10, 10]} style={{ marginBottom: "10px" }}>
<Col span={8}>
备注
</Col>
<Col span={16}>
<WeaInput style={{ width: "200px" }} value={description} onChange={(v) => {
this.handleChange({ description: v });
}}/>
</Col>
</Row>
</div>
handleChange(params) {
const { request } = this.state
let result = {...request, ...params}
this.setState({request: result})
}
convertFieldType=(fileTypeStr)=> {
if(fileTypeStr == "数值") {
return "1"
} else if(fileTypeStr == "文本"){
return "2"
} else if(fileTypeStr == "1" || fileTypeStr == "2") {
return fileTypeStr;
}
return ""
}
render() {
const options = [
{
key: "1",
selected: true,
showname: "数值"
},
{
key: "2",
selected: false,
showname: "文本"
}
]
const { request } = this.state;
const {fieldName, fieldType, enableStatus, description} = request
let fileTypeKey = this.convertFieldType(fieldType)
const { attendanceStore : {currentItemOperate}} = this.props;
return (
<Modal width={600} visible={this.props.visible} onCancel={this.props.onCancel}
title={"新建自定义字段"}
footer={
<Button type="primary" onClick={() => {
currentItemOperate == "add" ? this.props.onSave(this.state.request) :
this.props.onUpdate(this.state.request)
}
}>保存</Button>
}>
<div style={{padding: "20px"}}>
<Row gutter={[10, 10]} style={{marginBottom: "10px"}}>
<Col span={8}>
字段名称
</Col>
<Col span={16}>
<WeaInput style={{width: "200px"}} value={fieldName} onChange={(v) => {
this.handleChange({fieldName: v})
}}/>
</Col>
</Row>
<Row gutter={[10, 10]} style={{marginBottom: "10px"}}>
<Col span={8}>
类型
</Col>
<Col span={16}>
<WeaSelect style={{width: "200px"}} options={options} value={fileTypeKey}
onChange={(v) => this.handleChange({fieldType: v})}
/>
</Col>
</Row>
<Row gutter={[10, 10]} style={{marginBottom: "10px"}}>
<Col span={8}>
是否启用
</Col>
<Col span={16}>
<Switch checked={enableStatus == 1} onChange={(value) => {
let enableStatus = 0
if(value) {
enableStatus = 1
}
this.handleChange({enableStatus})
}}/>
</Col>
</Row>
<Row gutter={[10, 10]} style={{marginBottom: "10px"}}>
<Col span={8}>
备注
</Col>
<Col span={16}>
<WeaInput style={{width: "200px"}} value={description} onChange={(v) => {
this.handleChange({description: v})
}}/>
</Col>
</Row>
</div>
</Modal>
)
}
}
</WeaDialog>
);
}
}

View File

@ -196,13 +196,17 @@ export class AttendanceStore {
@action
saveAttendanceField = params => {
API.saveAttendanceField(params).then(res => {
if (res.status) {
message.success("保存成功");
} else {
message.error(res.errormsg || "保存失败");
}
});
return new Promise((resolve,reject)=>{
API.saveAttendanceField(params).then(res => {
if (res.status) {
message.success("保存成功");
resolve();
} else {
message.error(res.errormsg || "保存失败");
reject();
}
});
})
};
@action