trunk/pc4mobx/organization/stores/quickSearch.js

207 lines
6.3 KiB
JavaScript

import {
observable,
action
} from 'mobx';
import * as mobx from 'mobx';
import * as API from '../apis/quickSearch';
import {
WeaForm
} from 'comsMobx';
import {
Modal,
message,
} from 'antd'
import {
i18n
} from '../public/i18n';
import { WeaLocaleProvider } from 'ecCom';
const toJS = mobx.toJS;
const getLabel = WeaLocaleProvider.getLabel;
export class QuickSearchStore {
@observable quickSearchForm = new WeaForm();
@observable qcSelectedRowKeys = [];
@observable quickSearchData = {
datas: [],//表格记录record
setting: {},
options: [],
};
@observable quickSearchDetailVisable = false;
@observable qcData = { qcType: '', cid: '', fieldid: '' };//快速查询明细type
@observable quickSearchDetailData = [];
@observable precision = 0;
@observable qcDetailRowKeys = [];
quickSearchRefObj = {};
/**** ==============quickSearchForm ===============*/
@observable quickSearchFields = [
{
domkey: ['isquicksearch'],
conditionType: 'SWITCH',
label: getLabel('387493', "快捷搜索条件"),
labelcol: 5,
fieldcol: 19,
viewAttr: 3,
}
]
@action("初始化页面") initList = () => {
this.quickSearchForm.initFormFields([{ items: this.quickSearchFields.slice() }]);
this.getQuickSearchInfo();
}
@action clearQuciSearchData = () => {
this.quickSearchData.setting = {};
this.quickSearchData.datas = [];
this.quickSearchData.options = [];
}
@action("数据获取") getQuickSearchInfo = () => {
this.clearQuciSearchData();
API.getQuickSearchInfo({ customid: 382 }).then(action(({ code, data, msg }) => {
if (code == 200) {
this.quickSearchData.setting = data.setting;
this.quickSearchData.datas = datas.map(d => {
return { ...d, visible: false }
});
this.quickSearchData.groupidOptions = data.groupidOptions;
this.quickSearchData.options = data.options;
this.quickSearchForm.updateFields({
isquicksearch: data.setting.isquicksearch,
});
} else {
message.error(`[${getLabel(127353, "错误") + code}]:${msg}`);
}
}));
}
@action("保存页面") saveQuickSearchInfo = () => {
let datas = this.quickSearchData.datas;
datas.map((data, index) => {
data.orderid = index
});
let formparm = this.quickSearchForm.getFormParams();
if (!this.checkQuickSearchData()) {
message.error(getLabel('387954', "条件字段不能重复"));
return;
}
let id = this.quickSearchData.setting.id;
if (id == null) {
return;
}
API.saveQuickSearchInfo({
id: id,
customid: this.customid,
data: JSON.stringify(datas), ...formparm
}).then(({ status, errorCode, error, setting, datas, options }) => {
if (status == '1') {
message.success(getLabel(83551, '保存成功!'));
this.qcSelectedRowKeys = [];
this.getQuickSearchInfo();
} else {
message.error(`[${getLabel(127353, "错误") + errorCode}]:${error}`);
}
});
this.quickSearchData.setting.id = null;
}
checkQuickSearchData = () => {
let map = new Map();
let result = true;
this.quickSearchData.datas.map(data => {
if (map.has(data.fieldid)) {
result = false;
}
map.set(data.fieldid, data.customname);
});
return result;
}
@action setQuickSearchData = (datas) => {
this.quickSearchData.datas = datas;
}
@action setQuickSearchData = (datas) => {
this.quickSearchData.datas = datas;
}
/**============================quickdetail===================== */
@action("设置") openQuickSearchDetail = (record) => {
this.quickSearchDetailVisable = true;
this.qcData.qcType = record.type;
this.qcData.cid = record.cid;
this.qcData.fieldid = record.fieldid;
this.getQuickSearchDetailInfo(record.cid);
}
@action getQuickSearchDetailInfo = (cid) => {
API.getQuickSearchDetailInfo({ cid: cid }).then(({ status, errorCode, error, setting, datas, precision }) => {
if (status == '1') {
this.quickSearchDetailData = datas;
this.precision = precision;
} else {
message.error(`[${getLabel(127353, "错误") + errorCode}]:${error}`);
}
});
}
@action("明细保存") saveQuickSearchDetailInfo = () => {
// let datas = this.quickSearchDetailData;
// if (!this.checkQuickSearchDetailData()) {
// return;
// }
// API.saveQuickSearchDetailInfo({
// cid: this.qcData.cid,
// data: JSON.stringify(datas)
// }).then(({ status, errorCode, error, setting, datas, options }: any) => {
// if (status == '1') {
// message.success(getLabel(83551, '保存成功!'));
// this.qcDetailRowKeys = [];
// this.getQuickSearchDetailInfo(this.qcData.cid);
// } else {
// message.error(`[${getLabel(127353, "错误") + errorCode}]:${error}`);
// }
// });
}
/**===========================buttons=========================== */
rightMenu = [
{
"isBatch": "0",
"isTop": "1",
"menuFun": "save",
"menuIcon": "icon-coms-Preservation",
"menuName": "保存",
"type": "BTN_save"
},
// {
// "isBatch": "0",
// "isTop": "0",
// "menuFun": "log",
// "menuIcon": "icon-coms-Print-log",
// "menuName": "日志",
// "type": "BTN_log"
// }
];
topMenu = [
{
"isBatch": "1",
"isTop": "1",
"menuFun": "save",
"menuIcon": "icon-coms-Preservation",
"menuName": "保存",
"type": "BTN_save"
}
]
}