From 580a6c52eca804f4315c900a384f8beb09fd89a1 Mon Sep 17 00:00:00 2001
From: mzr <1562242162@qq.com>
Date: Thu, 17 Oct 2024 12:46:25 +0800
Subject: [PATCH] =?UTF-8?q?=E5=88=B0=E8=B4=A7=E6=A3=80=E9=AA=8C=E5=8D=95?=
=?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=94=9F=E6=88=90=E4=B8=8D=E5=90=88=E6=A0=BC?=
=?UTF-8?q?=E5=AE=A1=E6=89=B9=E5=8D=95=E7=9A=84=E6=8C=89=E9=92=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pu/dhjyd/dhjydmaster/main/index.js | 641 ++++++++++++++-----------
1 file changed, 350 insertions(+), 291 deletions(-)
diff --git a/src/pu/dhjyd/dhjydmaster/main/index.js b/src/pu/dhjyd/dhjydmaster/main/index.js
index 2a07ad0..4eb2ebc 100644
--- a/src/pu/dhjyd/dhjydmaster/main/index.js
+++ b/src/pu/dhjyd/dhjydmaster/main/index.js
@@ -166,12 +166,12 @@ import ReactDOM from 'react-dom';
//=============导入高阶组件区=============
//1导入高阶组件,公共部分
-import {createPage, base, ajax, high, toast, promptBox, deepClone, print, output} from 'nc-lightapp-front';
-const {PrintOutput, BillTrack} = high;
-const {NCDiv, NCAffix, NCTabs, NCScrollElement, NCTooltip, NCToggleViewBtn} = base;
+import { createPage, base, ajax, high, toast, promptBox, deepClone, print, output } from 'nc-lightapp-front';
+const { PrintOutput, BillTrack } = high;
+const { NCDiv, NCAffix, NCTabs, NCScrollElement, NCTooltip, NCToggleViewBtn } = base;
//2导入高阶组件, UIExtend的部分
-import {Utils} from './Utils';
-const EMPTY_FN = function(){}; //空函数
+import { Utils } from './Utils';
+const EMPTY_FN = function () { }; //空函数
import ExcelOutput from 'uap/common/components/ExcelOutput'; // 导出组件
import excelImportconfig from 'uap/common/components/excelImportconfig'; // 导入配置方法
@@ -187,14 +187,15 @@ import ApprovalTrans from 'uap/common/components/approvalTrans'; //指派组件
const URLS = { // 请求路径
printUrl: '/nccloud/pu/dhjyd/PrintDhjydMasterVOAction.do',
- auditUrl: '/nccloud/pu/dhjyd/PFlowDhjydMasterVOAction.do',//审批流提交收回等请求路径
+ auditUrl: '/nccloud/pu/dhjyd/PFlowDhjydMasterVOAction.do',//审批流提交收回等请求路径
saveUrl: '/nccloud/pu/dhjyd/SaveDhjydMasterVOAction.do',
deleteUrl: '/nccloud/pu/dhjyd/DeleteDhjydMasterVOAction.do',
listUrl: '/nccloud/pu/dhjyd/ListDhjydMasterVOAction.do',
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 = { // 按钮编码
@@ -207,9 +208,9 @@ const ACTIONS = { // 按钮编码
UNCOMMIT: 'UnCommit', //收回
APPROVEDETAIL: 'ApproveDetail', //审批详情
BILLTRACK: 'BillTrack', //单据追溯
- ADDLINE : 'AddLine', //增行
- DELLINE : 'DelLine', //删行
- COPYLINE : 'CopyLine', //复制行
+ ADDLINE: 'AddLine', //增行
+ DELLINE: 'DelLine', //删行
+ COPYLINE: 'CopyLine', //复制行
PASTENDLINE: 'PastEndLine', //粘贴到末行
COPYCANCELLINE: 'CopyCancelLine', //复制行取消
COPYLINE_OPR: 'CopyLineOpr', //操作列复制行
@@ -225,22 +226,23 @@ const ACTIONS = { // 按钮编码
SAVE: 'Save', //保存
SAVEADD: 'SaveAdd', // 保存新增
COPY: 'Copy', // 复制
+ ADDUNPASS: 'addUnPass', // 生成不合格审批单
MORE: 'More' // 更多
}
const FIELDS = { // 字段编码
- APPROVESTATUS : 'approvestatus',
- BILLTYPE : 'billtype',
+ APPROVESTATUS: 'approvestatus',
+ BILLTYPE: 'billtype',
TRANSTYPEPK: 'transtypepk',
TRANSTYPE: 'transtype',
- SRC_ROWNO:[
- 'srcrowno'
+ SRC_ROWNO: [
+ 'srcrowno'
],
- ROWNO:[
- 'rowno'
+ ROWNO: [
+ 'rowno'
],
- SRC_BILLTYPE:'srcbilltype',
- SRC_BILLID:'srcbillid',
+ SRC_BILLTYPE: 'srcbilltype',
+ SRC_BILLID: 'srcbillid',
BUSITYPE: 'busitype',
CODE: 'code',
PK_ORG: 'pk_org',
@@ -264,7 +266,7 @@ const PRINTNODEKEY_CARD = '4004012H902'; // 卡片打印模板标识
const BILLTYPE = 'DHJY';
const FLOW_ACTION = { //审批流单据动作常量
- SAVE: 'SAVE',//提交
+ SAVE: 'SAVE',//提交
UNSAVE: 'UNSAVE',//收回
SAVEBASE: 'SAVEBASE'//保存
}
@@ -277,7 +279,7 @@ const FLOW_ACTION = { //审批流单据动作常量
* 目前的这种写法,采用的是MVVM的架构模式,把state看做是VM,所以我们需要把目光集中在state
****************************************************************************************************/
-export class ApplicationPage extends Component{
+export class ApplicationPage extends Component {
/**
* 构造方法,js要求的必须方法,构造整个页面对象,
@@ -296,9 +298,9 @@ export class ApplicationPage extends Component{
* 配置的获取方式,优先取平台定义,其次取传入配置定义, 最后默认
*/
this.config = {
- pagecode: props.getSearchParam('p') || props.appcode || 'pagecode未定义', //页面编码定义
- appcode: props.getSearchParam('c') || props.appcode || 'appcode未定义', //应用编码定义
- title: this.props.getSearchParam('n') || props.title || 'Demo主从表', //表体定义
+ pagecode: props.getSearchParam('p') || props.appcode || 'pagecode未定义', //页面编码定义
+ appcode: props.getSearchParam('c') || props.appcode || 'appcode未定义', //应用编码定义
+ title: this.props.getSearchParam('n') || props.title || 'Demo主从表', //表体定义
moduleId: '4004012H9', //多语资源目录id
domainName: 'pu' //模块域名
}
@@ -333,7 +335,7 @@ export class ApplicationPage extends Component{
...this.config,
//导入全局配置,
callback: (data) => {
- let {context, template, button, lang, refer = {}} = data;
+ let { context, template, button, lang, refer = {} } = data;
/**
* 初始化模板,修改模板相关配置
* 初始化按钮,修改按钮相关配置,
@@ -346,13 +348,13 @@ export class ApplicationPage extends Component{
new Promise(resolve => this.props.meta.setMeta(template, () => resolve(true))),
new Promise(
resolve => this.props.button.setButtons(button, () => resolve(true))),
- new Promise(resolve => this.setState({...this.state, context}, () => resolve(true)))
+ new Promise(resolve => this.setState({ ...this.state, context }, () => resolve(true)))
]).then(() => {
- this.setState({isPageReady: true}, () => { //标记自己页面已经完成,并进行第一次的渲染
- let {moduleName, billType} = this.state.execlExport; //此处简化解构,一遍能够代码清晰
+ this.setState({ isPageReady: true }, () => { //标记自己页面已经完成,并进行第一次的渲染
+ let { moduleName, billType } = this.state.execlExport; //此处简化解构,一遍能够代码清晰
this.props.button.setUploadConfig('Import',
excelImportconfig(this.props, moduleName, billType, true, '', this.config, () => { // 导入后回调
- let {showmode} = this.state;
+ let { showmode } = this.state;
if (showmode != SHOWMODE_LIST) { // 不是列表态导入不进行刷新
return;
}
@@ -360,7 +362,7 @@ export class ApplicationPage extends Component{
this.listTableData({
callback: (data) => { // data为查询结果
// 执行列表查询后操作
- this.afterLoadList({data});
+ this.afterLoadList({ data });
}
});
}));
@@ -378,10 +380,10 @@ export class ApplicationPage extends Component{
* 可以初始化一些初始的功能,比如查询下列表并显示数据等
*/
pageReady = () => {
- let {context} = this.state;
- this.props.search.setSearchValByField('dhjydMasterQuery', FIELDS.PK_ORG, {display: context.org_Name, value: context.pk_org});
+ let { context } = this.state;
+ this.props.search.setSearchValByField('dhjydMasterQuery', FIELDS.PK_ORG, { display: context.org_Name, value: context.pk_org });
// 交易类型发布小应用
- let {context: {paramMap} = {}} = this.state;
+ let { context: { paramMap } = {} } = this.state;
if (paramMap && paramMap.pk_transtype) {
let meta = this.props.meta.getMeta();
meta['dhjydMasterQuery'].items.find(item => {
@@ -396,28 +398,28 @@ export class ApplicationPage extends Component{
return true;
}
});
- this.props.search.setSearchValByField('dhjydMasterQuery', FIELDS.TRANSTYPEPK, {display: paramMap.transtype_name, value: paramMap.pk_transtype});
+ this.props.search.setSearchValByField('dhjydMasterQuery', FIELDS.TRANSTYPEPK, { display: paramMap.transtype_name, value: paramMap.pk_transtype });
this.props.meta.setMeta(meta);
}
this.updateBtnStatus(); // 更新按钮状态
}
/**
- * 初始化平台定义的单据模板
- * 触发时机:执行loadNCCResource,加载完模板、多语、等初始化信息之后触发
- * 功能:对加载完的模板进行个性化调整
- * 可实现举例功能:
- * 1.参照表单联动过滤, 参见[Demo1]
- * 2.处理表格操作列, 参见[Demo2]
- */
+ * 初始化平台定义的单据模板
+ * 触发时机:执行loadNCCResource,加载完模板、多语、等初始化信息之后触发
+ * 功能:对加载完的模板进行个性化调整
+ * 可实现举例功能:
+ * 1.参照表单联动过滤, 参见[Demo1]
+ * 2.处理表格操作列, 参见[Demo2]
+ */
initMeta = (meta) => {
// 添加列表行操作列
meta['dhjydMasterList'].items.push({
attrcode: 'opr', // 列标识, 固定
- itemtype:'customer', // 列类型, 固定
+ itemtype: 'customer', // 列类型, 固定
label: '操作', // 列名
width: 200, // 列宽度
- className : 'table-opr', // 样式
+ className: 'table-opr', // 样式
fixed: 'right', // 悬浮方向
visible: true, // 是否可见
render: (text, record, index) => { // 渲染方法
@@ -433,21 +435,21 @@ export class ApplicationPage extends Component{
return this.props.button.createOprationButton(oprButtons, {
area: 'tablebtn', // 按钮区域编码
buttonLimit: 3, // 允许的按钮最多显示数量
- onButtonClick: (props, btncode) => this.onBtnClickHead(props, btncode, {record, index}) // 点击按钮
+ onButtonClick: (props, btncode) => this.onBtnClickHead(props, btncode, { record, index }) // 点击按钮
});
}
});
// 添加卡片行操作列
meta['dhjydSlave0Sub'].items.push({
attrcode: 'opr', // 列标识, 固定
- itemtype:'customer', // 列类型, 固定
+ itemtype: 'customer', // 列类型, 固定
label: '操作', // 列名
width: 200, // 列宽度
- className : 'table-opr', // 样式
+ className: 'table-opr', // 样式
fixed: 'right', // 悬浮方向
visible: true, // 是否可见
render: (text, record, index) => { // 渲染方法
- let {showmode, editmode, card: {copiedArea, copiedRows}} = this.state;
+ let { showmode, editmode, card: { copiedArea, copiedRows } } = this.state;
//获得符合条件按钮的key(编码)的集合
let oprButtons = [];
if (copiedArea) {
@@ -463,30 +465,30 @@ export class ApplicationPage extends Component{
return this.props.button.createOprationButton(oprButtons, {
area: 'dhjydSlave0SubOpr', // 按钮区域编码
buttonLimit: 3, // 允许的按钮最多显示数量
- onButtonClick: (props, btncode) => this.onBtnClickFormlist(props, btncode, 'dhjydSlave0Sub', {data: record, index}) // 点击按钮
+ onButtonClick: (props, btncode) => this.onBtnClickFormlist(props, btncode, 'dhjydSlave0Sub', { data: record, index }) // 点击按钮
});
}
});
// 主组织权限过滤 : 加载的是当前登录人有权限的组织
// 卡片表单区主组织字段添加权限过滤
- meta['dhjydMasterForm'].items.find(item => {
+ meta['dhjydMasterForm'].items.find(item => {
if (item.attrcode == FIELDS.PK_ORG) {
item.queryCondition = () => {
return {
- AppCode : this.config.appcode,
- TreeRefActionExt : 'nccloud.web.refer.sqlbuilder.PrimaryOrgSQLBuilder'
+ AppCode: this.config.appcode,
+ TreeRefActionExt: 'nccloud.web.refer.sqlbuilder.PrimaryOrgSQLBuilder'
};
};
return true;
}
});
- // 列表查询区主组织字段添加权限过滤
- meta['dhjydMasterQuery'].items.find(item => {
+ // 列表查询区主组织字段添加权限过滤
+ meta['dhjydMasterQuery'].items.find(item => {
if (item.attrcode == FIELDS.PK_ORG) {
item.queryCondition = () => {
return {
- AppCode : this.config.appcode,
- TreeRefActionExt : 'nccloud.web.refer.sqlbuilder.PrimaryOrgSQLBuilder'
+ AppCode: this.config.appcode,
+ TreeRefActionExt: 'nccloud.web.refer.sqlbuilder.PrimaryOrgSQLBuilder'
};
};
return true;
@@ -594,7 +596,7 @@ export class ApplicationPage extends Component{
// }
//})
- //过滤出需要行按钮的数据
+ //过滤出需要行按钮的数据
let tableOprBtn = [ACTIONS.EDIT, ACTIONS.DELETE, ACTIONS.COMMIT, ACTIONS.UNCOMMIT, ACTIONS.APPROVEDETAIL];
let allCommonBtn = (button || []).filter(btn => btn.area == 'common').map(btn => btn.children && btn.children.length > 0 ?
@@ -606,7 +608,7 @@ export class ApplicationPage extends Component{
let cloneBtns = JSON.parse(JSON.stringify(mergebtn))
//修改表体按钮的区域和按钮名称
- cloneBtns = cloneBtns.map(btn => {
+ cloneBtns = cloneBtns.map(btn => {
btn.area = "tablebtn"
btn.children = []
// btn.key = "table_" + btn.key
@@ -614,7 +616,7 @@ export class ApplicationPage extends Component{
})
//合并返回
- return [...button || [],...cloneBtns];
+ return [...button || [], ...cloneBtns];
}
/**
@@ -790,13 +792,14 @@ export class ApplicationPage extends Component{
handlePageInfoChange: (props, config, pks, total) => { // 表格分页信息改变及点击翻页按钮
// 调用列表查询方法,通过回调处理查询结果
this.listTableData({
- callback: data => this.afterLoadList({data}) // 执行列表查询后逻辑,data为查询结果
+ callback: data => this.afterLoadList({ data }) // 执行列表查询后逻辑,data为查询结果
});
},
selectedChange: this.onListSelectRowsChanged, // 选择框的选中行改变
onSelectedAll: this.onListSelectRowsChanged, // 点击全选框
onSelected: this.onListSelectRowsChanged // 点击选择框
- } },
+ }
+ },
card: { // 卡片页面
form: { // 表单
area: 'dhjydMasterForm', // 区域编码
@@ -871,7 +874,7 @@ export class ApplicationPage extends Component{
}
});
// 审批流
- Utils.apply(state, {
+ Utils.apply(state, {
approveDetail: { // 审批详情
show: false, //是否显示
close: this.onCloseApproveDetail, // 关闭事件回调函数
@@ -913,20 +916,20 @@ export class ApplicationPage extends Component{
//4 渲染方法
render() {
- let {isPageReady, showmode, head, headBtn, list, card} = this.state;
+ let { isPageReady, showmode, head, headBtn, list, card } = this.state;
- if(!isPageReady) return ''; //页面资源加载完成后才能渲染页面
+ if (!isPageReady) return ''; //页面资源加载完成后才能渲染页面
// 渲染列表
const renderList = () => {
- let {search, table} = list;
+ let { search, table } = list;
if (showmode != SHOWMODE_LIST) {
return '';
}
return (
-
{this.state.head.affixed = affixed; this.setState(this.state)}}>
-
+ { this.state.head.affixed = affixed; this.setState(this.state) }}>
+
{this.props.BillHeadInfo.createBillHeadInfo(head)}
@@ -959,13 +962,13 @@ export class ApplicationPage extends Component{
*************************************************************************************************************************/
// 渲染卡片
const renderCard = () => {
- let {form, formlist, cardPagniation} = card;
+ let { form, formlist, cardPagniation } = card;
if (showmode != SHOWMODE_CARD) {
return '';
}
// cardtable存在bug,拷贝使用的是Object.assign(),会修改当前state
let newFormlist = deepClone(formlist);
- let {'dhjydSlave0Sub' : tableConfig, ...other} = newFormlist;
+ let { 'dhjydSlave0Sub': tableConfig, ...other } = newFormlist;
return (
@@ -977,7 +980,7 @@ export class ApplicationPage extends Component{
{this.props.button.createButtonApp(headBtn)}
-
+
{this.props.cardPagination.createCardPagination(cardPagniation)}
@@ -988,7 +991,7 @@ export class ApplicationPage extends Component{
- {this.props.cardTable.createCardTable(tableConfig.area, {...tableConfig, multiConfig: other})}
+ {this.props.cardTable.createCardTable(tableConfig.area, { ...tableConfig, multiConfig: other })}
@@ -997,7 +1000,7 @@ export class ApplicationPage extends Component{
// 导入导出组件
const renderExcelOutput = () => {
- let {execlExport} = this.state;
+ let { execlExport } = this.state;
if (showmode != SHOWMODE_LIST && showmode != SHOWMODE_CARD) {
return '';
}
@@ -1011,43 +1014,43 @@ export class ApplicationPage extends Component{
// 打印输出组件
const renderPrintOutput = () => {
- let {printOutput} = this.state;
+ let { printOutput } = this.state;
if (showmode != SHOWMODE_LIST && showmode != SHOWMODE_CARD) {
return '';
}
return (
-
+
);
}
// 附件组件
const renderUploader = () => {
- let {uploader} = this.state;
+ let { uploader } = this.state;
if ((showmode != SHOWMODE_LIST && showmode != SHOWMODE_CARD) || !uploader.visible) {
return '';
}
return (
-
+
);
}
- // 审批流渲染页面定义,审批详情&指派
- 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 (
-
- {approvalTrans.display &&
}
+
+ {approvalTrans.display &&
}
);
}
//单据追溯的渲染方法
let renderBillTrack = () => {
- let {billtrack} = this.state;
+ let { billtrack } = this.state;
if ((showmode != SHOWMODE_LIST && showmode != SHOWMODE_CARD) || !billtrack.show) {
return '';
}
@@ -1074,8 +1077,8 @@ export class ApplicationPage extends Component{
// 修改按钮状态
// callback 回调,无参数
- updateBtnStatus = ({callback = EMPTY_FN} = {}) => {
- let {showmode, editmode, list: {table: {allpks}}, card: {formlist, copiedArea, copiedRows}} = this.state;
+ updateBtnStatus = ({ callback = EMPTY_FN } = {}) => {
+ let { showmode, editmode, list: { table: { allpks } }, card: { formlist, copiedArea, copiedRows } } = this.state;
let isBrowse = editmode == EDITMODE_BROWSE;
let checkedDatas = this.getCheckedDatas();
@@ -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
}
@@ -1137,49 +1142,49 @@ export class ApplicationPage extends Component{
btnDisabled[btnAreaCode + '_PastNextLineOpr'] = false;
});
- // 导入导出按钮控制
- Object.assign(btnVisible, {
- [ACTIONS.IMPORT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse,
- [ACTIONS.EXPORT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse
- });
- Object.assign(btnDisabled, {
- [ACTIONS.IMPORT]: false,
- [ACTIONS.EXPORT]: false
- });
- // 打印输出按钮控制
- Object.assign(btnVisible, {
- [ACTIONS.PRINT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse,
- [ACTIONS.OUTPUT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse
- });
- Object.assign(btnDisabled, {
+ // 导入导出按钮控制
+ Object.assign(btnVisible, {
+ [ACTIONS.IMPORT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse,
+ [ACTIONS.EXPORT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse
+ });
+ Object.assign(btnDisabled, {
+ [ACTIONS.IMPORT]: false,
+ [ACTIONS.EXPORT]: false
+ });
+ // 打印输出按钮控制
+ Object.assign(btnVisible, {
+ [ACTIONS.PRINT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse,
+ [ACTIONS.OUTPUT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse
+ });
+ Object.assign(btnDisabled, {
[ACTIONS.PRINT]: !hasCheckedRow,
[ACTIONS.OUTPUT]: !hasCheckedRow
- });
- // 附件按钮控制
- Object.assign(btnVisible, {
- [ACTIONS.ATTACHMENT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse
- });
- Object.assign(btnDisabled, {
+ });
+ // 附件按钮控制
+ Object.assign(btnVisible, {
+ [ACTIONS.ATTACHMENT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse
+ });
+ Object.assign(btnDisabled, {
[ACTIONS.ATTACHMENT]: !isCheckedOne
- });
- // 审批流按钮控制
- let isAllFree = hasCheckedRow && checkedDatas.filter(row => row.values[FIELDS.APPROVESTATUS].value !== '-1').length == 0;
- let hasFree = hasCheckedRow && checkedDatas.filter(row => row.values[FIELDS.APPROVESTATUS].value == '-1').length > 0;
- let hasNotFree = hasCheckedRow && checkedDatas.filter(row => row.values[FIELDS.APPROVESTATUS].value !== '-1').length > 0;
- // let isCommit = hasCheckedRow && checkedDatas.filter(row => row.values[FIELDS.APPROVESTATUS].value !== '3').length == 0;
- Object.assign(btnVisible, {
- [ACTIONS.COMMIT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse,
+ });
+ // 审批流按钮控制
+ let isAllFree = hasCheckedRow && checkedDatas.filter(row => row.values[FIELDS.APPROVESTATUS].value !== '-1').length == 0;
+ let hasFree = hasCheckedRow && checkedDatas.filter(row => row.values[FIELDS.APPROVESTATUS].value == '-1').length > 0;
+ let hasNotFree = hasCheckedRow && checkedDatas.filter(row => row.values[FIELDS.APPROVESTATUS].value !== '-1').length > 0;
+ // let isCommit = hasCheckedRow && checkedDatas.filter(row => row.values[FIELDS.APPROVESTATUS].value !== '3').length == 0;
+ Object.assign(btnVisible, {
+ [ACTIONS.COMMIT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse,
[ACTIONS.UNCOMMIT]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse,
[ACTIONS.APPROVEDETAIL]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse
- });
- Object.assign(btnDisabled, {
- // 修改和删除按钮需要根据审批状态控制
+ });
+ Object.assign(btnDisabled, {
+ // 修改和删除按钮需要根据审批状态控制
[ACTIONS.EDIT]: !(hasCheckedRow && (!(checkedDatas[0].values[FIELDS.APPROVESTATUS]) || checkedDatas[0].values[FIELDS.APPROVESTATUS].value == '-1')),
[ACTIONS.DELETE]: !(hasCheckedRow && (showmode == SHOWMODE_LIST || isAllFree)),
[ACTIONS.COMMIT]: !hasFree,
[ACTIONS.UNCOMMIT]: !hasNotFree,
- [ACTIONS.APPROVEDETAIL]:!(isCheckedOne && hasNotFree)
- });
+ [ACTIONS.APPROVEDETAIL]: !(isCheckedOne && hasNotFree)
+ });
Object.assign(btnVisible, {
[ACTIONS.BILLTRACK]: (showmode == SHOWMODE_LIST || showmode == SHOWMODE_CARD) && isBrowse
});
@@ -1189,15 +1194,15 @@ export class ApplicationPage extends Component{
this.props.button.setButtonVisible(btnVisible);
this.props.button.setButtonDisabled(btnDisabled);
- // 设置卡片翻页器是否可见
+ // 设置卡片翻页器是否可见
this.state.card.cardPagniation.visible = showmode == SHOWMODE_CARD && editmode == EDITMODE_BROWSE;
this.setState(this.state, callback);
}
// 查询列表数据
// callback 回调, (data: 查询结果,格式参考后端Grid类) => {}
- listTableData = ({callback = EMPTY_FN} = {}) => {
- let {list: {search, table}} = this.state;
+ listTableData = ({ callback = EMPTY_FN } = {}) => {
+ let { list: { search, table } } = this.state;
// 获取查询区参数
let queryInfo = this.props.search.getQueryInfo(search.area);
// 获取表格分页信息
@@ -1206,7 +1211,7 @@ export class ApplicationPage extends Component{
appcode: this.config.appcode, // appcode
pageCode: this.config.pagecode, // pagecode
formId: table.area, // 表格区域编码
- queryTreeFormatVO: {...queryInfo, pageCode: this.config.pagecode}, // 查询条件
+ queryTreeFormatVO: { ...queryInfo, pageCode: this.config.pagecode }, // 查询条件
pageInfo // 分页信息
};
// 判断是否获取到查询条件,当查询区有必填项未填写时获取查询区参数oid会是空
@@ -1217,7 +1222,7 @@ export class ApplicationPage extends Component{
url: URLS.listUrl,
data: param,
success: (res) => {
- let {data: {data} = {}} = res;
+ let { data: { data } = {} } = res;
callback(data);
},
});
@@ -1226,10 +1231,10 @@ export class ApplicationPage extends Component{
// 填充列表数据
// data 列表数据,格式参考后端Grid类,为空则会清空
// callback 回调,无参数
- fillListData = ({data, callback = EMPTY_FN} = {}) => {
- let {list: {table}} = this.state;
+ fillListData = ({ data, callback = EMPTY_FN } = {}) => {
+ let { list: { table } } = this.state;
// 从data获取表格区域数据
- let tableData = data && data[table.area] ? data[table.area] : {rows: []};
+ let tableData = data && data[table.area] ? data[table.area] : { rows: [] };
// 设置数据到表格组件
this.props.table.setAllTableData(table.area, tableData);
setTimeout(callback);
@@ -1242,7 +1247,7 @@ export class ApplicationPage extends Component{
// formId 表单区域编码
// tableId 子表表格区域编码数组
// callback 回调,(data: 查询结果,格式参考后端ExtBillCard类) => {}
- loadCardData = ({billId, areaInfo, callback = EMPTY_FN} = {}) => {
+ loadCardData = ({ billId, areaInfo, callback = EMPTY_FN } = {}) => {
// 查询请求
ajax({
url: URLS.loadUrl,
@@ -1252,8 +1257,8 @@ export class ApplicationPage extends Component{
...areaInfo // 区域编码
},
success: (res) => {
- let {data: {data} = {}} = res;
- callback({data});
+ let { data: { data } = {} } = res;
+ callback({ data });
},
});
}
@@ -1261,7 +1266,7 @@ export class ApplicationPage extends Component{
// 填充卡片数据
// data 卡片数据,格式参考后端ExtBillCard类
// callback 回调,无参数
- fillCardData = ({data, callback = EMPTY_FN} = {}) => {
+ fillCardData = ({ data, callback = EMPTY_FN } = {}) => {
// 获取卡片区域编码
let area = this.getCardAreaCode();
// 设置主表单数据
@@ -1272,7 +1277,7 @@ export class ApplicationPage extends Component{
this.props.cardTable.setTableData(id, data.bodys[id], () => {
});
} else { // 子表没值则清空
- this.props.cardTable.setTableData(id, {rows: []});
+ this.props.cardTable.setTableData(id, { rows: [] });
}
});
setTimeout(callback);
@@ -1280,14 +1285,14 @@ export class ApplicationPage extends Component{
// 清空卡片数据
// callback 回调,无参数
- clearCardData = ({callback = EMPTY_FN} = {}) => {
+ clearCardData = ({ callback = EMPTY_FN } = {}) => {
// 获取卡片区域编码
let area = this.getCardAreaCode();
// 清空主表单数据
this.props.form.EmptyAllFormValue(area.formId);
// 清空子表表格数据
area.tableId.forEach(id => {
- this.props.cardTable.setTableData(id, {rows: []});
+ this.props.cardTable.setTableData(id, { rows: [] });
});
setTimeout(callback);
}
@@ -1313,8 +1318,8 @@ export class ApplicationPage extends Component{
// 编码规则处理
// billCodeContext 编码规则上下文
- handleCodeRule = ({billCodeContext} = {}) => {
- let {card: {form}} = this.state;
+ handleCodeRule = ({ billCodeContext } = {}) => {
+ let { card: { form } } = this.state;
// 根据编码规则进行的处理
if (!billCodeContext) {
return;
@@ -1322,7 +1327,7 @@ export class ApplicationPage extends Component{
// 编码字段编辑性,后编码则编码字段不可编辑,前编码则按照上下文设置编辑性
let isEditable = billCodeContext.isPrecode && billCodeContext.isEditable;
// 设置编码字段编辑性
- this.props.form.setFormItemsDisabled(form.area, {[FIELDS.CODE]: !isEditable});
+ this.props.form.setFormItemsDisabled(form.area, { [FIELDS.CODE]: !isEditable });
// 设置编码字段是否必输
// this.props.form.setFormItemsRequired(form.area, {[FIELDS.CODE]: false});
}
@@ -1335,7 +1340,7 @@ export class ApplicationPage extends Component{
* @returns {*[]|*} 返回选中行数组[{values:{itemcode:{value:'', display:''}}}, {values:{itemcode:{value:'', display:''}}}]
*/
getCheckedDatas = () => {
- let {showmode, list: {table}, card: {form}} = this.state;
+ let { showmode, list: { table }, card: { form } } = this.state;
if (showmode == SHOWMODE_LIST) { // 当前显示为列表页面时
// 获取列表表格选中行
let checkedRows = this.props.table.getCheckedRows(table.area);
@@ -1360,7 +1365,7 @@ export class ApplicationPage extends Component{
* @param queryInfo 查询方案
*/
onSearch = (props, data, type, queryInfo) => {
- let {list: {table}} = this.state;
+ let { list: { table } } = this.state;
// 调用查询列表方法,通过回调处理查询结果
this.listTableData({
callback: (data) => { // data为查询结果
@@ -1389,13 +1394,13 @@ export class ApplicationPage extends Component{
* @param data grid格式数据
* @param callback 回调
*/
- afterLoadList = ({data, callback = EMPTY_FN} = {}) => {
- let {list: {table}} = this.state;
+ afterLoadList = ({ data, callback = EMPTY_FN } = {}) => {
+ let { list: { table } } = this.state;
// 保存allpks
this.state.list.table.allpks = data ? data[table.area].allpks : [];
this.setState(this.state, () => {
// 填充列表数据
- this.fillListData({data});
+ this.fillListData({ data });
// 更新按钮状态
this.updateBtnStatus();
@@ -1434,13 +1439,13 @@ export class ApplicationPage extends Component{
this.loadCardData({
billId,
areaInfo: area,
- callback: ({data}) => { // data为查询结果
+ callback: ({ data }) => { // data为查询结果
// 填充卡片数据或清空卡片数据
- data ? this.fillCardData({data}) : this.clearCardData();
+ data ? this.fillCardData({ data }) : this.clearCardData();
// 根据列表数据初始化卡片翻页器
this.initCardPaginationWithAllpks();
// 设置翻页器当前的数据主键
- this.props.cardPagination.setCardPaginationId({id: billId, status: 1});
+ this.props.cardPagination.setCardPaginationId({ id: billId, status: 1 });
// 更新按钮状态
this.updateBtnStatus();
}
@@ -1470,9 +1475,9 @@ export class ApplicationPage extends Component{
this.loadCardData({
billId: nextId,
areaInfo,
- callback: ({data}) => { // data为查询结果
+ callback: ({ data }) => { // data为查询结果
// 填充卡片数据或清空卡片数据
- data ? this.fillCardData({data}) : this.clearCardData();
+ data ? this.fillCardData({ data }) : this.clearCardData();
// 更新按钮状态
this.updateBtnStatus();
}
@@ -1494,7 +1499,7 @@ export class ApplicationPage extends Component{
this.listTableData({
callback: (data) => { // data为查询结果
// 执行查询列表后操作
- this.afterLoadList({data});
+ this.afterLoadList({ data });
}
});
});
@@ -1556,7 +1561,7 @@ export class ApplicationPage extends Component{
// 获取改变后交易类型编码
let transtypecode = value && value.values && value.values.pk_billtypecode || {};
// 修改交易类型编码到交易类型字段
- this.props.form.setFormItemsValue(moduleId, {[FIELDS.TRANSTYPE]: transtypecode});
+ this.props.form.setFormItemsValue(moduleId, { [FIELDS.TRANSTYPE]: transtypecode });
}
/**
@@ -1574,7 +1579,7 @@ export class ApplicationPage extends Component{
* 初始化卡片翻页器,在列表切换到卡片时调用,初始化卡片翻页组件的allpks
*/
initCardPaginationWithAllpks = () => {
- let {allpks} = this.state.list.table;
+ let { allpks } = this.state.list.table;
// 设置卡片翻页器的allpks,当调用cardPagination组件的API新增、删除pk时,allpks会同步更新
this.props.cardPagination.setCardPaginationAllpks(allpks);
}
@@ -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;
@@ -1634,28 +1642,28 @@ export class ApplicationPage extends Component{
case ACTIONS.ATTACHMENT: // 点击附件管理
this.onAttachment();
break;
- case ACTIONS.APPROVEDETAIL: // 点击审批详情
+ case ACTIONS.APPROVEDETAIL: // 点击审批详情
this.onApproveDetail(param);
- break;
- case ACTIONS.COMMIT: // 点击提交
+ break;
+ case ACTIONS.COMMIT: // 点击提交
// 执行流程动作
this.onFlow({
...param,
actionName: FLOW_ACTION.SAVE, // 动作编码
callback: () => {
// 提示
- toast({content: "提交成功!", color: 'success'});
+ toast({ content: "提交成功!", color: 'success' });
}
});
break;
- case ACTIONS.UNCOMMIT: //点击收回
+ case ACTIONS.UNCOMMIT: //点击收回
// 执行流程动作
this.onFlow({
...param,
actionName: FLOW_ACTION.UNSAVE, // 动作编码
callback: () => {
// 提示
- toast({content: '收回成功!', color: 'success'});
+ toast({ content: '收回成功!', color: 'success' });
}
});
break;
@@ -1674,13 +1682,13 @@ export class ApplicationPage extends Component{
* 聚焦首个可聚焦的表单项
* 注意!!!: 如果模板调整或者拆分或者代码中有对模板顺序等调整,需要自己再处理该方法
*/
- setCardFormFocus = ()=>{
- let {head, headBtn, list, card, showmode, editmode, context} = this.state;
- let {form} = card;
+ setCardFormFocus = () => {
+ let { head, headBtn, list, card, showmode, editmode, context } = this.state;
+ let { form } = card;
//业务开发应该能明确哪个属性可以聚焦,所以这里应该不需要循环查询
//但是从低代码层面是无法确定的,所以只能循环查找
(this.props.meta.getMeta()[form.area].items || []).find(item => {
- if(!item.disabled && item.visible){
+ if (!item.disabled && item.visible) {
this.props.form.setFormItemFocus(form.area, item.attrcode);
return true;
}
@@ -1693,7 +1701,7 @@ export class ApplicationPage extends Component{
*/
onAdd = () => {
// 记录点击新增按钮前的页面模式
- let {showmode, context} = this.state;
+ let { showmode, context } = this.state;
// 设置页面模式为卡片新增态
this.state.showmode = SHOWMODE_CARD;
this.state.editmode = EDITMODE_ADD;
@@ -1703,7 +1711,7 @@ export class ApplicationPage extends Component{
// 获取卡片区域编码
let areaInfo = this.getCardAreaCode();
// 修改卡片组件状态
- this.updateCardStatus({areaInfo, editmode: EDITMODE_ADD});
+ this.updateCardStatus({ areaInfo, editmode: EDITMODE_ADD });
// 清空卡片数据
this.clearCardData();
// 获取模板默认值
@@ -1711,16 +1719,16 @@ export class ApplicationPage extends Component{
this.add({
billCard,
areaInfo,
- callback: ({data, billCodeContext}) => {
+ callback: ({ data, billCodeContext }) => {
// 填充卡片数据
- data && this.fillCardData({data});
+ data && this.fillCardData({ data });
// 处理编码规则
- this.handleCodeRule({billCodeContext});
+ this.handleCodeRule({ billCodeContext });
// 如果存在组织属性,并且个性化设置-业务设置那设置了组织,则默认在新增时把组织字段在界面上
- context && context.pk_org && this.props.form.setFormItemsValue(areaInfo.formId, {[FIELDS.PK_ORG]: {display: context.org_Name, value: context.pk_org}});
+ context && context.pk_org && this.props.form.setFormItemsValue(areaInfo.formId, { [FIELDS.PK_ORG]: { display: context.org_Name, value: context.pk_org } });
if (context && context && context.paramMap && context.paramMap.pk_transtype) {
- this.props.form.setFormItemsValue(areaInfo.formId, {[FIELDS.TRANSTYPEPK]: {display: context.paramMap.transtype_name, value: context.paramMap.pk_transtype}});
- this.props.form.setFormItemsValue(areaInfo.formId, {[FIELDS.TRANSTYPE]: {display: context.paramMap.transtype, value: context.paramMap.transtype}});
+ this.props.form.setFormItemsValue(areaInfo.formId, { [FIELDS.TRANSTYPEPK]: { display: context.paramMap.transtype_name, value: context.paramMap.pk_transtype } });
+ this.props.form.setFormItemsValue(areaInfo.formId, { [FIELDS.TRANSTYPE]: { display: context.paramMap.transtype, value: context.paramMap.transtype } });
}
// 更新按钮状态
this.updateBtnStatus();
@@ -1731,7 +1739,7 @@ export class ApplicationPage extends Component{
});
}
- add = ({billCard, areaInfo, callback = EMPTY_FN} = {}) => {
+ add = ({ billCard, areaInfo, callback = EMPTY_FN } = {}) => {
ajax({
url: URLS.addUrl,
data: {
@@ -1740,13 +1748,13 @@ export class ApplicationPage extends Component{
...areaInfo // 卡片区域编码
},
success: (res) => {
- let {data: {data, externalData: {billCodeContext} = {}} = {}} = res;
- callback({data, billCodeContext});
+ let { data: { data, externalData: { billCodeContext } = {} } = {} } = res;
+ callback({ data, billCodeContext });
}
});
}
- updateCardStatus = ({areaInfo, editmode, callback = EMPTY_FN} = {}) => {
+ updateCardStatus = ({ areaInfo, editmode, callback = EMPTY_FN } = {}) => {
// 设置卡片主表单为编辑态
this.props.form.setFormStatus(areaInfo.formId, editmode);
// 设置卡片子表表格为编辑态
@@ -1761,9 +1769,9 @@ export class ApplicationPage extends Component{
* 点击修改按钮
*/
onEdit = (param = {}) => {
- let {showmode} = this.state;
+ let { showmode } = this.state;
// 列表操作列的参数
- let {record, index} = param;
+ let { record, index } = param;
// 获取选中行
let checkedDatas = this.getCheckedDatas();
// 获取选中行主键,多行取第一条,适配列表操作列优先从record中取值
@@ -1777,17 +1785,17 @@ export class ApplicationPage extends Component{
// 获取卡片区域编码
let areaInfo = this.getCardAreaCode();
// 修改卡片组件状态
- this.updateCardStatus({areaInfo, editmode: EDITMODE_EDIT});
+ this.updateCardStatus({ areaInfo, editmode: EDITMODE_EDIT });
// 清空卡片数据
this.clearCardData();
this.edit({
billId,
areaInfo,
- callback: ({data, billCodeContext}) => {
+ callback: ({ data, billCodeContext }) => {
// 填充卡片数据或清空卡片数据
- data ? this.fillCardData({data}) : this.clearCardData();
+ data ? this.fillCardData({ data }) : this.clearCardData();
// 处理编码规则
- this.handleCodeRule({billCodeContext});
+ this.handleCodeRule({ billCodeContext });
// 根据列表数据初始化卡片翻页器
showmode == SHOWMODE_LIST && this.initCardPaginationWithAllpks();
// 更新按钮状态
@@ -1797,7 +1805,7 @@ export class ApplicationPage extends Component{
});
}
- edit = ({billId, areaInfo, callback = EMPTY_FN}) => {
+ edit = ({ billId, areaInfo, callback = EMPTY_FN }) => {
ajax({
url: URLS.editUrl,
data: {
@@ -1806,8 +1814,8 @@ export class ApplicationPage extends Component{
...areaInfo // 卡片区域编码
},
success: (res) => {
- let {data: {data, externalData: {billCodeContext} = {}} = {}} = res;
- callback({data, billCodeContext});
+ let { data: { data, externalData: { billCodeContext } = {} } = {} } = res;
+ callback({ data, billCodeContext });
}
});
}
@@ -1819,15 +1827,15 @@ export class ApplicationPage extends Component{
onDelete = (param = {}) => {
let handleDelete = () => {
- let {showmode} = this.state;
+ let { showmode } = this.state;
// 列表操作列的参数
- let {record, index} = param;
+ let { record, index } = param;
// 获取选中行
let checkedDatas = this.getCheckedDatas();
// 构建tsMap:{主键: ts},适配列表操作列优先从record中取值
let tsMap = {};
- record ? Object.assign(tsMap, {[record[FIELDS.PRIMARYKEY].value]: record.ts.value})
- : checkedDatas.forEach(row => Object.assign(tsMap, {[row.values[FIELDS.PRIMARYKEY].value]: row.values['ts'].value}));
+ record ? Object.assign(tsMap, { [record[FIELDS.PRIMARYKEY].value]: record.ts.value })
+ : checkedDatas.forEach(row => Object.assign(tsMap, { [row.values[FIELDS.PRIMARYKEY].value]: row.values['ts'].value }));
// 删除数据
this.delete({
tsMap,
@@ -1841,7 +1849,7 @@ export class ApplicationPage extends Component{
data,
callback: () => {
// 提示
- toast({color: 'success', content: '删除成功'});
+ toast({ color: 'success', content: '删除成功' });
}
});
}
@@ -1850,16 +1858,16 @@ export class ApplicationPage extends Component{
// 获取被删除数据的主键
let cardId = checkedDatas[0].values[FIELDS.PRIMARYKEY].value;
// 通过卡片翻页器API获取删除成功后的下一条数据主键
- let nextId = this.props.cardPagination.getNextCardPaginationId({id: cardId, status: 3});
+ let nextId = this.props.cardPagination.getNextCardPaginationId({ id: cardId, status: 3 });
// 卡片翻页器删除被删除数据的主键,status(1为修改,2为新增,3为删除)
- this.props.cardPagination.setCardPaginationId({id: cardId, status: 3});
+ this.props.cardPagination.setCardPaginationId({ id: cardId, status: 3 });
if (!nextId) {
// 清空卡片数据
this.clearCardData();
// 更新按钮状态
this.updateBtnStatus();
// 提示
- toast({color: 'success', content: '删除成功'});
+ toast({ color: 'success', content: '删除成功' });
return;
}
// 存在删除成功后下一条数据主键
@@ -1869,15 +1877,15 @@ export class ApplicationPage extends Component{
this.loadCardData({
billId: nextId,
areaInfo,
- callback: ({data}) => { // data为查询结果
+ callback: ({ data }) => { // data为查询结果
// 填充卡片数据或清空卡片数据
- data ? this.fillCardData({data}) : this.clearCardData();
+ data ? this.fillCardData({ data }) : this.clearCardData();
// 卡片翻页器设置当前为下一条主键,status(1为修改,2为新增,3为删除)
- this.props.cardPagination.setCardPaginationId({id: nextId, status: 1});
+ this.props.cardPagination.setCardPaginationId({ id: nextId, status: 1 });
// 更新按钮状态
this.updateBtnStatus();
// 提示
- toast({color: 'success', content: '删除成功'});
+ toast({ color: 'success', content: '删除成功' });
}
});
}
@@ -1895,10 +1903,10 @@ export class ApplicationPage extends Component{
});
}
- delete = ({tsMap, callback = EMPTY_FN} = {}) => {
+ delete = ({ tsMap, callback = EMPTY_FN } = {}) => {
ajax({
url: URLS.deleteUrl,
- data: {tsMap},
+ data: { tsMap },
success: (res) => {
callback();
}
@@ -1910,7 +1918,7 @@ export class ApplicationPage extends Component{
* 点击刷新按钮
*/
onRefresh = () => {
- let {showmode} = this.state;
+ let { showmode } = this.state;
if (showmode == SHOWMODE_LIST) { // 列表页面点击刷新时
// 调用列表查询方法,通过回调处理查询结果
this.listTableData({
@@ -1920,7 +1928,7 @@ export class ApplicationPage extends Component{
data,
callback: () => {
// 提示
- toast({color: 'success', content: '刷新成功'});
+ toast({ color: 'success', content: '刷新成功' });
}
});
}
@@ -1936,13 +1944,13 @@ export class ApplicationPage extends Component{
this.loadCardData({
billId,
areaInfo,
- callback: ({data}) => { // data为查询结果
+ callback: ({ data }) => { // data为查询结果
// 填充卡片数据或清空卡片数据
- data ? this.fillCardData({data}) : this.clearCardData();
+ data ? this.fillCardData({ data }) : this.clearCardData();
// 更新按钮状态
this.updateBtnStatus();
// 提示
- toast({color: 'success', content: '刷新成功'});
+ toast({ color: 'success', content: '刷新成功' });
}
});
}
@@ -1954,7 +1962,7 @@ export class ApplicationPage extends Component{
*/
onSave = () => {
- let {editmode} = this.state;
+ let { editmode } = this.state;
// 获取卡片区域编码
let areaInfo = this.getCardAreaCode();
// 卡片主表单必输项校验
@@ -1969,37 +1977,37 @@ export class ApplicationPage extends Component{
let tableTypeObj = {
[areaInfo.formId]: 'form'
};
- areaInfo.tableId.forEach(areacode => {tableTypeObj[areacode] = 'editTable'});
+ areaInfo.tableId.forEach(areacode => { tableTypeObj[areacode] = 'editTable' });
// 保存前执行校验公式
this.props.validateToSave(saveData, () => {
// 保存请求
this.save({
cardData: saveData,
areaInfo,
- callback: ({data}) => {
+ callback: ({ data }) => {
// 设置页面模式
this.state.editmode = EDITMODE_BROWSE;
// 设置标题栏返回按钮
this.state.head.initShowBackBtn = true;
this.setState(this.state, () => {
- this.updateCardStatus({areaInfo, editmode: EDITMODE_BROWSE});
+ this.updateCardStatus({ areaInfo, editmode: EDITMODE_BROWSE });
// 填充卡片数据或清空卡片数据
- data ? this.fillCardData({data}) : this.clearCardData();
+ data ? this.fillCardData({ data }) : this.clearCardData();
// 更新按钮状态
this.updateBtnStatus();
// 获取保存后数据主键
let billId = data.head[areaInfo.formId].rows[0].values[FIELDS.PRIMARYKEY].value;
// 设置卡片翻页器当前主键,status(1为修改,2为新增,3为删除)
- this.props.cardPagination.setCardPaginationId({id: billId, status: isAdd ? 2 : 1});
+ this.props.cardPagination.setCardPaginationId({ id: billId, status: isAdd ? 2 : 1 });
// 提示
- toast({color: 'success', content: '保存成功'});
+ toast({ color: 'success', content: '保存成功' });
});
}
});
}, tableTypeObj, 'extcard');
}
- save = ({cardData, grandsonMap, areaInfo, callback = EMPTY_FN} = {}) => {
+ save = ({ cardData, grandsonMap, areaInfo, callback = EMPTY_FN } = {}) => {
ajax({
url: URLS.saveUrl,
data: {
@@ -2008,8 +2016,8 @@ export class ApplicationPage extends Component{
...areaInfo // 区域编码
},
success: (res) => {
- let {data: {data} = {}} = res;
- callback({data})
+ let { data: { data } = {} } = res;
+ callback({ data })
}
});
}
@@ -2019,7 +2027,7 @@ export class ApplicationPage extends Component{
* 点击保存新增
*/
onSaveAdd = () => {
- let {editmode, context} = this.state;
+ let { editmode, context } = this.state;
// 获取卡片区域编码
let areaInfo = this.getCardAreaCode();
// 卡片主表单必输项校验
@@ -2034,21 +2042,21 @@ export class ApplicationPage extends Component{
let tableTypeObj = {
[areaInfo.formId]: 'form'
};
- areaInfo.tableId.forEach(areacode => {tableTypeObj[areacode] = 'editTable'});
+ areaInfo.tableId.forEach(areacode => { tableTypeObj[areacode] = 'editTable' });
// 保存前执行校验公式
this.props.validateToSave(saveData, () => {
// 保存请求
this.save({
cardData: saveData,
areaInfo,
- callback: ({data}) => {
+ callback: ({ data }) => {
this.setState(this.state, () => {
// 获取保存后数据主键
let billId = data.head[areaInfo.formId].rows[0].values[FIELDS.PRIMARYKEY].value;
// 设置卡片翻页器当前主键,status(1为修改,2为新增,3为删除)
- this.props.cardPagination.setCardPaginationId({id: billId, status: isAdd ? 2 : 1});
+ this.props.cardPagination.setCardPaginationId({ id: billId, status: isAdd ? 2 : 1 });
// 提示
- toast({color: 'success', content: '保存成功'});
+ toast({ color: 'success', content: '保存成功' });
// 清空卡片数据
this.clearCardData();
// 获取模板默认值
@@ -2057,16 +2065,16 @@ export class ApplicationPage extends Component{
this.add({
billCard,
areaInfo,
- callback: ({data, billCodeContext}) => {
+ callback: ({ data, billCodeContext }) => {
// 填充卡片数据
- data && this.fillCardData({data});
+ data && this.fillCardData({ data });
// 处理编码规则
- this.handleCodeRule({billCodeContext});
+ this.handleCodeRule({ billCodeContext });
// 如果存在组织属性,并且个性化设置-业务设置那设置了组织,则默认在新增时把组织字段在界面上
- context && context.pk_org && this.props.form.setFormItemsValue(areaInfo.formId, {[FIELDS.PK_ORG]: {display: context.org_Name, value: context.pk_org}});
+ context && context.pk_org && this.props.form.setFormItemsValue(areaInfo.formId, { [FIELDS.PK_ORG]: { display: context.org_Name, value: context.pk_org } });
if (context && context && context.paramMap && context.paramMap.pk_transtype) {
- this.props.form.setFormItemsValue(areaInfo.formId, {[FIELDS.TRANSTYPEPK]: {display: context.paramMap.transtype_name, value: context.paramMap.pk_transtype}});
- this.props.form.setFormItemsValue(areaInfo.formId, {[FIELDS.TRANSTYPE]: {display: context.paramMap.transtype, value: context.paramMap.transtype}});
+ this.props.form.setFormItemsValue(areaInfo.formId, { [FIELDS.TRANSTYPEPK]: { display: context.paramMap.transtype_name, value: context.paramMap.pk_transtype } });
+ this.props.form.setFormItemsValue(areaInfo.formId, { [FIELDS.TRANSTYPE]: { display: context.paramMap.transtype, value: context.paramMap.transtype } });
}
// 更新按钮状态
this.updateBtnStatus();
@@ -2090,12 +2098,12 @@ export class ApplicationPage extends Component{
// 设置标题栏返回按钮
this.state.head.initShowBackBtn = true;
this.setState(this.state, () => {
- let {allpks} = this.state.list.table;
+ let { allpks } = this.state.list.table;
let billId = undefined;
// 获取卡片区域编码
let areaInfo = this.getCardAreaCode();
// 设置卡片主表单为浏览态
- this.updateCardStatus({areaInfo, editmode: EDITMODE_BROWSE});
+ this.updateCardStatus({ areaInfo, editmode: EDITMODE_BROWSE });
// 先从卡片主表单获取主键,如果有代表是修改取消,重新加载当前单据
billId = this.props.form.getFormItemsValue(areaInfo.formId, FIELDS.PRIMARYKEY).value;
if (!billId && allpks && allpks.length > 0) { // 如果是新增取消加载最后一条单据
@@ -2112,11 +2120,11 @@ export class ApplicationPage extends Component{
this.loadCardData({
billId,
areaInfo,
- callback: ({data}) => { // data为查询结果
+ callback: ({ data }) => { // data为查询结果
// 填充卡片数据或清空卡片数据
- data ? this.fillCardData({data}) : this.clearCardData();
+ data ? this.fillCardData({ data }) : this.clearCardData();
// 设置卡片翻页器当前主键,status(1为修改,2为新增,3为删除)
- this.props.cardPagination.setCardPaginationId({id: billId, status: 1});
+ this.props.cardPagination.setCardPaginationId({ id: billId, status: 1 });
// 更新按钮状态
this.updateBtnStatus();
}
@@ -2124,12 +2132,12 @@ export class ApplicationPage extends Component{
});
}
promptBox({
- color:'warning', // 弹框类型(success、info、warning、danger)
+ color: 'warning', // 弹框类型(success、info、warning、danger)
title: '取消', // 标题
content: '是否确认要取消?', // 提示内容
beSureBtnName: '确定', // 确定按钮显示内容
cancelBtnName: '取消', // 取消按钮显示内容
- beSureBtnClick : handleCancel // 点击确定按钮
+ beSureBtnClick: handleCancel // 点击确定按钮
})
}
@@ -2138,7 +2146,7 @@ export class ApplicationPage extends Component{
* 点击复制按钮
*/
onCopy = () => {
- let {showmode: oldShowmode} = this.state;
+ let { showmode: oldShowmode } = this.state;
// 获取选中行
let checkedDatas = this.getCheckedDatas();
// 获取选中行主键,多行取第一条,适配列表操作列优先从record中取值
@@ -2152,14 +2160,14 @@ export class ApplicationPage extends Component{
// 获取卡片区域编码
let areaInfo = this.getCardAreaCode();
// 设置卡片主表单为编辑态
- this.updateCardStatus({areaInfo, editmode: EDITMODE_ADD});
+ this.updateCardStatus({ areaInfo, editmode: EDITMODE_ADD });
this.copy({
billId,
areaInfo,
- callback: ({data, billCodeContext}) => {
- data ? this.fillCardData({data}) : this.clearCardData();
+ callback: ({ data, billCodeContext }) => {
+ data ? this.fillCardData({ data }) : this.clearCardData();
// 处理编码规则
- this.handleCodeRule({billCodeContext});
+ this.handleCodeRule({ billCodeContext });
// 更新按钮状态
this.updateBtnStatus();
// 根据列表数据初始化卡片翻页器
@@ -2169,7 +2177,7 @@ export class ApplicationPage extends Component{
});
}
- copy = ({billId, areaInfo, callback = EMPTY_FN}) => {
+ copy = ({ billId, areaInfo, callback = EMPTY_FN }) => {
ajax({
url: URLS.copyUrl,
data: {
@@ -2178,8 +2186,59 @@ export class ApplicationPage extends Component{
...areaInfo // 区域编码
},
success: (res = {}) => {
- let {data: {data, externalData: {billCodeContext} = {}} = {}} = res;
- callback({data, billCodeContext});
+ let { data: { data, externalData: { billCodeContext } = {} } = {} } = res;
+ callback({ data, billCodeContext });
+ }
+ });
+ }
+
+ /**
+ * 方法功能:
+ * 点击不合格审批单按钮
+ */
+ 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 });
}
});
}
@@ -2207,7 +2266,7 @@ export class ApplicationPage extends Component{
* 打印
*/
onPrint = () => {
- let {showmode} = this.state;
+ let { showmode } = this.state;
// 获取选中行
let checkedDatas = this.getCheckedDatas();
// 遍历得到选中行pk数组
@@ -2219,7 +2278,7 @@ export class ApplicationPage extends Component{
this.state.printOutput.data.nodekey = nodekey;
this.state.printOutput.data.outputType = 'print'; // 打印
this.setState(this.state, () => {
- let {printOutput} = this.state;
+ let { printOutput } = this.state;
// 调用打印API
print('pdf', printOutput.url, printOutput.data);
});
@@ -2230,7 +2289,7 @@ export class ApplicationPage extends Component{
* 输出
*/
onOutput = () => {
- let {showmode} = this.state;
+ let { showmode } = this.state;
// 获取选中行
let checkedDatas = this.getCheckedDatas();
// 遍历得到选中行pk数组
@@ -2242,7 +2301,7 @@ export class ApplicationPage extends Component{
this.state.printOutput.data.nodekey = nodekey;
this.state.printOutput.data.outputType = 'output'; // 输出
this.setState(this.state, () => {
- let {printOutput} = this.state;
+ let { printOutput } = this.state;
// 显示输出组件
output(printOutput);
})
@@ -2261,7 +2320,7 @@ export class ApplicationPage extends Component{
this.state.uploader.visible = true;
// 设置附件管理组件的主键
this.state.uploader.billId = billId;
- this.setState(this.state, () => {});
+ this.setState(this.state, () => { });
}
/**
@@ -2277,7 +2336,7 @@ export class ApplicationPage extends Component{
* @param type 表格内为line,弹窗为modal
* @param method 有blur有change
*/
- onAfterEditFormlist = (props, moduleId, key, value, changedrows, index, record,type, method) => {
+ onAfterEditFormlist = (props, moduleId, key, value, changedrows, index, record, type, method) => {
/**
* Demo[1] 联动赋值
* 场景:卡片子表上同时有物料、物料分类字段,物料受物料分类影响
@@ -2365,7 +2424,7 @@ export class ApplicationPage extends Component{
* @param modelCode
*/
onFormlistModelSave = (modelCode) => {
- let {editmode} = this.state;
+ let { editmode } = this.state;
// 获取卡片区域编码
let areaInfo = this.getCardAreaCode();
// 卡片主表单必输项校验
@@ -2380,32 +2439,32 @@ export class ApplicationPage extends Component{
let tableTypeObj = {
[areaInfo.formId]: 'form'
};
- areaInfo.tableId.forEach(areacode => {tableTypeObj[areacode] = 'editTable'});
+ areaInfo.tableId.forEach(areacode => { tableTypeObj[areacode] = 'editTable' });
// 保存前执行校验公式
this.props.validateToSave(saveData, () => {
// 保存请求
this.save({
cardData: saveData,
areaInfo,
- callback: ({data}) => {
+ callback: ({ data }) => {
// 设置页面模式
this.state.editmode = EDITMODE_BROWSE;
// 设置标题栏返回按钮
this.state.head.initShowBackBtn = true;
this.setState(this.state, () => {
- this.updateCardStatus({areaInfo, editmode: EDITMODE_BROWSE});
+ this.updateCardStatus({ areaInfo, editmode: EDITMODE_BROWSE });
// 填充卡片数据或清空卡片数据
- data ? this.fillCardData({data}) : this.clearCardData();
+ data ? this.fillCardData({ data }) : this.clearCardData();
// 更新按钮状态
this.updateBtnStatus();
// 获取保存后数据主键
let billId = data.head[areaInfo.formId].rows[0].values[FIELDS.PRIMARYKEY].value;
// 设置卡片翻页器当前主键,status(1为修改,2为新增,3为删除)
- this.props.cardPagination.setCardPaginationId({id: billId, status: isAdd ? 2 : 1});
+ this.props.cardPagination.setCardPaginationId({ id: billId, status: isAdd ? 2 : 1 });
// 关闭侧拉
this.props.cardTable.closeModel(modelCode);
// 提示
- toast({color: 'success', content: '保存成功'});
+ toast({ color: 'success', content: '保存成功' });
});
}
});
@@ -2476,9 +2535,9 @@ export class ApplicationPage extends Component{
}
onCardTableExpandLine = (tableId, row) => {
- let {editmode} = this.state;
+ let { editmode } = this.state;
let status = editmode == EDITMODE_BROWSE ? EDITMODE_BROWSE : EDITMODE_EDIT;
- this.props.cardTable.openModel(tableId, status, row.data, row.index, () => {});
+ this.props.cardTable.openModel(tableId, status, row.data, row.index, () => { });
}
onCardTableCopy = (tableId, row) => {
@@ -2494,8 +2553,8 @@ export class ApplicationPage extends Component{
}
onCardTablePast = (tableId, row) => {
- let {card} = this.state;
- let {copiedArea, copiedRows} = card;
+ let { card } = this.state;
+ let { copiedArea, copiedRows } = card;
if (tableId != copiedArea) {
return;
}
@@ -2510,9 +2569,9 @@ export class ApplicationPage extends Component{
beforePastCardTable = (tableId, row) => {
switch (tableId) {
case 'dhjydSlave0Sub':
- row.values['pk_chekbill_b'] = {value: '', display: ''};
- row.values['rowno'] = {value: '', display: ''};
- row.values['srcrowno'] = {value: '', display: ''};
+ row.values['pk_chekbill_b'] = { value: '', display: '' };
+ row.values['rowno'] = { value: '', display: '' };
+ row.values['srcrowno'] = { value: '', display: '' };
break;
default:
break;
@@ -2539,15 +2598,15 @@ export class ApplicationPage extends Component{
onRowClickTable = (props, moduleId, record, index, e) => {
}
-
-
- /**
+
+
+ /**
* 方法功能:
* 提交/撤回/审批 等 流程操作
* @param param
*/
onFlow = (param = {}) => {
- let {actionName, assign, callback, record, index} = param;
+ let { actionName, assign, callback, record, index } = param;
// 获取选中行
let checkedDatas = this.getCheckedDatas();
checkedDatas = checkedDatas.filter(row => {
@@ -2561,20 +2620,20 @@ export class ApplicationPage extends Component{
});
// 构建tsMap:{主键: ts},适配列表操作列优先从record中取值
let tsMap = {};
- record ? Object.assign(tsMap, {[record[FIELDS.PRIMARYKEY].value]: record.ts.value})
- : checkedDatas.forEach(row => Object.assign(tsMap, {[row.values[FIELDS.PRIMARYKEY].value]: row.values['ts'].value}));
+ record ? Object.assign(tsMap, { [record[FIELDS.PRIMARYKEY].value]: record.ts.value })
+ : checkedDatas.forEach(row => Object.assign(tsMap, { [row.values[FIELDS.PRIMARYKEY].value]: row.values['ts'].value }));
tsMap = assign ? this.state.approvalTrans.tsMap : tsMap;
this.state.approvalTrans.tsMap = {};
// 获取主键数组
let pks = Object.keys(tsMap);
if (!pks || !pks.length) { // 无选中行
- toast({content:'请先选择操作的记录',color:'warning'});
+ toast({ content: '请先选择操作的记录', color: 'warning' });
return false;
}
let requestParam = { // 构建请求参数
tsMap: tsMap, // tsMap
actionName, // 单据动作编码
- userJson:{assign} // 指派参数
+ userJson: { assign } // 指派参数
};
// 执行请求
ajax({
@@ -2582,33 +2641,33 @@ export class ApplicationPage extends Component{
data: requestParam,
url: URLS.auditUrl,
success: (res) => {
- if(res.success) { // 操作成功
- //获取需要指派的数据。
- let assignRes = pks.map((pk,index)=> res.data && {...res.data[pk],pk,index} ).filter(item=>
- item && (item.workflow=="approveflow" || item.workflow=="workflow")
+ if (res.success) { // 操作成功
+ //获取需要指派的数据。
+ let assignRes = pks.map((pk, index) => res.data && { ...res.data[pk], pk, index }).filter(item =>
+ item && (item.workflow == "approveflow" || item.workflow == "workflow")
);
//无法批量指派,如果只有一个需要指派给出提示
- if(assignRes.length==1){
- this.state.approvalTrans.data=assignRes[0];
- this.state.approvalTrans.display=true;
+ if (assignRes.length == 1) {
+ this.state.approvalTrans.data = assignRes[0];
+ this.state.approvalTrans.display = true;
this.state.approvalTrans.tsMap = tsMap;
this.setState(this.state);
- return ;
- }else if(assignRes.length>1){//如果多个需要指派,报错提示
- let title = "提交失败",content = "共处理"+pks.length+"条,失败"+assignRes.length+"条";
- let groupOperationMsg = assignRes.map(item=>"第"+index+"张单据处理失败:单据存在指派信息");
- toast({title,content,groupOperationMsg,color:'danger'});
- return ;
+ return;
+ } else if (assignRes.length > 1) {//如果多个需要指派,报错提示
+ let title = "提交失败", content = "共处理" + pks.length + "条,失败" + assignRes.length + "条";
+ let groupOperationMsg = assignRes.map(item => "第" + index + "张单据处理失败:单据存在指派信息");
+ toast({ title, content, groupOperationMsg, color: 'danger' });
+ return;
}
-
-
- let {showmode} = this.state;
+
+
+ let { showmode } = this.state;
if (showmode == SHOWMODE_LIST) { // 列表页面操作时
// 调用列表查询方法,通过回调处理查询结果
this.listTableData({
callback: (data) => { // data为查询结果
// 执行列表查询后操作
- this.afterLoadList({data});
+ this.afterLoadList({ data });
}
});
} else if (showmode == SHOWMODE_CARD) { // 卡片页面操作时
@@ -2618,9 +2677,9 @@ export class ApplicationPage extends Component{
this.loadCardData({
billId: pks[0],
areaInfo: area,
- callback: ({data}) => { // data为查询结果
+ callback: ({ data }) => { // data为查询结果
// 填充卡片数据或清空卡片数据
- data ? this.fillCardData({data}) : this.clearCardData();
+ data ? this.fillCardData({ data }) : this.clearCardData();
// 更新按钮状态
this.updateBtnStatus();
}
@@ -2630,7 +2689,7 @@ export class ApplicationPage extends Component{
}
// 是否需要进行指派
- if(res.data && res.data.workflow && (res.data.workflow == "approveflow" || res.data.workflow == "workflow")){
+ if (res.data && res.data.workflow && (res.data.workflow == "approveflow" || res.data.workflow == "workflow")) {
// 设置指派组件数据并显示
this.setState({
compositeData: res.data,
@@ -2652,7 +2711,7 @@ export class ApplicationPage extends Component{
assign: value, // 指派信息
callback: () => {
// 提示
- toast({ content: '提交成功!', color: 'success'});
+ toast({ content: '提交成功!', color: 'success' });
}
});
// 关闭指派组件
@@ -2665,12 +2724,12 @@ export class ApplicationPage extends Component{
*/
onCloseAssgin = () => {
// 重置指派组件数据并设置不显示
- this.state.approvalTrans.data={};
- this.state.approvalTrans.display=false;
+ this.state.approvalTrans.data = {};
+ this.state.approvalTrans.display = false;
this.setState(this.state);
};
-
- /**
+
+ /**
* 方法功能:
* 关闭审批详情
*/
@@ -2688,7 +2747,7 @@ export class ApplicationPage extends Component{
* index 列表操作列参数,操作行下标
* callback 回调
*/
- onApproveDetail = ({record, index, callback = EMPTY_FN} = {}) => {
+ onApproveDetail = ({ record, index, callback = EMPTY_FN } = {}) => {
// 获取选中行
let checkedDatas = this.getCheckedDatas();
// 获取选中行的主键、交易类型、单据类型,默认是第一行
@@ -2713,7 +2772,7 @@ export class ApplicationPage extends Component{
// 获取选中行
let checkedDatas = this.getCheckedDatas();
if (!checkedDatas) { // 无选中行
- toast({color: 'warning', content: '请选择操作数据!'});
+ toast({ color: 'warning', content: '请选择操作数据!' });
return;
}
// 设置单据追溯组件配置并显示
@@ -2726,7 +2785,7 @@ export class ApplicationPage extends Component{
ApplicationPage = createPage({
- initTemplate:{},
+ initTemplate: {},
billinfo: {
billtype: 'extcard',
pagecode: '4004012H9_dhjydMaster',