流程生产订单对比源码新增js

This commit is contained in:
李正@用友 2025-05-19 17:20:20 +08:00
parent 46031f7c6f
commit 9cfe51f23d
73 changed files with 5034 additions and 0 deletions

View File

@ -0,0 +1,96 @@
/*
* @Author: zhangchangqing
* @PageInfo: 表体编辑后事件
* @Date: 2018-05-03 14:38:54
* @Last Modified by: mikey.zhangchqf
* @Last Modified time: 2018-11-16 15:41:33
*/
import { ajax, base, toast } from 'nc-lightapp-front';
import { PMO_LIST, PMO_CARD, PMO_LIST_BUTTON, PMO_CARD_BUTTON, FBILLSTATUS, BODYFBILLSTATUS, HEADATTRCODE, BODYATTRCODE, GRANDATTRCODE, clearItems } from '../../pmoconst';
import { RownoUtils } from '../../../../../mmpub/mmpub/pub/tool/cardTableTools';
const { NCMessage } = base;
const formId = PMO_CARD.formId;
const formId4BatchEdit = PMO_CARD.formId4BatchEdit;
const batchEditAfterEditURL = PMO_CARD.batchEditAfterEditURL;
export default function beforeEvent(props, moduleId, key, value, index, record) {
if (moduleId == formId4BatchEdit) {
let flag = true;
let meta = this.props.meta.getMeta();
let cdeptid = props.form.getFormItemsValue(formId4BatchEdit, BODYATTRCODE.CDEPTID).value;
let pkgroup = props.form.getFormItemsValue(formId, HEADATTRCODE.PK_GROUP).value;
let pkorg = props.form.getFormItemsValue(formId, HEADATTRCODE.PK_ORG).value;
let condition = {};
if (key == BODYATTRCODE.CDEPTID || key == BODYATTRCODE.CDEPTVID) {
meta[formId4BatchEdit].items.map((item) => {
if (item.attrcode == BODYATTRCODE.CDEPTVID || item.attrcode == BODYATTRCODE.CDEPTID) {
item.queryCondition = () => {
return {
pk_group: pkgroup,
pk_org: pkorg,
busifuncode: PMO_CARD.busifuncode4MM
};
};
}
});
}
else if (key == BODYATTRCODE.CWKID) {
meta[formId4BatchEdit].items.map((item) => {
if (item.attrcode == BODYATTRCODE.CWKID) {
condition = {};
//根据部门过滤工作中心
if (cdeptid != null) {
condition.cdeptid = cdeptid;
condition.GridRefActionExt = 'nccloud.web.mmpub.pub.ref.WorkCenterRefFilterUtils';
}
item.queryCondition = () => {
condition.pk_group = pkgroup;
condition.pk_org = pkorg;
return condition;
};
}
});
} else if (key == BODYATTRCODE.CTEAMID) {
//根据生产线和部门过滤班组
meta[formId4BatchEdit].items.map((item) => {
if (item.attrcode == BODYATTRCODE.CTEAMID) {
item.queryCondition = () => {
condition = {
pk_group: pkgroup,
pk_org: pkorg,
GridRefActionExt: 'nccloud.web.mmpub.pub.ref.TeamRefSqlBuilder'
};
//部门和生产线
if (cwkid) {
condition.cwkid = cwkid;
}
if (cdeptid) {
condition.cdeptid = cdeptid;
}
return condition;
};
}
});
} else if (key == BODYATTRCODE.CCLASSID) {
//根据生产线过滤班次
meta[formId4BatchEdit].items.map((item) => {
if (item.attrcode == BODYATTRCODE.CCLASSID) {
condition = {
pk_group: pkgroup,
pk_org: pkorg,
orgshifttype:'2',
GridRefActionExt: 'nccloud.web.mmpub.pub.ref.ShiftRefSqlBuilder'
};
item.queryCondition = () => {
if (cwkid) {
condition.cwkid = cwkid;
}
return condition;
};
}
});
}
return flag;
}
}

View File

@ -0,0 +1,3 @@
.dragWidthCom .left {
width: 100%;
}

View File

@ -0,0 +1,38 @@
import { ajax } from 'nc-lightapp-front';
import { PMO_CARD, PMO_GRAND} from '../../pmoconst';
let tableId = PMO_CARD.tableId;
let tableId4proc = PMO_GRAND.grand4proc;
export default function combinePlanRc(props, grands, bodysize) {
for (let i = 0; i < bodysize; i++) {
//当前行对应的工序计划数据
let curGrands = grands[i][tableId4proc];
//如果有工序计划数据需要进行覆盖,已有的状态为删除,新的状态为新增
if (curGrands && curGrands.rows.length != 0) {
if (this.state.planrcvos && this.state.planrcvos[i]) {
let newrows = [];
curGrands.rows.map((pvo, pindex) => {
pvo.status = 3;
newrows.push(pvo);
});
if (this.state.planrcvos[i] && this.state.planrcvos[i].rows) {
this.state.planrcvos[i].rows.map((pvo, tmpindex) => {
pvo.status = 2;
newrows.push(pvo);
});
}
curGrands.rows = newrows;
}
} else {
//如果没用就直接进行覆盖即可
if (this.state.planrcvos[i] && this.state.planrcvos[i].rows) {
let newrows = [];
this.state.planrcvos[i].rows.map((pvo, tmpindex) => {
pvo.status = 2;
newrows.push(pvo);
});
curGrands.rows = newrows;
}
return grands;
}
}
}

View File

@ -0,0 +1,10 @@
/*
* @Author: mikey.zhangchqf
* @Date: 2018-07-04 20:32:00
* @Last Modified by: mikey.zhangchqf
* @Last Modified time: 2018-07-04 20:32:00
*/
import initButtons from './initButtons';
export { initButtons };

View File

@ -0,0 +1,18 @@
/*
* @Author: fengjinga
* @PageInfo: 新增按钮处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { cacheTools } from 'nc-lightapp-front';
import { PMO_LIST, PMO_CARD } from '../../pmoconst';
export default function clickAddBtn(props) {
let searchVal = props.search.getAllSearchData(PMO_LIST.searchId);
cacheTools.set("searchParams", searchVal);
props.pushTo(PMO_CARD.cardUrl, {
status: PMO_CARD.add
});
}

View File

@ -0,0 +1,48 @@
/*
* @Author: fengjinga
* @PageInfo: 变更按钮处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { cacheTools, ajax } from 'nc-lightapp-front';
import { PMO_LIST, PMO_CARD, HEADATTRCODE } from '../../pmoconst';
import {tableBeforeEdit} from '../../../../../mmpub/mmpub/pub/tool/listBeforeEditCardUtil';
const cardUrl = PMO_CARD.cardUrl;
const searchId = PMO_LIST.searchId;
export default function adjustBtn(props, record, adjust) {
let canDoEdit = tableBeforeEdit.call(
this,
props,
PMO_LIST.appcode,
PMO_LIST.pageid,
PMO_LIST.tableId,
record[HEADATTRCODE.CPMOHID].value,
record['ts'].value);
if(canDoEdit){
if (!adjust) {
adjust = false;
}
let pks = [];
pks.push(record[HEADATTRCODE.CPMOHID].value);
let data = { pks: pks, actioncode: (adjust ? 'pmoAjust' : 'PmoUpdateBP') };
ajax({
url: PMO_LIST.checkdatapermissionURL,
data: data,
success: (res) => {
let searchVal = props.search.getAllSearchData(searchId);
cacheTools.set("searchParams", searchVal);
props.pushTo(cardUrl, {
status: PMO_CARD.edit,
isadjust: adjust,
id: record[HEADATTRCODE.CPMOHID].value,
iscard: 'N'
});
}
});
}
}

View File

@ -0,0 +1,71 @@
/*
* @Author: fengjinga
* @PageInfo: 自动关闭按钮事件
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { ajax } from 'nc-lightapp-front';
import {
showWarningDialog,
showBatchOprMessage,
showInfoDialog,
showErrorInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { buttonController } from '../viewControl';
const tableId = PMO_LIST.tableId;
export default function putBtn(props) {
// 获取选中行
let rows = props.table.getCheckedRows(tableId);
let inforows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value,
rowid: item.data.rowId
};
inforows.push(data);
});
let data = { infos: inforows, pageid: PMO_LIST.pageid };
let url = PMO_LIST.listAutoClose;
ajax({
url: url,
data,
success: (res) => {
if (res.success) {
if (res.data) {
if (JSON.stringify(res.data.errorMessageMap || {}) != '{}') {
// 成功的index
let sucIndex = [];
rows.forEach((element, index) => {
if (!res.data.errorMessageMap[index]) {
sucIndex.push(element.index);
}
});
} else {
let succIndex = [];
rows.forEach((element, index) => {
//deleteCacheDataForList(props, tableId, element.data.values[cpmohid].value);
succIndex.push(element.index);
});
}
buttonController.setListButtonVisiable(props, this.state.currentTab);
if (res.data.sucessVOs) {
res.data.sucessVOs[tableId].rows.map((item, index) => {
item.rowId = item.rowid;
});
this.props.table.updateTableData(tableId, res.data.sucessVOs[tableId]);
}
showBatchOprMessage(
getLangByResId(this, '50080000-000063'),/* 国际化处理: 自动关闭成功*/
res.data,
{},
getLangByResId(this, '50080000-000017')/* 国际化处理: 提示*/
); /* 国际化处理: 提示*/
} else {
showErrorInfo(getLangByResId(this, '50080000-000064'));/* 国际化处理: 自动关闭失败!*/
}
}
}
});
}

View File

@ -0,0 +1,12 @@
/*
* @Author: fengjinga
* @PageInfo: 返回按钮处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { PMO_LIST } from '../../pmoconst';
export default function backBtn(props) {
props.pushTo(PMO_LIST.listUrl, {})
}

View File

@ -0,0 +1,27 @@
/**
* 直接打印条码
*/
import { print } from 'nc-lightapp-front';
export default function (props, params) {
let { billtype, oids } = params;
let map = {
width: '210',
height: '210',
direction: '',
leftMargin: '0',
rightMargin: '0',
topMargin: '0',
bottomMargin: '0',
dataColumn: '1'
};
let userjson = billtype + ';' + JSON.stringify(map);
print(
'pdf', //支持两类: 'html'为模板打印, 'pdf'为pdf打印
'/nccloud/mmpac/pmo/barcodeprint.do',
{
userjson, //单据类型
oids
},
false
);
}

View File

@ -0,0 +1,69 @@
/*
* @Author: fengjinga
* @PageInfo: 批改保存按钮事件
* @Date: 2018-04-19 10:35:13
* @Last Modified by: zhangjingchuan
* @Last Modified time: 2023-11-17 16:13:27
*/
import { PMO_LIST, PMO_CARD, HEADATTRCODE, BODYATTRCODE } from '../../pmoconst';
import { ajax, cardCache } from 'nc-lightapp-front';
import { showSuccessInfo, showErrorInfo, showWarningInfo } from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { updateCacheDataForList } from '../../../../../mmpub/mmpub/pub/cache/cacheDataManager';
const formId4BatchEdit = PMO_CARD.formId4BatchEdit;
const tableId = PMO_LIST.tableId;
export default function batcheditSave(props, batchEditfields) {
let that = this;
let cdeptvid = batchEditfields[BODYATTRCODE.CDEPTVID];
let cdeptid = batchEditfields[BODYATTRCODE.CDEPTID];
let cwkid = batchEditfields[BODYATTRCODE.CWKID];
let cclassid = batchEditfields[BODYATTRCODE.CCLASSID];
let cteamid = batchEditfields[BODYATTRCODE.CTEAMID];
let checkedrows = props.table.getCheckedRows(tableId);
let inforows = [];
let indexs = [];
checkedrows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value
};
inforows.push(data);
indexs.push(item.index);
});
let data = {
inforows: inforows,
cdeptvid: cdeptvid.value,
cdeptid: cdeptid.value
// cwkid: cwkid.value,
// cclassid: cclassid.value,
// cteamid: cteamid.value
};
if (cwkid.value) {
data.cwkid = cwkid.value;
}
if (cclassid.value) {
data.cclassid = cclassid.value;
}
if (cteamid.value) {
data.cteamid = cteamid.value;
}
let url = PMO_LIST.listBatchEdit;
ajax({
url: url,
data: data,
success: (res) => {
if (res.success) {
if (res.data) {
res.data[tableId].rows.map((item, index) => {
item.rowId = item.rowid;
});
let messageInfo = {};
messageInfo['sucessVOs'] = res.data;
updateCacheDataForList(props, tableId, HEADATTRCODE.CPMOHID, messageInfo);
}
//props.table.updateDataByIndexs(tableId, updateDatas);
showSuccessInfo(getLangByResId(this, '50080000-000012')); /* 国际化处理: 批改成功*/
}
}
});
}

View File

@ -0,0 +1,381 @@
/*
* @Author: fengjinga
* @PageInfo: 按钮事件
* @Date: 2018-04-19 10:34:04
* @Last Modified by: fengjinga
* @Last Modified time: 2022-06-22 14:00:39
*/
import {
PMO_LIST,
PMO_CARD,
URL4SFC,
CONST4SFC,
PMO_LIST_BUTTON,
PMO_CARD_BUTTON,
FBILLSTATUS,
HEADATTRCODE
} from '../../pmoconst';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { showSuccessInfo, showErrorInfo, showWarningInfo } from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import searchBtnClick from './searchBtnClick';
import addBtnClick from './addBtnClick';
import adjustBtnClick from './adjustBtnClick';
import delBtnClick from './delBtnClick';
import delBatchBtnClick from './delBatchBtnClick';
import putClick from './putClick';
import unputClick from './unputClick';
import finishClick from './finishClick';
import finishcancelClick from './finishcancelClick';
import closeClick from './closeClick';
import closecancelClick from './closecancelClick';
import autocloseClick from './autocloseClick';
import commitBatchBtnClick from './commitBatchBtnClick';
import unCommitBatchBtnClick from './unCommitBatchBtnClick';
import uncommitBtnClick from './uncommitBtnClick';
import commitBtnClick from './commitBtnClick';
import barCodePrintBtnClick from './barCodePrintBtnClick';
import printbarCodeBtnClick from './printbarCodeBtnClick';
import viewverBtnClick from './viewverBtnClick';
import pickmBtnClick from './pickmBtnClick';
import pmoresolveBtnClick from './pmoresolveBtnClick';
import pmoToPutPlanBtnClick from './pmoToPutPlanBtnClick';
import pmoMosBtnClick from './pmoMosBtnClick';
import pmoturnBtnClick from './pmoturnBtnClick';
import pickmrecalBtnClick from './pickmrecalBtnClick';
import pmopushsfcBtnClick from './pmopushsfcBtnClick';
import pmoscrapaddBtnClick from './pmoscrapaddBtnClick';
import pmosnBtnClick from './pmosnBtnClick';
import pmoactivityBtnClick from './pmoactivityBtnClick';
import pmoSetAnalysisBtnClick from './pmoSetAnalysisBtnClick';
import pmodeliverBtnClick from './pmodeliverBtnClick';
import pmodeliversetBtnClick from './pmodeliversetBtnClick';
import pmodeliverfillsetBtnClick from './pmodeliverfillsetBtnClick';
import pmodeliversetbackBtnClick from './pmodeliversetbackBtnClick';
import pmodeliverbackBtnClick from './pmodeliverbackBtnClick';
import PMOBatchEdit from '../../pub/batchedit';
import batchEditSave from './batchEditSave';
import batchEditServ from '../../pub/batchedit/service/batchEditServ';
import { ajax, cardCache, toast } from 'nc-lightapp-front';
const { getDefData, setDefData } = cardCache;
import linkBtnClick from './linkBtnClick'; //单据追溯
import pscplanBtnClick from './pscplanBtnClick'; //工序委外计划
import printBtnClick from './printBtnClick'; //打印
import outputBtnClick from './outputBtnClick'; //输出
import fileBtnClick from './fileBtnClick'; //附件管理
import exportTemClick from './exportTemClick'; //导出
import importClick from './importClick'; //导入
const cpmohid = HEADATTRCODE.CPMOHID;
const cardUrl = PMO_CARD.cardUrl;
const edit = PMO_CARD.edit;
const searchId = PMO_LIST.searchId;
const tableId = PMO_LIST.tableId;
const dataSource = PMO_LIST.dataSource;
export default function clickBtn(props, id, text, record, index) {
switch (id) {
//刷新
case PMO_LIST_BUTTON.Refresh:
let currentTab = getDefData(dataSource, 'currentTab');
currentTab = currentTab ? currentTab : this.state.currentTab;
searchBtnClick.bind(this, currentTab, true, false)();
break;
//新增
case PMO_LIST_BUTTON.add:
return addBtnClick(props);
// 删除
case PMO_LIST_BUTTON.delete:
if (record) {
let del = delBtnClick.bind(this, props, record);
return del(props);
} else {
let delB = delBatchBtnClick.bind(this);
return delB(props);
}
//修改
case PMO_LIST_BUTTON.editrow:
let edit = adjustBtnClick.bind(this);
return edit(props, record);
//变更
case PMO_LIST_BUTTON.pmoadjust:
let adjust = adjustBtnClick.bind(this);
return adjust(props, record, true);
//复制
case PMO_LIST_BUTTON.copy:
props.pushTo(PMO_CARD.cardUrl, {
status: PMO_CARD.add,
id: record[HEADATTRCODE.CPMOHID].value,
copy: true
});
return;
//批改
case PMO_LIST_BUTTON.batchedit:
//判断是否同工厂
let checkedrows = props.table.getCheckedRows(tableId);
if (!checkedrows || checkedrows.length == 0) {
toast({ content: getLangByResId(this, '50080000-000065'), color: 'warning' }); /* 国际化处理: 选择数据进行操作*/
return;
}
let lastorg = '';
for (let i = 0; i < checkedrows.length; i++) {
let curorg = checkedrows[i].data.values[HEADATTRCODE.PK_ORG].value;
let fbillstatus = checkedrows[i].data.values[HEADATTRCODE.FBILLSTATUS].value;
if (lastorg != '' && lastorg != curorg) {
toast({
content: getLangByResId(this, '50080000-000066'),
color: 'warning'
}); /* 国际化处理: 只有工厂相同的流程生产订单才能进行批改*/
return;
}
lastorg = curorg;
if (fbillstatus != FBILLSTATUS.free) {
showWarningInfo(getLangByResId(this, '50080000-000067')); /* 国际化处理: 提示,只有自由态流程生产订单才可以批改。*/
return;
}
}
let pk_group = checkedrows[0].data.values[HEADATTRCODE.PK_GROUP].value;
let pk_org = checkedrows[0].data.values[HEADATTRCODE.PK_ORG].value;
batchEditServ.call(
this,
this.props,
{ [HEADATTRCODE.PK_GROUP]: pk_group, [HEADATTRCODE.PK_ORG]: pk_org },
batchEditSave
);
return;
//投放
case PMO_LIST_BUTTON.put:
let put = putClick.bind(this);
return put(props);
//取消投放
case PMO_LIST_BUTTON.unput:
let unput = unputClick.bind(this);
return unput(props);
//强制完工
case PMO_LIST_BUTTON.finish:
let finish = finishClick.bind(this);
return finish(props);
//取消完工
case PMO_LIST_BUTTON.unfinish:
let finishcancel = finishcancelClick.bind(this);
return finishcancel(props);
//强制关闭
case PMO_LIST_BUTTON.close:
let close = closeClick.bind(this);
return close(props);
//取消关闭
case PMO_LIST_BUTTON.unclose:
let closecancel = closecancelClick.bind(this);
return closecancel(props);
//自动关闭
case PMO_LIST_BUTTON.autoclose:
let autoclose = autocloseClick.bind(this);
return autoclose(props);
//提交
case PMO_LIST_BUTTON.commit:
if (record) {
let commitrow = commitBtnClick.bind(this, props, record);
return commitrow(props);
} else {
let batchcommit = commitBatchBtnClick.bind(this);
return batchcommit(props);
}
//收回
case PMO_LIST_BUTTON.uncommit:
if (record) {
let uncommitrow = uncommitBtnClick.bind(this, props, record);
return uncommitrow(props);
} else {
let batchuncommit = unCommitBatchBtnClick.bind(this);
return batchuncommit(props);
}
//审批详情
case PMO_LIST_BUTTON.ApproveInfo:
if (!record) {
let rows = props.table.getCheckedRows(tableId);
if (rows && rows[0] && rows[0].data) {
record = rows[0].data.values;
}
}
this.setState({
show: true,
billId: record[HEADATTRCODE.CPMOHID].value,
billtype: record[HEADATTRCODE.VTRANTYPECODE].value
});
break;
//单据追溯
case PMO_LIST_BUTTON.trace:
let linkQuery = linkBtnClick.bind(this);
return linkQuery(props);
//工序委外计划
case PMO_LIST_BUTTON.pmopscplan:
let pscplan = pscplanBtnClick.bind(this);
return pscplan(props);
//附件管理
case PMO_LIST_BUTTON.file:
let file = fileBtnClick.bind(this);
return file(props);
//打印
case PMO_LIST_BUTTON.print:
let print = printBtnClick.bind(this);
return print(props);
//打印联副产品
case PMO_LIST_BUTTON.printplanout:
let print4output = printBtnClick.bind(this);
return print4output(props, PMO_LIST.nodekey4planoutput);
//打印工序计划
case PMO_LIST_BUTTON.printprocedure:
let print4procedure = printBtnClick.bind(this);
return print4procedure(props, PMO_LIST.nodekey4procedure);
//输出
case PMO_LIST_BUTTON.output:
let output = outputBtnClick.bind(this);
return output(props);
//直接条码打印
case PMO_LIST_BUTTON.pmobcdirectprint:
let dids = [];
let heads = props.table.getCheckedRows(tableId);
heads.forEach((element) => {
dids.push(element.data.values[HEADATTRCODE.CPMOHID].value);
});
let dparams = {
billtype: PMO_LIST.billType,
oids: dids
};
barCodePrintBtnClick.call(this, props, dparams);
break;
//条码打印
case PMO_LIST_BUTTON.pmobcprint:
let ids = props.table.getCheckedRows(tableId)[0].data.values[HEADATTRCODE.CPMOHID].value;
let params = {
billtype: PMO_LIST.billType,
oids: ids
};
printbarCodeBtnClick.call(this, props, params);
break;
//查看历史记录
case PMO_LIST_BUTTON.pmoviewver:
if (record) {
let rowviewver = viewverBtnClick.bind(this);
return rowviewver(props, record);
} else {
let viewver = viewverBtnClick.bind(this);
return viewver(props);
}
//投放计划
case PMO_LIST_BUTTON.pmotoputplan:
let pmotoputplan = pmoToPutPlanBtnClick.bind(this);
return pmotoputplan(props);
//配套变更建议
case PMO_LIST_BUTTON.pmoMos:
let pmomos = pmoMosBtnClick.bind(this);
return pmomos(props);
//备料计划
//case PMO_LIST_BUTTON.pmopickm:
// let pickm = pickmBtnClick.bind(this);
// return pickm(props);
//分次投放
case PMO_LIST_BUTTON.pmoresolve:
let pmoresolve = pmoresolveBtnClick.bind(this);
return pmoresolve(props);
//产能分流
case PMO_LIST_BUTTON.pmoturn:
let pmoturn = pmoturnBtnClick.bind(this);
return pmoturn(props);
//备料重算
case PMO_LIST_BUTTON.pmopickmrecalaction:
let pickmrecal = pickmrecalBtnClick.bind(this);
return pickmrecal(props);
//工序派工
case PMO_LIST_BUTTON.pmoDispatchlist:
let dispatchlist = pmopushsfcBtnClick.bind(this);
return dispatchlist(props, CONST4SFC.billType4Dispatchlist);
//工序完工
case PMO_LIST_BUTTON.pmoOperationRep:
let oprep = pmopushsfcBtnClick.bind(this);
return oprep(props, CONST4SFC.billType4Oprep);
//工序转移
case PMO_LIST_BUTTON.pmoTransfer:
let transfer = pmopushsfcBtnClick.bind(this);
return transfer(props, CONST4SFC.billType4Transfer);
//报废补单
case PMO_LIST_BUTTON.pmoscrapadd:
let scrapadd = pmoscrapaddBtnClick.bind(this);
return scrapadd(props);
//序列号
case PMO_LIST_BUTTON.pmosn:
let pmosn = pmosnBtnClick.bind(this);
return pmosn(props);
//作业量
case PMO_LIST_BUTTON.pmoactivity:
let activity = pmoactivityBtnClick.bind(this);
return activity(props);
//齐套分析
case PMO_LIST_BUTTON.pmoSetAnalysis:
let setanalysis = pmoSetAnalysisBtnClick.bind(this);
return setanalysis(props);
//生产领料
case PMO_LIST_BUTTON.pmodeliver:
if (record) {
let rowdeliver = pmodeliverBtnClick.bind(this);
return rowdeliver(props, record);
} else {
let deliver = pmodeliverBtnClick.bind(this);
return deliver(props);
}
//成套领料
case PMO_LIST_BUTTON.pmodeliverset:
if (record) {
let rowdeliverset = pmodeliversetBtnClick.bind(this);
return rowdeliverset(props, record);
} else {
let deliverset = pmodeliversetBtnClick.bind(this);
return deliverset(props);
}
//补成套领料
case PMO_LIST_BUTTON.pmodeliverfillset:
if (record) {
let rowdeliverfillset = pmodeliverfillsetBtnClick.bind(this);
return rowdeliverfillset(props, record);
} else {
let deliverfillset = pmodeliverfillsetBtnClick.bind(this);
return deliverfillset(props);
}
//成套退料
case PMO_LIST_BUTTON.pmodeliversetback:
if (record) {
let rowdeliversetback = pmodeliversetbackBtnClick.bind(this);
return rowdeliversetback(props, record);
} else {
let deliversetback = pmodeliversetbackBtnClick.bind(this);
return deliversetback(props);
}
//退料处理
case PMO_LIST_BUTTON.pmodeliverback:
if (record) {
let rowdeliverback = pmodeliverbackBtnClick.bind(this);
return rowdeliverback(props, record);
} else {
let deliverback = pmodeliverbackBtnClick.bind(this);
return deliverback(props);
}
//无备料领料,列表态去掉这个按钮
// case PMO_LIST_BUTTON.pmounpickmdeliver:
// if (record) {
// let rowunpickmdeliver = pmounpickmdeliverBtnClick.bind(this);
// return rowunpickmdeliver(props, record);
// } else {
// let unpickmdeliver = pmounpickmdeliverBtnClick.bind(this);
// return unpickmdeliver(props);
// }
case PMO_LIST_BUTTON.ExportTem: {
//导出
let exportTem = exportTemClick.bind(this, props, id);
return exportTem(props);
}
case PMO_LIST_BUTTON.Import: {
//导入
let importC = importClick.bind(this, props, id);
return importC(props);
}
}
}

View File

@ -0,0 +1,72 @@
/*
* @Author: fengjinga
* @PageInfo: 关闭按钮事件
*/
import { PMO_LIST, PMO_CARD, PMO_LIST_BUTTON, PMO_CARD_BUTTON, FBILLSTATUS, BODYFBILLSTATUS, HEADATTRCODE, BODYATTRCODE, GRANDATTRCODE } from '../../pmoconst';
import { ajax, toast } from 'nc-lightapp-front';
import {
showWarningDialog,
showBatchOprMessage,
showInfoDialog,
showErrorInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { buttonController } from '../viewControl';
const tableId = PMO_LIST.tableId;
export default function putBtn(props) {
// 获取选中行
let rows = props.table.getCheckedRows(tableId);
let inforows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value,
rowid: item.data.rowId
};
inforows.push(data);
});
let data = { infos: inforows, pageid: PMO_LIST.pageid };
let url = PMO_LIST.listClose;
ajax({
url: url,
data,
success: (res) => {
if (res.success) {
if (res.data) {
if (JSON.stringify(res.data.errorMessageMap || {}) != '{}') {
// 成功的index
let sucIndex = [];
rows.forEach((element, index) => {
if (!res.data.errorMessageMap[index]) {
sucIndex.push(element.index);
}
});
} else {
let succIndex = [];
rows.forEach((element, index) => {
//deleteCacheDataForList(props, tableId, element.data.values[cpmohid].value);
succIndex.push(element.index);
});
}
buttonController.setListButtonVisiable(props, this.state.currentTab);
if (res.data.sucessVOs) {
res.data.sucessVOs[tableId].rows.map((item, index) => {
item.rowId = item.rowid;
});
this.props.table.updateTableData(tableId, res.data.sucessVOs[tableId]);
}
showBatchOprMessage(
getLangByResId(this, '50080000-000070'),/* 国际化处理: 强制关闭成功*/
res.data,
{},
getLangByResId(this, '50080000-000017')/* 国际化处理: 提示*/
); /* 国际化处理: 提示*/
} else {
toast({content: getLangByResId(this, '50080000-000071'), color: 'error' });/* 国际化处理: 强制关闭失败!*/
}
} /* else {
} */
}
});
}

View File

@ -0,0 +1,71 @@
/*
* @Author: fengjinga
* @PageInfo: 取消关闭按钮事件
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { ajax, toast } from 'nc-lightapp-front';
import {
showWarningDialog,
showBatchOprMessage,
showInfoDialog,
showErrorInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { buttonController } from '../viewControl';
const tableId = PMO_LIST.tableId;
export default function putBtn(props) {
// 获取选中行
let rows = props.table.getCheckedRows(tableId);
let inforows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value,
rowid: item.data.rowId
};
inforows.push(data);
});
let data = { infos: inforows, pageid: PMO_LIST.pageid };
let url = PMO_LIST.listCloseCancel;
ajax({
url: url,
data,
success: (res) => {
if (res.success) {
if (res.data) {
if (JSON.stringify(res.data.errorMessageMap || {}) != '{}') {
// 成功的index
let sucIndex = [];
rows.forEach((element, index) => {
if (!res.data.errorMessageMap[index]) {
sucIndex.push(element.index);
}
});
} else {
let succIndex = [];
rows.forEach((element, index) => {
//deleteCacheDataForList(props, tableId, element.data.values[cpmohid].value);
succIndex.push(element.index);
});
}
buttonController.setListButtonVisiable(props, this.state.currentTab);
if (res.data.sucessVOs) {
res.data.sucessVOs[tableId].rows.map((item, index) => {
item.rowId = item.rowid;
});
this.props.table.updateTableData(tableId, res.data.sucessVOs[tableId]);
}
showBatchOprMessage(
getLangByResId(this, '50080000-000068'),/* 国际化处理: 取消关闭成功*/
res.data,
{},
getLangByResId(this, '50080000-000017')/* 国际化处理: 提示*/
); /* 国际化处理: 提示*/
} else {
toast({ content: getLangByResId(this, '50080000-000069'), color: 'error' });/* 国际化处理: 取消关闭失败!*/
}
}
}
});
}

View File

@ -0,0 +1,83 @@
/*
* @Author: fengjinga
* @PageInfo: 批量提交按钮事件
* @Date: 2018-04-19 10:36:58
* @Last Modified by: fengjinga
* @Last Modified time: 2019-01-25 13:39:32
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { ajax, toast } from 'nc-lightapp-front';
import { showBatchOprMessage } from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { updateCacheDataForList } from '../../../../../mmpub/mmpub/pub/cache/cacheDataManager';
import { buttonController } from '../viewControl';
let tableId = PMO_LIST.tableId;
export default function clickCommitBtn(props, assign) {
// 获取选中行
let _this = this;
let rows = props.table.getCheckedRows(tableId);
// 如果没有选中行,则提示并返回,不进行任何操作
if (rows.length <= 0) {
toast({
color: 'warning',
content: getLangByResId(this, '50080000-000072')/* 国际化处理: 请选择需要提交的数据!*/
});
return;
}
// 获取待删除表格行的行号
let indexs = rows.map((item) => {
return item.index;
});
// 执行删除操作
let infoRows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value
};
infoRows.push(data);
});
// 拼装json
let data = {
infos: infoRows,
pageid: PMO_LIST.pageid
};
if (assign) {
data['assign'] = JSON.stringify(assign);
}
// 发送请求
ajax({
url: PMO_LIST.commitURL,
data: data,
success: (res) => {
if (
res.data &&
res.data.workflow &&
(res.data.workflow == 'approveflow' || res.data.workflow == 'workflow')
) {
//缓存当前数据
_this.commitInfo = {
isBatch: true,
record: null,
index: null
};
_this.setState({
compositedata: res.data,
compositedisplay: true
});
return;
}
if (res.success) {
showBatchOprMessage(
getLangByResId(this, '50080000-000073'),/* 国际化处理: 提交*/
res.data,
{},
getLangByResId(this, '50080000-000073')/* 国际化处理: 提交*/
); /* 国际化处理: 提交成功*/
//更新列表上的数据
updateCacheDataForList(props, tableId, HEADATTRCODE.CPMOHID, res.data);
buttonController.setListButtonVisiable(props, this.state.currentTab);
}
}
});
}

View File

@ -0,0 +1,72 @@
/*
* @Author: fengjinga
* @PageInfo: 提交按钮事件
* @Date: 2018-04-19 10:36:58
* @Last Modified by: fengjinga
* @Last Modified time: 2019-01-03 16:00:36
*/
import { PMO_LIST, FBILLSTATUS, HEADATTRCODE } from '../../pmoconst';
import { ajax } from 'nc-lightapp-front';
import { showSuccessInfo, showErrorInfo, showWarningInfo } from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { updateCacheDataForList } from '../../../../../mmpub/mmpub/pub/cache/cacheDataManager';
import { buttonController } from '../viewControl';
let tableId = PMO_LIST.tableId;
export default function clickCommitBtn(props, record, index, assign) {
let _this = this;
let numberindex = record.numberindex.value;
let pk = record[HEADATTRCODE.CPMOHID].value;
let ts = record[HEADATTRCODE.TS].value;
let fbillstatus = record[HEADATTRCODE.FBILLSTATUS].value;
if (fbillstatus != FBILLSTATUS.free && fbillstatus != FBILLSTATUS.unapproved) {
showWarningInfo(getLangByResId(this, '50080000-000026')/* 国际化处理: 请选择状态为自由的数据!*/
);
return;
}
// 执行操作
let infoRows = [];
let datas = {
id: pk,
ts: ts
};
infoRows.push(datas);
// 拼装json
let data = {
infos: infoRows,
pageid: PMO_LIST.pageid
};
if (assign) {
data['assign'] = JSON.stringify(assign);
}
ajax({
url: PMO_LIST.commitURL,
data: data,
success: (res) => {
if (
res.data &&
res.data.workflow &&
(res.data.workflow == 'approveflow' || res.data.workflow == 'workflow')
) {
//缓存当前数据
this.commitInfo = {
isBatch: false,
record: record,
index: index
};
this.setState({
compositedata: res.data,
compositedisplay: true
});
return;
}
if (res.success) {
//更新列表上的数据
updateCacheDataForList(props, tableId, HEADATTRCODE.CPMOHID, res.data, numberindex - 1);
buttonController.setListButtonVisiable(props, this.state.currentTab);
showSuccessInfo(getLangByResId(this, '50080000-000027'));/* 国际化处理: 提交成功!*/
} else {
showErrorInfo(getLangByResId(this, '50080000-000074')); /* 国际化处理: 提交失败!*//* 国际化处理: 提交失败!*/
}
}
});
}

View File

@ -0,0 +1,108 @@
/*
* @Author: fengjinga
* @PageInfo: 查询功能描述
* @Date: 2018-05-24 11:30:23
* @Last Modified by: fengjinga
* @Last Modified time: 2022-05-24 19:30:28
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { ajax, cacheTools, cardCache } from 'nc-lightapp-front';
import { transtypeUtils } from '../../../../../mmpub/mmpub/pub/tool';
import { showSuccessInfo, showErrorInfo, showWarningInfo } from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { buttonController } from '../viewControl';
const { getDefData, setDefData } = cardCache;
const tableId = PMO_LIST.tableId;
const searchId = PMO_LIST.searchId;
const dataSource = PMO_LIST.dataSource;
const pageid = PMO_LIST.pageid;
const tabNumKey = PMO_LIST.tabNum;
export default function commonSerach(tabCode, searchVal, refresh, searchFlag, loadFlag) {
if (typeof (loadFlag) == 'undefined') {
loadFlag = false;
}
let pageInfo = this.props.table.getTablePageInfo(tableId); //分页信息
let queryInfo = this.props.search.getQueryInfo(searchId, false);
//获取simpletable的页面配置信息
queryInfo.pageInfo = pageInfo;
//如果searchVal有值说明是点击查询进入没有值说明是点击翻页过来的需要从缓存中获取
if (searchVal) {
queryInfo.querycondition = searchVal;
} else {
if (getDefData(dataSource, 'searchVal')) {
queryInfo.querycondition = getDefData(dataSource, 'searchVal');
}
}
queryInfo = transtypeUtils.beforeSearch.call(this, queryInfo, HEADATTRCODE.CTRANTYPEID);
if (refresh || searchFlag) {
setDefData(dataSource, 'searchVal', queryInfo.querycondition);
cacheTools.set('searchVal', queryInfo.querycondition);
}
let data = {
queryInfo: queryInfo,
pageCode: pageid, //页面编码
currentTab: tabCode //当前页签编码
};
//获取查询模板信息
ajax({
url: PMO_LIST.queryListURL,
data,
success: (res) => {
if (res.success) {
if (res.formulamsg && res.formulamsg instanceof Array && res.formulamsg.length > 0) {
this.props.dealFormulamsg(
res.formulamsg //参数一:返回的公式对象
);
}
if (res.data === undefined || res.data === null) {
this.props.table.setAllTableData(tableId, { rows: [] });
this.setState({
toCommitNum: '0',
approvingNum: '0',
executingNum: '0'
});
setDefData(dataSource, tabNumKey, {
toCommitNum: '0',
approvingNum: '0',
executingNum: '0'
});
} else {
let toCommitNum; // 未提交数量
let approvingNum; // 审批中数量
let executingNum; //执行中数量
if (res.data.tabNum) {
toCommitNum = res.data.tabNum.toCommit;
approvingNum = res.data.tabNum.approving;
executingNum = res.data.tabNum.executing;
}
setDefData(dataSource, tabNumKey, {
toCommitNum: toCommitNum,
approvingNum: approvingNum,
executingNum: executingNum
});
this.setState(
{
toCommitNum: toCommitNum,
approvingNum: approvingNum,
executingNum: executingNum
});
let currentTab = res.data.currentTab;
let rowsData = { rows: [] };
if (res.data.currentGrid && res.data.currentGrid[tableId]) {
rowsData = res.data.currentGrid[tableId];
}
this.props.table.setAllTableData(tableId, rowsData);
}
if (refresh && !loadFlag) {
showSuccessInfo(getLangByResId(this, '50080000-000016'));/* 国际化处理: 提示,刷新成功!*/
}
if (searchFlag && !loadFlag) {
this.searchflag = true;
buttonController.setListButton4Query(this.props);
showSuccessInfo(getLangByResId(this, '50080000-000075'));/* 国际化处理: 提示,查询成功!*/
}
}
buttonController.setListButtonVisiable(this.props, null);
}
});
}

View File

@ -0,0 +1,112 @@
/*
* @Author: fengjinga
* @PageInfo: 删除按钮事件
* @Date: 2018-04-19 10:36:58
* @Last Modified by: fengjinga
* @Last Modified time: 2022-03-31 14:11:35
*/
import { PMO_LIST, PMO_CARD, HEADATTRCODE } from '../../pmoconst';
import { ajax, promptBox } from 'nc-lightapp-front';
import { buttonController } from '../viewControl';
import {
showWarningDialog,
showBatchOprMessage,
showInfoDialog,
showErrorInfo,
showWarningInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
let tableId = PMO_LIST.tableId;
let cpmohid = HEADATTRCODE.CPMOHID;
export default function clickDelBtn(props) {
// 获取选中行
let rows = props.table.getCheckedRows(tableId);
// 如果没有选中行,则提示并返回,不进行任何操作
if (rows.length <= 0) {
showWarningInfo(getLangByResId(this, '50080000-000076'));/* 国际化处理: 选择需要删除的数据!*/
return;
}
promptBox({
color: 'warning', // 提示类别默认"success" "success"/"info"/"warning"/"danger",非必输
title: getLangByResId(this, '50080000-000077'), // 提示标题, 默认不同类别下分别为:已成功/帮助信息/请注意/出错啦,非必输/* 国际化处理: 确认删除,已成功,帮助信息,请注意,出错啦,提示标题,默认不同类别下分别为,已成功,帮助信息,请注意,出错啦,非必输*//* 国际化处理: 确认取消*/
content: getLangByResId(this, '50080000-000078'), // 提示内容,非必输/* 国际化处理: 是否确认要删除?,提示内容,非必输*//* 国际化处理: 是否确认要取消?*/
noFooter: false, // 是否显示底部按钮(确定、取消),默认显示(false),非必输
noCancelBtn: false, // 是否显示取消按钮,,默认显示(false),非必输
beSureBtnName: getLangByResId(this, '50080000-000005'), // 确定按钮名称, 默认为getLangByResId(this, '50080000-000005'),非必输/* 国际化处理: 确定,确定,确定按钮名称,默认为,非必输*//* 国际化处理: 确定*/
cancelBtnName: getLangByResId(this, '50080000-000006'), // 取消按钮名称, 默认为getLangByResId(this, '50080000-000006'),非必输/* 国际化处理: 取消,取消,取消按钮名称,默认为,非必输*//* 国际化处理: 取消*/
beSureBtnClick: deleteSureEvent.bind(this, props, rows) // 确定按钮点击调用函数,非必输
})
}
function deleteSureEvent(props, rows) {
//自己的逻辑
// 获取待删除表格行的行号
//console.log("批量删除结果rows" + JSON.stringify(rows));
let indexs = rows.map((item) => {
return item.index;
});
// 执行删除操作
let delRows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value
};
delRows.push(data);
});
//console.log("批量删除结果delRows" + JSON.stringify(delRows));
// 拼装json
let data = {
deleteInfos: delRows
};
// 发送请求
ajax({
url: PMO_LIST.batchDeleteURL,
data: data,
success: (res) => {
//console.log("批量删除结果" + JSON.stringify(res));
if (res.success) {
if (res.data) {
if (JSON.stringify(res.data.errorMessageMap || {}) != '{}') {
// 成功的index
let sucIndex = [];
rows.forEach((element, index) => {
if (!res.data.errorMessageMap[index]) {
sucIndex.push(element.index);
deleteCacheDataForList(props, tableId, element.data.values[cpmohid].value);
}
});
props.table.deleteTableRowsByIndex(tableId, sucIndex);
} else {
let succIndex = [];
rows.forEach((element, index) => {
deleteCacheDataForList(props, tableId, element.data.values[cpmohid].value);
succIndex.push(element.index);
});
props.table.deleteTableRowsByIndex(tableId, succIndex);
}
buttonController.setListButtonVisiable(props, this.state.currentTab);
showBatchOprMessage(
getLangByResId(this, '50080000-000079'),/* 国际化处理: 删除成功*/
res.data,
{},
getLangByResId(this, '50080000-000077')/* 国际化处理: 删除*/
); /* 国际化处理: 提示*/
} else {
showErrorInfo(getLangByResId(this, '50080000-000080'));/* 国际化处理: 删除失败!*/
}
} /* else {
} */
}
});
function deleteCacheDataForList(props, tableId, pkvalue) {
if (pkvalue instanceof Array) {
pkvalue.forEach((element) => {
props.table.deleteCacheId(tableId, element);
});
} else {
props.table.deleteCacheId(tableId, pkvalue);
}
}
}

View File

@ -0,0 +1,41 @@
/*
* @Author: fengjinga
* @PageInfo: 删除按钮事件
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { ajax, toast } from 'nc-lightapp-front';
import { buttonController } from '../viewControl';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { showSuccessInfo } from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
const tableId = PMO_LIST.tableId;
export default function clickDelBtn(props, record) {
let numberindex = record.numberindex.value;
let pk = record[HEADATTRCODE.CPMOHID].value;
let ts = record.ts.value;
ajax({
url: PMO_LIST.deleteURL,
data: {
id: pk,
ts: ts
},
success: (res) => {
// 删除成功之后,前台删除数据
props.table.deleteTableRowsByIndex(tableId, numberindex - 1);
deleteCacheDataForList(props, tableId, pk);
//按钮触发
buttonController.setListButtonVisiable(props, this.state.currentTab);
showSuccessInfo(getLangByResId(this, '50080000-000030')); /* 国际化处理: 删除成功!*/
}
});
}
function deleteCacheDataForList(props, tableId, pkvalue) {
if (pkvalue instanceof Array) {
pkvalue.forEach((element) => {
props.table.deleteCacheId(tableId, element);
});
} else {
props.table.deleteCacheId(tableId, pkvalue);
}
}

View File

@ -0,0 +1,30 @@
/*
* @Author: zhangjingchuan
* @PageInfo: 流程生产订单导出按钮事件
* @Date: 2022-01-22 20:00:00
* @Last Modified by: zhangjingchuan
* @Last Modified time: 2022-09-07 15:50:50
*/
//常量
import { PMO_LIST , HEADATTRCODE} from '../../pmoconst';
export default function exportTemClick(props, id) {
console.log('List buttonClick-exportTemClick');
let selectedrows = this.props.table.getCheckedRows(PMO_LIST.tableId);
let cpomids = [];
if (selectedrows.length > 0) {
selectedrows.forEach((item) => {
cpomids.push(item.data.values[HEADATTRCODE.CPMOHID].value);
});
}
//固定写法,必须这么写
this.setState(
{
excelExportShow: true,
selectedPKS: cpomids
},
() => {
props.modal.show('exportFileModal');
}
);
}

View File

@ -0,0 +1,32 @@
/*
* @Author: fnegjinga
* @PageInfo: 附件管理按钮事件
* @Date: 2018-04-19 10:36:58
* @Last Modified by: fengjinga
* @Last Modified time: 2019-02-13 16:12:27
*/
import { PMO_LIST, FBILLSTATUS,HEADATTRCODE } from '../../pmoconst';
import { ajax, toast } from 'nc-lightapp-front';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
let tableId = PMO_LIST.tableId; //'head';
export default function fileBtnClick(props) {
// 获取选中行
let rows = props.table.getCheckedRows(tableId);
// 如果没有选中行,则提示并返回,不进行任何操作
if (rows.length <= 0) {
toast({
color: 'warning',
content: getLangByResId(this, '50080000-000082')/* 国际化处理: 请选择需要操作的数据!*/
});
return;
}
let billId = rows[0].data.values[HEADATTRCODE.CPMOHID].value;
let vbillcode = rows[0].data.values[HEADATTRCODE.VBILLCODE].value;
let flag = this.state.showUploader;
this.setState({
billId: billId,
vbillcode: vbillcode,
showUploader: !flag
});
}

View File

@ -0,0 +1,71 @@
/*
* @Author: fengjinga
* @PageInfo: 完工按钮事件
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { ajax } from 'nc-lightapp-front';
import {
showWarningDialog,
showBatchOprMessage,
showInfoDialog,
showErrorInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { buttonController } from '../viewControl';
const tableId = PMO_LIST.tableId;
export default function putBtn(props) {
// 获取选中行
let rows = props.table.getCheckedRows(tableId);
let inforows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value,
rowid: item.data.rowId
};
inforows.push(data);
});
let data = { infos: inforows, pageid: PMO_LIST.pageid };
let url = PMO_LIST.listFinish;
ajax({
url: url,
data,
success: (res) => {
if (res.success) {
if (res.data) {
if (JSON.stringify(res.data.errorMessageMap || {}) != '{}') {
// 成功的index
let sucIndex = [];
rows.forEach((element, index) => {
if (!res.data.errorMessageMap[index]) {
sucIndex.push(element.index);
}
});
} else {
let succIndex = [];
rows.forEach((element, index) => {
succIndex.push(element.index);
});
}
buttonController.setListButtonVisiable(props, this.state.currentTab);
if (res.data.sucessVOs) {
res.data.sucessVOs[tableId].rows.map((item, index) => {
item.rowId = item.rowid;
});
this.props.table.updateTableData(tableId, res.data.sucessVOs[tableId]);
}
showBatchOprMessage(
getLangByResId(this, '50080000-000085'),/* 国际化处理: 强制完工成功*/
res.data,
{},
getLangByResId(this, '50080000-000017')/* 国际化处理: 提示*/
); /* 国际化处理: 提示*/
} else {
showErrorInfo(getLangByResId(this, '50080000-000086'));/* 国际化处理: 强制完工失败!*/
}
} /* else {
} */
}
});
}

View File

@ -0,0 +1,71 @@
/*
* @Author: fengjinga
* @PageInfo: 取消完工按钮事件
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { ajax } from 'nc-lightapp-front';
import {
showWarningDialog,
showBatchOprMessage,
showInfoDialog,
showErrorInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { buttonController } from '../viewControl';
const tableId = PMO_LIST.tableId;
export default function finishcancelBtn(props) {
// 获取选中行
let rows = props.table.getCheckedRows(tableId);
let inforows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value,
rowid: item.data.rowId
};
inforows.push(data);
});
let data = { infos: inforows, pageid: PMO_LIST.pageid };
let url = PMO_LIST.listFinishCancel;
ajax({
url: url,
data,
success: (res) => {
if (res.success) {
if (res.data) {
if (JSON.stringify(res.data.errorMessageMap || {}) != '{}') {
// 成功的index
let sucIndex = [];
rows.forEach((element, index) => {
if (!res.data.errorMessageMap[index]) {
sucIndex.push(element.index);
}
});
} else {
let succIndex = [];
rows.forEach((element, index) => {
//deleteCacheDataForList(props, tableId, element.data.values[cpmohid].value);
succIndex.push(element.index);
});
}
buttonController.setListButtonVisiable(props, this.state.currentTab);
if (res.data.sucessVOs) {
res.data.sucessVOs[tableId].rows.map((item, index) => {
item.rowId = item.rowid;
});
this.props.table.updateTableData(tableId, res.data.sucessVOs[tableId]);
}
showBatchOprMessage(
getLangByResId(this, '50080000-000083'),/* 国际化处理: 取下完工成功*/
res.data,
{},
getLangByResId(this, '50080000-000017')/* 国际化处理: 提示*/
); /* 国际化处理: 提示*/
} else {
showErrorInfo(getLangByResId(this, '50080000-000084'));/* 国际化处理: 取消完工失败!*/
}
}
}
});
}

View File

@ -0,0 +1,19 @@
/*
* @Author: zhangjingchuan
* @PageInfo: 流程生产订单-导入按钮事件
* @Date: 2022-01-21 09:00:00
* @Last Modified by: zhangjingchuan
* @Last Modified time: 2022-10-24 17:44:06
*/
export default function importClick(props, id) {
console.log('List buttonClick-importClick');
afterImport.call(this, props, true, (afterRet) => {});
}
//导入操作后事件
function afterImport(props, success, callback) {
console.log('List buttonClick-importClick-afterImport');
//导入成功后的回调暂时不知道干什么
callback.call(this);
}

View File

@ -0,0 +1,13 @@
/*
* @Author: fengjinga
* @PageInfo: 单据追溯
* @Date: 2018-04-19 10:36:58
* @Last Modified by: fengjinga
* @Last Modified time: 2018-06-26 16:40:47
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
export default function linkBtnClick(props) {
// 获取选中行
let pk = this.props.table.getCheckedRows(PMO_LIST.tableId)[0].data.values[HEADATTRCODE.CPMOHID].value;
this.setState({ pk: pk, showTrack: true });
}

View File

@ -0,0 +1,37 @@
/*
* 输出
* @Author: fengjinga
* @Date: 2018-07-04 15:06:44
* @Last Modified by: fengjinga
* @Last Modified time: 2018-10-22 15:50:54
*/
import { toast, output } from 'nc-lightapp-front';
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
export default function buttonClick(props) {
// 获取选中行
let seldatas = props.table.getCheckedRows(PMO_LIST.tableId);
// 如果没有选中行,则提示并返回,不进行任何操作
if (seldatas.length <= 0) {
toast({
color: 'warning',
content: getLangByResId(this, '50080000-000087')/* 国际化处理: 请选择要输出的订单!*/
});
return;
}
let pks = [];
seldatas.map((item) => {
pks.push(item.data.values[HEADATTRCODE.CPMOHID].value);
});
output({
url: PMO_LIST.printURL,
data: {
funcode: PMO_LIST.appcode, //小应用编码
nodekey: PMO_LIST.pnodekey, //模板节点标识
oids: pks,
outputType: PMO_LIST.outputType
} // 功能节点的数据主键
});
}

View File

@ -0,0 +1,40 @@
/*
* @Author: fengjinga
* @PageInfo: 翻页按钮处理方法
* @Date: 2018-05-24 11:30:54
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-23 10:34:50
*/
import { ajax } from 'nc-lightapp-front';
import { PMO_LIST } from '../../pmoconst';
export default function (props, config, pks) {
//将当前页签放到state中
let pageInfo = this.props.table.getTablePageInfo(PMO_LIST.tableId);
let data = {
pks: pks,
pagecode: PMO_LIST.pageid
};
//得到数据渲染到页面
let _this = this;
ajax({
url: PMO_LIST.queryPageURL,
data: data,
success: function (res) {
let { success, data } = res;
if (success) {
if (res.formulamsg && res.formulamsg instanceof Array && res.formulamsg.length > 0) {
props.dealFormulamsg(
res.formulamsg //参数一:返回的公式对象
);
}
if (data) {
props.table.setAllTableData(PMO_LIST.tableId, data[PMO_LIST.tableId]);
} else {
props.table.setAllTableData(PMO_LIST.tableId, { rows: [] });
}
}
}
});
}

View File

@ -0,0 +1,34 @@
/*
* @Author: fengjinga
* @PageInfo: 备料计划
* @Date: 2018-04-19 10:35:13
* @Last Modified by: fengjinga
* @Last Modified time: 2019-03-15 13:18:42
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { ajax } from 'nc-lightapp-front';
import { showSuccessInfo, showErrorInfo, showWarningInfo } from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
const tableId = PMO_LIST.tableId;
export default function pickm(props) {
let checkedrows = props.table.getCheckedRows(tableId);
if (checkedrows.length == 0) {
showWarningInfo(getLangByResId(this, '50080000-000017'), getLangByResId(this, '50080000-000088'));/* 国际化处理: 提示,请选择数据操作!*/
return;
}
let pkJson = {};
let ids = [];
checkedrows.map((item) => {
let id = item.data.values[HEADATTRCODE.CPMOHID].value;
if (id) {
ids.push(id);
}
});
pkJson[HEADATTRCODE.CPMOHID] = ids;
cacheTools.set("55A2To55A3Json", pkJson);
props.openTo(null, {
pagecode: '50080102_list',
appcode: '50080102',
billtype: PMO_LIST.billType
});
}

View File

@ -0,0 +1,71 @@
/**
* 流程生产订单备料重算
*/
import { ajax } from 'nc-lightapp-front';
import {
showWarningDialog,
showBatchOprMessage,
showErrorInfo,
showInfoInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { buttonController } from '../viewControl';
const tableId = PMO_LIST.tableId;
export default function pickmrecal(props) {
showWarningDialog(getLangByResId(this, '50080000-000040'), getLangByResId(this, '50080000-000041'), {/* 国际化处理: 确认信息,生产订单备料重算后备料计划数据将变更?*/
/* 国际化处理: 生产订单备料重算后备料计划数据将变更?*/
beSureBtnClick: pickmrecalcation.bind(this, props)
});
}
function pickmrecalcation(props) {
let rows = props.table.getCheckedRows(tableId);
let inforows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value
};
inforows.push(data);
});
let data = { infos: inforows,pageid: PMO_LIST.pageid };
let url = PMO_LIST.listpickmrecal;
ajax({
url: url,
data,
success: (res) => {
if (res.success) {
if (res.data) {
if (JSON.stringify(res.data.errorMessageMap || {}) != '{}') {
// 成功的index
let sucIndex = [];
rows.forEach((element, index) => {
if (!res.data.errorMessageMap[index]) {
sucIndex.push(element.index);
}
});
} else {
let succIndex = [];
rows.forEach((element, index) => {
succIndex.push(element.index);
});
}
buttonController.setListButtonVisiable(props, this.state.currentTab);
showBatchOprMessage(
getLangByResId(this, '50080000-000042'),/* 国际化处理: 操作成功*/
res.data,
{},
getLangByResId(this, '50080000-000017')/* 国际化处理: 提示*/
); /* 国际化处理: 提示*/
if (res.data.data) {
showInfoInfo(getLangByResId(this, '50080000-000042')+','+res.data.data);
}
} else {
showErrorInfo(getLangByResId(this, '50080000-000043'));/* 国际化处理: 操作失败!*/
}
}
}
});
}

View File

@ -0,0 +1,38 @@
/*
* 配套变更建议
*/
import { ajax } from 'nc-lightapp-front';
import { PMO_LIST, PMO_CARD, HEADATTRCODE, BODYATTRCODE } from '../../pmoconst';
import { headCheckedRow } from '../util/headSelectedUtils';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
export default function pmomos(props) {
let data = headCheckedRow.call(this, this.props);
let infos = data.infos;
let ids = [];
if (infos) {
infos.map((item, index) => {
ids.push(item.id);
});
}
ajax({
url: PMO_LIST.checkMosURL,
data: { pks: ids },
success: (res) => {
if (res.success) {
if (res.data) {
let params = { cmoids: res.data, pageCode: PMO_LIST.pmoslistpage };
this.props.openTo(null, {
transfer: '55A2toMo',
pagecode: PMO_LIST.pmoslistpage,
appcode: PMO_LIST.pmosappcode,
vsrcAppcode: this.props.getAppCode(),
channelAddress: 'list',
status: PMO_CARD.browse,
'55A2toMoParam': JSON.stringify(params)
});
}
}
}
});
}

View File

@ -0,0 +1,21 @@
/**
* 齐套分析
*/
import { ajax, toast } from 'nc-lightapp-front';
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { setAnalysisExectueServ } from '../../../../../mmpub/mmpub/setanalysis/list/util';
const tableId = PMO_LIST.tableId;
export default function setanalysis(props) {
let checkedrows = props.table.getCheckedRows(tableId);
if (checkedrows.length == 0) {
toast({ content: getLangByResId(this, '50080000-000089'), color: 'warning' });/* 国际化处理: 请选择要操作的数据*/
return;
}
let ids = [];
checkedrows.map((item) => {
ids.push(item.data.values[HEADATTRCODE.CPMOHID].value);
});
setAnalysisExectueServ.call(this, this.props, 1, ids);
}

View File

@ -0,0 +1,38 @@
/*
* 投放计划
*/
import { ajax } from 'nc-lightapp-front';
import { PMO_LIST, PMO_CARD } from '../../pmoconst';
import { headCheckedRow } from '../util/headSelectedUtils';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
export default function pmotoputplan(props) {
let data = headCheckedRow.call(this, this.props);
let infos = data.infos;
let ids = [];
if (infos) {
infos.map((item, index) => {
ids.push(item.id);
});
}
ajax({
url: PMO_LIST.checkPutPlanURL,
data: { pks: ids },
success: (res) => {
if (res.success) {
if (res.data) {
let params = { cmoids: res.data, pageCode: PMO_LIST.ppplistpage };
this.props.openTo(null, {
transfer: '55A2to55A7',
pagecode: PMO_LIST.ppplistpage,
appcode: PMO_LIST.pppappcode,
vsrcAppcode: this.props.getAppCode(),
channelAddress: 'list',
status: PMO_CARD.browse,
'55A2to55A7Param': JSON.stringify(params)
});
}
}
}
});
}

View File

@ -0,0 +1,53 @@
/*
* @Author: fengjinga
* @PageInfo: 作业量维护按钮处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { ajax, toast } from 'nc-lightapp-front';
import { PMO_LIST, PMO_CARD, HEADATTRCODE } from '../../pmoconst';
import { buttonController } from '../viewControl';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
const tableId = PMO_LIST.tableId;
export default function pmoactivityBtn(props) {
let checkedrows = props.table.getCheckedRows(tableId);
if (checkedrows.length == 0) {
toast({ content: getLangByResId(this, '50080000-000089'), color: 'warning' });/* 国际化处理: 请选择要操作的数据*/
return;
}
let inforows = [];
checkedrows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value
};
inforows.push(data);
});
let data = { infos: inforows };
ajax({
url: PMO_LIST.pmoActivityURL,
data,
success: (res) => {
let pks = [];
checkedrows.map((item) => {
let pk = item.data.values[HEADATTRCODE.CPMOHID].value;
if (pk) {
pks.push(pk);
}
});
let params = { [HEADATTRCODE.CPMOHID]: pks };
this.props.openTo(null, {
pagecode: PMO_LIST.card4activity,
appcode: PMO_LIST.appcode4activity,
vsrcAppcode: PMO_LIST.appcode,
vsrctype: PMO_LIST.billType,
channelAddress: 'list',
status: PMO_CARD.edit,
'55A2To55A8ID': JSON.stringify(params)
});
}
});
}

View File

@ -0,0 +1,69 @@
/*
* @Author: fengjinga
* @PageInfo: 生产领料按钮处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { ajax, cacheTools } from 'nc-lightapp-front';
import { PMO_LIST, URL, HEADATTRCODE, BODYATTRCODE } from '../../pmoconst';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import {
showWarningInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
const tableId = PMO_LIST.tableId;
export default function pmodeliverBtn(props, record) {
let checkedrows = [];
if (record) {
let singledata = { data: record };
checkedrows.push(singledata);
} else {
checkedrows = props.table.getCheckedRows(tableId);
if (checkedrows.length == 0) {
showWarningInfo(getLangByResId(this, '50080000-000046'));/* 国际化处理: 请选择需要处理的数据!*/
return;
}
}
let ids = [];
checkedrows.forEach((item) => {
let id = item.data.values[HEADATTRCODE.CPMOHID].value;
if (id) {
ids.push(id);
}
});
let data = { [HEADATTRCODE.CPMOHID]: ids }
ajax({
url: URL.pmopickmURL,
data: data,
success: (res) => {
if (res.success) {
if (res.data) {
let paramdata = {
cpickmids: res.data
}
ajax({
url: URL.checkToDeliver,
data: paramdata,
success: (res) => {
if (res.success) {
let deliverParam = {
cpickmbids: res.data.pks,
deliverType: 1//1,领料2成套领料3补成套领料
};
cacheTools.set('pickmDeliverParam', deliverParam);
props.openTo(null, {
appcode: '50080105',
pagecode: '5008010501',
type: '55A3'
});
}
}
});
}
}
}
});
}

View File

@ -0,0 +1,54 @@
/*
* @Author: fengjinga
* @PageInfo: 退料处理按钮处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { ajax, cacheTools } from 'nc-lightapp-front';
import { PMO_LIST, URL, DELIVERDLG, HEADATTRCODE, BODYATTRCODE } from '../../pmoconst';
import { buttonController } from '../viewControl';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import {
showWarningInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
const tableId = PMO_LIST.tableId;
export default function pmodeliverbackBtn(props, record) {
let checkedrows = [];
if (record) {
let singledata = { data: record };
checkedrows.push(singledata);
} else {
checkedrows = props.table.getCheckedRows(tableId);
if (checkedrows.length == 0) {
showWarningInfo(getLangByResId(this, '50080000-000046'));/* 国际化处理: 请选择需要处理的数据!*/
return;
}
}
let data = {};
let ids = [];
checkedrows.forEach((item) => {
let id = item.data.values[HEADATTRCODE.CPMOHID].value;
if (id) {
ids.push(id);
}
});
data[HEADATTRCODE.CPMOHID] = ids;
ajax({
url: URL.checkdeliverback,
data,
success: (res) => {
if (res.data) {
let deliverbackParam = {
[BODYATTRCODE.CMOID]: res.data,
};
cacheTools.set('pmodeliverbackParam', deliverbackParam);
props.openTo(null, {
appcode: '50080108',
pagecode: '50080108_list'
});
}
}
});
}

View File

@ -0,0 +1,56 @@
/*
* @Author: fengjinga
* @PageInfo: 补成套领料按钮处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { ajax } from 'nc-lightapp-front';
import { PMO_LIST, URL, DELIVERDLG, PMO_CARD, HEADATTRCODE } from '../../pmoconst';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { setDefData } from '../../../../../mmpub/mmpub/pub/cache/cacheDataManager';
import {
showWarningInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { pickmSetDeliver } from '../../../pub/pickmdeliverwithset';
const tableId = PMO_LIST.tableId;
export default function pmodeliverfillsetBtn(props, record) {
let checkedrows = [];
if (record) {
let singledata = { data: record };
checkedrows.push(singledata);
} else {
checkedrows = props.table.getCheckedRows(tableId);
if (checkedrows.length == 0) {
showWarningInfo(getLangByResId(this, '50080000-000046'));/* 国际化处理: 请选择需要处理的数据!*/
return;
}
}
let ids = [];
checkedrows.forEach((item) => {
let id = item.data.values[HEADATTRCODE.CPMOHID].value;
if (id) {
ids.push(id);
}
});
//let data = { [HEADATTRCODE.CPMOHID]: ids };
//ajax({
// url: URL.pmopickmURL,
// data: data,
// success: (res) => {
// if (res.success) {
// if (res.data) {
let dataparam = {
appcode: DELIVERDLG.PICKAPPCODE,
hmopks: ids,
isReSet: true,
pageid: DELIVERDLG.DELIVERSETDLG
}
pickmSetDeliver.call(this, this.props, dataparam);
// }
// }
// }
//});
}

View File

@ -0,0 +1,55 @@
/*
* @Author: fengjinga
* @PageInfo: 成套领料按钮处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by:fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { ajax } from 'nc-lightapp-front';
import { PMO_LIST, URL, DELIVERDLG, HEADATTRCODE } from '../../pmoconst';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import {
showWarningInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { pickmSetDeliver } from '../../../pub/pickmdeliverwithset';
const tableId = PMO_LIST.tableId;
export default function pmodeliversetBtn(props, record) {
let checkedrows = [];
if (record) {
let singledata = { data: record };
checkedrows.push(singledata);
} else {
checkedrows = props.table.getCheckedRows(tableId);
if (checkedrows.length == 0) {
showWarningInfo(getLangByResId(this, '50080000-000046'));/* 国际化处理: 请选择需要处理的数据!*/
return;
}
}
let ids = [];
checkedrows.forEach((item) => {
let id = item.data.values[HEADATTRCODE.CPMOHID].value;
if (id) {
ids.push(id);
}
});
//let data = { [HEADATTRCODE.CPMOHID]: ids };
//ajax({
// url: URL.pmopickmURL,
// data: data,
// success: (res) => {
// if (res.success) {
// if (res.data) {
let dataparam = {
appcode: DELIVERDLG.PICKAPPCODE,
hmopks: ids,
isReSet: false,
pageid: DELIVERDLG.DELIVERSETDLG
}
pickmSetDeliver.call(this, this.props, dataparam);
// }
// }
// }
//});
}

View File

@ -0,0 +1,54 @@
/*
* @Author: fengjinga
* @PageInfo: 成套退料按钮处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { ajax } from 'nc-lightapp-front';
import { PMO_LIST, URL, DELIVERDLG, HEADATTRCODE } from '../../pmoconst';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import {
showWarningInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { pickmBackDeliverWithSet } from '../../../pub/pickmbackdeliverwithset';
const tableId = PMO_LIST.tableId;
export default function pmodeliversetbackBtn(props, record) {
let checkedrows = [];
if (record) {
let singledata = { data: record };
checkedrows.push(singledata);
} else {
checkedrows = props.table.getCheckedRows(tableId);
if (checkedrows.length == 0) {
showWarningInfo(getLangByResId(this, '50080000-000046'));/* 国际化处理: 请选择需要处理的数据!*/
return;
}
}
let ids = [];
checkedrows.forEach((item) => {
let id = item.data.values[HEADATTRCODE.CPMOHID].value;
if (id) {
ids.push(id);
}
});
let data = { [HEADATTRCODE.CPMOHID]: ids };
ajax({
url: URL.pmopickmURL,
data: data,
success: (res) => {
if (res.success) {
if (res.data) {
let dataparam = {
appcode: DELIVERDLG.PICKAPPCODE,
cpickmids: res.data,
pageid: DELIVERDLG.SETBACKDELIVERDLG
}
pickmBackDeliverWithSet.call(this, this.props, dataparam, null, null, null);
}
}
}
});
}

View File

@ -0,0 +1,46 @@
/**
* 工序派工/完工/转移
*/
import { ajax } from 'nc-lightapp-front';
import { PMO_LIST, CONST4SFC, URL4SFC, PMO_CARD } from '../../pmoconst';
import {
showWarningInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { headCheckedRow } from '../util/headSelectedUtils';
export default function pushsfcBtn(props, destBilltype, record) {
let data = headCheckedRow.call(this, this.props);
let infos = data.infos;
if (infos.length == 0) {
showWarningInfo(getLangByResId(this, '50080000-000089')/* 国际化处理: 请选择要操作的数据*/);
return;
}
let ids = [];
infos.map((item) => {
ids.push(item.id);
});
let param = { pks: ids };
let URL = (CONST4SFC.billType4Dispatchlist == destBilltype) ? URL4SFC.dispatchlistCheckURL : ((CONST4SFC.billType4Oprep == destBilltype ? URL4SFC.oprepCheckURL : URL4SFC.transferCheckURL));
let paramName = (CONST4SFC.billType4Dispatchlist == destBilltype) ? CONST4SFC.PMOtoDispatchlistParam : ((CONST4SFC.billType4Oprep == destBilltype ? CONST4SFC.PMOtoOprepParam : CONST4SFC.PMOtoTransferParam));
let pagecode = (CONST4SFC.billType4Dispatchlist == destBilltype) ? CONST4SFC.card4dispatchlist : ((CONST4SFC.billType4Oprep == destBilltype ? CONST4SFC.card4oprep : CONST4SFC.card4transfer));
let appcode = (CONST4SFC.billType4Dispatchlist == destBilltype) ? CONST4SFC.appcode4dispatchlist : ((CONST4SFC.billType4Oprep == destBilltype ? CONST4SFC.appcode4oprep : CONST4SFC.appcode4transfer));
ajax({
url: URL,
data: param,
success: (res) => {
if (res.data && res.data.length!=0) {
let params = res.data;
this.props.openTo(null, {
pagecode: pagecode,
appcode: appcode,
vsrcAppcode: PMO_LIST.appcode,
vsrctype: PMO_LIST.billType,
channelAddress: 'card',
status: PMO_CARD.edit,
[paramName]: JSON.stringify(params)
});
}
}
});
}

View File

@ -0,0 +1,11 @@
/*
* 分次投放
*/
import { PMO_LIST } from '../../pmoconst';
import busiOper from '../util/busiOperUtils';
import { headCheckedRow } from '../util/headSelectedUtils';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
export default function pmoresolve(props) {
let data = headCheckedRow.call(this, this.props);
busiOper.call(this, this.props, PMO_LIST.pmoResolve, data, getLangByResId(this, '50080000-000147')/* 国际化处理: 分次投放生成投放计划成功!*/);
}

View File

@ -0,0 +1,38 @@
/*
* @Author: fengjinga
* @PageInfo: 报废补单处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { ajax, toast } from 'nc-lightapp-front';
import { PMO_LIST,HEADATTRCODE } from '../../pmoconst';
import { buttonController } from '../viewControl';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
const tableId = PMO_LIST.tableId;
export default function scrapAddBtn(props) {
let rows = props.table.getCheckedRows(tableId);
let inforows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value
};
inforows.push(data);
});
let data = { infos: inforows };
let url = PMO_LIST.listscrapadd;
ajax({
url: url,
data,
success: (res) => {
if (res.success) {
buttonController.setListButtonVisiable(props, this.state.currentTab);
toast({ content: getLangByResId(this, '50080000-000045'), color: 'success' });/* 国际化处理: 操作成功!*/
return;
} /* else {
} */
}
});
}

View File

@ -0,0 +1,47 @@
/**
* 序列号
*/
import { ajax, toast } from 'nc-lightapp-front';
import { PMO_LIST, PMO_CARD, PMO_GRAND, HEADATTRCODE } from '../../pmoconst';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import pmoSNServ from '../../pub/serialno/service/pmoSNServ';
const tableId = PMO_LIST.tableId;
const tableId4pmoview = PMO_GRAND.tableId4pmoview;
export default function pmosnBtn(props) {
let checkedrows = props.table.getCheckedRows(tableId);
if (checkedrows.length == 0) {
toast({ content: getLangByResId(this, '50080000-000089'), color: 'warning' });/* 国际化处理: 请选择要操作的数据*/
return;
}
let inforows = [];
checkedrows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value
};
inforows.push(data);
});
let data = { infos: inforows, pageid: PMO_GRAND.pageid4serialno, iscard: false };
let url = PMO_LIST.listsn;
ajax({
url: url,
data: data,
success: (res) => {
if (res.success) {
if (res.formulamsg && res.formulamsg instanceof Array && res.formulamsg.length > 0) {
props.dealFormulamsg(
res.formulamsg //参数一:返回的公式对象
);
}
if (res.data) {
this.setState({
tableData4sn: res.data[0][tableId4pmoview],
allsnvos: res.data[1]
});
pmoSNServ.call(this,this.props,this.state.tableData4sn,this.state.allsnvos,PMO_CARD.browse);
}
}
}
});
}

View File

@ -0,0 +1,51 @@
/*
* @Author: fengjinga
* @PageInfo: 产能分流按钮事件
* @Date: 2018-04-19 10:35:13
* @Last Modified by: fengjinga
* @Last Modified time: 2019-03-15 13:18:42
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { ajax, toast } from 'nc-lightapp-front';
import { showResumeModal } from '../../../../../mmpub/mmpub/pub/components/resumeModal';
import pmoTurnServ from '../../pub/pmoturn/service/pmoTurnServ';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
const tableId4Pmoturn = PMO_LIST.tableId4Pmoturn;
const tableId = PMO_LIST.tableId;
export default function pmoturn(props) {
let checkedrows = props.table.getCheckedRows(tableId);
if (checkedrows.length == 0) {
toast({ content: getLangByResId(this, '50080000-000089'), color: 'warning' });/* 国际化处理: 请选择要操作的数据*/
return;
}
let inforows = [];
checkedrows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value
};
inforows.push(data);
});
let data = { infos: inforows, pageid: PMO_LIST.pagecode4pmoturn };
let url = PMO_LIST.listpmoturn;
ajax({
url: url,
data: data,
success: (res) => {
if (res.success) {
if (res.formulamsg && res.formulamsg instanceof Array && res.formulamsg.length > 0) {
props.dealFormulamsg(
res.formulamsg //参数一:返回的公式对象
);
}
if (res.data.isResume && res.data.isResume == true) {
showResumeModal.bind(this)(props, 'ResumeMessageDlg', skipCodes, res.data, clickSaveBtn, props);
return;
} else if (res.data) {
pmoTurnServ.call(this, this.props, res.data[tableId4Pmoturn]);
}
}
}
});
}

View File

@ -0,0 +1,51 @@
/*
* @Author: fengjinga
* @PageInfo: 无备料领料按钮处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { ajax } from 'nc-lightapp-front';
import { PMO_LIST, URL, DELIVERDLG, HEADATTRCODE } from '../../pmoconst';
import {
showWarningInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { noItemDeliver } from '../../../pub/noitemdeliver';
const tableId = PMO_LIST.tableId;
export default function pmounpickmdeliverBtn(props, record) {
let checkedrows = [];
if (record) {
let singledata = { data: record };
checkedrows.push(singledata);
} else {
checkedrows = props.table.getCheckedRows(tableId);
if (checkedrows.length == 0) {
showWarningInfo(getLangByResId(this, '50080000-000046')/**请选择需要处理的数据!**/);
return;
}
}
let ids = [];
checkedrows.forEach((item) => {
let id = item.data.values[HEADATTRCODE.CPMOHID].value;
if (id) {
ids.push(id);
}
});
data[HEADATTRCODE.CPMOHID] = ids;
ajax({
url: URL.pmopickmURL,
data,
success: (res) => {
if (res.data) {
let dataparam = {
appcode: DELIVERDLG.PICKAPPCODE,
cpickmids: res.data,
pageid: DELIVERDLG.DELIVERSETDLG
}
noItemDeliver.call(this, this.props, dataparam);
}
}
});
}

View File

@ -0,0 +1,49 @@
/*
* 打印
* @Author: fengjinga
* @Date: 2018-07-04 15:06:44
* @Last Modified by: fengjinga
* @Last Modified time: 2018-10-22 15:50:39
*/
import { toast, print, ajax } from 'nc-lightapp-front';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
export default function buttonClick(props, nodekey) {
let appcode = props.getAppCode();
// 获取选中行
if (!nodekey) {
nodekey = PMO_LIST.pnodekey;
}
let seldatas = props.table.getCheckedRows(PMO_LIST.tableId);
// 如果没有选中行,则提示并返回,不进行任何操作
if (seldatas.length <= 0) {
toast({
color: 'warning',
content: getLangByResId(this, '50080000-000090')/* 国际化处理: 请选择要打印的订单!*/
});
return;
}
let pks = [];
seldatas.map((item) => {
pks.push(item.data.values[HEADATTRCODE.CPMOHID].value);
});
let data = { pks: pks, actioncode: 'PmoPrint' };
ajax({
url: PMO_LIST.checkdatapermissionURL,
data: data,
success: (res) => {
print(
'pdf', //支持两类: 'html'为模板打印, 'pdf'为pdf打印
PMO_LIST.printURL,
{
funcode: PMO_LIST.appcode, //小应用编码
nodekey: nodekey, //模板节点标识
oids: pks // 功能节点的数据主键
}
);
}
});
}

View File

@ -0,0 +1,67 @@
/**
* 打印条码
*/
import { print, ajax } from 'nc-lightapp-front';
import codeNfig from 'uap/common/components/codeConfigModal';
export default function (props, params) {
let { billtype, oids } = params;
let data = billtype + ',' + oids;
ajax({
url: '/nccloud/mmpac/pmo/qrybillinfo.do',
data: data,
method: 'post',
success: (res) => {
let materialinfo = {};
if (res.data) {
materialinfo = {
pk_org: res.data.pk_org,
nnum: parseFloat(res.data.nnum),
nassistnum: parseFloat(res.data.nassistnum),
pk_group: res.data.pk_group,
cmaterialvid: res.data.cmaterialvid
};
}
codeNfig(this.props, { data: materialinfo,directPrinter: false }, (info) => {
let map = {
width: JSON.stringify(info.width),
height: JSON.stringify(info.height),
direction: JSON.stringify(info.direction),
leftMargin: JSON.stringify(info.leftMargin),
rightMargin: JSON.stringify(info.rightMargin),
topMargin: JSON.stringify(info.topMargin),
bottomMargin: JSON.stringify(info.bottomMargin),
dataColumn: JSON.stringify(info.dataColumn),
iprintcount: JSON.stringify(info.iprintcount)
};
let userjson = billtype + ';' + info.barcodeRule + ';' + info.barcodeLabel + ';' + info.iprintcount + ';' + JSON.stringify(map);
if (info.bshowprintlist) {
const data = {
billType: billtype, //单据类型
cbillid: oids, //主表主键
barcodeRule: info.barcodeRule,
barcodeLabel: info.barcodeLabel,
iprintcount: info.iprintcount,
classRoute: 'nccloud.web.mmpac.pmo.service.PMOBCprintVOBuildServiceImpl' //实现类的全路径
};
props.openTo('/bc/bc/bcprint/main/index.html#/list', {
data: JSON.stringify(data),
type: 'source',
appcode: '401700410',
pagecode: '401700410_list'
});
} else {
print(
'pdf', //支持两类: 'html'为模板打印, 'pdf'为pdf打印
'/nccloud/mmpac/pmo/printbarcode.do',
{
userjson, //单据类型
oids: [oids] // 功能节点的数据主键 oids含有多个元素(['1001A41000000000A9LR','1001A410000000009JDD'])时为批量打印,
},
false
);
}
});
}
});
}

View File

@ -0,0 +1,43 @@
/*
* @Author: fengjinga
* @PageInfo: 工序委外计划
* @Date: 2018-04-19 10:36:58
* @Last Modified by: fengjinga
* @Last Modified time: 2022-06-28 11:32:06
*/
import { ajax } from 'nc-lightapp-front';
import { PMO_LIST, PMO_CARD, HEADATTRCODE, URL } from '../../pmoconst';
import { headCheckedRow } from '../util/headSelectedUtils';
export default function pscplanBtnClick(props) {
let checkedRows = props.table.getCheckedRows(PMO_LIST.tableId);
let data = headCheckedRow.call(this, this.props);
let infos = data.infos;
if (infos.length == 0) {
showWarningInfo(getLangByResId(this, '50080000-000089') /* 国际化处理: 请选择要操作的数据*/);
return;
}
let ids = [];
infos.map((item) => {
ids.push(item.id);
});
let param = { pks: ids };
ajax({
url: URL.checkToPscPlanURL,
data: param,
success: (res) => {
let ids = [];
checkedRows.map((item, index) => {
let id = item.data.values[HEADATTRCODE.CPMOHID].value;
if (id) {
ids.push(id);
}
});
props.openTo(null, {
pagecode: '50160402_list',
appcode: '50160402',
cmoid: ids,
status: PMO_CARD.browse
});
}
});
}

View File

@ -0,0 +1,70 @@
/*
* @Author: fengjinga
* @PageInfo: 投放按钮事件
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { ajax, toast } from 'nc-lightapp-front';
import {
showWarningDialog,
showBatchOprMessage,
showInfoDialog,
showErrorInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { buttonController } from '../viewControl';
const tableId = PMO_LIST.tableId;
export default function putBtn(props) {
// 获取选中行
let rows = props.table.getCheckedRows(tableId);
let inforows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value,
rowid: item.data.rowId
};
inforows.push(data);
});
let data = { infos: inforows, pageid: PMO_LIST.pageid };
let url = PMO_LIST.listPut;
ajax({
url: url,
data,
success: (res) => {
if (res.success) {
if (res.data) {
if (JSON.stringify(res.data.errorMessageMap || {}) != '{}') {
// 成功的index
let sucIndex = [];
rows.forEach((element, index) => {
if (!res.data.errorMessageMap[index]) {
sucIndex.push(element.index);
}
});
} else {
let succIndex = [];
rows.forEach((element, index) => {
succIndex.push(element.index);
});
}
buttonController.setListButtonVisiable(props, this.state.currentTab);
if (res.data.sucessVOs) {
res.data.sucessVOs[tableId].rows.map((item, index) => {
item.rowId = item.rowid;
});
this.props.table.updateTableData(tableId, res.data.sucessVOs[tableId]);
}
showBatchOprMessage(
getLangByResId(this, '50080000-000091'),/* 国际化处理: 投放成功*/
res.data,
{},
getLangByResId(this, '50080000-000017')/* 国际化处理: 提示*/
); /* 国际化处理: 提示*/
} else {
showErrorInfo(getLangByResId(this, '50080000-000092'));/* 国际化处理: 投放失败!*/
}
}
}
});
}

View File

@ -0,0 +1,44 @@
/*
* @Author: fengjinga
* @PageInfo: 查询按钮
* @Date: 2018-05-24 10:27:36
* @Last Modified by:fengjinga
* @Last Modified time: 2018-10-26 15:52:09
*/
import { PMO_LIST } from '../../pmoconst';
import { ajax, cardCache, removeGlobalStorage } from 'nc-lightapp-front';
import commonSearch from './commonSearch';
const { getDefData, setDefData } = cardCache;
const tableId = PMO_LIST.tableId;
const searchId = PMO_LIST.searchId;
const dataSource = PMO_LIST.dataSource;
const pageid = PMO_LIST.pageid;
const tabNumKey = PMO_LIST.tabNum;
export default function clickSerachBtn(tabCode, refresh, searchFlag) {
if (typeof searchFlag == 'undefined') {
searchFlag = true;
}
if (typeof tabCode == 'undefined') {
tabCode = PMO_LIST.toCommit;
}
if(typeof (tabCode) == 'undefined'){
tabCode=PMO_LIST.toCommit;
}
let searchVal = null;
//如何是页签切换就从缓存里面拿
if (!searchFlag) {
searchVal = getDefData(dataSource, 'searchVal');
} else {
searchVal = this.props.search.getAllSearchData(searchId); //必输项为空时返回值为false
if (!searchVal) {
return;
}
}
// 将查询条件缓存
this.setState({ searchVal: searchVal });
// 查询
commonSearch.bind(this, tabCode, searchVal, refresh, searchFlag)();
removeGlobalStorage('localStorage', 'QueryCriteria');
}

View File

@ -0,0 +1,64 @@
/*
* @Author: 批量收回
* @Date: 2018-06-13 11:25:58
* @Last Modified by: fengjinga
* @Last Modified time: 2019-01-03 16:00:06
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { ajax, toast } from 'nc-lightapp-front';
import { showBatchOprMessage } from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { updateCacheDataForList } from '../../../../../mmpub/mmpub/pub/cache/cacheDataManager';
import { buttonController } from '../viewControl';
let tableId = PMO_LIST.tableId;
export default function clickuncommitBtn(props) {
// 获取选中行
let _this = this;
let rows = props.table.getCheckedRows(tableId);
// 如果没有选中行,则提示并返回,不进行任何操作
if (rows.length <= 0) {
toast({
color: 'warning',
content: getLangByResId(this, '50080000-000093')/* 国际化处理: 请选择需要收回的数据!*/
});
return;
}
// 获取待操作表格行的行号
let indexs = rows.map((item) => {
return item.index;
});
// 执行操作
let infoRows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value
};
infoRows.push(data);
});
// 拼装json
let data = {
infos: infoRows,
pageid: PMO_LIST.pageid
};
// 发送请求
ajax({
url: PMO_LIST.uncommitURL,
data: data,
success: (res) => {
if (res.success) {
showBatchOprMessage(
getLangByResId(this, '50080000-000094'),/* 国际化处理: 收回*/
res.data,
{},
getLangByResId(this, '50080000-000094')/* 国际化处理: 收回*/
); /* 国际化处理: 提交成功*/
//更新列表上的数据
updateCacheDataForList(props, tableId, HEADATTRCODE.CPMOHID, res.data);
buttonController.setListButtonVisiable(props, this.state.currentTab);
}
}
});
}

View File

@ -0,0 +1,74 @@
/*
* @Author: fengjinga
* @PageInfo: 收回按钮事件
* @Date: 2018-04-19 10:36:58
* @Last Modified by: fengjinga
* @Last Modified time: 2019-01-03 16:00:36
*/
import { PMO_LIST, FBILLSTATUS, HEADATTRCODE } from '../../pmoconst';
import { ajax, toast } from 'nc-lightapp-front';
import { showSuccessInfo, showErrorInfo } from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { updateCacheDataForList } from '../../../../../mmpub/mmpub/pub/cache/cacheDataManager';
import { buttonController } from '../viewControl';
let tableId = PMO_LIST.tableId;
export default function clickCommitBtn(props, record, index, assign) {
let _this = this;
let numberindex = record.numberindex.value;
let pk = record[HEADATTRCODE.CPMOHID].value;
let ts = record[HEADATTRCODE.TS].value;
let fbillstatus = record[HEADATTRCODE.FBILLSTATUS].value;
if (fbillstatus != FBILLSTATUS.commit && fbillstatus != FBILLSTATUS.approve) {
toast({
color: 'warning',
content: getLangByResId(this, '50080000-000095')/* 国际化处理: 请选择状态为审批中的数据!*/
});
return;
}
// 执行操作
let infoRows = [];
let datas = {
id: pk,
ts: ts
};
infoRows.push(datas);
// 拼装json
let data = {
infos: infoRows,
pageid: PMO_LIST.pageid
};
if (assign) {
data['assign'] = JSON.stringify(assign);
}
ajax({
url: PMO_LIST.uncommitURL,
data: data,
success: (res) => {
if (
res.data &&
res.data.workflow &&
(res.data.workflow == 'approveflow' || res.data.workflow == 'workflow')
) {
//缓存当前数据
_this.commitInfo = {
isBatch: false,
record: record,
index: index
};
_this.setState({
compositedata: res.data,
compositedisplay: true
});
return;
}
if (res.success) {
//更新列表上的数据
updateCacheDataForList(props, tableId, HEADATTRCODE.CPMOHID, res.data, numberindex - 1);
buttonController.setListButtonVisiable(props, this.state.currentTab);
showSuccessInfo(getLangByResId(this, '50080000-000056'));/* 国际化处理: 收回成功!*/
} else {
showErrorInfo(getLangByResId(this, '50080000-000096')); /* 国际化处理: 收回失败!*//* 国际化处理: 提交失败!*/
}
}
});
}

View File

@ -0,0 +1,74 @@
/*
* @Author: fengjinga
* @PageInfo: 取消投放按钮事件
*/
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
import { ajax, toast } from 'nc-lightapp-front';
import {
showWarningDialog,
showBatchOprMessage,
showInfoDialog,
showErrorInfo
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { buttonController } from '../viewControl';
const tableId = PMO_LIST.tableId;
export default function putBtn(props) {
// 获取选中行
let rows = props.table.getCheckedRows(tableId);
let inforows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value,
rowid: item.data.rowId
};
inforows.push(data);
});
let data = { infos: inforows, pageid: PMO_LIST.pageid };
let url = PMO_LIST.listUnPut;
ajax({
url: url,
data,
success: (res) => {
if (res.success) {
if (res.data) {
if (JSON.stringify(res.data.errorMessageMap || {}) != '{}') {
// 成功的index
let sucIndex = [];
rows.forEach((element, index) => {
if (!res.data.errorMessageMap[index]) {
sucIndex.push(element.index);
}
//deleteCacheDataForList(props, tableId, element.data.values[cpmohid].value);
});
//props.table.deleteTableRowsByIndex(tableId, sucIndex);
} else {
let succIndex = [];
rows.forEach((element, index) => {
//deleteCacheDataForList(props, tableId, element.data.values[cpmohid].value);
succIndex.push(element.index);
});
//props.table.deleteTableRowsByIndex(tableId, succIndex);
}
buttonController.setListButtonVisiable(props, this.state.currentTab);
if (res.data.sucessVOs) {
res.data.sucessVOs[tableId].rows.map((item, index) => {
item.rowId = item.rowid;
});
this.props.table.updateTableData(tableId, res.data.sucessVOs[tableId]);
}
showBatchOprMessage(
getLangByResId(this, '50080000-000097'),/* 国际化处理: 取消投放成功*/
res.data,
{},
getLangByResId(this, '50080000-000017')/* 国际化处理: 提示*/
); /* 国际化处理: 提示*/
} else {
toast({content: getLangByResId(this, '50080000-000098'), color: 'error' });/* 国际化处理: 取消投放失败!*/
}
}
}
});
}

View File

@ -0,0 +1,43 @@
/*
* @Author: fengjinga
* @PageInfo: 历史版本按钮事件
* @Date: 2018-04-19 10:35:13
* @Last Modified by: fengjinga
* @Last Modified time: 2019-03-15 13:18:42
*/
import { PMO_LIST, PMO_CARD, HEADATTRCODE } from '../../pmoconst';
import { ajax, cardCache, toast } from 'nc-lightapp-front';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import viewVerServ from '../../pub/viewver/service/viewVerServ';
const tableId4Viewver = PMO_LIST.tableId4Viewver;
const tableId = PMO_LIST.tableId;
export default function viewver(props, record) {
let checkedrows = [];
if (record) {
let singledata = { data: { values: record } };
checkedrows.push(singledata);
} else {
checkedrows = props.table.getCheckedRows(tableId);
}
let data = { keyword: checkedrows[0].data.values[HEADATTRCODE.CPMOHID].value, pageid: PMO_LIST.pagecode4viewver };
let url = PMO_LIST.listviewver;
ajax({
url: url,
data: data,
success: (res) => {
if (res.success) {
if (res.formulamsg && res.formulamsg instanceof Array && res.formulamsg.length > 0) {
props.dealFormulamsg(
res.formulamsg //参数一:返回的公式对象
);
}
if (res.data) {
viewVerServ.call(this, this.props,
res.data[tableId4Viewver]);
} else {
toast({ content: getLangByResId(this, '50080000-000059'), color: 'warning' });/* 国际化处理: 所选订单没有历史版本数据。*/
}
}
}
});
}

View File

@ -0,0 +1,525 @@
/*
* @Author: zhangjyp
* @PageInfo: 流程生产订单列表页面
* @Date: 2018-04-19 10:28:14
* @Last Modified by: fengjinga
* @Last Modified time: 2022-06-05 16:52:38
*/
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import {
createPage,
ajax,
cacheTools,
cardCache,
base,
toast,
high,
promptBox,
getMultiLang,
createPageIcon,
getGlobalStorage
} from 'nc-lightapp-front';
import { initLang, getLangByResId } from '../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { print } from 'nc-lightapp-front';
import searchBtnClick from './btnclicks/searchBtnClick';
import buttonClick from './btnclicks/buttonClick';
import pageInfoClick from './btnclicks/pageInfoClick';
import batchEditSave from './btnclicks/batchEditSave';
import ApproveDetail from 'uap/common/components/ApproveDetail';
import NCUploader from 'uap/common/components/NCUploader';
import ApprovalTrans from 'uap/common/components/approvalTrans';
import { initTemplate } from './init';
import { buttonController, btnClickController } from './viewControl';
import { transtypeUtils } from '../../../../mmpub/mmpub/pub/tool';
import excelImportconfig from '../../../../uap/common/components/excelImportconfig';
import ExcelOutput from '../../../../uap/common/components/ExcelOutput';
import {
PMO_LIST,
DATECONST,
PMO_CARD,
PMO_LIST_BUTTON,
PMO_CARD_BUTTON,
FBILLSTATUS,
BODYFBILLSTATUS,
HEADATTRCODE,
BODYATTRCODE,
GRANDATTRCODE
} from '../pmoconst';
import multiCorpRefHandler from '../../../../mmpub/mmpub/pub/tool/MultiCorpRefHandler';
import PMOTurn from '../pub/pmoturn';
import PMOSerialno from '../pub/serialno';
import batchEditEvent from '../card/afterEvents/batchEditEvent';
import batchBeforeEditEvent from '../card/beforeEvents/batchBeforeEditEvent';
import commitBtnClick from './btnClicks/commitBtnClick';
import commitBatchBtnClick from './btnClicks/commitBatchBtnClick';
const { PrintOutput } = high;
const { NCBreadcrumb, NCTabsControl, NCDiv } = base;
const { BillTrack } = high;
const { getDefData, setDefData } = cardCache;
const { NCPopconfirm, NCCheckbox, NCIcon, NCModal, NCButton } = base;
const NCBreadcrumbItem = NCBreadcrumb.NCBreadcrumbItem;
const dataSource = PMO_LIST.dataSource;
const pageId = PMO_LIST.pageid; //pagecode
const searchId = PMO_LIST.searchId; //查询区id
const tableId = PMO_LIST.tableId; //表头区域编码
const buttonarea = PMO_LIST.buttonarea;
const appid = PMO_LIST.appid; //注册按钮id
const queryListUrl = PMO_LIST.queryListURL; //通过查询区域查询url
const queryPageUrl = PMO_LIST.queryPageURL; //分页查询url
const deleteUrl = PMO_LIST.deleteURL; //删除url
const tabNumKey = PMO_LIST.tabNum;
class PmoList extends Component {
constructor(props) {
super(props);
//use注册组件
props.use.search(searchId);
props.use.table(tableId);
this.searchId = searchId;
this.tableId = tableId;
this.linkquery = false;
this.searchflag = false;
this.state = {
showpmoturn: false,
showSN: false,
uncommitNum: '0', //待提交
approvingNum: '0', //审批中
executNum: '0', //执行中
searchVal: null, //查询条件缓存
currentTab: PMO_LIST.toCommit,
showTrack: false,
pk: '',
target: null, //弹出的上传控件一target位置为基准不传默认页面正中央
showUploader: false, //控制弹框
show: false,
billId: '', //单据id
billtype: '', //单据交易类型
vbillcode: '',
tableData: { rows: [] },
tableData4sn: { rows: [] },
allsnvos: {},
compositedisplay: false, //指派参数
compositedata: null, //指派
excelExportShow: false, //Excel导出对话框可见性
selectedPKS: [], //勾选数据的bom主键(excel导出用必须放在state里不然导出失败)
billType: PMO_LIST.excelOutput.billtype, //(excel导出用必须放在state里不然导出失败)
pagecode: PMO_CARD.pageimportid, //(excel导出用必须放在state里不然导出失败)
appcode: PMO_LIST.excelOutput.module //(excel导出用必须放在state里不然导出失败)
};
initLang(this, [ '50080000', '5008Pub' ], 'mmpac', initTemplate.bind(this, this.props));
}
componentDidMount() {}
// 提交指派
getAssginUsedr = (value) => {
//重新执行提交操作重新执行提交操作
if (this.commitInfo.record) {
commitBtnClick.call(this, this.props, this.commitInfo.record, this.commitInfo.index, value);
} else {
commitBatchBtnClick.call(this, this.props, value);
}
this.setState({ compositedisplay: false });
};
// 附件管理关闭
onHideUploader = () => {
this.setState({
showUploader: false
});
};
closeApprove = () => {
this.setState({
show: false
});
};
hideSN = () => {
this.setState({ showSN: false });
};
cancelSN = () => {
this.setState({ showSN: false });
};
confirm4SN = (res) => {
this.setState({ showSN: false, allsnvos: res });
};
batchEdit = () => {
batchEditSave.call(this, this.props);
};
hidepmoturnModal = () => {
this.setState({ showpmoturn: false });
};
okBtn4pmoturn = () => {
buttonController.setListButtonVisiable(this.props, this.state.currentTab);
// 去除复选框的打钩
this.props.table.selectAllRows(tableId, false);
toast({ content: getLangByResId(this, '50080000-000045'), color: 'success' }); /* 国际化处理: 操作成功!*/
};
//主组织编辑后回调
renderCompleteEvent = () => {
transtypeUtils.setQueryDefaultValue.call(this, this.props, searchId, HEADATTRCODE.CTRANTYPEID);
let pk_org = this.props.search.getSearchValByField(searchId, HEADATTRCODE.PK_ORG);
if (pk_org && pk_org.value && pk_org.value.firstvalue) {
let value = pk_org.value.firstvalue;
let arr = value.split(',');
arr = arr.map((item) => {
return { refpk: item };
});
this.afterEvent.call(this, this.props, HEADATTRCODE.PK_ORG, arr);
}
};
afterEvent(props, field, val) {
let meta = props.meta.getMeta();
if (field == HEADATTRCODE.PK_ORG) {
multiCorpRefHandler(props, val, searchId, [
'ctrantypeid',
'mm_mo.cmaterialvid',
'mm_mo.cmaterialvid.code',
'mm_mo.cmaterialid',
'mm_mo.cmaterialid.code',
'mm_mo.cmaterialid.pk_marbasclass',
'mm_mo.ccustomerid',
'mm_mo.cvendorid',
'mm_mo.cproductorid',
'mm_mo.cprojectid',
'mm_mo.cdeptid',
'mm_mo.cwkid',
'mm_mo.cemployeeid',
'mm_mo.cteamid',
'mm_mo.cclassid',
'mm_mo.ccustmaterialid',
'mm_mo.cffileid',
'mm_mo.vfree1',
'mm_mo.vfree2',
'mm_mo.vfree3',
'mm_mo.vfree4',
'mm_mo.vfree5',
'mm_mo.vfree6',
'mm_mo.vfree7',
'mm_mo.vfree8',
'mm_mo.vfree9',
'mm_mo.vfree10',
'mm_mo.vdef1',
'mm_mo.vdef2',
'mm_mo.vdef3',
'mm_mo.vdef4',
'mm_mo.vdef5',
'mm_mo.vdef6',
'mm_mo.vdef7',
'mm_mo.vdef8',
'mm_mo.vdef9',
'mm_mo.vdef10',
'mm_mo.vdef11',
'mm_mo.vdef12',
'mm_mo.vdef13',
'mm_mo.vdef14',
'mm_mo.vdef15',
'mm_mo.vdef16',
'mm_mo.vdef17',
'mm_mo.vdef18',
'mm_mo.vdef19',
'mm_mo.vdef20'
]);
}
}
doubleClick = (record, index, e, props) => {
let searchVal = this.props.search.getAllSearchData(searchId);
cacheTools.set('searchParams', searchVal);
this.props.pushTo(PMO_CARD.cardUrl, {
status: PMO_CARD.browse,
id: record[HEADATTRCODE.CPMOHID].value
});
};
tabChange = (tabCode) => {
this.setState({ currentTab: tabCode }); //更新当前页签编码
setDefData(dataSource, 'currentTab', tabCode);
//if (PMO_LIST.all == tabCode) {
let searchVal = getDefData(dataSource, 'searchVal');
if (searchVal == null) {
// 点击全部页签时,若未输入查询条件,就不查
//let rowsData = { rows: [] };
//this.props.table.setAllTableData(tableId, rowsData);
buttonController.setListButtonVisiable(this.props, null);
return;
}
//}
searchBtnClick.bind(this, tabCode, false, false)(); // 调用查询方法
buttonController.setListButtonVisiable(this.props, null);
//}
};
linkquery4push = () => {
//added by fengjinga 为生产大屏数据穿透
let isSetCondition = this.props.getUrlParam("isSetCondition");
if (isSetCondition) {
this.linkquery = true;
}
let linkparam = cacheTools.get('55B4LinkTo55A2');
if (!linkparam) {
//配套变更建议
linkparam = cacheTools.get('mosLinkTo55A2');
}
let linkkey = this.props.getUrlParam(PMO_LIST.LINK_KEY);
//供应链控制台
if (!linkparam && linkkey) {
linkparam = cacheTools.get(linkkey);
}
//处理其他单据联查
if (linkparam) {
this.linkquery = true;
}
};
getDefaultKey = () => {
this.linkquery4push();
//为推单联查处理
if (this.linkquery) {
//this.setState({ currentTab: PMO_LIST.all }); //更新当前页签编码
//setDefData(dataSource, 'currentTab', PMO_LIST.all);
return 3;
} else if (this.props.getUrlParam(PMO_LIST.LINK_KEY)) {
//供应链联查跳转时,打开全部页签
return 3;
} else {
let tabcode = PMO_LIST.toCommit;
let currentTab = getDefData.call(this, dataSource, 'currentTab');
if (currentTab) {
tabcode = currentTab;
} else {
setDefData(dataSource, 'currentTab', tabcode);
}
if (tabcode == PMO_LIST.toCommit) {
return 0;
} else if (tabcode == PMO_LIST.approving) {
return 1;
} else if (tabcode == PMO_LIST.executing) {
return 2;
} else {
return 3;
}
}
};
/**
* 导出对话框关闭回调
* @param {}
*/
closeExcelOutput = () => {
this.setState({
excelExportShow: false
});
};
render() {
let { table, button, search, base, modal, socket, BillHeadInfo } = this.props;
let { showUploader, target, compositedisplay, show, showpmoturn, showSN,excelExportShow } = this.state;
let buttons = this.props.button.getButtons();
buttons = buttons.sort((a, b) => {
return b.btnorder - a.btnorder;
});
let { createSimpleTable } = table;
let { NCCreateSearch } = search;
let { createModal } = modal;
let { createButtonApp, getButtons } = button;
let { createBillHeadInfo } = BillHeadInfo;
let toCommitNum = '0';
let approvingNum = '0';
let executingNum = '0';
let tabNum = getDefData(dataSource, tabNumKey);
if (tabNum) {
toCommitNum = tabNum.toCommitNum;
approvingNum = tabNum.approvingNum;
executingNum = tabNum.executingNum;
}
let defaultTabCode = PMO_LIST.toCommit;
let tabCode = getDefData(dataSource, 'currentTab');
if (tabCode) {
defaultTabCode = tabCode;
}
return (
<div className="nc-bill-list">
{/*saga代码*/}
{socket.connectMesg({
tableAreaCode: PMO_LIST.tableId,
billpkname: PMO_LIST.pk_pmo,
billtype: PMO_LIST.billType
})}
<NCDiv areaCode={NCDiv.config.HEADER} className="nc-bill-header-area">
<div className="header-title-search-area">
{createBillHeadInfo({
title: this.props.getSearchParam('n'),//getLangByResId(this, '50080000-000134'),
initShowBackBtn: false
})}
</div>
<div className="header-button-area">
{createButtonApp({
area: buttonarea,
buttonLimit: 3,
//popContainer: document.querySelector('.header-button-area'),
onButtonClick: buttonClick.bind(this)
})}
</div>
</NCDiv>
<div className="nc-bill-search-area">
{NCCreateSearch(this.searchId, {
clickSearchBtn: searchBtnClick.bind(
this,
getDefData.call(this, dataSource, 'currentTab'),
false,
true
),
defaultConditionsNum: 9,
onAfterEvent: this.afterEvent.bind(this, this.props),
renderCompleteEvent: this.renderCompleteEvent,
statusChangeEvent: this.renderCompleteEvent
})}
</div>
<div className="tab-definInfo-area">
{/* 页签区 */}
<NCTabsControl defaultKey={this.getDefaultKey()}>
<div key={0} clickFun={() => this.tabChange(PMO_LIST.toCommit)}>
{`${getLangByResId(this, '50080000-000100')} (${toCommitNum})`}
{/* 国际化处理: 待提交*/}
</div>
<div key={1} clickFun={() => this.tabChange(PMO_LIST.approving)}>
{`${getLangByResId(this, '50080000-000101')} (${approvingNum})`}
{/* 国际化处理: 审批中*/}
</div>
<div key={2} clickFun={() => this.tabChange(PMO_LIST.executing)}>
{` ${getLangByResId(this, '50080000-000102')}(${executingNum})`}
{/* 国际化处理: 执行中*/}
</div>
<div key={3} clickFun={() => this.tabChange(PMO_LIST.all)}>
{getLangByResId(this, '50080000-000099')}
{/* 国际化处理: 全部*/}
</div>
</NCTabsControl>
</div>
{/* <div style={{height:'10px'}}></div> */}
<div className="nc-bill-table-area">
{createSimpleTable(this.tableId, {
handlePageInfoChange: pageInfoClick.bind(this),
pkname: PMO_LIST.pk_pmo,
dataSource: dataSource,
onRowDoubleClick: this.doubleClick.bind(this),
//显示序号
showIndex: true,
showCheck: true,
onSelected: buttonController.setListButtonVisiable.bind(
this,
this.props,
getDefData.call(this, dataSource, 'currentTab')
),
onBatchSelected: buttonController.setListButtonVisiable.bind(
this,
this.props,
getDefData.call(this, dataSource, 'currentTab')
),
onSelectedAll: buttonController.setListButtonVisiable.bind(
this,
this.props,
getDefData.call(this, dataSource, 'currentTab')
),
componentInitFinished: buttonController.setListButtonVisiable.bind(
this,
this.props,
getDefData.call(this, dataSource, 'currentTab')
)
})}
</div>
<div>
{showUploader && (
<NCUploader
billId={this.state.billId}
onHide={this.onHideUploader}
billNo={this.state.vbillcode}
/>
)}
</div>
<div>
{show && (
<ApproveDetail
show={this.state.show}
close={this.closeApprove}
billtype={this.state.billtype}
billid={this.state.billId}
/>
)}
</div>
{/* 指派 */}
{compositedisplay && (
<ApprovalTrans
title={getLangByResId(this, '50080000-000146')} /* 国际化处理: 指派*/
data={this.state.compositedata}
display={this.state.compositedisplay}
getResult={this.getAssginUsedr.bind(this)}
cancel={() => {
this.setState({ compositedisplay: false });
}}
/>
)}
<BillTrack
show={this.state.showTrack}
close={() => {
this.setState({ showTrack: false });
}}
pk={this.state.pk}
type={PMO_LIST.billType}
/>
{createModal('viewverDlg')}
{createModal('batcheditDlg')}
{createModal('code-config')}
{createModal('ResumeMessageDlg', {
className: 'iframe-modal',
size: 'xlg'
})}
{createModal('SetDeliverDlg')}
{createModal('SetBackDeliverDlg')}
{createModal('BackDeliverDlg')}
{createModal('NoItemDeliverDlg')}
{/* 产能分流 */}
{showpmoturn && (
<PMOTurn
show={this.state.showpmoturn}
onHide={this.hidepmoturnModal}
okBtnClick={this.okBtn4pmoturn}
tableData={this.state.tableData}
/>
)}
{/* 序列号*/}
{showSN && (
<PMOSerialno
show={this.state.showSN}
onHide={this.hideSN}
cancel={this.cancelSN}
onConfirm={this.confirm4SN}
tableData={this.state.tableData4sn}
allsnvos={this.state.allsnvos}
status={PMO_CARD.browse}
/>
)}
{excelExportShow && (
<ExcelOutput
{...this.props}
show={this.state.excelExportShow}
onClose={this.closeExcelOutput.bind(this)}
moduleName={this.state.appcode}
selectedPKS={this.state.selectedPKS}
billType={this.state.billType}
appcode={PMO_LIST.appcode}
pagecode={this.state.pagecode}
forceRender={false}
referVO={{ ignoreTemplate: false }}
/>
)}
</div>
);
}
}
PmoList = createPage({
billinfo: {
billtype: 'grid',
pagecode: pageId,
bodycode: tableId
}
})(PmoList);
export default PmoList;

View File

@ -0,0 +1,2 @@
import initTemplate from './initTemplate';
export {initTemplate};

View File

@ -0,0 +1,446 @@
/**
* 模板初始化
*/
import { base, ajax, toast, cacheTools, getGlobalStorage, removeGlobalStorage, cardCache } from 'nc-lightapp-front';
import { PMO_LIST, PMO_CARD, DATECONST, PMO_LIST_BUTTON, HEADATTRCODE } from '../../pmoconst';
import buttonClick from '../btnclicks/buttonClick';
import { buttonController, btnClickController } from '../viewControl';
import { transtypeUtils, setPsndocShowLeavePower, setRefShowDisabledData } from '../../../../../mmpub/mmpub/pub/tool';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { conf as unitConf } from '../../../../../uapbd/refer/org/FactoryGridRef/index';
//excel导入工具类(平台提供)
import excelImportconfig from '../../../../../uap/common/components/excelImportconfig';
let tableId = PMO_LIST.tableId;
let searchId = PMO_LIST.searchId;
let listpageid = PMO_LIST.pageid;
const linkItem = PMO_LIST.vbillcode;
const cpmohid = HEADATTRCODE.CPMOHID;
const deleteUrl = PMO_LIST.deleteURL;
const { getDefData, setDefData } = cardCache;
export default function(props) {
//查询按钮使用
this.props.createUIDom(
{
pagecode: listpageid
},
(templedata) => {
if (templedata) {
transtypeUtils.init.call(this, templedata.context);
if (templedata.template) {
let meta = templedata.template;
transtypeUtils.initQuery.call(this, this.props, meta, searchId, HEADATTRCODE.CTRANTYPEID);
meta = modifierMeta.call(this, this.props, meta);
props.meta.setMeta(meta);
//设置查询模板默认值
//setQueryDefault.call(this, this.props, meta);
}
if (templedata.button) {
let button = templedata.button;
//初始化excel导入按钮
initExcelImportConfig.call(this, props);
props.button.setButtons(button);
buttonController.setListButtonVisiable(this.props, PMO_LIST.toCommit);
props.button.setPopContent(
PMO_LIST_BUTTON.delete,
getLangByResId(this, '50080000-000103') /* 国际化处理: 确定要删除吗?*/
);
}
toggleShow.call(this);
}
}
);
function modifierMeta(props, meta) {
let noshowOrgFileds = [
HEADATTRCODE.APPROVER,
HEADATTRCODE.BILLMAKER,
'mm_mo.mocloser',
'mm_mo.vfirsttrantypeid',
'mm_mo.vfirsttype',
'mm_mo.vsrctype',
'mm_mo.vsrctrantypeid'
];
meta[searchId].items.map((item) => {
setPsndocShowLeavePower(item);
setRefShowDisabledData(item);
if (item.attrcode == HEADATTRCODE.PK_ORG) {
//设置可多选
item.isMultiSelectedEnabled = true;
//主组织权限过滤
item.queryCondition = () => {
return { GridRefActionExt: 'nccloud.web.mmpub.pub.ref.AppPermissionOrgRefFilter' };
};
} else if (item.attrcode == HEADATTRCODE.PK_ORG_V) {
//设置可多选
item.isMultiSelectedEnabled = true;
//主组织权限过滤
item.queryCondition = () => {
return { GridRefActionExt: 'nccloud.web.mmpub.pub.ref.AppPermissionOrgVidRefFilter' };
};
} else if (item.attrcode == HEADATTRCODE.CPLANFACTORYID) {
//设置可多选
item.isMultiSelectedEnabled = true;
//主组织权限过滤
item.queryCondition = () => {
return {
orgtype: 'PRODUCEPLANTYPE00000',
GridRefActionExt: 'nccloud.web.mmpub.pub.ref.OrgTypePermissionOrgRefFilter'
};
//return { GridRefActionExt: 'nccloud.web.mmpub.pub.ref.AppPermissionOrgRefFilter' };
};
} else if (item.attrcode == HEADATTRCODE.CPLANFACTORYVID) {
//设置可多选
item.isMultiSelectedEnabled = true;
//主组织权限过滤
item.queryCondition = () => {
return {
orgtype: 'PRODUCEPLANTYPE00000',
GridRefActionExt: 'nccloud.web.mmpub.pub.ref.OrgTypePermissionOrgVidRefFilter'
};
//return { GridRefActionExt: 'nccloud.web.mmpub.pub.ref.AppPermissionOrgVidRefFilter' };
};
} else if (item.attrcode == HEADATTRCODE.CTRANTYPEID) {
//设置交易类型
item.queryCondition = () => {
return { parentbilltype: PMO_LIST.billType };
};
} else if (item.attrcode == 'mm_mo.cmaterialid' || item.attrcode == 'mm_mo.cmaterialvid') {
item.isShowUnit = true;
item.queryCondition = () => {
let pk_org = props.search.getSearchValByField(searchId, HEADATTRCODE.PK_ORG);
let condition = { productmode: 1 };
pk_org =
pk_org != null
? pk_org.value.firstvalue.includes(',') ? null : pk_org.value.firstvalue
: null;
if (pk_org) {
condition.pk_org = pk_org;
}
condition.productmode = 1;
condition.matchmode = 2;
if (item.attrcode == 'mm_mo.cmaterialid') {
condition.GridRefActionExt = 'nccloud.web.mmpub.pub.ref.MaterialoidRefSqlBuilder';
} else {
condition.GridRefActionExt = 'nccloud.web.mmpub.pub.ref.MaterialRefSqlBuilder';
}
return condition;
};
} else if (item.attrcode == 'mm_mo.cdeptid' || item.attrcode == 'mm_mo.cdeptvid') {
item.isShowUnit = true;
//生产部门
item.queryCondition = () => {
let data = props.search.getSearchValByField(searchId, HEADATTRCODE.PK_ORG);
data = data != null ? (data.value.firstvalue.includes(',') ? null : data.value.firstvalue) : null;
return { pk_org: data, busifuncode: 'fa' };
};
} else if (item.attrcode == 'mm_mo.cwkid') {
//生产线
item.isShowUnit = true;
item.refName = getLangByResId(this, '50080000-000107') /*生产线*/;
item.queryCondition = () => {
let data = props.search.getSearchValByField(searchId, HEADATTRCODE.PK_ORG);
data = data != null ? (data.value.firstvalue.includes(',') ? null : data.value.firstvalue) : null;
let cdeptid = props.search.getSearchValByField(searchId, 'mm_mo.cdeptid');
//支持生产部门多选
cdeptid = cdeptid.value.firstvalue;
let condition = {
pk_org: data,
bprodline: 'Y',
GridRefActionExt: 'nccloud.web.mmpub.pub.ref.WorkCenterRefSqlBuilder'
};
if (cdeptid) {
condition.pk_dept = cdeptid;
}
return condition;
};
} else if (item.attrcode == 'mm_mo.cemployeeid') {
item.isShowUnit = true;
item.queryCondition = () => {
let data = props.search.getSearchValByField(searchId, HEADATTRCODE.PK_ORG);
data = data != null ? (data.value.firstvalue.includes(',') ? null : data.value.firstvalue) : null;
return { pk_org: data, busifuncode: 'fa' };
};
} else if (item.attrcode == 'mm_mo.cffileid') {
item.queryCondition = () => {
let cmaterialid = props.search.getSearchValByField(searchId, 'mm_mo.cmaterialid').value.firstvalue;
let condition = {};
condition.pk_group = window.parent.GETBUSINESSINFO().groupId;
condition.cmaterialid = cmaterialid;
return condition;
};
} else if (item.attrcode == 'mm_mo.ccustmaterialid') {
item.queryCondition = () => {
let cmaterialid = props.search.getSearchValByField(searchId, 'mm_mo.cmaterialid');
let pk_org = props.search.getSearchValByField(searchId, HEADATTRCODE.PK_ORG);
let condition = {};
condition.pk_org =
pk_org && pk_org.value
? pk_org.value.firstvalue.includes(',') ? null : pk_org.value.firstvalue
: null;
return condition;
};
} else if (item.attrcode == 'mm_mo.tplanstarttime') {
//这里是不是要设置默认值
let curdays = [];
curdays.push('#day(0)#');
curdays.push('#day(0)#');
item.initialvalue = {
display: getLangByResId(this, '50080000-000104'),
value: curdays
}; /* 国际化处理: 今天,今天*/
} else if (item.attrcode == 'mm_mo.cclassid') {
item.queryCondition = () => {
item.isShowUnit = true;
let pkorg = props.search.getSearchValByField(searchId, HEADATTRCODE.PK_ORG);
pkorg =
pkorg != null ? (pkorg.value.firstvalue.includes(',') ? null : pkorg.value.firstvalue) : null;
let cwkid = props.search.getSearchValByField(searchId, 'mm_mo.cwkid');
cwkid = cwkid.value.firstvalue;
let condition = {
pk_org: pkorg,
orgshifttype: '2',
GridRefActionExt: 'nccloud.web.mmpub.pub.ref.ShiftRefSqlBuilder'
};
if (cwkid) {
condition.cwkid = cwkid;
}
return condition;
};
item.unitProps = unitConf;
} else if (item.attrcode == 'mm_mo.cteamid') {
item.queryCondition = () => {
let pk_org = props.search.getSearchValByField(searchId, HEADATTRCODE.PK_ORG);
pk_org =
pk_org != null
? pk_org.value.firstvalue.includes(',') ? null : pk_org.value.firstvalue
: null;
return {
pk_org: pk_org,
GridRefActionExt: 'nccloud.web.mmpub.pub.ref.TeamRefSqlBuilder'
};
};
item.unitProps = unitConf;
} else if (item.attrcode == HEADATTRCODE.FBILLSTATUS) {
if ((item.options.value = 2)) {
item.options.splice(2, 1);
}
} else if (noshowOrgFileds.includes(item.attrcode)) {
item.queryCondition = () => {
//用户档案的人,不需要显示业务单元
let data = props.search.getSearchValByField(searchId, HEADATTRCODE.PK_ORG);
data = data != null ? (data.value.firstvalue.includes(',') ? null : data.value.firstvalue) : null;
return { pk_org: data };
};
} else {
item.isShowUnit = true;
item.queryCondition = () => {
let data = props.search.getSearchValByField(searchId, HEADATTRCODE.PK_ORG);
data = data != null ? (data.value.firstvalue.includes(',') ? null : data.value.firstvalue) : null;
return { pk_org: data };
};
}
});
// }
//设置显示页码
meta[tableId].pagination = true;
meta[tableId].items = meta[tableId].items.map((item, key) => {
if (item.attrcode == linkItem) {
item.render = (text, record, index) => {
return (
<span
className="code-detail-link"
onClick={() => {
// let searchVal = props.search.getAllSearchData(searchId);
// cacheTools.set('searchParams', searchVal);
props.pushTo(PMO_CARD.cardUrl, {
pagecode: PMO_CARD.pageid,
status: PMO_CARD.browse,
id: record[cpmohid].value //列表卡片传参
});
}}
>
{record && record[linkItem] && record[linkItem].value}
</span>
);
};
}
return item;
});
//添加操作列
let porCol = {
attrcode: 'opr',
label: getLangByResId(this, '50080000-000061') /* 国际化处理: 操作*/ /* 国际化处理: 操作*/,
//attrcode: 'pay_opr',
itemtype: 'customer', //默认必输
fixed: 'right', //锁定操作列
visible: true,
width: '200px',
render: (text, record, index) => {
let state = record.fbillstatus.value;
let buttonAry = buttonController.setRowButtons(state);
return props.button.createOprationButton(buttonAry, {
area: PMO_LIST_BUTTON.list_inner,
buttonLimit: 3,
ignoreHotkeyCode: buttonAry,
onButtonClick: (props, key) => buttonClick.call(this, props, key, text, record, index)
});
}
};
// 将操作列添加到列表态的table中
meta[tableId].items.push(porCol);
return meta;
}
function setQueryDefault(props, meta) {
let searchVal = cacheTools.get('searchVal');
if (!searchVal) {
props.search.setSearchValue(searchId, [
{
field: 'mm_mo.tplanstarttime',
oprtype: 'between',
value: { firstvalue: '#day(0)#', secondvalue: '#day(0)#' }
}
]);
}
}
/**
* 处理生产大屏数据穿透
*/
function process4dashboard() {
let queryCriteria = getGlobalStorage('localStorage', 'QueryCriteria');
queryCriteria = JSON.parse(queryCriteria);
if (queryCriteria && queryCriteria.urlParam && queryCriteria.urlParam.condition) {
let condition = queryCriteria.urlParam.condition;
let pagecode = queryCriteria.urlParam.pagecode;
let pk_org = queryCriteria.urlParam.pk_org;
let dimension = queryCriteria.urlParam.dimension;
let pageInfo = this.props.table.getTablePageInfo(tableId); //分页信息
let paramdata =
condition +
'#' +
pagecode +
'#' +
pk_org +
'#' +
dimension +
'#' +
pageInfo.pageSize +
'#' +
pageInfo.pageIndex;
ajax({
url: PMO_LIST.queryByCondURL,
data: paramdata,
success: (res) => {
if (res.success) {
if (res.data) {
//调用查询方法
setDefData(PMO_LIST.dataSource, 'currentTab', PMO_LIST.all);
this.setState({
currentTab: PMO_LIST.all
});
let rowsData = { rows: [] };
if (res.data.currentGrid && res.data.currentGrid[tableId]) {
rowsData = res.data.currentGrid[tableId];
}
this.props.table.setAllTableData(tableId, rowsData);
buttonController.setListButtonVisiable(this.props, PMO_LIST.all);
}
}
removeGlobalStorage('localStorage', 'QueryCriteria');
}
});
}
}
function toggleShow() {
//处理生产大屏数据穿透
process4dashboard.call(this);
if (!this.linkquery) {
return;
}
let _this = this;
//这里需要处理下计划订单联查流程生产订单服务
let linkparam = cacheTools.get('55B4LinkTo55A2');
if (!linkparam) {
//配套变更建议
linkparam = cacheTools.get('mosLinkTo55A2');
}
let linkkey = props.getUrlParam(PMO_LIST.LINK_KEY);
//供应链控制台
if (!linkparam && linkkey) {
linkparam = cacheTools.get(linkkey);
}
let pageInfo = this.props.table.getTablePageInfo(tableId); //分页信息
//处理其他单据联查
if (linkparam) {
//this.linkquery = true;
if (linkparam) {
let ids = linkparam.linkids;
if (ids) {
let condition = 'querybyid';
let byids = JSON.stringify(ids);
let paramdata =
condition +
'#' +
PMO_LIST.pageid +
'#' +
byids +
'#' +
'' +
'#' +
pageInfo.pageSize +
'#' +
pageInfo.pageIndex;
ajax({
url: PMO_LIST.queryByCondURL,
data: paramdata,
success: (res) => {
if (res.success) {
if (res.data) {
//调用查询方法
setDefData(PMO_LIST.dataSource, 'currentTab', PMO_LIST.all);
this.setState({
currentTab: PMO_LIST.all
});
let rowsData = { rows: [] };
if (res.data.currentGrid && res.data.currentGrid[tableId]) {
rowsData = res.data.currentGrid[tableId];
}
this.props.table.setAllTableData(tableId, rowsData);
buttonController.setListButtonVisiable(this.props, PMO_LIST.all);
}
}
}
});
}
}
if (linkkey) {
this.props.setUrlParam({ [PMO_LIST.LINK_KEY]: null });
cacheTools.remove(linkkey);
}
}
}
//初始化Excel导入配置
function initExcelImportConfig(props) {
//导入主子表
let excelimportconfig = excelImportconfig(
props,
PMO_LIST.excelOutput.module,
PMO_LIST.excelOutput.billtype,
true,
'',
{
appcode: PMO_LIST.appcode,
pagecode: PMO_CARD.pageimportid
},
() => {
//导入按钮的回调
buttonClick.call(this, props, PMO_LIST_BUTTON.Import);
}
);
props.button.setUploadConfig(PMO_LIST_BUTTON.Import, excelimportconfig);
}
}

View File

@ -0,0 +1,55 @@
import { ajax } from 'nc-lightapp-front';
import { PMO_LIST } from '../../pmoconst';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { showSuccessInfo, showErrorInfo, showWarningInfo,showBatchOprMessage } from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { buttonController } from '../viewControl';
let tableId = PMO_LIST.tableId;
/**
* 业务操作抽取类投放/取消投放/等卡片界面公共业务抽取类
* @param {*} props
* @param {*} url
* @param {*} data
* @param {*} hintMsg
*/
export default function busiOper(props, url, data, hintMsg) {
let rows = props.table.getCheckedRows(tableId);
ajax({
url: url,
data,
success: (res) => {
if (res.success) {
if (res.data) {
if (JSON.stringify(res.data.errorMessageMap || {}) != '{}') {
// 成功的index
let sucIndex = [];
rows.forEach((element, index) => {
if (!res.data.errorMessageMap[index]) {
sucIndex.push(element.index);
}
});
} else {
let succIndex = [];
rows.forEach((element, index) => {
succIndex.push(element.index);
});
}
if (res.data.sucessVOs) {
res.data.sucessVOs[tableId].rows.map((item, index) => {
item.rowId = item.rowid;
});
this.props.table.updateTableData(tableId, res.data.sucessVOs[tableId]);
}
buttonController.setListButtonVisiable(props, this.state.currentTab);
showBatchOprMessage(
hintMsg,
res.data,
{},
getLangByResId(this, '50080000-000017')/* 国际化处理: 提示*/
); /* 国际化处理: 提示*/
} else {
showErrorInfo(errorMsg);
}
}
}
});
}

View File

@ -0,0 +1,16 @@
import { PMO_LIST, HEADATTRCODE } from '../../pmoconst';
const tableId = PMO_LIST.tableId;
export function headCheckedRow(props, record) {
let rows = props.table.getCheckedRows(tableId);
let inforows = [];
rows.map((item) => {
let data = {
id: item.data.values[HEADATTRCODE.CPMOHID].value,
ts: item.data.values[HEADATTRCODE.TS].value,
rowid: item.data.rowId
};
inforows.push(data);
});
let data = { infos: inforows, pageid: PMO_LIST.pageid };
return data;
}

View File

@ -0,0 +1,315 @@
/**
*
*/
import { cardCache } from 'nc-lightapp-front';
import { PMO_LIST, PMO_LIST_BUTTON, FBILLSTATUS } from '../../pmoconst';
const { getDefData } = cardCache;
const dataSource = PMO_LIST.dataSource;
/**
* //根据单据的状态控制行按钮显示
* @param {*} fbillstatus
*/
function setRowButtons(fbillstatus) {
let buttonAry =
fbillstatus === FBILLSTATUS.free
? [
PMO_LIST_BUTTON.commit,
PMO_LIST_BUTTON.editrow,
PMO_LIST_BUTTON.delete,
PMO_LIST_BUTTON.copy,
PMO_LIST_BUTTON.ApproveInfo,
PMO_LIST_BUTTON.pmoviewver
]
: fbillstatus === FBILLSTATUS.unapproved
? [
PMO_LIST_BUTTON.editrow,
//PMO_LIST_BUTTON.delete,
PMO_LIST_BUTTON.copy,
PMO_LIST_BUTTON.ApproveInfo,
PMO_LIST_BUTTON.pmoviewver
]
: fbillstatus === FBILLSTATUS.approve
? [
PMO_LIST_BUTTON.editrow,
PMO_LIST_BUTTON.uncommit,
PMO_LIST_BUTTON.copy,
PMO_LIST_BUTTON.ApproveInfo,
PMO_LIST_BUTTON.pmoviewver
]
: fbillstatus === FBILLSTATUS.approved
? [
PMO_LIST_BUTTON.editrow,
PMO_LIST_BUTTON.pmoadjust,
PMO_LIST_BUTTON.copy,
PMO_LIST_BUTTON.ApproveInfo,
PMO_LIST_BUTTON.pmoviewver
]
: [ PMO_LIST_BUTTON.copy, PMO_LIST_BUTTON.ApproveInfo, PMO_LIST_BUTTON.pmoviewver ];
return buttonAry;
}
/**
* //1.优先根据界面状态判断显示按钮显示
// 2.再根据单据状态控制按钮显示
* @param {*} props
* @param {*} tabCode 页签标识
*/
function setListButtonVisiable(props, tabCode) {
let rows = props.table.getCheckedRows(PMO_LIST.tableId);
if (tabCode == null) {
//rows.length = 0;
tabCode = PMO_LIST.all;
}
let trueFlag = true;
// 初始化全部不可见
let Add = false;
//删除
let Delete = trueFlag;
//提交
let Commit = trueFlag;
//收回
let UnCommit = trueFlag;
//批改
let BatchEdit = trueFlag;
//变更
let PMOAdjust = trueFlag;
//投放
let Put = trueFlag;
//取消投放
let UnPut = trueFlag;
//强制完工
let Finish = trueFlag;
//取消完工
let UnFinish = trueFlag;
//强制关闭
let Close = trueFlag;
//自动关闭
let AutoClose = trueFlag;
//取消关闭
let UnClose = trueFlag;
//let DeliverOper = false;
//生产领料
let PMODeliver = trueFlag;
//无备料领料
let PMOUnpickmDeliver = trueFlag;
//成套领料
let PMODeliverSet = trueFlag;
//补成套领料
let PMODeliverFillSet = trueFlag;
//成套退料
let PMODeliverSetBack = trueFlag;
//退料处理
let PMODeliverBack = trueFlag;
//备料计划
let PMOPickm = trueFlag;
//工序委外计划
let PMOPscplan = trueFlag;
//投放计划
let PMOToPutPlan = trueFlag;
//配套变更建议
let PMOMos = trueFlag;
//产能分流
let PMOTurn = trueFlag;
//备料重算
let PMOPickmRecalAction = trueFlag;
//作业量维护
let PMOActivity = trueFlag;
//齐套分析
let PMOSetAnalysis = trueFlag;
//分次投放
let PMOresolve = trueFlag;
//序列号
let pmosn = trueFlag;
//报废补单
let PMOScrapAdd = trueFlag;
let PMODispatchlist = trueFlag; //工序派工
let PMOOperationRep = trueFlag; //工序完工
let PMOTransfer = trueFlag; //工序转移
let FZMenu = trueFlag;
//单据追溯
let Trace = trueFlag;
//审批详情
let ApproveInfo = trueFlag;
//附件
let File = trueFlag;
//查看变更历史
let PMOViewVer = trueFlag;
//打印
let Print = trueFlag;
//输出
let Output = trueFlag;
//打印联副产品
let PrintPlanOut = trueFlag;
//打印工序计划
let PrintProcedure = trueFlag;
//直接打印条码
let PMOBCDirectPrint = trueFlag;
//打印条码
let PMOBCPrint = trueFlag;
//刷新
let Refresh = trueFlag;
if (getDefData(dataSource, 'searchVal')) {
Refresh = false;
}
if (rows.length > 0) {
//选择数据时,区分一条或者多选 只有选择数据的时候才控制按钮
if (rows.length == 1) {
rows.map((item) => {
PMODeliver = false;
PMODeliverSet = false;
PMODeliverFillSet = false;
PMODeliverSetBack = false;
PMODeliverBack = false;
PMOPickm = false;
PMOPickmRecalAction = false;
PMOViewVer = false;
PMOBCDirectPrint = false;
PMOBCPrint = false;
let billStatus = item.data.values.fbillstatus.value; // 单据状态
let approver = undefined; // 审批人
if (item.data.values.approver && item.data.values.approver.value) {
approver = item.data.values.approver.value;
}
if (billStatus === FBILLSTATUS.free) {
//自由
Delete = false;
BatchEdit = false;
Commit = false;
PMOSetAnalysis = false;
//pmosn = false;
} else if (billStatus === FBILLSTATUS.approve && approver == undefined) {
//审批中
UnCommit = false;
} else if (billStatus === FBILLSTATUS.approved) {
//审批
UnCommit = false;
Put = false;
UnPut = false;
Finish = false;
UnFinish = false;
Close = false;
AutoClose = false;
UnClose = false;
PMOActivity = false;
PMOAdjust = false;
PMOUnpickmDeliver = false;
PMOScrapAdd = false;
PMOSetAnalysis = false;
PMODispatchlist = false;
PMOOperationRep = false;
PMOTransfer = false;
} else if (billStatus === FBILLSTATUS.unapproved) {
//审批不通过
Delete = false;
BatchEdit = false;
PMOSetAnalysis = true;
} else if (billStatus === FBILLSTATUS.commit) {
UnCommit = false;
PMOSetAnalysis = true;
} /* else {
} */
});
} else {
//批选时不按照页签控制了
Delete = false;
BatchEdit = false;
Commit = false;
UnCommit = false;
Put = false;
UnPut = false;
Finish = false;
UnFinish = false;
Close = false;
AutoClose = false;
UnClose = false;
PMODeliver = false;
PMODeliverSet = false;
PMODeliverFillSet = false;
PMODeliverSetBack = false;
PMODeliverBack = false;
PMOUnpickmDeliver = false;
PMOViewVer = true;
PMOBCDirectPrint = true;
PMOBCPrint = true;
PMOPickm = false;
PMOPickmRecalAction = false;
FZMenu = false;
PMOScrapAdd = false;
PMOActivity = false;
PMOSetAnalysis = false;
PMOresolve = false;
PMODispatchlist = false;
PMOOperationRep = false;
PMOTransfer = false;
//pmosn = false;
}
File = false;
Trace = false;
PMOPscplan = false;
PMOTurn = false;
//QueryAboutBusiness = false;
Print = false;
Output = false;
PrintPlanOut = false;
PrintProcedure = false;
pmosn = false;
ApproveInfo = false;
PMOresolve = false;
PMOToPutPlan = false;
PMOMos = false;
//mergeShow = false;
}
let disableArr = {
[PMO_LIST_BUTTON.add]: Add, //新增
[PMO_LIST_BUTTON.delete]: Delete, //删除
[PMO_LIST_BUTTON.commit]: Commit, //提交
[PMO_LIST_BUTTON.uncommit]: UnCommit, //收回
[PMO_LIST_BUTTON.batchedit]: BatchEdit, //批改
[PMO_LIST_BUTTON.pmoadjust]: PMOAdjust, //变更
[PMO_LIST_BUTTON.put]: Put, //订单投放
[PMO_LIST_BUTTON.unput]: UnPut, //取消投放
[PMO_LIST_BUTTON.finish]: Finish, //强制完工
[PMO_LIST_BUTTON.unfinish]: UnFinish, //取消完工
[PMO_LIST_BUTTON.close]: Close, //强制关闭
[PMO_LIST_BUTTON.autoclose]: AutoClose, //自动关闭
[PMO_LIST_BUTTON.unclose]: UnClose, //取消关闭
//[PMO_LIST_BUTTON.deliveroper]: DeliverOper,//生产领料
[PMO_LIST_BUTTON.pmodeliver]: PMODeliver, //生产领料
[PMO_LIST_BUTTON.pmounpickmdeliver]: PMOUnpickmDeliver, //无备料领料
[PMO_LIST_BUTTON.pmodeliverset]: PMODeliverSet, //成套领料
[PMO_LIST_BUTTON.pmodeliverfillset]: PMODeliverFillSet, //补成套领料
[PMO_LIST_BUTTON.pmodeliversetback]: PMODeliverSetBack, //成套退料
[PMO_LIST_BUTTON.pmodeliverback]: PMODeliverBack, //退料处理
[PMO_LIST_BUTTON.pmopickm]: PMOPickm, //备料计划
[PMO_LIST_BUTTON.pmotoputplan]: PMOToPutPlan, //投放计划
[PMO_LIST_BUTTON.pmoMos]: PMOMos, //配套变更建议
[PMO_LIST_BUTTON.ApproveInfo]: ApproveInfo, //审批详情
[PMO_LIST_BUTTON.pmoviewver]: PMOViewVer, //查看历史版本
[PMO_LIST_BUTTON.pmoSetAnalysis]: PMOSetAnalysis, //齐套分析
[PMO_LIST_BUTTON.pmoresolve]: PMOresolve, //分次投放
[PMO_LIST_BUTTON.pmoturn]: PMOTurn, //产能分流
[PMO_LIST_BUTTON.pmopickmrecalaction]: PMOPickmRecalAction, //备料重算
//[PMO_LIST_BUTTON.pmotempsc]: PMOTempSC,//临时委外
[PMO_LIST_BUTTON.pmoactivity]: PMOActivity, //作业量
[PMO_LIST_BUTTON.pmosn]: pmosn, //序列号
[PMO_LIST_BUTTON.pmoscrapadd]: PMOScrapAdd, //报废补单
[PMO_LIST_BUTTON.pmoDispatchlist]: PMODispatchlist,
[PMO_LIST_BUTTON.pmoOperationRep]: PMOOperationRep,
[PMO_LIST_BUTTON.pmoTransfer]: PMOTransfer,
[PMO_LIST_BUTTON.trace]: Trace, //单据追溯
[PMO_LIST_BUTTON.pmopscplan]: PMOPscplan, //单据追溯
[PMO_LIST_BUTTON.file]: File, //附件
[PMO_LIST_BUTTON.print]: Print, //打印
[PMO_LIST_BUTTON.output]: Output, //输出
[PMO_LIST_BUTTON.printplanout]: PrintPlanOut, //打印联副产品
[PMO_LIST_BUTTON.printprocedure]: PrintProcedure, //打印工序计划
[PMO_LIST_BUTTON.pmobcprint]: PMOBCPrint, //打印条码
[PMO_LIST_BUTTON.pmobcdirectprint]: PMOBCDirectPrint, //直接打印条码
[PMO_LIST_BUTTON.Refresh]: Refresh //刷新
};
props.button.setDisabled(disableArr);
}
function setListButton4Query(props) {
props.button.setDisabled({ [PMO_LIST_BUTTON.Refresh]: false });
}
export default { setRowButtons, setListButtonVisiable, setListButton4Query };

View File

@ -0,0 +1,3 @@
import buttonController from './buttonController';
export { buttonController};

View File

@ -0,0 +1,17 @@
{
"dependModuleName": [
"uap/common/components/codeConfigModal",
"uap/common/components/ApproveDetail",
"uap/common/components/NCUploader",
"uap/common/components/approvalTrans",
"ic/ic/components/billReserve"
],
"dependjs": [
"../../../../uap/common/components/codeConfigModal/index.js",
"../../../../uap/common/components/ApproveDetail/index.js",
"../../../../uap/common/components/NCUploader/index.js",
"../../../../uap/common/components/approvalTrans/index.js",
"../../../../ic/ic/components/billReserve/index.js"
],
"report": true
}

View File

@ -0,0 +1,7 @@
import {RenderRouter} from 'nc-lightapp-front';
import routes from './router';
(function main(routers,htmlTagid){
RenderRouter(routers,htmlTagid);
})(routes,"app");

View File

@ -0,0 +1,25 @@
import { asyncComponent } from 'nc-lightapp-front';
const card = asyncComponent(() =>
import(/*webpackChunkName: "mmpac/mmpac/pmo/card/card"*/ /* webpackMode: "eager" */ '../card')
);
const list = asyncComponent(() =>
import(/*webpackChunkName: "mmpac/mmpac/pmo/list/list"*/ /* webpackMode: "eager" */ '../list')
);
const routes = [
{
path: '/',
component: list,
exact: true
},
{
path: '/list',
component: list
},
{
path: '/card',
component: card
}
];
export default routes;

View File

@ -0,0 +1,8 @@
import { PMO_CARD } from '../../../pmoconst';
let formId4BatchEdit = PMO_CARD.formId4BatchEdit;
function setUIStatus(props) {
props.editTable.setStatus(formId4BatchEdit, PMO_CARD.edit);
}
export default {
setUIStatus
};

View File

@ -0,0 +1,2 @@
import buttonController from './buttonController';
export { buttonController };

View File

@ -0,0 +1,45 @@
import { toast, cardCache } from 'nc-lightapp-front';
import { PMO_LIST,PMO_GRAND, BODYATTRCODE, GRANDATTRCODE } from '../../../pmoconst';
import { RownoUtils } from '../../../../../../mmpub/mmpub/pub/tool/cardTableTools';
let {
setDefData,
getDefData,
getCacheById,
updateCache,
addCache,
getNextId,
deleteCacheById
} = cardCache;
let tableId = PMO_GRAND.tableId;
let tableId4proc = PMO_GRAND.grand4proc;
let tableId4output = PMO_GRAND.grand4output;
let dataSource = PMO_LIST.dataSource;
let tabcodes = [tableId4output, tableId4proc];
export default function initData(props) {
let id = props.getUrlParam("id");
if (id) {
let cardData = getCacheById(id, dataSource);
this.props.cardTable.setAllTabsData(
null,
tabcodes,
null,
[]
);
/* if (cardData) {
this.props.cardTable.setAllTabsData(
null,
tabcodes,
null,
[]
);
} else {
this.props.cardTable.setAllTabsData(
null,
tabcodes,
null,
[]
);
} */
return;
}
}

View File

@ -0,0 +1,80 @@
/*
* @Author: fengjinga
* @PageInfo: 备料重算按钮处理
* @Date: 2018-04-19 10:34:18
* @Last Modified by: fengjinga
* @Last Modified time: 2018-08-10 15:00:31
*/
import { ajax, toast } from 'nc-lightapp-front';
import {
showWarningDialog,
showBatchOprMessage
} from '../../../../../mmpub/mmpub/pub/tool/messageUtil';
import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil';
import { setBtnShow } from './pageInfoClick';
import { PMO_CARD, HEADATTRCODE } from '../../pmoconst';
const formId = PMO_CARD.formId;
const tableId = PMO_CARD.tableId;
const cardpageid = PMO_CARD.pageid;
export default function pickmrecal(props) {
let rows = props.cardTable.getCheckedRows(tableId);
if (rows.length == 0) {
toast({ content: getLangByResId(this, '50080000-000038'), color: 'warning' });/* 国际化处理: 请选择行数据!*/
return;
}
showWarningDialog(getLangByResId(this, '50080000-000040'), getLangByResId(this, '50080000-000041'), {/* 国际化处理: 确认信息,生产订单备料重算后备料计划数据将变更?*/
/* 国际化处理: 生产订单备料重算后备料计划数据将变更?*/
beSureBtnClick: pickmrecalcation.bind(this, props)
});
}
function pickmrecalcation(props) {
let _this = this;
let data = props.createMasterChildDataSimple(cardpageid, formId, tableId);
let rows = props.cardTable.getCheckedRows(tableId);
let filterrows = [];
for (let i = 0; i < rows.length; i++) {
data.body[tableId].rows.map((item, index) => {
if (item.rowid == rows[i].data.rowid) {
filterrows.push(item);
}
});
}
data.body[tableId].rows = filterrows;
let url = PMO_CARD.cardPickmRecal;
ajax({
url: url,
data,
success: (res) => {
if (res.success) {
if (res.data) {
if (JSON.stringify(res.data.errorMessageMap || {}) != '{}') {
// 成功的index
let sucIndex = [];
rows.forEach((element, index) => {
if (!res.data.errorMessageMap[index]) {
sucIndex.push(element.index);
}
});
} else {
let succIndex = [];
rows.forEach((element, index) => {
succIndex.push(element.index);
});
}
let fbillstatus = this.props.form.getFormItemsValue(formId, HEADATTRCODE.FBILLSTATUS).value;
setBtnShow(_this,fbillstatus);
showBatchOprMessage(
getLangByResId(this, '50080000-000042'),/* 国际化处理: 操作成功*/
res.data,
{},
getLangByResId(this, '50080000-000017')/* 国际化处理: 提示*/
); /* 国际化处理: 提示*/
} else {
toast({ content: getLangByResId(this, '50080000-000043'), color: 'error' });/* 国际化处理: 操作失败!*/
}
}
}
});
}

View File

@ -0,0 +1,6 @@
.noMax {
.icon-zuidahua {
display: none
}
}

View File

@ -0,0 +1,144 @@
/*
* @Author: fengjinga
* @PageInfo: 字段编辑控制器
* @Date: 2018-12-29 09:33:38
* @Last Modified fengjinga
* @Last Modified time: 2019-02-27 17:42:58
*/
import { PMO_LIST, PMO_CARD, PMO_CARD_BUTTON, FBILLSTATUS, BODYFBILLSTATUS, HEADATTRCODE, BODYATTRCODE, itemNotEditable } from '../../pmoconst';
let formId = PMO_CARD.formId;
let tableId = PMO_CARD.tableId;
let tableId4output = PMO_CARD.grand4output;
let tableId4proc = PMO_CARD.grand4proc;
let curitems = [
BODYATTRCODE.NMMASTNUM,
BODYATTRCODE.NMMNUM,
BODYATTRCODE.NPLANPUTASTNUM,
BODYATTRCODE.NPLANPUTNUM,
BODYATTRCODE.TPLANSTARTTIME,
BODYATTRCODE.TPLANENDTIME,
BODYATTRCODE.TWILLENDTIME,
BODYATTRCODE.VBATCHCODE,
BODYATTRCODE.VNOTE];
let bodydefitems = [
BODYATTRCODE.VDEF1,
BODYATTRCODE.VDEF2,
BODYATTRCODE.VDEF3,
BODYATTRCODE.VDEF4,
BODYATTRCODE.VDEF5,
BODYATTRCODE.VDEF6,
BODYATTRCODE.VDEF7,
BODYATTRCODE.VDEF8,
BODYATTRCODE.VDEF9,
BODYATTRCODE.VDEF10,
BODYATTRCODE.VDEF11,
BODYATTRCODE.VDEF12,
BODYATTRCODE.VDEF13,
BODYATTRCODE.VDEF14,
BODYATTRCODE.VDEF15,
BODYATTRCODE.VDEF16,
BODYATTRCODE.VDEF17,
BODYATTRCODE.VDEF18,
BODYATTRCODE.VDEF19,
BODYATTRCODE.VDEF20];
//let param = getParentURlParme(PMO_CARD.pageMsgType);
function setItemEditableByEdit(props, record, index) {
// 产品行状态
let itemStatus = record.values[BODYATTRCODE.FITEMSTATUS].value;
let fbillstatus = this.props.form.getFormItemsValue(formId, HEADATTRCODE.FBILLSTATUS).value;
// 订单状态为自由态时,并且产品行状态不为关闭态时,可删除产品行。
if (FBILLSTATUS.free == fbillstatus) {
//行删除可以用
this.props.button.setDisabled({ [PMO_CARD_BUTTON.deleteline]: false });
//this.getItemRowDeleteAction().setEnabled(true);
if (BODYFBILLSTATUS.close == itemStatus) {
//行删除不能用
this.props.button.setDisabled({ [PMO_CARD_BUTTON.deleteline]: true });
//this.getItemRowDeleteAction().setEnabled(false);
}
}
// 首先,默认表体和孙表都不可编辑
this.props.cardTable.setEditableByIndex(tableId, index, itemNotEditable, false);
//this.setGrandEditable(PMOAggVO.GRAND_PLANOUTPUT, this.planoutputNotEditable, false);
//this.setGrandEditable(PMOAggVO.GRAND_PROCEDURE, this.procedureNotEditable, false);
// 然后判断1产品行为计划态时表体和孙表都可编辑
if (BODYFBILLSTATUS.free == itemStatus) {
this.props.cardTable.setEditableByIndex(tableId, index, itemNotEditable, true);
// 表体可自动增行
//e.getBillCardPanel().setBodyAutoAddLine(true);
// 联副产品页签可编辑
//this.setGrandEditable(PMOAggVO.GRAND_PLANOUTPUT, this.planoutputNotEditable, true);
// 工序计划页签可编辑
//this.setGrandEditable(PMOAggVO.GRAND_PROCEDURE, this.procedureNotEditable, true);
}
// 判断2产品行为审批态时表体指定字段可编辑工序页签可编辑
else if (BODYFBILLSTATUS.approved == itemStatus) {
this.props.cardTable.setEditableByIndex(tableId, index, curitems, true);
this.props.cardTable.setEditableByIndex(tableId, index, bodydefitems, true);
}
// 判断3产品行为投放态时表体指定字段可编辑工序页签前台可编辑后台控制
else if (BODYFBILLSTATUS.put == itemStatus) {
this.props.cardTable.setEditableByIndex(tableId, index,
[
BODYATTRCODE.TWILLENDTIME,
BODYATTRCODE.VNOTE
], true);
this.props.cardTable.setEditableByIndex(tableId, index, bodydefitems, true);
}
}
function setItemEditableByAdjust(props, record, index) {
// 产品行状态
let itemStatus = record.values[BODYATTRCODE.FITEMSTATUS].value;
// 首先,默认设定表体和孙表都不可编辑
this.props.cardTable.setEditableByIndex(tableId, index, itemNotEditable, false);
//this.setGrandEditable(PMOAggVO.GRAND_PLANOUTPUT, this.planoutputNotEditable, false);
//this.setGrandEditable(PMOAggVO.GRAND_PROCEDURE, this.procedureNotEditable, false);
// 然后判断1产品行为计划态时表体和孙表都可编辑
if (BODYFBILLSTATUS.free == itemStatus) {
this.props.cardTable.setEditableByIndex(tableId, index, itemNotEditable, true);
}
// 判断2产品行为审批态时
else if (BODYFBILLSTATUS.approved == itemStatus) {
// 产品行可以修改:计划产出数量、计划产出主数量、计划投入数量、计划投入主数量、计划开工时间、计划完工时间、预计完工时间、生产批次号、备注
this.props.cardTable.setEditableByIndex(tableId, index, curitems, true);
this.props.cardTable.setEditableByIndex(tableId, index, bodydefitems, true);
}
// 判断3产品行为投放态时
else if (BODYFBILLSTATUS.put == itemStatus) {
// 产品行可以修改:计划产出数量、计划产出主数量、计划投入数量、计划投入主数量、计划完工时间、预计完工时间、备注
this.props.cardTable.setEditableByIndex(tableId, index,
[
BODYATTRCODE.NMMASTNUM,
BODYATTRCODE.NMMNUM,
BODYATTRCODE.NPLANPUTASTNUM,
BODYATTRCODE.NPLANPUTNUM,
BODYATTRCODE.TPLANENDTIME,
BODYATTRCODE.TWILLENDTIME,
BODYATTRCODE.VNOTE
], true);
// 设置表体自定义项可编辑
this.props.cardTable.setEditableByIndex(tableId, index, bodydefitems, true);
}
}
function setAlwaysNotEditBodyItems(props, record, index) {
this.props.cardTable.setEditableByIndex(tableId, index, [BODYATTRCODE.TSUPPLYTIME, BODYATTRCODE.CUNITID], false);
}
function setNotEditHeadItems4Edit(props) {
//修改时设置表头字段不可编辑字段
this.props.form.setFormItemsDisabled(formId,
{
[HEADATTRCODE.CPLANFACTORYID]: true,
[HEADATTRCODE.CPLANFACTORYVID]: true,
[HEADATTRCODE.CTRANTYPEID]: true
});
}
export default {
setItemEditableByEdit,
setItemEditableByAdjust,
setAlwaysNotEditBodyItems,
setNotEditHeadItems4Edit
};

View File

@ -0,0 +1,186 @@
/*
* @Author:
* @PageInfo: 产能分流对话框
* @Date: 2018-05-12 09:37:38
* @Last Modified by: fengjinga
* @Last Modified time: 2022-06-11 16:40:44
*/
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import { createPage, base, ajax, deepClone, toast } from 'nc-lightapp-front';
import { showResumeModal } from '../../../../../../mmpub/mmpub/pub/components/resumeModal';
let { NCModal, NCButton, NCFormControl, NCButtonGroup, NCBackBtn, NCAffix } = base;
import { PMO_LIST, PMO_CARD, BODYATTRCODE, SNATTRCODE, PMO_GRAND } from '../../../pmoconst';
import { getSelectedRowByRowID, getSelectedRow, cacheLastRow } from '../btnclicks/rowbodyClick';
const tableId4pmoview = PMO_GRAND.tableId4pmoview;
const tableId4serialno = PMO_GRAND.tableId4serialno;
const pageid4serialno = PMO_GRAND.pageid4serialno;
class SerialButton extends Component {
constructor(props) {
super(props);
this.state = {
};
initLang(this, ['50080000'], 'mmpac', initTemplate.bind(this, this.props));
}
onOkBtnClick = (props) => {
let indexRow = props.table.getClickRowIndex(tableId4pmoview);
if (indexRow && indexRow.index != -1) {
let rowdata = getSelectedRow.call(this, this.props, indexRow.index);
let rowid = rowdata.values[BODYATTRCODE.CMOID].value;
if (rowid == undefined || rowid == '') {
rowid = rowdata.rowid;
}
let finalRow = getSelectedRowByRowID.call(this, this.props, rowid);
let finalsnvos = cacheLastRow.call(this, this.props, finalRow, props.status)
this.state.allsnvos[rowid] = finalsnvos;
}
this.props.okBtnClick(this.state.allsnvos);
};
printbar() {
}
createserialno(props) {
let id2Num = {};
let allsnvos = this.state.allsnvos;
for (let i = 0; i < this.props.tableData.rows.length; i++) {
let cmoid = this.props.tableData.rows[i].values[BODYATTRCODE.CMOID].value;
if (cmoid == null) {
cmoid = this.props.tableData.rows[i].rowid;
}
if (allsnvos[cmoid] && allsnvos[cmoid][tableId4serialno] && allsnvos[cmoid][tableId4serialno].rows) {
id2Num[cmoid] = allsnvos[cmoid][tableId4serialno].rows.length.toString();
}
}
let data = { pageid: PMO_GRAND.pageid4serialno, model: this.props.tableData, userjson: JSON.stringify(id2Num) }
ajax({
url: PMO_CARD.createSN,
data: data,
async: false,
success: (res) => {
this.props.beforeUpdatePage();
if (res.formulamsg && res.formulamsg instanceof Array && res.formulamsg.length > 0) {
props.dealFormulamsg(res.formulamsg);
}
if (res.success) {
if (res.data) {
let allsnvos = this.state.allsnvos;
//将返回的数据合并到allsnvos中
for (let i = 0; i < this.props.tableData.rows.length; i++) {
let cmoid = this.props.tableData.rows[i].values[BODYATTRCODE.CMOID].value;
if (cmoid == null) {
cmoid = this.props.tableData.rows[i].rowid;
}
if (res.data[cmoid] && res.data[cmoid][tableId4serialno] && res.data[cmoid][tableId4serialno].rows) {
let allrows = [];
res.data[cmoid][tableId4serialno].rows.map((item, index) => {
allrows.push(item);
});
if (allsnvos[cmoid]) {
if (allsnvos[cmoid][tableId4serialno] && allsnvos[cmoid][tableId4serialno].rows) {
allsnvos[cmoid][tableId4serialno].rows.map((item, index) => {
allrows.push(item);
});
}
}
if (allrows) {
allsnvos[cmoid][tableId4serialno].rows = allrows;
//this.state.allsnvos = allsnvos;
}
}
}
//更新当前选中行
let indexRow = props.table.getClickRowIndex(tableId4pmoview);
if (indexRow && indexRow.index != -1) {
let rowdata = getSelectedRow.call(this, this.props, indexRow.index);
let rowid = rowdata.values[BODYATTRCODE.CMOID].value;
if (rowid == undefined || rowid == '') {
rowid = rowdata.rowid;
}
if (allsnvos[rowid]) {
props.editTable.setTableData(tableId4serialno, allsnvos[rowid][tableId4serialno]);
}
}
}
}
this.props.updatePage(null, tableId4serialno);
}
});
}
onCancelBtnClick = (props) => {
this.state.lastSelectedRow = -1;
//this.state.initRender = true;
this.props.cancel();
}
getSelectedRow = (props, selectedIndex) => {
let alldatas = props.table.getAllTableData(tableId4pmoview);
let allrows = alldatas.rows;
if (selectedIndex != undefined && selectedIndex != -1) {
return allrows[selectedIndex];
}
return null;
}
setSnValues = (props, srcattrcodes, destattrcodes, bodycurIndex, cursnIndex) => {
for (let i = 0; i < srcattrcodes.length; i++) {
let attrJson = this.getTableValByKeyAndIndex(props, tableId4pmoview, bodycurIndex, srcattrcodes[i]);
props.editTable.setValByKeyAndIndex(tableId4serialno, cursnIndex, destattrcodes[i], attrJson);
}
}
getTableValByKeyAndIndex = (props, tableId, index, key) => {
if (index == -1) {
return { value: '' };
}
let alldatas = props.table.getAllTableData(tableId);
let allrows = alldatas.rows;
let valueJson = allrows[index].values[key];
return valueJson;
}
render() {
const {
show,
onHide,
cancel,
okBtnClick,
table,
editTable,
cardTable,
tableData,
//pmobodys,
status,
allsnvos,
//iscard
} = this.props;
return (
<div>
<NCButton fieldid="dirprintbarcode" shape="border" style={{ display: ((this.props.status == 'add' || this.props.status == 'edit') ? 'none' : 'inline-block') }} onClick={() => {
this.printbar(this.props);
}}>getLangByResId(this, '50080000-000124')</NCButton>/* 国际化处理 直接打印条码*/
<NCButton fieldid="printbarcode" shape="border" style={{ display: ((this.props.status == 'add' || this.props.status == 'edit') ? 'none' : 'inline-block') }} onClick={() => {
this.printbar(this.props);
}}>getLangByResId(this, '50080000-000125')</NCButton>/* 国际化处理 打印条形吗*/
<NCButton fieldid="createsn" shape="border" style={{ display: ((this.props.status == 'add' || this.props.status == 'edit') ? 'inline-block' : 'none') }} onClick={() => {
this.createserialno(this.props);
}}>getLangByResId(this, '50080000-000126')</NCButton>/* 国际化处理 生成序列号*/
<NCButton fieldid="confirm" colors="primary" onClick={() => {
this.onOkBtnClick(this.props);
}}>getLangByResId(this, '50080000-000005')</NCButton>/* 国际化处理 确定*/
<NCButton fieldid="cancel" shape="border" onClick={() => {
this.onCancelBtnClick(this.props);
}}>getLangByResId(this, '50080000-000006')</NCButton>/* 国际化处理 取消*/
</div>
);
}
}
SerialButton = createPage({
billinfo: {
}
})(SerialButton);
export default SerialButton;

View File

@ -0,0 +1,3 @@
{
"hash": false
}

View File

@ -0,0 +1,158 @@
/*
* @Author: fengjinga
* @PageInfo: 流程生产订单交易类型扩展属性面板
* @Date: 2022-03-19 19:53:32
* @Last Modified by: fengjinga
* @Last Modified time: 2022-03-19 19:53:32
*/
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import { createPage, ajax } from 'nc-lightapp-front';
import { initTemplate } from './init';
import { getLangByResId, initLang } from '../../../../mmpub/mmpub/pub/tool/multiLangUtil';
//区域ID
const FORMID = 'extendAttribute';
//状态常量
const STATE = {
ADD: 'add',
EDIT: 'edit',
CANCEL: 'cancel',
BROWSE: 'browse'
};
class PmoExtendAttribute extends Component {
constructor(props) {
super(props);
//use注册组件
props.use.form(FORMID);
}
/********componentDidMount是固定的********** */
componentDidMount() {
if (document.getElementById('extInfo').onclick != null) {
document.getElementById('extInfo').onclick(this.showData);
}
if (document.getElementById('extInfo').method != null) {
document.getElementById('extInfo').method(this.props.form.getAllFormValue);
}
}
componentWillMount() {
initLang(this, ['50080000'], 'mmpac', initTemplate.bind(this, this.props));
}
/********setExtendPaneStat是固定********** */
setExtendPaneStat() {
let extendStat = document.getElementById('extInfo').getAttribute('extendStat');
return extendStat;
}
/********getExtendData是固定********** */
getExtendData(extendAttribute) {
let obj = this.props.form.getAllFormValue(FORMID);
return obj;
}
//请求列表数据
showData = (pk_billtypeid) => {
//状态 add, edit,cancel,browse 其中 add edit cancel分别对应动作 新增 修改 取消
//pk_billtypeid 为单机类型编码
let stat = this.setExtendPaneStat();
if (pk_billtypeid instanceof Event) {
this.props.form.EmptyAllFormValue(FORMID);
return;
}
switch (stat) {
case STATE.ADD:
this.props.form.setFormStatus(FORMID, STATE.ADD);
this.setDefaultValue();
break;
case STATE.EDIT:
this.props.form.setFormStatus(FORMID, STATE.EDIT);
break;
case STATE.CANCEL:
this.props.form.cancel(FORMID);
break;
case STATE.BROWSE:
this.props.form.setFormStatus(FORMID, STATE.BROWSE);
if (pk_billtypeid) {
this.queryData(pk_billtypeid);
} else {
this.props.form.EmptyAllFormValue(FORMID);
}
break;
default:
break;
}
};
//设置默认值
setDefaultValue = () => {
this.props.form.EmptyAllFormValue(FORMID);
this.props.form.setFormItemsValue(FORMID, {
fpickmauditmode: { value: '2', display: getLangByResId(this, '50080000-000130') },/* 国际化处理: 人工独立审核*/
fmooperationmode: { value: '3', display: getLangByResId(this, '50080000-000131') },/* 国际化处理: 订单报工*/
freworktype: { value: '1', display: getLangByResId(this, '50080000-000132') },/* 国际化处理: 订单返工*/
});
};
//查询数据
queryData = (pk_billtypeid) => {
let meta = this.props.meta.getMeta();
ajax({
url: '/nccloud/mmpac/pmo/exttranstypequeryaction.do',
data: {
conditions: {
pk_billtypeid: pk_billtypeid,
templateid: meta.pageid
}
},
success: (res) => {
let { success, data } = res;
if (success && data) {
this.props.form.setAllFormValue({ [FORMID]: data[FORMID] });
} else {
this.props.form.EmptyAllFormValue(FORMID);
}
}
});
};
//编辑前事件
beforeEvent = (props, moduleId, key, value, data) => {
//过滤报废补单类型
if (key == 'cscrapaddtypeid') {
let meta = this.props.meta.getMeta();
meta[moduleId].items.map((item) => {
if (item.attrcode == 'cscrapaddtypeid') {
item.queryCondition = () => {
return { parentbilltype: '55A2' };
};
}
});
}
}
render() {
let { form } = this.props;
const { createForm } = form;
return (
<div id="finance-reva-pobdoc-list">
<div className="title-button-area">
<div className="title-area">{getLangByResId(this, '50080000-000133')}</div>{/* 国际化处理 扩展属性*/}
</div>
<div className="table-area">{createForm(FORMID, {
onBeforeEvent: this.beforeEvent.bind(this)
})}</div>
</div>
);
}
}
PmoExtendAttribute = createPage(
{
// initTemplate: initTemplate
}
)(PmoExtendAttribute);
/*********渲染位置#transtypebusi是固定的************************ */
ReactDOM.render(<PmoExtendAttribute />, document.querySelector('#transtypebusi'));

View File

@ -0,0 +1,2 @@
import initTemplate from './initTemplate';
export { initTemplate };

View File

@ -0,0 +1,29 @@
const formId = 'extendAttribute';
export default function (props) {
props.createUIDom(
{
pagecode: '50080000_transtype',
appcode: '50080000'
},
(data) => {
if (data) {
if (data.template) {
let meta = data.template;
modifierMeta.call(this, this.props, meta);
props.meta.setMeta(meta);
}
}
}
);
}
function modifierMeta(props, meta) {
meta[formId].items.map((item) => {
if (item.attrcode == 'cscrapaddtypeid') {
//设置表头类型参照过滤 根据单据类型
item.queryCondition = () => {
return { parentbilltype: '55A2' };
};
}
});
return meta;
}