等级方案页面完成列表渲染,高级搜索,禁用标记等
This commit is contained in:
parent
b7c99835da
commit
fb6ae67485
|
|
@ -0,0 +1,8 @@
|
||||||
|
|
||||||
|
import {
|
||||||
|
WeaTools
|
||||||
|
} from 'ecCom'
|
||||||
|
|
||||||
|
export const getSearchList = (params) => {
|
||||||
|
return WeaTools.callApi('/api/bs/hrmorganization/scheme/getTable', 'GET', params);
|
||||||
|
}
|
||||||
|
|
@ -17,6 +17,7 @@ import {
|
||||||
Modal,
|
Modal,
|
||||||
Button,
|
Button,
|
||||||
message,
|
message,
|
||||||
|
Switch
|
||||||
} from 'antd'
|
} from 'antd'
|
||||||
import {
|
import {
|
||||||
WeaSwitch,
|
WeaSwitch,
|
||||||
|
|
@ -85,11 +86,53 @@ export default class RankScheme extends React.Component {
|
||||||
return btns;
|
return btns;
|
||||||
}
|
}
|
||||||
|
|
||||||
//点击事件
|
|
||||||
handleClick(item) {
|
handleClick(item) {
|
||||||
|
const {
|
||||||
|
rankScheme
|
||||||
|
} = this.props;
|
||||||
|
const {
|
||||||
|
isPanelShow
|
||||||
|
} = rankScheme;
|
||||||
|
|
||||||
|
isPanelShow && rankScheme.setPanelStatus(false);
|
||||||
|
this[item.menuFun] && this[item.menuFun]();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
batchDelete() {
|
||||||
|
const {
|
||||||
|
rankScheme
|
||||||
|
} = this.props;
|
||||||
|
const {
|
||||||
|
tableStore
|
||||||
|
} = rankScheme;
|
||||||
|
|
||||||
|
let keys = toJS(tableStore.selectedRowKeys).toString();
|
||||||
|
rankScheme.setIds(keys);
|
||||||
|
this.showConfirm('batchDel');
|
||||||
|
}
|
||||||
|
showConfirm(v) {
|
||||||
|
let _this = this;
|
||||||
|
confirm({
|
||||||
|
title: i18n.confirm.defaultTitle(),
|
||||||
|
content: (v == 'del') ? i18n.confirm.delete() : i18n.confirm.batchDeleteConfirm(),
|
||||||
|
okText: i18n.button.ok(),
|
||||||
|
cancelText: i18n.button.cancel(),
|
||||||
|
onOk() {
|
||||||
|
_this.onOk();
|
||||||
|
},
|
||||||
|
onCancel() {
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
onOk() {
|
||||||
|
const {
|
||||||
|
rankScheme
|
||||||
|
} = this.props;
|
||||||
|
rankScheme.delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
getDropMenuDatas() {
|
getDropMenuDatas() {
|
||||||
const {
|
const {
|
||||||
rankScheme
|
rankScheme
|
||||||
|
|
@ -142,18 +185,18 @@ export default class RankScheme extends React.Component {
|
||||||
form2
|
form2
|
||||||
} = rankScheme;
|
} = rankScheme;
|
||||||
|
|
||||||
rankScheme.schemeName(val);
|
rankScheme.setSchemeName(val);
|
||||||
//!this.isEmptyObject(form2.getFormParams()) && hrmOfficeAddress.updateFields(val);
|
!this.isEmptyObject(form2.getFormParams()) && rankScheme.updateFields(val);
|
||||||
}
|
}
|
||||||
|
|
||||||
reRenderColumns(columns) {
|
reRenderColumns(columns) {
|
||||||
let _this = this;
|
let _this = this;
|
||||||
columns.forEach((c, index) => {
|
columns.forEach((c, index) => {
|
||||||
// if (c.dataIndex == 'schemename') {
|
if (c.dataIndex == 'forbidden_tag') {
|
||||||
// c.render = function(text, record) {
|
c.render = function(text, record) {
|
||||||
// return <a onClick={() => _this.doEdit(record.randomFieldId)} >{record.locationname}</a>
|
return <Switch defaultChecked={text == "0" ? true : false} onChange={checked => console.log(checked)} />
|
||||||
// }
|
}
|
||||||
// };
|
};
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -167,6 +210,54 @@ export default class RankScheme extends React.Component {
|
||||||
// (index == '2') && this.deLog(record.randomFieldId);
|
// (index == '2') && this.deLog(record.randomFieldId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getPanelComponents() {
|
||||||
|
const {
|
||||||
|
rankScheme
|
||||||
|
} = this.props;
|
||||||
|
const {
|
||||||
|
searchCondition,
|
||||||
|
form2,
|
||||||
|
searchConditionLoading
|
||||||
|
} = rankScheme;
|
||||||
|
|
||||||
|
let arr = [];
|
||||||
|
let formParams = form2.getFormParams();
|
||||||
|
const {
|
||||||
|
isFormInit
|
||||||
|
} = form2;
|
||||||
|
|
||||||
|
isFormInit && searchCondition.map(c => {
|
||||||
|
c.items.map((field, index) => {
|
||||||
|
arr.push(<Col ecId={`${this && this.props && this.props.ecId || ''}_Col@4cc308@${index}`} span={(index%2 == 0) ? 10 : 11} offset={1}>
|
||||||
|
<div style={{marginTop: 20}}>
|
||||||
|
<WeaFormItem ecId={`${this && this.props && this.props.ecId || ''}_WeaFormItem@u6ex85@${index}`}
|
||||||
|
label={`${field.label}`}
|
||||||
|
labelCol={{span: `${field.labelcol}`}}
|
||||||
|
wrapperCol={{span: `${field.fieldcol}`}}>
|
||||||
|
{<WeaSwitch ecId={`${this && this.props && this.props.ecId || ''}_WeaSwitch@p7d3td@${index}`} fieldConfig={field} form={form2} formParams={formParams} />}
|
||||||
|
</WeaFormItem>
|
||||||
|
</div>
|
||||||
|
</Col>)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
if (searchConditionLoading) {
|
||||||
|
return (
|
||||||
|
<div className='hrm-loading-center-small' style={{top:'25%'}}>
|
||||||
|
<Spin ecId={`${this && this.props && this.props.ecId || ''}_Spin@lbktzb`} spinning={searchConditionLoading}></Spin>
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
return <Row ecId={`${this && this.props && this.props.ecId || ''}_Row@ppeb6z`} onKeyDown={(e) => {
|
||||||
|
if ( e.keyCode == 13 && e.target.tagName === "INPUT") {
|
||||||
|
rankScheme.getTableInfo();
|
||||||
|
rankScheme.setPanelStatus(false)
|
||||||
|
}
|
||||||
|
}}>{arr}</Row>
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
//非空判断
|
//非空判断
|
||||||
isEmptyObject(obj) {
|
isEmptyObject(obj) {
|
||||||
for (let key in obj) {
|
for (let key in obj) {
|
||||||
|
|
@ -180,19 +271,6 @@ export default class RankScheme extends React.Component {
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
|
||||||
// 通过 rowSelection 对象表明需要行选择
|
|
||||||
const rowSelection = {
|
|
||||||
onChange(selectedRowKeys, selectedRows) {
|
|
||||||
console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: ', selectedRows);
|
|
||||||
},
|
|
||||||
onSelect(record, selected, selectedRows) {
|
|
||||||
console.log(record, selected, selectedRows);
|
|
||||||
},
|
|
||||||
onSelectAll(selected, selectedRows, changeRows) {
|
|
||||||
console.log(selected, selectedRows, changeRows);
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
const {
|
const {
|
||||||
rankScheme
|
rankScheme
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
@ -222,7 +300,7 @@ export default class RankScheme extends React.Component {
|
||||||
searchsBaseValue={this.isEmptyObject(form2.getFormParams()) ? schemeName : form2.getFormParams().name}
|
searchsBaseValue={this.isEmptyObject(form2.getFormParams()) ? schemeName : form2.getFormParams().name}
|
||||||
setShowSearchAd={bool => rankScheme.setPanelStatus(bool)}
|
setShowSearchAd={bool => rankScheme.setPanelStatus(bool)}
|
||||||
hideSearchAd={() => rankScheme.setPanelStatus(false)}
|
hideSearchAd={() => rankScheme.setPanelStatus(false)}
|
||||||
// searchsAd= {isPanelShow ? this.getPanelComponents() : <div></div>}
|
searchsAd= {isPanelShow ? this.getPanelComponents() : <div></div>}
|
||||||
advanceHeight={Math.ceil(conditionNum / 2) * 52 + 20}
|
advanceHeight={Math.ceil(conditionNum / 2) * 52 + 20}
|
||||||
hasMask={false}
|
hasMask={false}
|
||||||
buttonsAd={this.getTabBtn()}
|
buttonsAd={this.getTabBtn()}
|
||||||
|
|
@ -235,7 +313,6 @@ export default class RankScheme extends React.Component {
|
||||||
needScroll={true}
|
needScroll={true}
|
||||||
getColumns={c => this.reRenderColumns(c)}
|
getColumns={c => this.reRenderColumns(c)}
|
||||||
onOperatesClick={(record, index, operate) => this.onOperatesClick(record, index, operate)}
|
onOperatesClick={(record, index, operate) => this.onOperatesClick(record, index, operate)}
|
||||||
rowSelection={rowSelection}
|
|
||||||
/>
|
/>
|
||||||
</WeaTop>
|
</WeaTop>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ import {
|
||||||
action
|
action
|
||||||
} from 'mobx';
|
} from 'mobx';
|
||||||
import * as mobx from 'mobx';
|
import * as mobx from 'mobx';
|
||||||
import * as API from '../apis/rankscheme'; // 引入API接口文件
|
import * as APi from '../apis/rankscheme'; // 引入API接口文件
|
||||||
import {
|
import {
|
||||||
WeaForm
|
WeaForm
|
||||||
} from 'comsMobx';
|
} from 'comsMobx';
|
||||||
|
|
@ -27,11 +27,16 @@ export class RankSchemeStore {
|
||||||
@observable tableStore = new TableStore();
|
@observable tableStore = new TableStore();
|
||||||
@observable topMenu = []
|
@observable topMenu = []
|
||||||
@observable rightMenu = [];
|
@observable rightMenu = [];
|
||||||
|
@observable condition = [];
|
||||||
|
@observable searchCondition = [];
|
||||||
@observable isEdit = true;
|
@observable isEdit = true;
|
||||||
@observable isPanelShow = true; //高级搜索面板
|
@observable isPanelShow = false; //高级搜索面板
|
||||||
@observable form2 = new WeaForm();
|
@observable form2 = new WeaForm();
|
||||||
@observable schemeName = '';
|
@observable schemeName = '';
|
||||||
@observable conditionNum = 2;
|
@observable conditionNum = 2;
|
||||||
|
@observable ids = ''; //选择行id
|
||||||
|
@observable searchConditionLoading = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -40,12 +45,37 @@ export class RankSchemeStore {
|
||||||
|
|
||||||
@action
|
@action
|
||||||
getTableInfo() {
|
getTableInfo() {
|
||||||
let params = { ...this.form2.getFormParams()};
|
let params;
|
||||||
this.tableStore = new TableStore();
|
this.tableStore = new TableStore();
|
||||||
this.tableStore.getDatas("de13a6ef-76e4-40d2-b9ff-01d8a37e7dfe_0638F7675486BD6B43E8CA8FD921E4EB", 1);
|
if (this.isEmptyObject(this.form2.getFormParams())) {
|
||||||
// Api.getSearchList(params).then(res => {
|
params = { ...this.form2.getFormParams(),
|
||||||
|
name: this.schemeName
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
params = { ...this.form2.getFormParams()
|
||||||
|
};
|
||||||
|
}
|
||||||
|
APi.getSearchList(params).then(res => {
|
||||||
|
if (res.code === 200) {
|
||||||
|
res.data.datas && this.tableStore.getDatas(res.data.datas, 1);
|
||||||
|
} else {
|
||||||
|
message.warning(res.msg);
|
||||||
|
}
|
||||||
|
}, error => {
|
||||||
|
message.warning(error.msg);
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
//删除
|
||||||
|
delete() {
|
||||||
|
let params = {
|
||||||
|
ids: this.ids
|
||||||
|
};
|
||||||
|
// Api.deleteTableData(params).then(res => {
|
||||||
// if (res.api_status) {
|
// if (res.api_status) {
|
||||||
// res.sessionkey && this.tableStore.getDatas("de13a6ef-76e4-40d2-b9ff-01d8a37e7dfe_0638F7675486BD6B43E8CA8FD921E4EB", 1);
|
// message.success(i18n.message.deleteSuccess());
|
||||||
|
// this.getTableInfo();
|
||||||
// } else {
|
// } else {
|
||||||
// message.warning(data.message);
|
// message.warning(data.message);
|
||||||
// }
|
// }
|
||||||
|
|
@ -55,6 +85,105 @@ export class RankSchemeStore {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getSearchCondition() {
|
||||||
|
this.setScLoadingStatus(false);
|
||||||
|
let conditions = [
|
||||||
|
{
|
||||||
|
"title": "高级查询条件",
|
||||||
|
"defaultshow": true,
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"belong": "PC",
|
||||||
|
"checkbox": false,
|
||||||
|
"checkboxValue": false,
|
||||||
|
"colSpan": 2,
|
||||||
|
"conditionType": "INPUT",
|
||||||
|
"dateGroup": false,
|
||||||
|
"defaultDisplayInBar": false,
|
||||||
|
"detailtype": 1,
|
||||||
|
"domkey": [
|
||||||
|
"name"
|
||||||
|
],
|
||||||
|
"entSearch": false,
|
||||||
|
"fieldcol": 16,
|
||||||
|
"hasBorder": false,
|
||||||
|
"helpfulTipProps": {},
|
||||||
|
"hide": false,
|
||||||
|
"isBase64": false,
|
||||||
|
"isQuickSearch": false,
|
||||||
|
"label": "办公地点简称",
|
||||||
|
"labelcol": 8,
|
||||||
|
"length": 0,
|
||||||
|
"maxFilesNumber": 0,
|
||||||
|
"maxUploadSize": 0,
|
||||||
|
"multiSelection": false,
|
||||||
|
"multiple": false,
|
||||||
|
"precision": 0,
|
||||||
|
"secretLimit": false,
|
||||||
|
"showOrder": 0,
|
||||||
|
"showTime": false,
|
||||||
|
"stringLength": 0,
|
||||||
|
"supportCancel": false,
|
||||||
|
"tipPosition": "bottom",
|
||||||
|
"valueList": [],
|
||||||
|
"viewAttr": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"belong": "PC",
|
||||||
|
"checkbox": false,
|
||||||
|
"checkboxValue": false,
|
||||||
|
"colSpan": 2,
|
||||||
|
"conditionType": "INPUT",
|
||||||
|
"dateGroup": false,
|
||||||
|
"defaultDisplayInBar": false,
|
||||||
|
"detailtype": 1,
|
||||||
|
"domkey": [
|
||||||
|
"mark"
|
||||||
|
],
|
||||||
|
"entSearch": false,
|
||||||
|
"fieldcol": 16,
|
||||||
|
"hasBorder": false,
|
||||||
|
"helpfulTipProps": {},
|
||||||
|
"hide": false,
|
||||||
|
"isBase64": false,
|
||||||
|
"isQuickSearch": false,
|
||||||
|
"label": "办公地点全称",
|
||||||
|
"labelcol": 8,
|
||||||
|
"length": 0,
|
||||||
|
"maxFilesNumber": 0,
|
||||||
|
"maxUploadSize": 0,
|
||||||
|
"multiSelection": false,
|
||||||
|
"multiple": false,
|
||||||
|
"precision": 0,
|
||||||
|
"secretLimit": false,
|
||||||
|
"showOrder": 0,
|
||||||
|
"showTime": false,
|
||||||
|
"stringLength": 0,
|
||||||
|
"supportCancel": false,
|
||||||
|
"tipPosition": "bottom",
|
||||||
|
"valueList": [],
|
||||||
|
"viewAttr": 2
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
this.setSearchCondition(conditions);
|
||||||
|
this.form2.initFormFields(conditions);
|
||||||
|
|
||||||
|
|
||||||
|
// Api.getAdvanceSearchCondition().then(res => {
|
||||||
|
// if (res.api_status) {
|
||||||
|
// this.setScLoadingStatus(false);
|
||||||
|
// res.conditions && this.setSearchCondition(res.conditions);
|
||||||
|
// res.conditions && this.form2.initFormFields(res.conditions);
|
||||||
|
// } else {
|
||||||
|
// message.warning(data.message);
|
||||||
|
// }
|
||||||
|
// }, error => {
|
||||||
|
// message.warning(error.message);
|
||||||
|
// })
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@action
|
@action
|
||||||
getHasRight() {
|
getHasRight() {
|
||||||
|
|
@ -67,14 +196,6 @@ export class RankSchemeStore {
|
||||||
"menuName": "新建",
|
"menuName": "新建",
|
||||||
"type": "BTN_Addnew"
|
"type": "BTN_Addnew"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"isBatch": "1",
|
|
||||||
"isTop": "1",
|
|
||||||
"menuFun": "import",
|
|
||||||
"menuIcon": "icon-coms-leading-in",
|
|
||||||
"menuName": "导入",
|
|
||||||
"type": "BTN_Import"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"isBatch": "1",
|
"isBatch": "1",
|
||||||
"isTop": "1",
|
"isTop": "1",
|
||||||
|
|
@ -93,14 +214,6 @@ export class RankSchemeStore {
|
||||||
"menuName": "新建",
|
"menuName": "新建",
|
||||||
"type": "BTN_Addnew"
|
"type": "BTN_Addnew"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"isBatch": "0",
|
|
||||||
"isTop": "1",
|
|
||||||
"menuFun": "import",
|
|
||||||
"menuIcon": "icon-coms-leading-in",
|
|
||||||
"menuName": "导入",
|
|
||||||
"type": "BTN_Import"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"isBatch": "0",
|
"isBatch": "0",
|
||||||
"isTop": "0",
|
"isTop": "0",
|
||||||
|
|
@ -120,12 +233,47 @@ export class RankSchemeStore {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateFields(val) {
|
||||||
|
this.form2.updateFields({
|
||||||
|
name: {
|
||||||
|
value: val
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
setSearchCondition(condition) {
|
||||||
|
this.searchCondition = condition;
|
||||||
|
}
|
||||||
|
|
||||||
|
setScLoadingStatus(bool) {
|
||||||
|
this.searchConditionLoading = bool;
|
||||||
|
}
|
||||||
|
|
||||||
setPanelStatus(bool) {
|
setPanelStatus(bool) {
|
||||||
this.isPanelShow = bool;
|
this.isPanelShow = bool;
|
||||||
|
bool && this.getSearchCondition();
|
||||||
|
if (!bool) {
|
||||||
|
this.scLoadingReset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
setSchemeName(val) {
|
setSchemeName(val) {
|
||||||
this.schemeName = val;
|
this.schemeName = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isEmptyObject(obj) {
|
||||||
|
for (let key in obj) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
setIds(ids) {
|
||||||
|
this.ids = ids;
|
||||||
|
}
|
||||||
|
|
||||||
|
scLoadingReset() {
|
||||||
|
this.searchConditionLoading = true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue