到货检验单增加生成不合格审批单的按钮

This commit is contained in:
mzr 2024-10-17 12:46:25 +08:00
parent 8d1063e81c
commit 580a6c52ec
1 changed files with 350 additions and 291 deletions

View File

@ -194,7 +194,8 @@ const URLS = { // 请求路径
loadUrl: '/nccloud/pu/dhjyd/LoadDhjydMasterVOAction.do',
addUrl: '/nccloud/pu/dhjyd/AddDhjydMasterVOAction.do',
editUrl: '/nccloud/pu/dhjyd/EditDhjydMasterVOAction.do',
copyUrl: '/nccloud/pu/dhjyd/CopyDhjydMasterVOAction.do'
copyUrl: '/nccloud/pu/dhjyd/CopyDhjydMasterVOAction.do',
addUnPassUrl: '/nccloud/pu/dhjyd/ApproveDhjydMasterVOAction.do', // todo: 新增不合格审批单
};
const ACTIONS = { // 按钮编码
@ -225,6 +226,7 @@ const ACTIONS = { // 按钮编码
SAVE: 'Save', //保存
SAVEADD: 'SaveAdd', // 保存新增
COPY: 'Copy', // 复制
ADDUNPASS: 'addUnPass', // 生成不合格审批单
MORE: 'More' // 更多
}
@ -403,13 +405,13 @@ export class ApplicationPage extends Component{
}
/**
 * 初始化平台定义的单据模板
 * 触发时机执行loadNCCResource,加载完模板多语等初始化信息之后触发
 * 功能对加载完的模板进行个性化调整
 * 可实现举例功能:
 * 1.参照表单联动过滤, 参见[Demo1] 
 * 2.处理表格操作列,   参见[Demo2]
 */
* 初始化平台定义的单据模板
* 触发时机执行loadNCCResource,加载完模板多语等初始化信息之后触发
* 功能对加载完的模板进行个性化调整
* 可实现举例功能:
* 1.参照表单联动过滤, 参见[Demo1] 
* 2.处理表格操作列,   参见[Demo2]
*/
initMeta = (meta) => {
// 添加列表行操作列
meta['dhjydMasterList'].items.push({
@ -796,7 +798,8 @@ export class ApplicationPage extends Component{
selectedChange: this.onListSelectRowsChanged, // 选择框的选中行改变
onSelectedAll: this.onListSelectRowsChanged, // 点击全选框
onSelected: this.onListSelectRowsChanged // 点击选择框
} },
}
},
card: { // 卡片页面
form: { // 表单
area: 'dhjydMasterForm', // 区域编码
@ -1032,12 +1035,12 @@ export class ApplicationPage extends Component{
}
// 审批流渲染页面定义,审批详情&指派
const renderApproveInfo = () => {
let {approveDetail, approvalTrans} = this.state;
if (showmode != SHOWMODE_LIST && showmode != SHOWMODE_CARD) {
const renderApproveInfo = () => {
let { approveDetail, approvalTrans } = this.state;
if (showmode != SHOWMODE_LIST && showmode != SHOWMODE_CARD) {
return '';
}
return (
return (
<div>
<ApproveDetail {...approveDetail} />
{approvalTrans.display && <ApprovalTrans {...approvalTrans} />}
@ -1093,6 +1096,7 @@ export class ApplicationPage extends Component{
[ACTIONS.SAVEADD]: showmode == SHOWMODE_CARD && !isBrowse && !hasCheckedRow,
[ACTIONS.CANCEL]: showmode == SHOWMODE_CARD && !isBrowse,
[ACTIONS.COPY]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse,
[ACTIONS.ADDUNPASS]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse,
[ACTIONS.MORE]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse
// ,'ShowModal': (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse
}
@ -1107,6 +1111,7 @@ export class ApplicationPage extends Component{
[ACTIONS.SAVEADD]: hasCopiedRows,
[ACTIONS.CANCEL]: hasCopiedRows,
[ACTIONS.COPY]: !hasCheckedRow,
[ACTIONS.ADDUNPASS]: !hasCheckedRow,
[ACTIONS.MORE]: false
// ,'ShowModal': false
}
@ -1622,6 +1627,9 @@ export class ApplicationPage extends Component{
case ACTIONS.COPY: // 点击复制
this.onCopy();
break;
case ACTIONS.ADDUNPASS: // 点击生成不合格审批单
this.onAddUnPass();
break;
case ACTIONS.EXPORT: // 点击导出
this.onExport();
break;
@ -2184,6 +2192,57 @@ export class ApplicationPage extends Component{
});
}
/**
* 方法功能
* 点击不合格审批单按钮
*/
onAddUnPass = () => {
let { showmode: oldShowmode } = this.state;
// 获取选中行
let checkedDatas = this.getCheckedDatas();
// 获取选中行主键多行取第一条适配列表操作列优先从record中取值
let billId = checkedDatas[0].values[FIELDS.PRIMARYKEY].value;
// 设置页面模式为卡片编辑态
this.state.showmode = SHOWMODE_CARD;
this.state.editmode = EDITMODE_ADD;
// 设置标题栏返回按钮
this.state.head.initShowBackBtn = false;
this.setState(this.state, () => {
// 获取卡片区域编码
let areaInfo = this.getCardAreaCode();
// 设置卡片主表单为编辑态
this.updateCardStatus({ areaInfo, editmode: EDITMODE_ADD });
this.addUnPass({
billId,
areaInfo,
callback: ({ data, billCodeContext }) => {
data ? this.fillCardData({ data }) : this.clearCardData();
// 处理编码规则
this.handleCodeRule({ billCodeContext });
// 更新按钮状态
this.updateBtnStatus();
// 根据列表数据初始化卡片翻页器
oldShowmode == SHOWMODE_LIST && this.initCardPaginationWithAllpks();
}
});
});
}
addUnPass = ({ billId, areaInfo, callback = EMPTY_FN }) => {
ajax({
url: URLS.addUnPassUrl,
data: {
pk: billId, // 主键
pageCode: this.config.pagecode, // pagecode
...areaInfo // 区域编码
},
success: (res = {}) => {
let { data: { data, externalData: { billCodeContext } = {} } = {} } = res;
callback({ data, billCodeContext });
}
});
}
/**
* 方法功能