From 957ab91bc7a91b40622ee72d079ab4dfa64effcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E6=AD=A3=40=E7=94=A8=E5=8F=8B?= Date: Mon, 19 May 2025 17:46:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=87=E6=96=99=E8=AE=A1=E5=88=92=E5=85=B3?= =?UTF-8?q?=E8=81=94importjs?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../btnClicks/pickmBackDeliver.js | 66 ++++++ .../pickmBackSerialnoAddLineClick.js | 64 ++++++ .../btnClicks/pickmBackSerialnoBtnClick.js | 87 ++++++++ .../btnClicks/pikcmBackDeliverOKBtnClicks.js | 99 +++++++++ .../card/events/backMaterialAsstHelper.js | 107 ++++++++++ .../card/events/batchEvent.js | 196 ++++++++++++++++++ .../card/events/bodyafterEvent.js | 181 ++++++++++++++++ .../card/events/bodybeforeEvent.js | 182 ++++++++++++++++ .../pub/pickmbackdeliver/card/events/index.js | 4 + .../mmpac/pub/pickmbackdeliver/card/index.js | 94 +++++++++ .../pub/pickmbackdeliver/card/index.less | 8 + .../pub/pickmbackdeliver/card/init/index.js | 2 + .../card/init/initTemplate.js | 29 +++ .../mmpac/pub/pickmbackdeliver/config.json | 3 + src/mmpac/mmpac/pub/pickmbackdeliver/index.js | 3 + .../serialno/events/bodyAfterEvent.js | 86 ++++++++ .../serialno/events/bodyBeforeEvent.js | 26 +++ .../pickmbackdeliver/serialno/events/index.js | 3 + .../pub/pickmbackdeliver/serialno/index.js | 107 ++++++++++ .../pickmbackdeliver/serialno/init/index.js | 2 + .../serialno/init/initTemplate.js | 96 +++++++++ .../pickmtakeover/btnClicks/pickmTakeOver.js | 37 ++++ .../btnClicks/pickmTakeOverOKBtnClicks.js | 55 +++++ src/mmpac/mmpac/pub/pickmtakeover/config.json | 3 + src/mmpac/mmpac/pub/pickmtakeover/index.js | 3 + .../pickmtakeover/list/events/afterEvent.js | 64 ++++++ .../pickmtakeover/list/events/beforeEvent.js | 28 +++ .../pub/pickmtakeover/list/events/index.js | 3 + .../mmpac/pub/pickmtakeover/list/index.js | 62 ++++++ .../pub/pickmtakeover/list/init/index.js | 2 + .../pickmtakeover/list/init/initTemplate.js | 35 ++++ src/uapbd/refer/org/FactoryGridRef/index.js | 23 ++ 32 files changed, 1760 insertions(+) create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackDeliver.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackSerialnoAddLineClick.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackSerialnoBtnClick.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pikcmBackDeliverOKBtnClicks.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/card/events/backMaterialAsstHelper.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/card/events/batchEvent.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/card/events/bodyafterEvent.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/card/events/bodybeforeEvent.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/card/events/index.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/card/index.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/card/index.less create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/card/init/index.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/card/init/initTemplate.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/config.json create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/index.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/bodyAfterEvent.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/bodyBeforeEvent.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/index.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/serialno/index.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/serialno/init/index.js create mode 100644 src/mmpac/mmpac/pub/pickmbackdeliver/serialno/init/initTemplate.js create mode 100644 src/mmpac/mmpac/pub/pickmtakeover/btnClicks/pickmTakeOver.js create mode 100644 src/mmpac/mmpac/pub/pickmtakeover/btnClicks/pickmTakeOverOKBtnClicks.js create mode 100644 src/mmpac/mmpac/pub/pickmtakeover/config.json create mode 100644 src/mmpac/mmpac/pub/pickmtakeover/index.js create mode 100644 src/mmpac/mmpac/pub/pickmtakeover/list/events/afterEvent.js create mode 100644 src/mmpac/mmpac/pub/pickmtakeover/list/events/beforeEvent.js create mode 100644 src/mmpac/mmpac/pub/pickmtakeover/list/events/index.js create mode 100644 src/mmpac/mmpac/pub/pickmtakeover/list/index.js create mode 100644 src/mmpac/mmpac/pub/pickmtakeover/list/init/index.js create mode 100644 src/mmpac/mmpac/pub/pickmtakeover/list/init/initTemplate.js create mode 100644 src/uapbd/refer/org/FactoryGridRef/index.js diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackDeliver.js b/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackDeliver.js new file mode 100644 index 0000000..ef07e66 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackDeliver.js @@ -0,0 +1,66 @@ +import { ajax,toast } from 'nc-lightapp-front'; +import {URL} from '../../pickmconstance'; +import PickmBackDeliverDLG from '../card'; +import pickmBackDeliverOKBtnClicks from './pikcmBackDeliverOKBtnClicks'; +import {clickSerialnoBtn} from './pickmBackSerialnoBtnClick'; +import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; + +export function pickmBackDeliver(props,param,isPickm,pageid,isCard,thirdPartyClient,callback) { + if (param == undefined || param == null) { + return; + } + this.backDeliverData = {}; + this.isPickm=isPickm; + this.pageid=pageid; + this.isCard=isCard; + let setBackDeliverData = (val) => { + this.backDeliverData = val; + }; + this.backDeliverProps = {}; + let setBackDeliverProps = (val) => { + this.backDeliverProps = val; +}; + this.backSerialnoData = {}; + let setBackSerialnoData = (val) => { + this.backSerialnoData = val; + }; + param['isCard']=true; + param['pageid']='50080102_backdeliver'; + let url = URL.backDeliverQueryURL; + //来自投放计划等第三方调用退料页面 + if(thirdPartyClient && thirdPartyClient.url){ + url = thirdPartyClient.url; + thirdPartyClient.appcode = param.appcode; + } + ajax({ + url: url, + data: param, + success: res => { + if (res.success && res.data) { + let backData={ + head:res.data.head['back_head'], + body:res.data.body['back_body'] + } + setBackDeliverData(backData); + props.modal.show('BackDeliverDlg', { + size: 'xlg', + title: getLangByResId(this, '5008Pub-000018'), /* 国际化处理: 退料*/ + content:, + userControl :true, + leftBtnName: getLangByResId(this, '5008Pub-000001'),/* 国际化处理: 确定*/ + rightBtnName: getLangByResId(this, '5008Pub-000002'),/* 国际化处理: 取消*/ + beSureBtnClick:pickmBackDeliverOKBtnClicks.bind(this,props,thirdPartyClient,callback), + cancelBtnClick:() => { + props.modal.close('BackDeliverDlg'); + }, + hideRightBtn: false, //隐藏足部右边的按钮,默认是false不隐藏,隐藏是true + hideLeftBtn: false //隐藏足部左边的按钮,默认是false不隐藏,隐藏是true + }); + + } + } + }); + +} diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackSerialnoAddLineClick.js b/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackSerialnoAddLineClick.js new file mode 100644 index 0000000..07c6c15 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackSerialnoAddLineClick.js @@ -0,0 +1,64 @@ +import { ajax, toast } from 'nc-lightapp-front'; +import { URL } from '../../pickmconstance'; +import { showWarningInfo, showSuccessInfo } from '../../../../../mmpub/mmpub/pub/tool/messageUtil'; +const TABLE_HEAD = 'serialno_head'; +const TABLE_BODY = 'serialno_body'; +import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; +export function serialnoAddLineBtn(props) { + let rowNum = this.props.cardTable.getNumberOfRows(TABLE_BODY); + if (rowNum > 0) { + let num = this.props.cardTable.getValByKeyAndIndex(TABLE_BODY, 0, 'nserialnum'); + let nastnum = this.props.cardTable.getValByKeyAndIndex(TABLE_BODY, 0, 'nserialastnum'); + let unit = this.props.cardTable.getValByKeyAndIndex(TABLE_BODY, 0, 'itemunitid'); + let astunit = this.props.cardTable.getValByKeyAndIndex(TABLE_BODY, 0, 'itemastunitid'); + this.props.cardTable.addRow(TABLE_BODY, rowNum, { + 'nserialnum': num, + 'nserialastnum': nastnum, + 'itemunitid': unit, + 'itemastunitid': astunit + }); + } + else { + let index = 0; + let head = this.props.editTable.getClickRowIndex(TABLE_HEAD); + if (head && head.index) { + index = head.index; + } + let pk_org = this.props.editTable.getValByKeyAndIndex(TABLE_HEAD, index, 'cdeliverorgid'); + if (!pk_org) { + showWarningInfo(getLangByResId(this, '5008Pub-000019'))/* 国际化处理: 发料组织不能为空,请返回退料界面维护发料组织!*/ + return; + } + //add by maqna 生产订单使用备料计划的序列号弹窗-需要appcode + let appcode = '50080102'; + if (this.props.getAppCode().startsWith('5009')) { + appcode = '50090102'; + } + let material = this.props.editTable.getValByKeyAndIndex(TABLE_HEAD, index, 'cbmaterialvid').value; + let unitid = this.props.editTable.getValByKeyAndIndex(TABLE_HEAD, index, 'cbunitid').value; + let astunitid = this.props.editTable.getValByKeyAndIndex(TABLE_HEAD, index, 'cbastunitid').value; + let vchangerate = this.props.editTable.getValByKeyAndIndex(TABLE_HEAD, index, 'vbchangerate').value; + let param = { + pk_org: pk_org.value, + material: material, + unitid: unitid, + astunitid: astunitid, + vchangerate: vchangerate, + pageid: '50080102_serialno', + appcode: appcode + }; + + ajax({ + url: URL.serialnoAddLineURL, + data: param, + success: res => { + if (res.success && res.data) { + this.props.cardTable.addRow(TABLE_BODY); + this.props.cardTable.setValByKeysAndIndex(TABLE_BODY, 0, res.data[TABLE_BODY].rows[0].values); + } + } + }); + + } + +} diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackSerialnoBtnClick.js b/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackSerialnoBtnClick.js new file mode 100644 index 0000000..ba8da76 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pickmBackSerialnoBtnClick.js @@ -0,0 +1,87 @@ +import { ajax, toast } from 'nc-lightapp-front'; +import { showWarningInfo, showSuccessInfo } from '../../../../../mmpub/mmpub/pub/tool/messageUtil'; +import { URL } from '../../pickmconstance'; +import PickmBackSerialnoDlg from '../serialno'; +import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; +//import pickmBackDeliverOKBtnClicks from './pikcmBackDeliverOKBtnClicks'; + +export function clickSerialnoBtn(props, thirdPartyClient) { + let setSerialnoData = (val) => { + this.backSerialnoData = val; + }; + let serialnoData = {}; + if (this.backSerialnoData) { + for (let key in this.backSerialnoData) { + serialnoData[key] = this.backSerialnoData[key]; + } + } + let items = []; + let item; + let itemfeild = ['cpickm_bid', 'ts', 'cdeliverorgid', 'cdeliverorgvid', 'coutstockid', + 'csupplyorgid', 'csupplyorgvid', 'cinstockid', 'vbatchcode', 'pk_batchcode', 'nbccknum', + 'nbcckastnum', 'naccoutnum', 'naccoutastnum', 'clocationid']; + let hts = this.backDeliverData.head.rows[0].values.ts.value; + let cpickmid = this.backDeliverData.head.rows[0].values.cpickmid.value; + this.backDeliverData.body.rows.forEach((row) => { + item = {}; + itemfeild.forEach((feild) => { + item[feild] = row.values[feild] ? row.values[feild].value : null; + }); + item['cpickmid'] = cpickmid; + items.push(item); + }); + let param = { + backData: items, + pageid: '50080102_serialno', + }; + if (thirdPartyClient && thirdPartyClient.appcode) { + param.appcode = thirdPartyClient.appcode;//来自投放计划第三方打开 需要传appocode + } + ajax({ + url: URL.backSerialnoURL, + data: param, + success: res => { + if (res.success && res.data) { + let headData = res.data; + this.props.modal.show('BackSerialnoDlg', { + size: 'xlg', + title: getLangByResId(this, '5008Pub-000020'),/* 国际化处理: 序列号*/ + content: , + userControl: true, + leftBtnName: getLangByResId(this, '5008Pub-000001'),/* 国际化处理: 确定*/ + rightBtnName: getLangByResId(this, '5008Pub-000002'),/* 国际化处理: 取消*/ + beSureBtnClick: () => { + let err = '' + let codes = []; + let code = {}; + for (let key in serialnoData) { + serialnoData[key].forEach((row) => { + code = row.values.vcode; + if (codes && code && codes.includes(code.value)) { + err = err + '[' + code.value + ']'; + } + else { + codes.push(code.value); + } + }); + + } + if (err) { + showWarningInfo(getLangByResId(this, '5008Pub-000021') + err);/* 国际化处理: 请检查,存在重复序列号:*/ + return; + } + this.backSerialnoData = serialnoData; + this.props.modal.close('BackSerialnoDlg'); + }, + cancelBtnClick: () => { + this.props.modal.close('BackSerialnoDlg'); + }, + hideRightBtn: false, //隐藏足部右边的按钮,默认是false不隐藏,隐藏是true + hideLeftBtn: false //隐藏足部左边的按钮,默认是false不隐藏,隐藏是true + }); + + } + } + }); + +} diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pikcmBackDeliverOKBtnClicks.js b/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pikcmBackDeliverOKBtnClicks.js new file mode 100644 index 0000000..d619432 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/btnClicks/pikcmBackDeliverOKBtnClicks.js @@ -0,0 +1,99 @@ +import { ajax, toast } from 'nc-lightapp-front'; +import { showWarningInfo, showSuccessInfo } from '../../../../../mmpub/mmpub/pub/tool/messageUtil'; +import { URL } from '../../pickmconstance'; +import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; +let tableID = 'back_body'; +export default function clickOKBtn(props, thirdPartyClient, callback) { + //表格必输校验 + let tableData = this.backDeliverProps.cardTable.getAllData(tableID, true) + // 2111版本添加,表头表体必输项,一起校验 + let flag = this.backDeliverProps.validatePageToToast([ + { name: tableID, type: 'cardTable' } + ]); + if (!flag.allPassed) { + return; + } + let data = this.backDeliverProps.createMasterChildDataSimple('50080102_backdeliver', 'back_head', tableID); + this.backDeliverProps.validateToSave(data, () => { + let items = []; + let item; + let itemfeild = ['cpickm_bid', 'ts', 'cdeliverorgid', 'cdeliverorgvid', 'coutstockid', + 'csupplyorgid', 'csupplyorgvid', 'cinstockid', 'vbatchcode', 'pk_batchcode', 'nbccknum', + 'nbcckastnum', 'naccoutnum', 'naccoutastnum', 'clocationid', + 'cpickbillid', 'vpickbillcode', 'vpickbilltype', 'cpickbillrowid', 'vpickbillrowno' + ]; + let defandFreeFeild = ['cbvendorid', 'cbproductorid', 'cbprojectid', 'cbcustomerid', 'cbqualitylevelid', 'cbffileid', + 'vbfree1', 'vbfree2', 'vbfree3', 'vbfree4', 'vbfree5', + 'vbfree6', 'vbfree7', 'vbfree8', 'vbfree9', 'vbfree10', + 'vbdef1', 'vbdef2', 'vbdef3', 'vbdef4', 'vbdef5', 'vbdef6', 'vbdef7', 'vbdef8', 'vbdef9', 'vbdef10', + 'vbdef11', 'vbdef12', 'vbdef13', 'vbdef14', 'vbdef15', 'vbdef16', 'vbdef17', 'vbdef18', 'vbdef19', 'vbdef20'] + let hts = this.backDeliverData.head.rows[0].values.ts.value; + let cpickmid = this.backDeliverData.head.rows[0].values.cpickmid.value; + let snParams = []; + let snParam = {}; + let cpickm_bid; + let defandFree = {}; + let backData = this.backDeliverProps.createMasterChildDataSimple('50080102_backdeliver', 'back_head', tableID); + backData.body[tableID].rows.forEach((row) => { + item = {}; + defandFree = {}; + itemfeild.forEach((feild) => { + item[feild] = row.values[feild] && row.values[feild].value ? row.values[feild].value : null; + }); + defandFreeFeild.forEach((feild) => { + defandFree[feild] = row.values[feild] && row.values[feild].value ? row.values[feild].value : null; + }); + item['hts'] = hts; + item['cpickmid'] = cpickmid; + item['defAndFree'] = defandFree; + cpickm_bid = row.values.cpickm_bid.value; + snParams = []; + if (this.backSerialnoData && this.backSerialnoData[cpickm_bid]) { + this.backSerialnoData[cpickm_bid].forEach((row) => { + snParam = { + 'pk_sn': row.values.pk_serialno.value, + 'vsncode': row.values.vcode.value, + 'nnum': row.values.nserialnum.value, + 'nastnum': row.values.nserialastnum.value, + 'csnunitid': row.values.csnunitid.value + }; + snParams.push(snParam); + }); + } + item['snParams'] = snParams; + items.push(item); + }); + let data = { + backData: items, + pageid: this.pageid, + isCard: this.isCard + } + ajax({ + url: URL.backDeliverURL, + data: data, + success: res => { + if (res.success) { + if (this.isPickm) { + if (res.formulamsg && res.formulamsg instanceof Array && res.formulamsg.length > 0) { + props.dealFormulamsg(res.formulamsg); + } + if (data === undefined) { + //订单编号 + this.setState({ + vbillcode: '', + billId: '' + }); + return; + } + //渲染数据, + if (callback) { + callback.call(this, res.data); + } + } + props.modal.close('BackDeliverDlg'); + showSuccessInfo(getLangByResId(this, '5008Pub-000022'));/* 国际化处理: 退料成功*/ + } + } + }); + }); +} diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/backMaterialAsstHelper.js b/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/backMaterialAsstHelper.js new file mode 100644 index 0000000..1b78bfb --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/backMaterialAsstHelper.js @@ -0,0 +1,107 @@ +/* + * @Author: hujieh + * @PageInfo: 物料编辑后事件功能(单据处理辅助属性相关) + * @Date: 2018-08-14 19:10:07 + * @Last Modified by: hujieh + * @Last Modified time: 2018-10-23 20:58:19 + */ +import { ajax, base, toast } from 'nc-lightapp-front'; +import { stringify } from 'querystring'; + +/** + * 物料辅助属性编辑前处理,如果是参照类型,添加过滤控制 + * @param {*} props + * @param {*} appcode 小应用编码,可以为空 + * @param {*} pagecode 页面编码 + * @param {*} areacode 辅助属性所在的区域编码 + * @param {*} key 触发事件的字段编码 + * @param {*} record 行数据 + */ +function resetItem(props, appcode, pagecode, areacode, key, record, configName, pk_org_field) { + let meta = props.meta.getMeta(); + let item = meta[areacode].items.find((item) => item.attrcode == key); + if (item.itemtype == 'refer') { + item.queryCondition = (params) => { + let queryCondition = {}; + //queryCondition = { + // ...(typeof queryCondition === 'function' + // ? queryCondition(params) + // : typeof queryCondition === 'object' ? queryCondition : {}) + //}; + let reftype_key = 'TreeRefActionExt'; + if (params.refType == 'grid' || params.refType == 'gridTree') { + reftype_key = 'GridRefActionExt'; + } + if (pk_org_field && record.values[pk_org_field]) { + queryCondition.pk_org = record.values[pk_org_field].value; + } + else if (record.values['pk_org']) { + queryCondition.pk_org = record.values['pk_org'].value; + } + queryCondition.appcode = appcode; + queryCondition.pagecode = pagecode; + queryCondition.areacode = areacode; + queryCondition.configName = configName; + queryCondition.data = JSON.stringify({ [areacode]: { areacode: areacode, rows: [record] } }); + queryCondition.defineField = key; + queryCondition[reftype_key] = 'nccloud.web.mmpub.pub.marasst.MarAsstDefaultRef'; + queryCondition['UsualGridRefActionExt'] = 'nccloud.web.mmpub.pub.marasst.MarAsstDefaultRef'; + return queryCondition; + }; + props.meta.setMeta(meta); + } +} + +/** + * 物料辅助属性编辑后处理,如果受控字段的值不在值域内,则清空 + * @param {*} props + * @param {*} appcode + * @param {*} pagecode + * @param {*} areacode + * @param {*} key + * @param {*} material_field + * @param {*} record + * @param {*} index + */ +function afterEdit(props, appcode, pagecode, areacode, key, material_field, record, index,configName) { + let data = { + appcode, + pagecode, + areacode, + configName, + controlField: key, + controlValue: (record.values[key] || {}).value, + materialvid: (record.values[material_field] || {}).value + }; + ajax({ + url: '/nccloud/mmpub/pub/marasstAfterEdit.do', + data: data, + mode: 'normal', + success: (res) => { + console.log(res, 'hj'); + if (res.data && res.data.data) { + for (let i in res.data.data) { + let values = res.data.data[i]; + if (!values || values.length == 0) { + props.cardTable.setValByKeyAndIndex(areacode, index, i, { + value: null, + display: null, + scale: -1 + }); + } else { + let value = (record.values[i] || {}).value; + if (!values.includes(value)) { + props.cardTable.setValByKeyAndIndex(areacode, index, i, { + value: null, + display: null, + scale: -1 + }); + } + } + } + } + } + }); +} + +export default { resetItem, afterEdit }; diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/batchEvent.js b/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/batchEvent.js new file mode 100644 index 0000000..d4901bb --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/batchEvent.js @@ -0,0 +1,196 @@ +import { ajax } from 'nc-lightapp-front'; +import { URL } from '../../../pickmconstance'; +import { simplifyData } from '../../../../../../mmpub/mmpub/pub/tool/simplifyDataUtil'; + +import { showSuccessInfo, showErrorInfo, showWarningInfo } from '../../../../../../mmpub/mmpub/pub/tool/messageUtil'; +import clocationBeforeEvent from '../../../utils/pickmClocationBeforEvent'; +let tableId = 'back_body'; +let formId = 'back_head'; +export default async function batchEvents(obj) { + if (!obj) { + return; + } + let areaCode = obj.areaCode; //区域编码 + let column = obj.column; //列信息 + let newValue = obj.newValue; //变更的行信息 + let queryValue = []; + let changedrows = obj.changedrows; //变更的信息,仅包含newValue和OldValue + let currentIndex = obj.currentIndex; //当前行 + let indexs = []; + let rows = []; + let attrcode = column.attrcode; //列code + let queryCondition; //统一过滤的过滤条件 + let isManyCondition = null; //是否多个过滤条件 + let pasteData = obj.pasteData; //粘贴的值 + let pageCode = '50080102_backdeliver'; + let editFields = [ + 'cdeliverorgid', 'cdeliverorgvid', 'coutstockid', 'csupplyorgid', 'csupplyorgvid', + 'cinstockid', 'vbatchcode', 'nbccknum', 'nbcckastnum', 'clocationid', + 'cbvendorid', 'cbproductorid', 'cbprojectid', 'cbcustomerid', 'cbqualitylevelid', 'cbffileid', + 'vbfree1', 'vbfree2', 'vbfree3', 'vbfree4', 'vbfree5', + 'vbfree6', 'vbfree7', 'vbfree8', 'vbfree9', 'vbfree10', + 'vbdef1', 'vbdef2', 'vbdef3', 'vbdef4', 'vbdef5', 'vbdef6', 'vbdef7', 'vbdef8', 'vbdef9', 'vbdef10', + 'vbdef11', 'vbdef12', 'vbdef13', 'vbdef14', 'vbdef15', 'vbdef16', 'vbdef17', 'vbdef18', 'vbdef19', 'vbdef20' + ]; + if (!editFields.includes(attrcode)) { + return false; + } + //计划出库数量 + if (attrcode == 'nbccknum' || attrcode == 'nbcckastnum') { + for (let i = 0; i < newValue.length; i++) { + queryValue.push(newValue[i]); + indexs[i] = currentIndex + i; + rows[i] = [i]; + + } + } + //发料组织 + else if (attrcode == 'cdeliverorgid' || attrcode == 'cdeliverorgvid') { + for (let i = 0; i < newValue.length; i++) { + //备料来源=备料的表体行的发料组织不允许编辑 + if (newValue[i].values.fitemsource && newValue[i].values.fitemsource.value && newValue[i].values.fitemsource.value == 0) { + continue; + } + newValue[i].values.coutstockid = { + value: null, + display: null + }; + newValue[i].values.clocationid = { + value: null, + display: null + }; + queryValue.push(newValue[i]); + indexs[i] = currentIndex + i; + rows[i] = [i]; + } + } + else if (attrcode == 'coutstockid') {//发料仓库 + for (let i = 0; i < newValue.length; i++) { + //如果发料组织没有值就不允许编辑 + if (!(newValue[i].values.cdeliverorgid && newValue[i].values.cdeliverorgid.value)) { + continue; + } + newValue[i].queryCondition = { + pk_org: newValue[i].values.cdeliverorgid.value, + // isWW: refWW, + GridRefActionExt: URL.stordocRefURL + }; + queryValue.push(newValue[i]); + indexs[i] = currentIndex + i; + rows[i] = [i]; + + } + isManyCondition = true; + } + //货位 + else if (attrcode == 'clocationid') { + for (let i = 0; i < newValue.length; i++) { + let stockid = newValue[i].values.coutstockid; + if (!(stockid && stockid.value)) { + continue; + } + let flag = await clocationBeforeEvent.call(this, props, null, attrcode, stockid.value); + if (!flag) { + continue; + } + newValue[i].queryCondition = { + pk_stordoc: stockid.value, + TreeRefActionExt: 'nccloud.web.mmpub.pub.ref.ClocationRefSqlBuilder' + }; + queryValue.push(newValue[i]); + indexs[i] = currentIndex + i; + rows[i] = [i]; + } + isManyCondition = true; + } + + else { + for (let i = 0; i < newValue.length; i++) { + if (!(newValue[i].values.cbmaterialvid && newValue[i].values.cbmaterialvid.value)) { + continue; + } + queryValue.push(newValue[i]); + indexs[i] = currentIndex + i; + rows[i] = [i]; + } + } + this.props.cardTable.updateAfterBatchChange({ + areaCode, + column, + indexs, + queryValue, + changedrows, + pasteData, + queryCondition, + isManyCondition + }) + .then((res) => { + let props = res.props; + changedrows = res.changedrows; + indexs = res.indexs; + + let userobject = { }; + let data = createGridCardTableAfterBatchData(props,pageCode,tableId,tableId,attrcode,changedrows,indexs,userobject); + + ajax({ + url: '/nccloud/mmpac/pickm/backDeliverAfterEdit.do', + data: data, + async: false, + success: (res) => { + if (res.formulamsg && res.formulamsg instanceof Array && res.formulamsg.length > 0) { + props.dealFormulamsg( + res.formulamsg, //参数一:返回的公式对象 + { + card_body: 'cardTable' + } + ); + } + if (res.success) { + if (res.data && res.data.grid['back_body']) { + let rows = res.data.grid['back_body'].rows; + let updateArray = []; + for (let j = 0; j < indexs.length; j++) { + let i = indexs[j]; + let row = rows[i]; + let obj = { index: i, data: row }; + updateArray.push(obj); + } + if (updateArray.length > 0) { + props.cardTable.updateDataByIndexs(areaCode, updateArray); + } + } + } + if(res.data.userObject&&res.data.userObject.batchMsg){ + showWarningInfo(null,res.data.userObject.batchMsg); + } + } + }); + }); +} + + + +function createGridCardTableAfterBatchData(props, pageCode, areaCode, moduleId, key, changedrows, indexs, userobject) { + let grid = { + templetid: props.meta.getMeta().pageid, + pageid: pageCode, + [pageCode]: { + areaType: 'table', + areacode: areaCode, + rows: props.cardTable.getAllRows(areaCode, false) + } + }; + // 减少上行流量 + grid[areaCode] = simplifyData(grid[areaCode]); + return { + attrcode: key, + changedrows: changedrows, + grid: grid, + index: 0, + indexs : indexs , + userobject: userobject + }; +} + + + diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/bodyafterEvent.js b/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/bodyafterEvent.js new file mode 100644 index 0000000..10fee70 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/bodyafterEvent.js @@ -0,0 +1,181 @@ +import { showWarningInfo } from '../../../../../../mmpub/mmpub/pub/tool/messageUtil'; +import { ajax, base, toast } from 'nc-lightapp-front'; +import { + createGridCardTableAfterEventData, + processGridCardTableEditResult +} from '../../../../../../mmpub/mmpub/pub/tool/afterEditUtil'; +import { bodyfixAssts, FIELD ,bodyCustAndSupFild} from '../../../pickmconstance'; +import { marAsstUtils } from '../../../../../../mmpub/mmpub/pub/tool'; +import { processBatchCodeValue } from '../../../utils/pickmBatchCodeUtil'; +import { getLangByResId } from '../../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; + +export default async function afterEvent(props, moduleId, key, value, changedrows, i, record) { + let afterEditFile = ['coutstockid', 'cinstockid', 'vbatchcode', 'nbccknum', 'nbcckastnum']; + if (changedrows && changedrows[0].newvalue.value == changedrows[0].oldvalue.value && key != 'vbatchcode') { + return; + } + if (key == 'vbatchcode') { + if (changedrows[0].newvalue.value && changedrows[0].newvalue.value.includes(',')) { + showWarningInfo(getLangByResId(this, '5008Pub-000023'));/* 国际化处理: 退料时批次号不支持多选!*/ + props.cardTable.setValByKeyAndIndex(moduleId, i, 'vbatchcode', { + value: changedrows[0].oldvalue.value, + display: changedrows[0].oldvalue.value + }); + return; + } + props.cardTable.setValByKeyAndIndex(moduleId, index, 'vbatchcode', { + value: null, + display: null, + scale: '-1' + }); + props.cardTable.setValByKeyAndIndex(moduleId, index, 'pk_batchcode', { + value: null, + display: null, + scale: '-1' + }); + } + //发料组织 + if (key == 'cdeliverorgid' || key == 'cdeliverorgvid') { + props.cardTable.setValByKeyAndIndex(moduleId, i, 'coutstockid', { + value: null, + display: null + }); + props.cardTable.setValByKeyAndIndex(moduleId, i, 'clocationid', { + value: null, + display: null + }); + props.cardTable.setValByKeyAndIndex(moduleId, i, 'vbatchcode', { + value: null, + display: null + }); + props.cardTable.setValByKeyAndIndex(moduleId, i, 'pk_batchcode', { + value: null, + display: null + }); + props.cardTable.setValByKeyAndIndex(moduleId, i, 'noutstocknum', { + value: null, + display: null + }); + let ninstocknum = props.cardTable.getValByKeyAndIndex(moduleId, i, 'ninstocknum'); + if (ninstocknum && ninstocknum.value) { + props.cardTable.setValByKeyAndIndex(moduleId, i, 'ntotalstocknum', { + value: ninstocknum.value, + display: ninstocknum.display + }); + } + else { + props.cardTable.setValByKeyAndIndex(moduleId, i, 'ntotalstocknum', { + value: null, + display: null + }); + } + } + //供应组织 + else if (key == 'csupplyorgid' || key == 'csupplyorgvid') { + props.cardTable.setValByKeyAndIndex(moduleId, i, 'cinstockid', { + value: null, + display: null + }); + props.cardTable.setValByKeyAndIndex(moduleId, i, 'clocationid', { + value: null, + display: null + }); + props.cardTable.setValByKeyAndIndex(moduleId, i, 'vbatchcode', { + value: null, + display: null + }); + props.cardTable.setValByKeyAndIndex(moduleId, i, 'pk_batchcode', { + value: null, + display: null + }); + props.cardTable.setValByKeyAndIndex(moduleId, i, 'ninstocknum', { + value: null, + display: null + }); + let noutstocknum = props.cardTable.getValByKeyAndIndex(moduleId, i, 'noutstocknum'); + if (noutstocknum && noutstocknum.value) { + props.cardTable.setValByKeyAndIndex(moduleId, i, 'ntotalstocknum', { + value: noutstocknum.value, + display: noutstocknum.display + }); + } + else { + props.cardTable.setValByKeyAndIndex(moduleId, i, 'ntotalstocknum', { + value: null, + display: null + }); + } + } + else if (key == 'nbccknum' || key == 'nbcckastnum') { + if (!changedrows[0].newvalue || !changedrows[0].newvalue.value) { + props.cardTable.setValByKeyAndIndex(moduleId, i, 'nbccknum', { + value: null, + display: null + }); + props.cardTable.setValByKeyAndIndex(moduleId, i, 'nbcckastnum', { + value: null, + display: null + }); + return; + } + + } + //需用工序 + else if (key == 'vpmoprocessno' || key == 'vdmoprocessno') { + if (!value) { + props.cardTable.setValByKeyAndIndex(moduleId, i, 'vprocessno', { + value: null, + display: null + }); + props.cardTable.setValByKeyAndIndex(moduleId, i, 'vprocesscode', { + value: null, + display: null + }); + return; + } + } + else if (bodyfixAssts.includes(key) || key.startsWith('vbfree')) { + let appcode = '50080102'; + if (props.getAppCode().startsWith('5009')) { + appcode = '50090102'; + } + marAsstUtils.afterEdit.call(this, props, appcode, '50080102_backdeliver', moduleId, key, FIELD.cbmaterialvid, record, i, 'mmpac.mm_pickm_b',bodyCustAndSupFild); + } + //编辑后处理 + // if (afterEditFile.includes(key)) { + let userobject = {}; + if (key == 'vbatchcode') { + userobject = processBatchCodeValue(props, moduleId, value, []); + } + let data = createGridCardTableAfterEventData( + props, + '50080102_backdeliver', + 'back_body', + moduleId, + key, + changedrows, + i, + userobject + ); + ajax({ + url: '/nccloud/mmpac/pickm/backDeliverAfterEdit.do', + data: data, + async: false, + success: (res) => { + if (res.formulamsg && res.formulamsg instanceof Array && res.formulamsg.length > 0) { + props.dealFormulamsg(res.formulamsg); + } + // if (res.data && res.data.body && res.data.body[moduleId]) { + // props.cardTable.setTableData(moduleId, res.data.body[moduleId]); + // } + processGridCardTableEditResult(props, moduleId, res.data, i); + //RownoUtils.setRowNo(props, moduleId, ATTRCODES.crowno); + + let tableData = props.cardTable.getAllData(moduleId, true); + let backData = props.backData; + backData.body = tableData; + this.props.setBackDeliverData(backData); + } + }); + //} +} diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/bodybeforeEvent.js b/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/bodybeforeEvent.js new file mode 100644 index 0000000..fc5c004 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/bodybeforeEvent.js @@ -0,0 +1,182 @@ + +import { isWWPickmTransType } from '../../../utils/pickmTransTypeUtil'; +import { URL, FIELD, bodyfixAssts,bodyCustAndSupFild } from '../../../pickmconstance'; +import clocationBeforeEvent from '../../../utils/pickmClocationBeforEvent'; +import vfreeBeforeEvent from '../../../utils/pickmVfreeBeforeEvent'; +import { marAsstUtils } from '../../../../../../mmpub/mmpub/pub/tool'; +import { processBatchCodeItem, batchcodeBeforeEvent } from '../../../utils/pickmBatchCodeUtil'; +let formId = 'back_head'; +let tableId = 'back_body'; +export default async function beforeEvent(props, moduleId, key, value, index, record) { + let meta = this.props.meta.getMeta(); + let editFields = [ + 'cdeliverorgid', 'cdeliverorgvid', 'coutstockid', 'csupplyorgid', 'csupplyorgvid', + 'cinstockid', 'vbatchcode', 'nbccknum', 'nbcckastnum', 'clocationid', + 'cbvendorid', 'cbvendorvid', 'cbproductorid', 'cbprojectid', 'cbcustomerid', 'cbcustomervid','cbqualitylevelid', 'cbffileid', + 'vbfree1', 'vbfree2', 'vbfree3', 'vbfree4', 'vbfree5', + 'vbfree6', 'vbfree7', 'vbfree8', 'vbfree9', 'vbfree10', + 'vbdef1', 'vbdef2', 'vbdef3', 'vbdef4', 'vbdef5', 'vbdef6', 'vbdef7', 'vbdef8', 'vbdef9', 'vbdef10', + 'vbdef11', 'vbdef12', 'vbdef13', 'vbdef14', 'vbdef15', 'vbdef16', 'vbdef17', 'vbdef18', 'vbdef19', 'vbdef20' + ]; + if (!editFields.includes(key)) { + return false; + } + let flag = true; + let isWW = false; + let cbusitype = props.form.getFormItemsValue(formId, 'vbusitypeid'); + if (cbusitype && cbusitype.value) { + //是否委外 + isWW = await isWWPickmTransType.call(this, props, cbusitype.value); + } + //供应组织 + if (key == 'csupplyorgid' || key == 'csupplyorgvid') { + if (!isWW) { + return false; + } + let item = meta[moduleId].items.find((item) => item.attrcode == key); + let pk_org = this.props.form.getFormItemsValue(formId, 'pk_org').value; + let cmaterialvid = props.cardTable.getValByKeyAndIndex(tableId, index, 'cbmaterialvid').value; + item.queryCondition = () => { + return { + orgtype: item.attrcode == 'csupplyorgid' ? 'pk_org' : 'pk_org_v', + pk_org: pk_org, + cmaterialvid: cmaterialvid, + GridRefActionExt: URL.relationOrgRefURL + }; + } + } + //供应仓库 + else if (key == 'cinstockid') { + if (!isWW) { + return false; + } + let item = meta[moduleId].items.find((item) => item.attrcode == key); + let pk_org = props.cardTable.getValByKeyAndIndex(tableId, index, 'csupplyorgid').value; + item.queryCondition = () => { + return { + pk_org: pk_org, + isWW: false, + GridRefActionExt: URL.stordocRefURL + }; + } + } + //发料组织 + else if (key == 'cdeliverorgid' || key == 'cdeliverorgvid') { + if (isWW) { + return false; + } + let fitemsource = props.cardTable.getValByKeyAndIndex(tableId, index, 'fitemsource'); + //备料来源=备料的表体行的发料组织不允许编辑 + if (fitemsource && fitemsource.value && fitemsource.value == 0) { + return false; + } + let item = meta[moduleId].items.find((item) => item.attrcode == key); + let pk_org = this.props.form.getFormItemsValue(formId, 'pk_org').value; + let cmaterialvid = props.cardTable.getValByKeyAndIndex(tableId, index, 'cbmaterialvid').value; + item.queryCondition = () => { + return { + orgtype: item.attrcode == 'cdeliverorgid' ? 'pk_org' : 'pk_org_v', + pk_org: pk_org, + cmaterialvid: cmaterialvid, + GridRefActionExt: URL.relationOrgRefURL + }; + } + } + //发料仓库 + else if (key == 'coutstockid') { + if (isWW) { + return false; + } + let item = meta[moduleId].items.find((item) => item.attrcode == key); + let pk_org = props.cardTable.getValByKeyAndIndex(tableId, index, 'cdeliverorgid').value; + item.queryCondition = () => { + return { + pk_org: pk_org, + isWW: isWW, + GridRefActionExt: URL.stordocRefURL + }; + } + } + //货位 + else if (key == 'clocationid') { + let stockid = props.cardTable.getValByKeyAndIndex(tableId, index, 'coutstockid'); + //委外类型 + if (isWW) { + stockid = props.cardTable.getValByKeyAndIndex(tableId, index, 'cinstockid'); + } + if (!stockid || !stockid.value) { + return false; + } + flag = await clocationBeforeEvent.call(this, props, moduleId, key, stockid.value); + if (!flag) { + return flag; + } + let item = meta[moduleId].items.find((item) => item.attrcode == key); + item.queryCondition = () => { + return { + pk_stordoc: stockid.value, + TreeRefActionExt: 'nccloud.web.mmpub.pub.ref.ClocationRefSqlBuilder' + }; + } + } + //批次号 + else if (key == 'vbatchcode') { + let pk_org = props.form.getFormItemsValue(formId, 'pk_org'); + let materialvid = props.cardTable.getValByKeyAndIndex(tableId, index, 'cbmaterialvid'); + if (!materialvid || !materialvid.value) { + return false; + } + else { + flag = await batchcodeBeforeEvent.call(this, props, moduleId, key, pk_org.value, materialvid.value); + } + if (!flag) { + return false; + } //当批次号可编辑时,处理批次号参照弹出框里的数据 + processBatchCodeItem.call(this, props, moduleId, key, record, '55A3'); + + } + else if (key.startsWith('vbfree')) { + //辅助属性 + let pk_org = this.props.form.getFormItemsValue(formId, FIELD.pk_org).value; + let materialvid = props.cardTable.getValByKeyAndIndex(tableId, index, FIELD.cbmaterialvid); + if (!materialvid || !materialvid.value) { + return false; + } + let constance = {}; + constance.key = key; + constance.params = { + key: key, + pk_org: pk_org, + cmaterialvid: materialvid.value, + prefix: 'vbfree' + }; + flag = await vfreeBeforeEvent(this.props, constance); + if (flag) { + let appcode = '50080102'; + if (props.getAppCode().startsWith('5009')) { + appcode = '50090102'; + } + marAsstUtils.resetItem.call(this, props, appcode, '50080102_backdeliver', moduleId, key, record, 'mmpac.mm_pickm_b','pk_org',bodyCustAndSupFild); + } + }else if (bodyfixAssts.includes(key)) { + let bmvid = props.cardTable.getValByKeyAndIndex(tableId, index, FIELD.cbmaterialvid); + if (bmvid && bmvid.value) { + let appcode = '50080102'; + if (props.getAppCode().startsWith('5009')) { + appcode = '50090102'; + } + marAsstUtils.resetItem.call(this, props, appcode, '50080102_backdeliver', moduleId, key, record, 'mmpac.mm_pickm_b','pk_org',bodyCustAndSupFild); + } + flag = true; + }else{ + let item = meta[moduleId].items.find((item) => item.attrcode == key); + let pk_org = props.cardTable.getValByKeyAndIndex(moduleId, index, 'pk_org').value; + item.queryCondition = () => { + return { + pk_org: pk_org + }; + } + } + this.props.meta.setMeta(meta); + return flag; +} diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/index.js b/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/index.js new file mode 100644 index 0000000..a3bd79b --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/card/events/index.js @@ -0,0 +1,4 @@ +import bodyafterEvent from './bodyafterEvent'; +import bodybeforeEvent from './bodybeforeEvent'; +import batchEvent from './batchEvent'; +export { bodyafterEvent, bodybeforeEvent,batchEvent }; diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/card/index.js b/src/mmpac/mmpac/pub/pickmbackdeliver/card/index.js new file mode 100644 index 0000000..f5bce50 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/card/index.js @@ -0,0 +1,94 @@ +import { createPage, base, ajax, high } from 'nc-lightapp-front'; +import React, { Component } from 'react'; +import { initLang, getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; +import { initTemplate } from './init'; +import { bodybeforeEvent, bodyafterEvent ,batchEvent } from './events'; +import './index.less'; +let { NCButton: Button, NCModal: Modal } = base; +class PickmBackDeliverDLG extends Component { + constructor(props) { + super(props); + this.BodyContent = null; + props.use.form('back_head'); + props.use.cardTable('back_body'); + this.state = { + show: false // 操作列弹窗的显示 + }; + initLang(this, ['5008Pub'], 'mmpac', initTemplate.bind(this, this.props)); + } + componentDidMount() { + //this.initData(); + } + //请求列表数据 + initData = () => { + let showdata = this.props.backData; + if (showdata.head && showdata.body&& showdata.body.rows) { + this.props.form.setAllFormValue({ ['back_head']: showdata.head }); + this.props.cardTable.setTableData('back_body',showdata.body); + } + else { + this.props.form.EmptyAllFormValue('back_head'); + this.props.cardTable.setTableData('back_body', { rows: [] }); + } + this.props.setBackDeliverProps(this.props); + }; + clickSerialnoBtn = () => { + this.props.clickSerialnoBtn(); + + } + getTableHead = (buttons) => { + return ( +
+ {/* 国际化处理: 序列号*/} +
+ ); + }; + render() { + let { show, form, cardTable, editTable } = this.props; + let { createForm } = form; + let { createCardTable } = cardTable; + let title = getLangByResId(this, '5008Pub-000018');/* 国际化处理: 退料*/ + let size = 'normal-size'; + return ( +
+
+ {createForm('back_head', { + })} +
+
+ {/* {this.getTableHead(buttons)} */} + {createCardTable('back_body', { + tableHead: this.getTableHead.bind(this), + //tableHeadLeft: this.getTableHeadLeft, + onAfterEvent: bodyafterEvent.bind(this), + showCheck: false, + hideAdd: false, + showIndex: true, + maxZIndex: 290, + adaptionHeight: true, + showToggleAngle: false, + hideSwitch: () => { return false }, + //hideModelSave: true, + //onSelected: this.delLineDis.bind(this), + //onSelectedAll: this.delLineDis.bind(this), + onBeforeEvent: bodybeforeEvent.bind(this), + onBatchChange : batchEvent.bind(this), + scrollContainer: () => document.querySelector('.base-modal-body') + })} +
+
+ ); + } +} +PickmBackDeliverDLG = createPage({ + billinfo: { + billtype: 'card', + pagecode: '50080102_backdeliver', + headcode: 'back_head', + bodycode: 'back_body' + }, + //initTemplate: initTemplate + orderOfHotKey:['back_body'] +})(PickmBackDeliverDLG); + +export default PickmBackDeliverDLG; diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/card/index.less b/src/mmpac/mmpac/pub/pickmbackdeliver/card/index.less new file mode 100644 index 0000000..a6e4b93 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/card/index.less @@ -0,0 +1,8 @@ +.pickmback-nc-bill-card { + background-color: white; + background-color: var(--pui-black-derived-color-11, white); +} +.pickmback-nc-bill-card .pickmback-nc-bill-bottom-area { + background: white; + background: var(--pui-black-derived-color-11, white); +} diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/card/init/index.js b/src/mmpac/mmpac/pub/pickmbackdeliver/card/init/index.js new file mode 100644 index 0000000..54195f4 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/card/init/index.js @@ -0,0 +1,2 @@ +import initTemplate from './initTemplate'; +export { initTemplate }; diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/card/init/initTemplate.js b/src/mmpac/mmpac/pub/pickmbackdeliver/card/init/initTemplate.js new file mode 100644 index 0000000..97ee9fe --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/card/init/initTemplate.js @@ -0,0 +1,29 @@ +import { ajax } from 'nc-lightapp-front'; +import { columnSortUtils } from '../../../../../../mmpub/mmpub/pub/tool/columnSortUtils'; +export default function (props) { + let appcode = props.getAppCode(); + if (props.getAppCode().startsWith('5009')) { + appcode = '50090102'; + } + else if (props.getAppCode().startsWith('5008')) { + appcode = '50080102'; + } + let dlgcode = '50080102_backdeliver'; + let TABLE_ID = 'back_body'; + //请求模板数据 + props.createUIDom( + { + appcode: appcode, + pagecode: dlgcode //卡片页面编码 + }, + (templedata) => { + if (templedata.template) { + let meta = templedata.template; + // 行号排序处理 + columnSortUtils.numberSort(meta, TABLE_ID, 'vrowno');// 行号排序处理 + props.meta.setMeta(meta); + this.initData(); + props.cardTable.setStatus(TABLE_ID, 'edit'); + } + }); +} diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/config.json b/src/mmpac/mmpac/pub/pickmbackdeliver/config.json new file mode 100644 index 0000000..db3b8cd --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/config.json @@ -0,0 +1,3 @@ +{ + "hash": false +} diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/index.js b/src/mmpac/mmpac/pub/pickmbackdeliver/index.js new file mode 100644 index 0000000..6b93328 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/index.js @@ -0,0 +1,3 @@ +import PickmBackDeliverDLG from './card'; +import {pickmBackDeliver} from './btnClicks/pickmBackDeliver'; +export {PickmBackDeliverDLG,pickmBackDeliver}; \ No newline at end of file diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/bodyAfterEvent.js b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/bodyAfterEvent.js new file mode 100644 index 0000000..39099bf --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/bodyAfterEvent.js @@ -0,0 +1,86 @@ +import { showWarningInfo } from '../../../../../../mmpub/mmpub/pub/tool/messageUtil'; +import { ajax, base, toast } from 'nc-lightapp-front'; +import { + createGridCardTableAfterEventData, + processGridCardTableEditResult +} from '../../../../../../mmpub/mmpub/pub/tool/afterEditUtil'; +const TABLE_HEAD = 'serialno_head'; +const TABLE_BODY = 'serialno_body'; +export default async function bodyAfterEvent(props, moduleId, key, value, changedrows, i) { + if (changedrows &&changedrows.length==1&& changedrows[0].newvalue.value == changedrows[0].oldvalue.value) { + return; + } + let meta = this.props.meta.getMeta(); + let itemFields = [ + 'nserialnum', + 'nserialastnum', + 'itemunitid', + 'itemastunitid' + ]; + if (key === 'vcode') { + if (value.length == 0 || !value.values) { + meta[TABLE_BODY].items.forEach((item) => { + if (!itemFields.includes(item.attrcode)) { + props.cardTable.setValByKeyAndIndex(moduleId, i, item.attrcode, { + value: null, + display: null + }); + } + }); + return; + } + let num = this.props.cardTable.getValByKeyAndIndex(TABLE_BODY, 0, 'nserialnum'); + let nastnum = this.props.cardTable.getValByKeyAndIndex(TABLE_BODY, 0, 'nserialastnum'); + let unit = this.props.cardTable.getValByKeyAndIndex(TABLE_BODY, 0, 'itemunitid'); + let astunit = this.props.cardTable.getValByKeyAndIndex(TABLE_BODY, 0, 'itemastunitid'); + let headindex=0; + let head=this.props.editTable.getClickRowIndex('serialno_head'); + if (head&&head.index) { + headindex = head.index; + } + let cpickmbid = props.editTable.getValByKeyAndIndex('serialno_head', headindex, 'cpickm_bid'); + let userobject = { + cpickmbid:cpickmbid.value, + nserialnum:num.value, + nserialastnum:nastnum.value, + itemunitid:unit.value, + itemastunitid:astunit.value + }; + let data = createGridCardTableAfterEventData( + props, + '50080102_serialno', + TABLE_BODY, + moduleId, + key, + changedrows, + i, + userobject + ); + ajax({ + url: '/nccloud/mmpac/pickm/backSerialnoAfterEdit.do', + data: data, + async: false, + success: (res) => { + if (res.formulamsg && res.formulamsg instanceof Array && res.formulamsg.length > 0) { + props.dealFormulamsg(res.formulamsg); + } + // if (res.data && res.data.body && res.data.body[STOREREQ_CARD.tableId]) { + // props.cardTable.setTableData(STOREREQ_CARD.tableId, res.data.body[STOREREQ_CARD.tableId]); + // } + //props.editTable.updateTableData(moduleId,res.data.grid[moduleId]); + processGridCardTableEditResult(props, moduleId, res.data, i); + //RownoUtils.setRowNo(props, STOREREQ_CARD.tableId, ATTRCODES.crowno); + let tableData=props.cardTable.getAllData(moduleId, true); + let bodys=[]; + tableData.rows.forEach((row) => { + if(row.values.vcode&&row.values.vcode.value){ + bodys.push(row); + } + }); + + props.serialnoData[cpickmbid.value]=bodys; + } + }); + + } +} diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/bodyBeforeEvent.js b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/bodyBeforeEvent.js new file mode 100644 index 0000000..50d8912 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/bodyBeforeEvent.js @@ -0,0 +1,26 @@ + + +export default async function bodyBeforeEvent(props, moduleId, key, value, index, record) { + + let meta = this.props.meta.getMeta(); + if (key == 'vcode') { + let item = meta[moduleId].items.find((item) => item.attrcode == key); + item.isMultiSelectedEnabled = true; + let headindex = 0; + let head = this.props.editTable.getClickRowIndex('serialno_head'); + if (head && head.index) { + headindex = head.index; + } + let cpickmbid = props.editTable.getValByKeyAndIndex('serialno_head', headindex, 'cpickm_bid'); + item.queryCondition = () => { + return { + cpickmbid: cpickmbid.value + }; + } + this.props.meta.setMeta(meta); + return true; + } + else { + return false; + } +} diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/index.js b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/index.js new file mode 100644 index 0000000..befdab2 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/events/index.js @@ -0,0 +1,3 @@ +import bodyAfterEvent from './bodyAfterEvent'; +import bodyBeforeEvent from './bodyBeforeEvent'; +export {bodyAfterEvent, bodyBeforeEvent }; diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/index.js b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/index.js new file mode 100644 index 0000000..b96e922 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/index.js @@ -0,0 +1,107 @@ +import React, { Component } from 'react'; +import ReactDOM from 'react-dom'; +import { createPage, ajax, base, high } from 'nc-lightapp-front'; +const { Refer } = high; +import { initTemplate } from './init'; +import { serialnoAddLineBtn } from '../btnClicks/pickmBackSerialnoAddLineClick'; +import { initLang, getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; +import { bodyBeforeEvent, bodyAfterEvent } from './events' +const { NCModal } = base; +const TABLE_HEAD = 'serialno_head'; +const TABLE_BODY = 'serialno_body'; +let { NCButton: Button, NCModal: Modal } = base; +class PickmBackSerialnoDlg extends Component { + constructor(props) { + super(props); + props.use.editTable(TABLE_HEAD); + props.use.cardTable(TABLE_BODY); + this.state = { + + }; + initLang(this, ['5008Pub'], 'mmpac', initTemplate.bind(this, this.props)); + } + + componentDidMount() { + // this.initData(); + } + //请求列表数据 + initData = () => { + let headData = this.props.headData; + this.props.editTable.setTableData(TABLE_HEAD, headData[TABLE_HEAD]); + if (this.props.serialnoData) { + let cpickmbid = this.props.editTable.getValByKeyAndIndex(TABLE_HEAD, 0, 'cpickm_bid').value; + let bodys = this.props.serialnoData[cpickmbid] ? { rows: this.props.serialnoData[cpickmbid] } : { rows: [] }; + this.props.cardTable.setTableData(TABLE_BODY, bodys); + } + }; + onRowClick = (props, moduleId, record, index, e) => { + let bodys = { rows: [] }; + if (this.props.serialnoData) { + let cpickmbid = this.props.editTable.getValByKeyAndIndex(TABLE_HEAD, index, 'cpickm_bid').value; + if (this.props.serialnoData[cpickmbid]) { + bodys.rows = this.props.serialnoData[cpickmbid]; + } + } + this.props.cardTable.setTableData(TABLE_BODY, bodys); + } + onRowDoubleClick = (record, index, props, e) => { + let bodys = { rows: [] }; + if (this.props.serialnoData) { + let cpickmbid = this.props.editTable.getValByKeyAndIndex(TABLE_HEAD, index, 'cpickm_bid').value; + if (this.props.serialnoData[cpickmbid]) { + bodys.rows = this.props.serialnoData[cpickmbid]; + } + } + this.props.cardTable.setTableData(TABLE_BODY, bodys); + } + getTableHead = (buttons) => { + return ( +
+
+ ); + }; + render() { + let { cardTable, editTable } = this.props; + let { createCardTable } = cardTable; + let { createEditTable } = editTable; + + return
+
+ {createEditTable(TABLE_HEAD, { + showIndex: true, + height: 150, + onRowClick: this.onRowClick.bind(this), + onRowDoubleClick: this.onRowDoubleClick.bind(this), + //onAfterEvent: headAfterEvent.bind(this), + //onBeforeEvent: headBeforeEvent.bind(this), + adaptionHeight: false, + isAddRow: false, + showCheck: false + })}
+
+ {/* {this.getTableHead(buttons)} */} + {createCardTable(TABLE_BODY, { + tableHead: this.getTableHead.bind(this), + //tableHeadLeft: this.getTableHeadLeft, + onBeforeEvent: bodyBeforeEvent.bind(this), + onAfterEvent: bodyAfterEvent.bind(this), + showCheck: false, + hideAdd: false, + showIndex: true, + adaptionHeight: true, + hideSwitch: () => { return false } + })} +
+
; + } +} + +PickmBackSerialnoDlg = createPage({ + billinfo: { + billtype: 'grid', + pagecode: '50080102_serialno', + bodycode: 'serialno_body' + } +})(PickmBackSerialnoDlg); + +export default PickmBackSerialnoDlg; diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/init/index.js b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/init/index.js new file mode 100644 index 0000000..54195f4 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/init/index.js @@ -0,0 +1,2 @@ +import initTemplate from './initTemplate'; +export { initTemplate }; diff --git a/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/init/initTemplate.js b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/init/initTemplate.js new file mode 100644 index 0000000..ff6bdf2 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmbackdeliver/serialno/init/initTemplate.js @@ -0,0 +1,96 @@ +import { ajax, base } from 'nc-lightapp-front'; +import { getLangByResId } from '../../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; + +let { NCButton: Button, NCModal: Modal, NCPopconfirm } = base; +const TABLE_HEAD = 'serialno_head'; +const TABLE_BODY = 'serialno_body'; + +export default function (props) { + let appcode = props.getAppCode(); + if (props.getAppCode().startsWith('50090108')) { + appcode = '50090108'; + }else if (props.getAppCode().startsWith('50080108')) { + appcode = '50080108'; + }else if (props.getAppCode().startsWith('5009')) { + appcode = '50090102'; + }else if (props.getAppCode().startsWith('5008')) { + appcode = '50080102'; + } else if (props.sourceType && props.sourceType.startsWith('50090102')) { + appcode = '50090102'; + } else if (props.sourceType && props.sourceType.startsWith('50080102')) { + appcode = '50080102'; + } else if (props.sourceType && props.sourceType.startsWith('50090108')) { + appcode = '50090102'; + } else if (props.sourceType && props.sourceType.startsWith('50080108')) { + appcode = '50080102'; + } + + + let dlgcode = '50080102_serialno'; + if(appcode == '50080108' || appcode == '50090108'){ + dlgcode = '50080108_serialno'; + } + + + + //请求模板数据 + props.createUIDom( + { + appcode: appcode, + pagecode: dlgcode //卡片页面编码 + }, + (templedata) => { + if (templedata.template) { + let meta = templedata.template; + + meta[TABLE_BODY].items.forEach((item) => { + if (item.attrcode == 'vcode') { + props.cardTable.setColEditableByKey(TABLE_BODY, 'vcode', false); + // 序列号过滤 + item.itemtype = 'refer'; + item.refcode = 'mmpac/refer/PickmSerialNoRef/SerialNoRef/index.js'; + item.isMultiSelectedEnabled = true; + } + else { + props.cardTable.setColEditableByKey(TABLE_BODY, item.attrcode, true); + } + }); + let bporCol = { + label: getLangByResId(this, '5008Pub-000015'),/* 国际化处理: 操作*/ + attrcode: 'cust_opr', + className: 'table-opr', + itemtype: 'customer', //默认必输 + fixed: 'right', //锁定操作列 + visible: true, + width: '100px', + render: (text, record, index) => { + return ( {getLangByResId(this, '5008Pub-000025')}{/* 国际化处理: 删行*/} + ) + } + }; + meta[TABLE_BODY].items.push(bporCol); + props.meta.setMeta(meta); + this.initData(); + props.cardTable.setStatus(TABLE_BODY, 'edit'); + } + }); +} + +function bodyDeleteLineBtnClick(props, record, index) { + props.cardTable.delRowsByIndex(TABLE_BODY, index); + let tableData = props.cardTable.getAllData(TABLE_BODY); + let bodys = []; + tableData.rows.forEach((row) => { + if (row.values.vcode && row.values.vcode.value) { + bodys.push(row); + } + }); + let headindex = 0; + let head = props.editTable.getClickRowIndex(TABLE_HEAD); + if (head && head.index) { + headindex = head.index; + } + let cpickmbid = props.editTable.getValByKeyAndIndex(TABLE_HEAD, headindex, 'cpickm_bid'); + props.serialnoData[cpickmbid.value] = bodys; +} diff --git a/src/mmpac/mmpac/pub/pickmtakeover/btnClicks/pickmTakeOver.js b/src/mmpac/mmpac/pub/pickmtakeover/btnClicks/pickmTakeOver.js new file mode 100644 index 0000000..cbcf16e --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmtakeover/btnClicks/pickmTakeOver.js @@ -0,0 +1,37 @@ +import { ajax, toast } from 'nc-lightapp-front'; +import { URL } from '../../pickmconstance'; +import PickmTakeOverDlg from '../list'; +import pickmTakeOverOKBtnClicks from './pickmTakeOverOKBtnClicks'; +import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; + +export function pickmTakeOver(props, data,pageid,callback) { + debugger; + this.isUnTakeOver = data.isUnTakeOver; + this.pageid=pageid; + this.takeoverData = ''; + let setTakeOverData = (val) => { + this.takeoverData = val; + }; + ajax({ + url: URL.takeoverQueryURL, + data: data, + success: res => { + if (res.success && res.data) { + props.modal.show('TakeOverDlg', { + size: 'xlg', + title: data.isUnTakeOver == true ? getLangByResId(this, '5008Pub-000037') : getLangByResId(this, '5008Pub-000038'),/* 国际化处理: 取消接收,接收*/ + content:, + userControl :true, + leftBtnName: data.isUnTakeOver == true ? getLangByResId(this, '5008Pub-000037') : getLangByResId(this, '5008Pub-000038'),/* 国际化处理: 取消接收,接收*/ + rightBtnName: getLangByResId(this, '5008Pub-000002'),/* 国际化处理: 取消*/ + beSureBtnClick: pickmTakeOverOKBtnClicks.bind(this,props,data.isUnTakeOver,data.pickmbid,callback), + cancelBtnClick: () => { + props.modal.close('TakeOverDlg'); + }, + hideRightBtn: false, //隐藏足部右边的按钮,默认是false不隐藏,隐藏是true + hideLeftBtn: false //隐藏足部左边的按钮,默认是false不隐藏,隐藏是true + }); + } + } + }); +} diff --git a/src/mmpac/mmpac/pub/pickmtakeover/btnClicks/pickmTakeOverOKBtnClicks.js b/src/mmpac/mmpac/pub/pickmtakeover/btnClicks/pickmTakeOverOKBtnClicks.js new file mode 100644 index 0000000..a1b2059 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmtakeover/btnClicks/pickmTakeOverOKBtnClicks.js @@ -0,0 +1,55 @@ +import { showWarningInfo, showSuccessInfo } from '../../../../../mmpub/mmpub/pub/tool/messageUtil'; +import { ajax, toast } from 'nc-lightapp-front'; +import { URL, AREA, FIELD, PickmCache } from '../../pickmconstance'; +import { getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; +export default function clickOKBtn(props, isUnTakeOver, cpickmbid,callback) { + + let items = []; + let item; + let itemfeild = isUnTakeOver ? ['chandtakebid', 'ts'] : ['chandtakebid', 'ts', 'crcvwhid', 'nrcvastnum', 'nrcvnum']; + let errInfo=''; + if (!this.takeoverData || this.takeoverData.length < 1) { + showWarningInfo(isUnTakeOver ? getLangByResId(this, '5008Pub-000039') : getLangByResId(this, '5008Pub-000040'));/* 国际化处理: 请选择需要取消接收的数据!,请选择需要接收的数据!*/ + return; + } + + this.takeoverData.forEach((row) => { + if (!row.data.values.nrcvnum || row.data.values.nrcvnum.value <= 0 || !row.data.values.nrcvastnum || row.data.values.nrcvastnum.value <= 0) { + errInfo = errInfo + getLangByResId(this, '5008Pub-000041') + (row.index + 1) + getLangByResId(this, '5008Pub-000042')/* 国际化处理: 第,行接收数量必须大于0!*/ + } + else if (!row.data.values.crcvwhid || !row.data.values.crcvwhid.value) { + errInfo = errInfo + getLangByResId(this, '5008Pub-000041') + (row.index + 1) + getLangByResId(this, '5008Pub-000043')/* 国际化处理: 第,行移交仓库不能为空!*/ + } + item = {}; + itemfeild.forEach((feild) => { + item[feild] = row.data.values[feild] ? row.data.values[feild].value : null; + }); + items.push(item); + }); + if (errInfo) { + showWarningInfo(errInfo); + return; + } + + let data = { + pickmbid: cpickmbid, + takeOverData: items, + isUnTakeOver: isUnTakeOver, + pageid: this.pageid, + } + ajax({ + url: URL.takeoverURL, + data: data, + success: res => { + debugger; + if (res.success) { + if(callback){ + callback.call(this,res); + } + props.modal.close('TakeOverDlg'); + showSuccessInfo(isUnTakeOver ?getLangByResId(this, '5008Pub-000044'):getLangByResId(this, '5008Pub-000045'));/* 国际化处理: 取消接收成功,接收成功*/ + } + } + }); + +} diff --git a/src/mmpac/mmpac/pub/pickmtakeover/config.json b/src/mmpac/mmpac/pub/pickmtakeover/config.json new file mode 100644 index 0000000..db3b8cd --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmtakeover/config.json @@ -0,0 +1,3 @@ +{ + "hash": false +} diff --git a/src/mmpac/mmpac/pub/pickmtakeover/index.js b/src/mmpac/mmpac/pub/pickmtakeover/index.js new file mode 100644 index 0000000..27b5693 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmtakeover/index.js @@ -0,0 +1,3 @@ +import PickmTakeOverDlg from './list'; +import {pickmTakeOver} from './btnClicks/pickmTakeOver' +export {PickmTakeOverDlg,pickmTakeOver} \ No newline at end of file diff --git a/src/mmpac/mmpac/pub/pickmtakeover/list/events/afterEvent.js b/src/mmpac/mmpac/pub/pickmtakeover/list/events/afterEvent.js new file mode 100644 index 0000000..39cf887 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmtakeover/list/events/afterEvent.js @@ -0,0 +1,64 @@ +import { showWarningInfo } from '../../../../../../mmpub/mmpub/pub/tool/messageUtil'; +import { ajax, base, toast } from 'nc-lightapp-front'; +import { + createGridAfterEventData, + processGridEditResult +} from '../../../../../../mmpub/mmpub/pub/tool/afterEditUtil'; +import { getLangByResId } from '../../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; + +export default async function afterEvent(props, moduleId, key, value, changedrows, i) { + if (changedrows && changedrows[0].newvalue.value == changedrows[0].oldvalue.value) { + return; + } + if (key == 'nrcvastnum') { + let astnum = props.editTable.getValByKeyAndIndex(moduleId, i, 'ncanrcvastnum'); + let ncanrcvastnum = astnum.value-0; + if (value < 0 || value > ncanrcvastnum) { + showWarningInfo(null, getLangByResId(this, '5008Pub-000046'));/* 国际化处理: 本次接收数量必须大于0,且不能大于可接收数量!!*/ + props.editTable.setValByKeyAndIndex(moduleId, i, 'nrcvastnum', { + value: changedrows[0].oldvalue.value, + display: changedrows[0].oldvalue.display + }); + return; + } + } + else if(key == 'nrcvnum'){ + let nnum = props.editTable.getValByKeyAndIndex(moduleId, i, 'ncanrcvnum'); + let ncanrcvnum = nnum.value-0; + if (value < 0 || value > ncanrcvnum) { + showWarningInfo(null, getLangByResId(this, '5008Pub-000046'));/* 国际化处理: 本次接收数量必须大于0,且不能大于可接收数量!!*/ + props.editTable.setValByKeyAndIndex(moduleId, i, 'nrcvnum', { + value: changedrows[0].oldvalue.value, + display: changedrows[0].oldvalue.display + }); + return; + } + } + if(key == 'nrcvastnum'||key == 'nrcvnum'){ + + let userobject={}; + let data=createGridAfterEventData( + props, + '50080102_takeover', + 'takeover', + moduleId, + key, + changedrows, + i, + userobject + ); + ajax({ + url: '/nccloud/mmpac/pickm/takeoverAfterEdit.do', + data: data, + async: false, + success: (res) => { + if (res.formulamsg && res.formulamsg instanceof Array && res.formulamsg.length > 0) { + props.dealFormulamsg(res.formulamsg); + } + processGridEditResult(props, moduleId, res.data, i); + } + }); + } + let tableData=this.props.editTable.getCheckedRows(moduleId); + this.props.setTakeOverData(tableData); +} diff --git a/src/mmpac/mmpac/pub/pickmtakeover/list/events/beforeEvent.js b/src/mmpac/mmpac/pub/pickmtakeover/list/events/beforeEvent.js new file mode 100644 index 0000000..5e66481 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmtakeover/list/events/beforeEvent.js @@ -0,0 +1,28 @@ + +export default function beforeEvent(props, moduleId, item, index, value, record) { + debugger; + let meta = this.props.meta.getMeta(); + let attrcode = item.attrcode; + let key = item.attrcode; + if (props.param.isUnTakeOver) { + return false; + } + + let editFields = ['nrcvastnum', 'nrcvnum', 'crcvwhid']; + if (!editFields.includes(key)) { + return false; + } + if (key == 'crcvwhid') { + let item = meta[moduleId].items.find((item) => item.attrcode == attrcode); + let pk_org = props.editTable.getValByKeyAndIndex(moduleId, index, 'pk_org').value; + item.queryCondition = () => { + return { + pk_org:pk_org, + isWW:false, + GridRefActionExt: 'nccloud.web.mmpac.pickm.util.StordocSqlBuilder' + }; + } + props.meta.setMeta(meta); + } + return true; +} diff --git a/src/mmpac/mmpac/pub/pickmtakeover/list/events/index.js b/src/mmpac/mmpac/pub/pickmtakeover/list/events/index.js new file mode 100644 index 0000000..61f0df7 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmtakeover/list/events/index.js @@ -0,0 +1,3 @@ +import afterEvent from './afterEvent'; +import beforeEvent from './beforeEvent'; +export { afterEvent, beforeEvent }; diff --git a/src/mmpac/mmpac/pub/pickmtakeover/list/index.js b/src/mmpac/mmpac/pub/pickmtakeover/list/index.js new file mode 100644 index 0000000..2129d3a --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmtakeover/list/index.js @@ -0,0 +1,62 @@ +import React, { Component } from 'react'; +import ReactDOM from 'react-dom'; +import { createPage, ajax, base, high } from 'nc-lightapp-front'; +let { NCButton: Button, NCModal: Modal } = base; +import { initLang, getLangByResId } from '../../../../../mmpub/mmpub/pub/tool/multiLangUtil'; +const { Refer } = high; +import { initTemplate } from './init'; +import { beforeEvent, afterEvent } from './events' +const { NCModal } = base; +const TABLE_ID = 'takeover'; +class PickmTakeOverDlg extends Component { + constructor(props) { + super(props); + props.use.editTable(TABLE_ID); + debugger; + this.state = { + + }; + initLang(this, ['5008Pub'], 'mmpac', () => { }); + } + + componentDidMount() { + this.initData(); + } + //请求列表数据 + initData = () => { + debugger; + let showdata = null; + if (this.props.billQueryPara == undefined || this.props.billQueryPara == null) { + showdata = { rows: [] }; + } else { + showdata = this.props.billQueryPara[TABLE_ID]; + } + this.props.editTable.setTableData(TABLE_ID, showdata); + }; + render() { + let { editTable } = this.props; + let { createEditTable } = editTable; + return
+ {createEditTable(TABLE_ID, { + showIndex: true, + onAfterEvent: afterEvent.bind(this), + onBeforeEvent: beforeEvent.bind(this), + isAddRow: false, + adaptionHeight: true, + showCheck: true, + selectedChange: () => { + let rows = this.props.editTable.getCheckedRows(TABLE_ID); + this.props.setTakeOverData(rows); + }, + + })} +
; + + } +} + +PickmTakeOverDlg = createPage({ + initTemplate: initTemplate +})(PickmTakeOverDlg); + +export default PickmTakeOverDlg; diff --git a/src/mmpac/mmpac/pub/pickmtakeover/list/init/index.js b/src/mmpac/mmpac/pub/pickmtakeover/list/init/index.js new file mode 100644 index 0000000..54195f4 --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmtakeover/list/init/index.js @@ -0,0 +1,2 @@ +import initTemplate from './initTemplate'; +export { initTemplate }; diff --git a/src/mmpac/mmpac/pub/pickmtakeover/list/init/initTemplate.js b/src/mmpac/mmpac/pub/pickmtakeover/list/init/initTemplate.js new file mode 100644 index 0000000..238f44e --- /dev/null +++ b/src/mmpac/mmpac/pub/pickmtakeover/list/init/initTemplate.js @@ -0,0 +1,35 @@ +import { ajax } from 'nc-lightapp-front'; + +const TABLE_ID = 'takeover'; + +export default function (props) { + let appcode = props.getAppCode(); + if (props.getAppCode().startsWith('5009')) { + appcode = '50090102'; + } + else if (props.getAppCode().startsWith('5008')) { + appcode = '50080102'; + } + let dlgcode = '50080102_takeover'; + //请求模板数据 + props.createUIDom( + { + appcode: appcode, + pagecode: dlgcode //卡片页面编码 + }, + (templedata) => { + if (templedata.template) { + let meta = templedata.template; + debugger; + props.meta.setMeta(meta); + if (props.param.isUnTakeOver) { + props.editTable.setStatus(TABLE_ID, 'browse'); + props.editTable.hideColByKey(TABLE_ID, 'ncanrcvastnum'); + props.editTable.hideColByKey(TABLE_ID, 'ncanrcvnum'); + } + else { + props.editTable.setStatus(TABLE_ID, 'edit'); + } + } + }); +} diff --git a/src/uapbd/refer/org/FactoryGridRef/index.js b/src/uapbd/refer/org/FactoryGridRef/index.js new file mode 100644 index 0000000..2ee3df4 --- /dev/null +++ b/src/uapbd/refer/org/FactoryGridRef/index.js @@ -0,0 +1,23 @@ +import { high } from 'nc-lightapp-front'; +import { conf as unitConf } from '../../../../uap/refer/riart/groupTreeRef/index'; +const { Refer } = high; +export var conf = { + multiLang: { + domainName: 'uapbd', + currentLocale: 'zh-CN', + moduleId: 'refer_uapbd', + }, + + refType: 'grid', + refName: 'refer-000218',/* 国际化处理: 工厂*/ + placeholder: 'refer-000218',/* 国际化处理: 工厂*/ + refCode: 'uapbd.refer.org.FactoryGridRef', + queryGridUrl: '/nccloud/uapbd/org/FactoryGridRef.do', + isMultiSelectedEnabled: false, + columnConfig: [{ name: ['refer-000002', 'refer-000003'], code: ['refcode', 'refname'] }],/* 国际化处理: 编码,名称*/ + unitProps: unitConf, + isShowUnit: false +}; +export default function (props = {}) { + return +}