diff --git a/src/mmpac/mmpac/pmo/card/beforeEvents/batchBeforeEditEvent.js b/src/mmpac/mmpac/pmo/card/beforeEvents/batchBeforeEditEvent.js new file mode 100644 index 00000000..1f82fe72 --- /dev/null +++ b/src/mmpac/mmpac/pmo/card/beforeEvents/batchBeforeEditEvent.js @@ -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; + } +} + diff --git a/src/mmpac/mmpac/pmo/card/index.css b/src/mmpac/mmpac/pmo/card/index.css new file mode 100644 index 00000000..030d04fc --- /dev/null +++ b/src/mmpac/mmpac/pmo/card/index.css @@ -0,0 +1,3 @@ +.dragWidthCom .left { + width: 100%; +} diff --git a/src/mmpac/mmpac/pmo/card/util/combinePlanRc.js b/src/mmpac/mmpac/pmo/card/util/combinePlanRc.js new file mode 100644 index 00000000..374ca175 --- /dev/null +++ b/src/mmpac/mmpac/pmo/card/util/combinePlanRc.js @@ -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; + } + } +} \ No newline at end of file diff --git a/src/mmpac/mmpac/pmo/list/afterEvents/index.js b/src/mmpac/mmpac/pmo/list/afterEvents/index.js new file mode 100644 index 00000000..235d93d2 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/afterEvents/index.js @@ -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 }; diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/addBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/addBtnClick.js new file mode 100644 index 00000000..712e6515 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/addBtnClick.js @@ -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 + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/adjustBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/adjustBtnClick.js new file mode 100644 index 00000000..e4d774e9 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/adjustBtnClick.js @@ -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' + }); + } + }); + } +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/autocloseClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/autocloseClick.js new file mode 100644 index 00000000..fcd9d1f6 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/autocloseClick.js @@ -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'));/* 国际化处理: 自动关闭失败!*/ + } + } + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/backBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/backBtnClick.js new file mode 100644 index 00000000..341d6c4b --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/backBtnClick.js @@ -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, {}) +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/barCodePrintBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/barCodePrintBtnClick.js new file mode 100644 index 00000000..22b8e5df --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/barCodePrintBtnClick.js @@ -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 + ); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/batchEditSave.js b/src/mmpac/mmpac/pmo/list/btnclicks/batchEditSave.js new file mode 100644 index 00000000..535b8875 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/batchEditSave.js @@ -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')); /* 国际化处理: 批改成功*/ + } + } + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/buttonClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/buttonClick.js new file mode 100644 index 00000000..d6be1daa --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/buttonClick.js @@ -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); + } + } +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/closeClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/closeClick.js new file mode 100644 index 00000000..1b82e62d --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/closeClick.js @@ -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 { + } */ + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/closecancelClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/closecancelClick.js new file mode 100644 index 00000000..4366358e --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/closecancelClick.js @@ -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' });/* 国际化处理: 取消关闭失败!*/ + } + } + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/commitBatchBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/commitBatchBtnClick.js new file mode 100644 index 00000000..ca620e41 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/commitBatchBtnClick.js @@ -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); + } + } + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/commitBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/commitBtnClick.js new file mode 100644 index 00000000..66135eac --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/commitBtnClick.js @@ -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')); /* 国际化处理: 提交失败!*//* 国际化处理: 提交失败!*/ + } + } + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/commonSearch.js b/src/mmpac/mmpac/pmo/list/btnclicks/commonSearch.js new file mode 100644 index 00000000..6c70b108 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/commonSearch.js @@ -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); + } + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/delBatchBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/delBatchBtnClick.js new file mode 100644 index 00000000..307daee4 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/delBatchBtnClick.js @@ -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); + } + } +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/delBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/delBtnClick.js new file mode 100644 index 00000000..9f66e243 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/delBtnClick.js @@ -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); + } +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/exportTemClick b/src/mmpac/mmpac/pmo/list/btnclicks/exportTemClick new file mode 100644 index 00000000..ff4a4703 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/exportTemClick @@ -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'); + } + ); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/fileBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/fileBtnClick.js new file mode 100644 index 00000000..4450eea9 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/fileBtnClick.js @@ -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 + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/finishClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/finishClick.js new file mode 100644 index 00000000..e2cae85a --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/finishClick.js @@ -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 { + } */ + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/finishcancelClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/finishcancelClick.js new file mode 100644 index 00000000..9f31c74a --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/finishcancelClick.js @@ -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'));/* 国际化处理: 取消完工失败!*/ + } + } + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/importClick b/src/mmpac/mmpac/pmo/list/btnclicks/importClick new file mode 100644 index 00000000..c9da17c4 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/importClick @@ -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); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/linkBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/linkBtnClick.js new file mode 100644 index 00000000..52e7edf0 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/linkBtnClick.js @@ -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 }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/outputBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/outputBtnClick.js new file mode 100644 index 00000000..62926835 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/outputBtnClick.js @@ -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 + } // 功能节点的数据主键 + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pageInfoClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pageInfoClick.js new file mode 100644 index 00000000..743b953c --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pageInfoClick.js @@ -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: [] }); + } + } + } + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pickmBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pickmBtnClick.js new file mode 100644 index 00000000..3625caaa --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pickmBtnClick.js @@ -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 + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pickmrecalBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pickmrecalBtnClick.js new file mode 100644 index 00000000..d232a1f9 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pickmrecalBtnClick.js @@ -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'));/* 国际化处理: 操作失败!*/ + } + } + } + }); +} + + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmoMosBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmoMosBtnClick.js new file mode 100644 index 00000000..73313b7e --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmoMosBtnClick.js @@ -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) + }); + } + } + } + }); + +} \ No newline at end of file diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmoSetAnalysisBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmoSetAnalysisBtnClick.js new file mode 100644 index 00000000..01d4f7b8 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmoSetAnalysisBtnClick.js @@ -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); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmoToPutPlanBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmoToPutPlanBtnClick.js new file mode 100644 index 00000000..bb996a61 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmoToPutPlanBtnClick.js @@ -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) + }); + } + } + } + }); + +} \ No newline at end of file diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmoactivityBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmoactivityBtnClick.js new file mode 100644 index 00000000..9c437cbf --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmoactivityBtnClick.js @@ -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) + }); + } + }); + +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliverBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliverBtnClick.js new file mode 100644 index 00000000..cba67d7f --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliverBtnClick.js @@ -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' + }); + + } + } + }); + } + } + } + }); + +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliverbackBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliverbackBtnClick.js new file mode 100644 index 00000000..ffc04bd6 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliverbackBtnClick.js @@ -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' + }); + } + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliverfillsetBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliverfillsetBtnClick.js new file mode 100644 index 00000000..76b5c56e --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliverfillsetBtnClick.js @@ -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); + // } + // } + // } + //}); +} + + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliversetBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliversetBtnClick.js new file mode 100644 index 00000000..06d5faf8 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliversetBtnClick.js @@ -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); + // } + // } + // } + //}); +} + + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliversetbackBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliversetbackBtnClick.js new file mode 100644 index 00000000..48fbe7c7 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmodeliversetbackBtnClick.js @@ -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); + } + } + } + }); +} + + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmopushsfcBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmopushsfcBtnClick.js new file mode 100644 index 00000000..eadcd615 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmopushsfcBtnClick.js @@ -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) + }); + } + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmoresolveBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmoresolveBtnClick.js new file mode 100644 index 00000000..47848fb7 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmoresolveBtnClick.js @@ -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')/* 国际化处理: 分次投放生成投放计划成功!*/); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmoscrapaddBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmoscrapaddBtnClick.js new file mode 100644 index 00000000..6618346e --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmoscrapaddBtnClick.js @@ -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 { + } */ + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmosnBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmosnBtnClick.js new file mode 100644 index 00000000..968bd97b --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmosnBtnClick.js @@ -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); + } + } + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmoturnBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmoturnBtnClick.js new file mode 100644 index 00000000..2ce7857e --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmoturnBtnClick.js @@ -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]); + } + } + } + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pmounpickmdeliverBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pmounpickmdeliverBtnClick.js new file mode 100644 index 00000000..0290bdec --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pmounpickmdeliverBtnClick.js @@ -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); + } + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/printBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/printBtnClick.js new file mode 100644 index 00000000..2fe91dc8 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/printBtnClick.js @@ -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 // 功能节点的数据主键 + } + ); + } + }); + +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/printbarCodeBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/printbarCodeBtnClick.js new file mode 100644 index 00000000..3307a7e8 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/printbarCodeBtnClick.js @@ -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 + ); + } + + }); + } + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/pscplanBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/pscplanBtnClick.js new file mode 100644 index 00000000..6c7c88c3 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/pscplanBtnClick.js @@ -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 + }); + } + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/putClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/putClick.js new file mode 100644 index 00000000..cc84c5ab --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/putClick.js @@ -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'));/* 国际化处理: 投放失败!*/ + } + } + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/searchBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/searchBtnClick.js new file mode 100644 index 00000000..7f0c9549 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/searchBtnClick.js @@ -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'); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/unCommitBatchBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/unCommitBatchBtnClick.js new file mode 100644 index 00000000..96e5fa6e --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/unCommitBatchBtnClick.js @@ -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); + } + } + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/uncommitBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/uncommitBtnClick.js new file mode 100644 index 00000000..cf8b62cb --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/uncommitBtnClick.js @@ -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')); /* 国际化处理: 收回失败!*//* 国际化处理: 提交失败!*/ + } + } + }); +} diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/unputClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/unputClick.js new file mode 100644 index 00000000..d18ea7ff --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/unputClick.js @@ -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' });/* 国际化处理: 取消投放失败!*/ + } + } + } + }); +} + diff --git a/src/mmpac/mmpac/pmo/list/btnclicks/viewverBtnClick.js b/src/mmpac/mmpac/pmo/list/btnclicks/viewverBtnClick.js new file mode 100644 index 00000000..824241c7 --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/btnclicks/viewverBtnClick.js @@ -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' });/* 国际化处理: 所选订单没有历史版本数据。*/ + } + } + } + }); +} diff --git a/src/mmpac/mmpac/pmo/list/index.js b/src/mmpac/mmpac/pmo/list/index.js new file mode 100644 index 00000000..b8fc572f --- /dev/null +++ b/src/mmpac/mmpac/pmo/list/index.js @@ -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 ( +