流程生产订单对比源码新增js
This commit is contained in:
parent
46031f7c6f
commit
9cfe51f23d
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
.dragWidthCom .left {
|
||||
width: 100%;
|
||||
}
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 };
|
|
@ -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
|
||||
});
|
||||
}
|
||||
|
|
@ -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'
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -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'));/* 国际化处理: 自动关闭失败!*/
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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, {})
|
||||
}
|
|
@ -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
|
||||
);
|
||||
}
|
|
@ -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')); /* 国际化处理: 批改成功*/
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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 {
|
||||
} */
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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' });/* 国际化处理: 取消关闭失败!*/
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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')); /* 国际化处理: 提交失败!*//* 国际化处理: 提交失败!*/
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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');
|
||||
}
|
||||
);
|
||||
}
|
|
@ -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
|
||||
});
|
||||
}
|
|
@ -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 {
|
||||
} */
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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'));/* 国际化处理: 取消完工失败!*/
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
|
@ -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 });
|
||||
}
|
|
@ -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
|
||||
} // 功能节点的数据主键
|
||||
});
|
||||
}
|
|
@ -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: [] });
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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
|
||||
});
|
||||
}
|
|
@ -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'));/* 国际化处理: 操作失败!*/
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -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)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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)
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
|
@ -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)
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
|
@ -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'
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
|
@ -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'
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//});
|
||||
}
|
||||
|
||||
|
|
@ -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);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//});
|
||||
}
|
||||
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -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)
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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')/* 国际化处理: 分次投放生成投放计划成功!*/);
|
||||
}
|
|
@ -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 {
|
||||
} */
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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]);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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 // 功能节点的数据主键
|
||||
}
|
||||
);
|
||||
}
|
||||
});
|
||||
|
||||
}
|
|
@ -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
|
||||
);
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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'));/* 国际化处理: 投放失败!*/
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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');
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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')); /* 国际化处理: 收回失败!*//* 国际化处理: 提交失败!*/
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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' });/* 国际化处理: 取消投放失败!*/
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -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' });/* 国际化处理: 所选订单没有历史版本数据。*/
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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;
|
|
@ -0,0 +1,2 @@
|
|||
import initTemplate from './initTemplate';
|
||||
export {initTemplate};
|
|
@ -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);
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
|
@ -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;
|
||||
}
|
|
@ -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 };
|
|
@ -0,0 +1,3 @@
|
|||
import buttonController from './buttonController';
|
||||
|
||||
export { buttonController};
|
|
@ -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
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
import {RenderRouter} from 'nc-lightapp-front';
|
||||
import routes from './router';
|
||||
|
||||
(function main(routers,htmlTagid){
|
||||
RenderRouter(routers,htmlTagid);
|
||||
})(routes,"app");
|
||||
|
|
@ -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;
|
|
@ -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
|
||||
};
|
|
@ -0,0 +1,2 @@
|
|||
import buttonController from './buttonController';
|
||||
export { buttonController };
|
|
@ -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;
|
||||
}
|
||||
}
|
|
@ -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' });/* 国际化处理: 操作失败!*/
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
.noMax {
|
||||
.icon-zuidahua {
|
||||
display: none
|
||||
}
|
||||
}
|
||||
|
|
@ -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
|
||||
};
|
|
@ -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;
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"hash": false
|
||||
}
|
|
@ -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'));
|
|
@ -0,0 +1,2 @@
|
|||
import initTemplate from './initTemplate';
|
||||
export { initTemplate };
|
|
@ -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;
|
||||
}
|
Loading…
Reference in New Issue