diff --git a/src/components/Common/CommonBase.js b/src/components/Common/CommonBase.js
index 23557a2..087a1e6 100644
--- a/src/components/Common/CommonBase.js
+++ b/src/components/Common/CommonBase.js
@@ -21,18 +21,18 @@ export default (ChildComponent) => {
super(props);
this.state = {
pageLoading: true,
- token: props.routing ? props.formRoute === '/indexOee' ? props.app.token : '' : props.app.token, // /indexOee为oee报产页面
+ token: props.routing ? (props.formRoute === '/indexOee' || props.formRoute === '/indexMobile') ? props.app.token : '' : props.app.token, // /indexOee为oee报产页面
sTabId: this.handleConfigValue('key', props.formRoute), // type无论是indexoee和一般的都使用eles
sSrcModelsId: props.app.currentPane.sSrcModelsId, /* 获取配置数据用的modelId */
- sModelsId: props.routing ? props.sModelsId : (commonUtils.isNotEmptyStr(props.formRoute) && props.formRoute.indexOf('/indexOee') > -1) ? props.sModelsId : this.handleConfigValue('formId'), /* 获取配置数据用的modelId */
- formRoute: props.routing ? props.formRoute : (commonUtils.isNotEmptyStr(props.formRoute) && props.formRoute.indexOf('/indexOee') > -1) ? props.formRoute : this.handleConfigValue('route'), /* 组件名: 路由名称 */
+ sModelsId: props.routing ? props.sModelsId : (commonUtils.isNotEmptyStr(props.formRoute) && (props.formRoute.indexOf('/indexOee') > -1 || props.formRoute.indexOf('/indexMobile') > -1)) ? props.sModelsId : this.handleConfigValue('formId'), /* 获取配置数据用的modelId */
+ formRoute: props.routing ? props.formRoute : (commonUtils.isNotEmptyStr(props.formRoute) && (props.formRoute.indexOf('/indexOee') > -1 || props.formRoute.indexOf('/indexMobile') > -1)) ? props.formRoute : this.handleConfigValue('route'), /* 组件名: 路由名称 */
formSrcRoute: props.routing ? props.routing.pathname.replace('/', '') : commonUtils.isNotEmptyObject(location.pathname) && location.pathname.toLowerCase() === '/loginoee' ? '/commonAuto' : '',
sModelsType: this.handleConfigValue('sModelsType', props.formRoute), /* 组件名: 路由名称 */
bFastOrderView: this.handleConfigValue('bFastOrderView'), /* 是否显示快速下单 */
formData: [], /* 所有配置 */
gdsformconst: [], /* 获取配置常量 */
gdsjurisdiction: [], /* 获取配置权限 */
- currentId: (commonUtils.isNotEmptyStr(props.formRoute) && props.formRoute.indexOf('/indexOee') > -1) ? props.checkedId : props.app.currentPane.checkedId, /* 当前数据的Id */
+ currentId: (commonUtils.isNotEmptyStr(props.formRoute) && (props.formRoute.indexOf('/indexOee') > -1 || props.formRoute.indexOf('/indexMobile') > -1)) ? props.checkedId : props.app.currentPane.checkedId, /* 当前数据的Id */
selectedRowKeys: [], /* 已选择的数据行(数据格式:数组) */
clearArray: [], /* table清除数组 */
calculated: false, // 工单是否经过计算
@@ -84,7 +84,7 @@ export default (ChildComponent) => {
if (this.state.sTabId && !this.state.noChangeDiffMap) {
this.props.dispatch({ type: 'app/changeDiffMap', payload: { sTabId: this.state.sTabId, changed: false } });
}
- if (this.state.formRoute && this.state.formRoute.indexOf('/indexOee') > -1 && this.state.sModelsId && this.state.formRoute) {
+ if (this.state.formRoute && (this.state.formRoute.indexOf('/indexOee') > -1 || this.state.formRoute.indexOf('/indexMobile') > -1) && this.state.sModelsId && this.state.formRoute) {
const sModelData = {
sModelsId: this.state.sModelsId,
formRoute: this.state.formRoute,
@@ -110,7 +110,7 @@ export default (ChildComponent) => {
// }
const currentKey = nextProps.app.currentPane.key; /* 当前页签key */
const { formData } = nextState;
- if (commonUtils.isNotEmptyObject(nextProps.formRoute) && nextProps.formRoute.indexOf('/indexOee') > -1) {
+ if (commonUtils.isNotEmptyObject(nextProps.formRoute) && (nextProps.formRoute.indexOf('/indexOee') > -1 || nextProps.formRoute.indexOf('/indexMobile') > -1)) {
return (formData.length > 0);
}
/* 处理loginOee下拉框切换 重新渲染 */
@@ -716,7 +716,7 @@ export default (ChildComponent) => {
/* 获取配置数据用的sTabId,formId,formRoute */
handleConfigValue = (value, type) => {
- if (commonUtils.isNotEmptyObject(type) && type.indexOf('/indexOee') > -1) {
+ if (commonUtils.isNotEmptyObject(type) && (type.indexOf('/indexOee') > -1 || type.indexOf('/indexMobile') > -1)) {
return this.props[value];
} else {
const { secondppopupPane, ppopupPane, currentPane } = this.props.app;
diff --git a/src/components/Common/CommonNewBillEvent.js b/src/components/Common/CommonNewBillEvent.js
index b386524..dbc5a3c 100644
--- a/src/components/Common/CommonNewBillEvent.js
+++ b/src/components/Common/CommonNewBillEvent.js
@@ -45,7 +45,7 @@ export default ChildComponent => {
// };
this.form = {}; /* 表单对象 */
this.copyName = "";
- const { sModelsId, sModelsType } = props;
+ const { sModelsId, sModelsType = "" } = props;
if (sModelsType.includes("cashier/")) {
commonUtils.setStoreDropDownData(sModelsId, "master", "sCustomerId", []);
commonUtils.setStoreDropDownData(sModelsId, "master", "sCustomerNo", []);
diff --git a/src/components/Common/ToolBar/ToolBarNew.js b/src/components/Common/ToolBar/ToolBarNew.js
index facab8a..f706da7 100644
--- a/src/components/Common/ToolBar/ToolBarNew.js
+++ b/src/components/Common/ToolBar/ToolBarNew.js
@@ -4525,6 +4525,7 @@ class ToolBarComponent extends Component {
pageLoading: false,
};
+ if (this.props.customRender) return this.props.customRender({ ...this.props, menuDataCopy, getMenuProps: this.getMenuProps, handleClick: this.handleClick });
return (
diff --git a/src/mobile/common/CommobilePadBill/index.js b/src/mobile/common/CommobilePadBill/index.js
new file mode 100644
index 0000000..cdbe24a
--- /dev/null
+++ b/src/mobile/common/CommobilePadBill/index.js
@@ -0,0 +1,3775 @@
+/* eslint-disable */
+
+import React, { Component, useState, useRef, useEffect } from "react";
+import { Form } from "@ant-design/compatible";
+// import '@ant-design/compatible/assets/index.css';
+import { Row, Col, Checkbox, Layout, Spin, Tabs, Dropdown, Avatar, Button, Menu, Table, Upload } from "antd-v4";
+import { message } from "@/utils/common/message";
+import { DownOutlined, UploadOutlined } from "@ant-design/icons";
+import CommonNewSales from "@/components/Common/CommonNewBillEvent"; /* 继承销售模块业务功能 */
+import * as commonFunc from "@/components/Common/commonFunc"; /* 通用单据方法 */ /* 通用单据方法 */
+import Toolbar from "@/components/Common/ToolBar/ToolBarNew";
+import StaticEditTable from "@/components/Common/CommonTable"; /* 可编辑表格 */
+import styles from "@/index.less";
+import stylesNew from "./index.less"
+import AssignmentField from "@/components/Common/AssignmentField";
+import CommonView from "@/components/Common/CommonView";
+import CommonViewTable from "@/components/Common/CommonViewTable";
+import CommonBase from "@/components/Common/CommonBase"; /* 获取配置及数据 */
+import * as commonBusiness from "@/components/Common/commonBusiness"; /* 单据业务功能 */
+import commonConfig from "@/utils/config";
+import * as commonUtils from "@/utils/utils"; /* 通用方法 */
+import * as commonServices from "@/services/services"; /* 服务类 */
+import AddIcon from "@/assets/add.svg";
+import DisableAddIcon from "@/assets/disableadd.svg";
+import CopyIcon from "@/assets/copy.svg";
+import CopyAllIcon from "@/assets/copyall.svg";
+import DisableCopyIcon from "@/assets/disablecopy.svg";
+import DisableCopyAllIcon from "@/assets/disablecopyall.svg";
+import DelIcon from "@/assets/delete.svg";
+import DisableDelIcon from "@/assets/disabledelete.svg"; /* 获取配置及数据 */
+import AntdDraggableModal from "@/components/Common/AntdDraggableModal";
+import CommonListSelect from "@/components/Common/CommonListSelect";
+import WorkCalendar from "@/components/Common/WorkCalendar/WorkCalendar";
+import ContextMenuModal from "@/components/Common/ContextMenuModal";
+import CommonViewDragable from "@/components/Common/CommonViewDragable";
+import CommonExamInfo from "@/components/Common/CommonExamInfo";
+import JsonFormatter from "@/components/Common/Json/JsonFormatter";
+import lodash from "lodash";
+import userImgs from "@/assets/user.svg";
+
+// import ProcessIcon from '../../assets/process.svg';
+// import DisableProcessIcon from '../../assets/disableprocess.svg';
+// import MateriallIcon from '../../assets/material.svg';
+// import DisableMateriallIcon from '../../assets/disablematerial.svg';
+// import SlaveMemo from './SlaveMemo';
+
+const width = "18px";
+const height = "18px";
+const setAdd = {
+ title: "增加",
+ width: { width },
+ height: { height },
+ img:

,
+ disableimg:

,
+};
+const setCopy = {
+ title: "复制",
+ width: { width },
+ height: { height },
+ img:

,
+ disableimg:

,
+};
+const setCopyAll = {
+ title: "复制部件",
+ width: { width },
+ height: { height },
+ img:

,
+ disableimg:

,
+};
+const setDelete = {
+ title: "删除",
+ width: { width },
+ height: { height },
+ img:

,
+ disableimg:

,
+};
+// const setProcess = {
+// title: '工序',
+// width: { width },
+// height: { height },
+// img:

,
+// disableimg:

,
+// };
+// const setMaterial = {
+// title: '材料',
+// width: { width },
+// height: { height },
+// img:

,
+// disableimg:

,
+// };
+
+// console.log('btn; ', setAdd, setDelete, setCopy);
+const { Header, Content } = Layout;
+const { TabPane } = Tabs;
+
+let _this = {};
+
+// const { confirm } = Modal;
+class CommonNewBill0 extends Component {
+ constructor(props) {
+ super(props);
+ this.state = {
+ currentTab: "",
+ };
+ _this = this;
+ }
+
+ componentDidUpdate() {
+ // 没有默认页签情况下, 非编辑状态进入,展示第一个tab
+ const { enabled, masterConfig } = this.props;
+ // 获取默认展开tab
+ const defaultTabConfig =
+ masterConfig &&
+ masterConfig.gdsconfigformslave.find(
+ item =>
+ ["MainContent", "zMaterials", "zCheck", ...new Array(10).fill("").map((_, index) => `zSlaveInfo${index}`)].includes(item.sControlName) &&
+ item.sDefault
+ );
+ if (!enabled && !this.firstLoaded && commonUtils.isEmptyObject(defaultTabConfig)) {
+ clearTimeout(this.timer);
+ this.timer = setTimeout(() => {
+ this.firstLoaded = true;
+ if (this.slaveTabsRef) {
+ const oFirstTab = this.slaveTabsRef.querySelector(".ant-tabs-nav-list")?.querySelector(".ant-tabs-tab");
+ if (oFirstTab) {
+ // 创建一个自定义的 click 事件
+ const clickEvent = new Event("click", { bubbles: true, cancelable: true });
+ // 触发该元素的 click 事件
+ oFirstTab.dispatchEvent(clickEvent);
+ }
+ }
+ }, 500);
+ }
+ }
+
+ /** 行选择 */
+ onRowClick = (name, record) => {
+ if (name === "control") {
+ this.props.onTableSelectRowChange(name, [record.sId]);
+ }
+ };
+
+ onChange = checkedValues => {
+ this.props.onSaveState({
+ dataPersonArray: checkedValues,
+ });
+ };
+ getMenuStatus = menu => {
+ if (menu.sControlName === "BtnImport") {
+ return !this.props.enabled;
+ }
+ };
+
+ /** 上传后执行函数 */
+ // handleUploadChange = (info) => {
+ // const { file } = info;
+ // console.log(info, 'infoinfoinfoinfoinfoinfoinfoinfoinfo');
+ // const { masterData, sModelsId, slaveConfig } = this.props;
+ // if (file.response) {
+ // if (file.response.code === 1) {
+ // /* 数据查询成功 */
+ // const errorInfo = file.response.dataset.rows[0].nocanbeInsert;
+ // if (commonUtils.isNotEmptyObject(errorInfo)) {
+ // message.error(errorInfo[0].sReason);
+ // return;
+ // }
+ // const returnData = file.response.dataset.rows[0].canbeInsert;
+ // returnData.forEach(async (tableDataRow) => {
+ // tableDataRow.handleType = 'add';
+ // tableDataRow.sId = commonUtils.createSid();
+ // tableDataRow.sParentId = masterData.sId;
+ // tableDataRow.key = tableDataRow.sId;
+ // for (const child of Object.keys(tableDataRow)) {
+ // const index = child.indexOf('_sRealValue_');
+ // if (index > -1) {
+ // const property = child.substring(0, child.length - 12);
+ // tableDataRow[property] = tableDataRow[child];
+ // }
+ // }
+ // // const productIdDropDown = commonUtils.getStoreDropDownData(sModelsId, 'slave', 'sProductId');
+ // let productIdDropDown;
+ // const slaveIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === 'sProductId');
+ // if (slaveIndex > -1) {
+ // const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'slave', slaveConfig.gdsconfigformslave[slaveIndex]);
+ // productIdDropDown = sqlDropDownData.dropDownData;
+ // }
+ // if (productIdDropDown !== undefined) {
+ // const iProductIdIndex = productIdDropDown.findIndex(item => item.sId === tableDataRow.sProductId);
+ // if (iProductIdIndex === -1) {
+ // tableDataRow.sProductInfo = JSON.stringify({
+ // sProductId: tableDataRow.sProductName,
+ // sProductName: tableDataRow.sProductName,
+ // sProductStyle: tableDataRow.sProductStyle,
+ // sProductUnit: tableDataRow.sProductUnit,
+ // sProductNo: tableDataRow.sProductNo,
+ // sCustomerProductNo: tableDataRow.sCustomerProductNo,
+ // sProductClassifyId: tableDataRow.sProductClassifyId,
+ // sProductClassifyName: tableDataRow.sProductClassifyName,
+ // });
+ // }
+ // }
+ // });
+ // this.props.onSaveState({ slaveData: returnData });
+ // } else { /* 失败 */
+ // this.props.getServiceError(file.response);
+ // }
+ // }
+ // };
+ /** 图片上传后执行函数 */
+ handleUploadChange = (info, name) => {
+ const { file } = info;
+ if (file.response && file.response.code === 1) {
+ const sPicturePath = file.response.dataset.rows[0].savePathStr;
+ const uploadInfo = {
+ sPicturePath,
+ sFileName: file.name,
+ };
+ const tableDataRow = this.props.onDataRowAdd(name, true);
+ const { [`${name}Column`]: tableColumn, masterData, [`${name}Data`]: tableData } = this.props;
+ tableColumn.forEach(slaveChild => {
+ const ckey = slaveChild.dataIndex;
+ if (ckey === "sProductNo" || ckey === "sProductName") {
+ tableDataRow[ckey] = masterData[ckey] !== undefined ? masterData[ckey] : "";
+ } else if (ckey === "iOrder") {
+ tableDataRow[ckey] = "";
+ } else if (file.response && file.response.code === 1) {
+ if (uploadInfo[ckey] !== undefined) {
+ tableDataRow[ckey] = uploadInfo[ckey];
+ }
+ }
+ });
+ tableData.push(tableDataRow);
+ this.props.onSaveState({ [`${name}Data`]: tableData, enabled: true });
+ } else if (file.response && file.response.code === -1) {
+ message.error(file.response.msg);
+ }
+ };
+ handleUploadPropsSales = () => {
+ const { masterData, sModelsType } = this.props;
+ if (commonUtils.isNotEmptyObject(masterData)) {
+ const sCustomerId = commonUtils.isEmptyStr(masterData.sCustomerId) ? undefined : masterData.sCustomerId;
+ let existCustomerId = false;
+ if (sModelsType.includes("sales/") && commonUtils.isNotEmptyStr(sCustomerId)) {
+ existCustomerId = true;
+ } else if (!sModelsType.includes("sales/")) {
+ existCustomerId = true;
+ }
+ return {
+ disabled: !this.props.enabled || !existCustomerId /* 是否可用 */,
+ style: { display: commonUtils.convertBooleanToDisplayBlock(true) } /* 是否显示 */,
+ };
+ }
+ };
+
+ handleOk = async (flag, tmpCheck, isWait) => {
+ const { sModelsId, masterData, app, checkConditions, sCheckModelId, checkPersonData, currentId, masterConfig, slaveConfig, checkConfig } =
+ this.props;
+ const { currentPane } = app;
+ const bCkxTmpCheck = app.systemData.filter(item => item.sName === "CkxTmpCheck")[0].sValue;
+ if (bCkxTmpCheck === "1") {
+ const returnData = await this.props.onDataAudit(flag, tmpCheck, isWait);
+ if (returnData.code === 1) {
+ if (returnData.dataset.rows[0].dataSet.outData[0].sCode === 1) {
+ this.props.onGetData(masterConfig, slaveConfig, checkConfig);
+ message.success(returnData.msg);
+ } else {
+ message.error(returnData.dataset.rows[0].dataSet.outData[0].sReturn);
+ }
+ } else {
+ /* 失败 */
+ this.props.getServiceError(returnData);
+ }
+ } else {
+ const dataPersonArray = commonUtils.isEmptyObject(this.props.dataPersonArray) ? [] : this.props.dataPersonArray;
+ if (commonUtils.isEmptyObject(dataPersonArray)) {
+ checkPersonData.forEach(item => {
+ dataPersonArray.push(item.sUserId);
+ });
+ }
+ const dataPersonString = dataPersonArray.join(",");
+ const url = `${commonConfig.server_host}business/getProData?sModelsId=${sModelsId}`;
+ const value = {
+ sProName: "Sp_System_AutoSendCheckMsg",
+ paramsMap: {
+ sFormGuid: sModelsId,
+ sBillKey: currentPane.sProcName,
+ sTbName: masterConfig.sTbName,
+ sGuid: masterData.sId,
+ sBillNo: masterData.sBillNo,
+ sCheckCondition: checkConditions,
+ sMemo: "",
+ sCheckModelGuid: sCheckModelId,
+ sCheckPerson: dataPersonString,
+ },
+ };
+
+ const returnData = (await commonServices.postValueService(app.token, value, url)).data;
+ if (returnData.code === 1) {
+ const noCheckMsg = commonFunc.showMessage(app.commonConst, "NoCheckMsg"); /* 您有消息待审核 */
+ if (returnData.dataset.rows[0].dataSet.outData[0].sCode === 1) {
+ this.props.handleSendSocketMessage("examine", "showImg", currentId, dataPersonString, noCheckMsg, null);
+ const urlCanCheckBill = `${commonConfig.server_host}checkModel/getCanCheckBill?sModelsId=${sModelsId}`;
+ const valueCanCheckBill = { sCheckModelId, checkPersonData, sBillId: masterData.sId };
+ const returnCanCheckBill = (await commonServices.postValueService(app.token, valueCanCheckBill, urlCanCheckBill)).data;
+ if (returnCanCheckBill.code === 1) {
+ if (returnCanCheckBill.dataset.rows[0].iCount === 1) {
+ this.props.onDataAudit(1, 1);
+ this.props.onSaveState({
+ visible: false,
+ });
+ return;
+ }
+ } else {
+ /* 失败 */
+ this.props.getServiceError(returnCanCheckBill);
+ }
+ this.props.handleSendSocketMessage("reflush", "showImg", currentId, dataPersonString, noCheckMsg, null);
+ message.success(returnData.msg);
+ } else {
+ message.error(returnData.dataset.rows[0].dataSet.outData[0].sReturn);
+ }
+ } else {
+ /* 失败 */
+ this.props.getServiceError(returnData);
+ }
+ }
+ this.props.onSaveState({
+ visible: false,
+ });
+ };
+
+ handleCancel = () => {
+ this.props.onSaveState({
+ visible: false,
+ });
+ };
+ handleTableModal = async () => {
+ const { sModelsId, controlData, masterData, slaveData, controlConfig, slaveSelectedRowKeys, enabled, slaveConfig } = this.props;
+ const addState = {};
+ if (this.props.sModelsType === "sales/salesOrder") {
+ const iSlaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]);
+ const iIndex = controlData.findIndex(item => item.sSlaveId === slaveSelectedRowKeys[0]);
+ if (iIndex === -1 && iSlaveIndex > -1 && enabled) {
+ const allTableData = {};
+ allTableData.master = masterData;
+ allTableData.slaveData = slaveData;
+ // let dropdownProductClassifyId = commonUtils.getStoreDropDownData(sModelsId, 'slave', 'sProductClassifyId');
+ let dropdownProductClassifyId;
+ const slaveIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === "sProductClassifyId");
+ if (slaveIndex > -1) {
+ const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, "slave", slaveConfig.gdsconfigformslave[slaveIndex]);
+ dropdownProductClassifyId = sqlDropDownData.dropDownData;
+ }
+ if (commonUtils.isEmptyArr(dropdownProductClassifyId)) {
+ const iIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === "sProductClassifyName");
+ if (iIndex > -1) {
+ const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, "slave", slaveConfig.gdsconfigformslave[iIndex]);
+ dropdownProductClassifyId = sqlDropDownData.dropDownData;
+ }
+ // dropdownProductClassifyId = commonUtils.getStoreDropDownData(sModelsId, 'slave', 'sProductClassifyName');
+ }
+ if (commonUtils.isNotEmptyArr(dropdownProductClassifyId)) {
+ const iProductClassifyIdIndex = dropdownProductClassifyId.findIndex(item => item.sId === slaveData[iSlaveIndex].sProductClassifyId);
+ if (commonUtils.isNotEmptyObject(dropdownProductClassifyId[iProductClassifyIdIndex])) {
+ const sAllPartsName = dropdownProductClassifyId[iProductClassifyIdIndex].sAllPartsName;
+ if (commonUtils.isNotEmptyStr(sAllPartsName)) {
+ const sAssignFieldObj = sAllPartsName.split(",");
+ for (const child of sAssignFieldObj) {
+ const tableDataRowAdd = commonFunc.getDefaultData(controlConfig, allTableData);
+ tableDataRowAdd.handleType = "add";
+ tableDataRowAdd.sId = commonUtils.createSid();
+ tableDataRowAdd.sParentId = masterData && masterData.sId ? masterData.sId : null;
+ tableDataRowAdd.sSlaveId = slaveSelectedRowKeys[0];
+ tableDataRowAdd.key = tableDataRowAdd.sId;
+ tableDataRowAdd.bDefault = false;
+ tableDataRowAdd.iOrder = 0;
+ tableDataRowAdd.sPartsName = child;
+ tableDataRowAdd.dPartsQty = slaveData[iSlaveIndex].dProductQty;
+ controlData.push(tableDataRowAdd);
+ }
+ }
+ }
+ }
+ addState.controlData = controlData;
+ }
+
+ if (controlData !== undefined) {
+ const iControlIndex = controlData.findIndex(item => item.sSlaveId === slaveSelectedRowKeys[0]);
+ if (iControlIndex > -1) {
+ addState.controlSelectedRowKeys = [controlData[iControlIndex].sId];
+ }
+ }
+ }
+
+ this.props.onSaveState({
+ visibleModal: true,
+ ...addState,
+ });
+ };
+ handleTableChooseProcess = () => {
+ const { processConfig } = this.props;
+ const iIndex = processConfig.gdsconfigformslave.findIndex(item => item.sControlName === "BtnChooseProcess");
+
+ if (iIndex > -1) {
+ this.props.onBtnChoose("process", "BtnChooseProcess", processConfig.gdsconfigformslave[iIndex]);
+ }
+ };
+ handleCancelModal = modelVisible => {
+ this.props.onSaveState({
+ [modelVisible]: false,
+ });
+ };
+ handleOkModal = () => {
+ const { controlData, slave0Data, processData, sModelsId, slaveData, slaveSelectedRowKeys, materialsConfig, processConfig } = this.props;
+ const ctData = controlData.filter(item => item.handleType !== "del" && item.sSlaveId === slaveSelectedRowKeys[0]);
+ const mtData = slave0Data.filter(item => item.handleType !== "del" && item.sSlaveId === slaveSelectedRowKeys[0]);
+ const pData = processData.filter(item => item.handleType !== "del" && item.sSlaveId === slaveSelectedRowKeys[0] && item.sType === "2");
+ if (commonUtils.isNotEmptyArr(ctData)) {
+ let mDetail = "";
+ let pDetail = "";
+ const slaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]);
+ ctData.forEach(async (controlItem, n) => {
+ if (commonUtils.isNotEmptyObject(controlItem.sPartsName)) {
+ const qz = n === 0 ? "" : " ";
+ if (commonUtils.isNotEmptyObject(controlItem.sPartsName)) {
+ const yDetail = `${mDetail}${qz}#${controlItem.sPartsName}:`;
+ const gDetail = `${pDetail}${qz}#${controlItem.sPartsName}:`;
+ let imDetail = "";
+ let ipDetail = "";
+ const materials = mtData.filter(materialsItem => materialsItem.sControlId === controlItem.sId);
+ // const materialsIdDropDown = commonUtils.getStoreDropDownData(sModelsId, 'materials', 'sMaterialsName');
+ let materialsIdDropDown;
+ const materialsIndex = materialsConfig.gdsconfigformslave.findIndex(item => item.sName === "sMaterialsName");
+ if (materialsIndex > -1) {
+ const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, "materials", materialsConfig.gdsconfigformslave[materialsIndex]);
+ materialsIdDropDown = sqlDropDownData.dropDownData;
+ }
+ materials.forEach((mItem, i) => {
+ const fh = i === 0 ? "" : ",";
+ if (materialsIdDropDown) {
+ const materialsIdIndex = materialsIdDropDown.findIndex(item => item.sId === mItem.sMaterialsId);
+ if (materialsIdIndex > -1) {
+ imDetail = `${imDetail}${fh} ${materialsIdDropDown[materialsIdIndex].sMaterialsName}`;
+ }
+ }
+ });
+ // processPropsType
+ const process = pData.filter(processItem => processItem.sControlId === controlItem.sId);
+ // const processIdDropDown = commonUtils.getStoreDropDownData(sModelsId, 'process', 'sProcessName');
+ let processIdDropDown;
+ const processIndex = processConfig.gdsconfigformslave.findIndex(item => item.sName === "sProcessName");
+ if (processIndex > -1) {
+ const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, "process", processConfig.gdsconfigformslave[processIndex]);
+ processIdDropDown = sqlDropDownData.dropDownData;
+ }
+ process.forEach((pItem, i) => {
+ const fh = i === 0 ? "" : ",";
+ if (processIdDropDown) {
+ const processIdIndex = processIdDropDown.findIndex(item => item.sId === pItem.sProcessId);
+ if (processIdIndex > -1) {
+ ipDetail = `${ipDetail}${fh} ${processIdDropDown[processIdIndex].sProcessName}`;
+ }
+ }
+ });
+ if (commonUtils.isNotEmptyObject(imDetail)) {
+ mDetail = `${yDetail}${imDetail}`;
+ }
+ if (commonUtils.isNotEmptyObject(ipDetail)) {
+ pDetail = `${gDetail}${ipDetail}`;
+ }
+ }
+ }
+ });
+ slaveData[slaveIndex].sMaterialsMemo = mDetail;
+ slaveData[slaveIndex].sProcessMemo = pDetail;
+ slaveData[slaveIndex].handleType = commonUtils.isEmpty(slaveData[slaveIndex].handleType) ? "update" : slaveData[slaveIndex].handleType;
+ } else if (commonUtils.isNotEmptyArr(controlData) && commonUtils.isEmptyArr(ctData)) {
+ const sSlaveId = controlData[0].sSlaveId;
+ const slaveIndex = slaveData.findIndex(item => item.sId === sSlaveId);
+ slaveData[slaveIndex].sMaterialsMemo = "";
+ slaveData[slaveIndex].sProcessMemo = "";
+ slaveData[slaveIndex].handleType = commonUtils.isEmpty(slaveData[slaveIndex].handleType) ? "update" : slaveData[slaveIndex].handleType;
+ }
+ this.props.onSaveState({
+ visibleModal: false,
+ controlData,
+ slave0Data,
+ processData,
+ slaveData,
+ });
+ };
+ /** 控制选择控制表时,显示部件工序与成品工序 */
+ handleFilterSlaveData = (name, dataIndex, value, record) => {
+ return commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(value.toLowerCase());
+ };
+ /** 控制选择控制表时,显示部件工序与成品工序 */
+ // eslint-disable-next-line no-unused-vars
+ handleFilterData = (name, dataIndex, value, record) => {
+ return true;
+ // const { slaveSelectedRowKeys } = this.props;
+ // if (name === 'process') {
+ // return (commonUtils.isNotEmptyStr(record.sType) && record.sType === '3' &&
+ // commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase())) ||
+ // (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase()) &&
+ // commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase()));
+ // } else {
+ // return (commonUtils.isNotEmptyStr(record.sType) && record.sType === '2' &&
+ // commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase())) ||
+ // (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase()) &&
+ // commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase()));
+ // }
+ // (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase()));
+ };
+ /* 控制表过滤材料表 工序表数据 */
+ handleGetFilterData = name => {
+ const { [`${name}Data`]: data, controlSelectedRowKeys, slaveSelectedRowKeys } = this.props;
+ if (data !== undefined) {
+ const newArr = data.filter(item => {
+ if (name === "control") {
+ return commonUtils.isNotEmptyStr(item.sSlaveId) && item.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString());
+ } else {
+ return (
+ commonUtils.isNotEmptyStr(item.sControlId) &&
+ item.sControlId.toString().toLowerCase().includes(controlSelectedRowKeys.toString()) &&
+ commonUtils.isNotEmptyStr(item.sSlaveId) &&
+ item.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString())
+ );
+ }
+ });
+ return newArr.length;
+ }
+ };
+ /** 添加表格空行 */
+ handleTableAdd = async (name, flag) => {
+ /* 外置处理业务 */
+ const {
+ sModelsId,
+ sModelsType,
+ gdsformconst,
+ slaveData,
+ controlData,
+ controlSelectedRowKeys,
+ [`${name}Data`]: tableData,
+ slaveSelectedRowKeys,
+ slaveConfig,
+ } = this.props;
+ let tableDataRow = {};
+ if (name === "control") {
+ tableDataRow = this.props.onDataRowAdd(name, true);
+ if (commonUtils.isEmptyObject(tableDataRow)) {
+ return;
+ }
+ let dPartsQty = 0;
+ if (commonUtils.isNotEmptyArr(slaveData)) {
+ slaveData.forEach(item => {
+ dPartsQty += commonUtils.isNull(item.dProductQty, 0) + commonUtils.isNull(item.dGiveQty, 0) + commonUtils.isNull(item.dStockupQty, 0);
+ });
+ // const productIdDropDown = commonUtils.getStoreDropDownData(sModelsId, 'slave', 'sProductName');
+ let productIdDropDown;
+ const slaveIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === "sProductName");
+ if (slaveIndex > -1) {
+ const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, "slave", slaveConfig.gdsconfigformslave[slaveIndex]);
+ productIdDropDown = sqlDropDownData.dropDownData;
+ }
+ if (productIdDropDown) {
+ const iProductIdIndex = productIdDropDown.findIndex(item => item.sId === slaveData[0].sProductId);
+ if (iProductIdIndex > -1) {
+ tableDataRow.sPartsName = productIdDropDown[iProductIdIndex].sProductName;
+ }
+ }
+ }
+ const iSlaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]);
+ if (iSlaveIndex > -1) {
+ if (sModelsType === "sales/salesOrder") {
+ if (!commonUtils.isEmpty(slaveData[iSlaveIndex].dProductQty)) {
+ tableDataRow.dPartsQty =
+ commonUtils.isNull(slaveData[iSlaveIndex].dProductQty, 0) + commonUtils.isNull(slaveData[iSlaveIndex].dGiveQty, 0);
+ }
+ } else {
+ tableDataRow.dPartsQty = dPartsQty;
+ }
+ tableDataRow.sSlaveId = slaveData[iSlaveIndex].sId;
+ }
+ tableData.push(tableDataRow);
+ this.props.onSaveState({ [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: [tableDataRow.sId] });
+ } else if (name === "materials" || name === "process") {
+ tableDataRow = this.props.onDataRowAdd(name, true);
+ if (commonUtils.isEmptyArr(controlSelectedRowKeys)) {
+ const msg = commonFunc.showMessage(gdsformconst, "pleaseChooseParts");
+ message.warn(msg === "" ? "请选择部件" : msg); // 请选择部件
+ return;
+ }
+ const iIndex = controlData.findIndex(item => item.sId === controlSelectedRowKeys[0]);
+ const iSlaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]);
+ if (iIndex > -1 && iSlaveIndex > -1) {
+ if (commonUtils.isEmpty(controlData[iIndex].sPartsName) === "") {
+ message.warn(commonFunc.showMessage(gdsformconst, "partsNameNotNull")); // 部件名称不能为空
+ return;
+ }
+ tableDataRow.sSlaveId = slaveData[iSlaveIndex].sId;
+ tableDataRow.sControlId = controlData[iIndex].sId;
+ tableDataRow.sPartsName = controlData[iIndex].sPartsName;
+ }
+ tableData.push(tableDataRow);
+ this.props.onSaveState({ [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: [tableDataRow.sId] });
+ } else {
+ this.props.onDataRowAdd(name, flag);
+ }
+ };
+ /** 删除表格数据 */
+ otherTableDel = (name, tableSelectedRowKeys) => {
+ const tableData = this.props[`${name}Data`];
+ let tableDelData = this.props[`${name}DelData`];
+ tableDelData = commonUtils.isEmptyArr(tableDelData) ? [] : tableDelData;
+ for (const sId of tableSelectedRowKeys) {
+ /* 看看删除集合和从表中是否都存在该条数据 */
+ let tableDataIndex = tableData.findIndex(item => item.sControlId === sId);
+ while (tableDataIndex > -1) {
+ /* 删除从表中的数据并存入删除集合中 */
+ const slaveDataFilter = tableData[tableDataIndex];
+ tableData.splice(tableDataIndex, 1);
+ slaveDataFilter.handleType = "del";
+ tableDelData.push(slaveDataFilter);
+ tableDataIndex = tableData.findIndex(item => item.sControlId === sId);
+ }
+ }
+ return { [`${name}Data`]: tableData, [`${name}DelData`]: tableDelData, [`${name}SelectedRowKeys`]: [] };
+ };
+ /** 删除表格数据 */
+ handleTableDel = (name, isWait, tableSelectedRowKeys) => {
+ const { slaveSelectedRowKeys, slaveData, slaveConfig, sModelsId, masterData } = this.props;
+ if (name === "control") {
+ const tableSelectedRowKeys = this.props[`${name}SelectedRowKeys`];
+ if (commonUtils.isNotEmptyArr(tableSelectedRowKeys)) {
+ const materialsReturnData = this.otherTableDel("materials", tableSelectedRowKeys);
+ const processReturnData = this.otherTableDel("process", tableSelectedRowKeys);
+ const controlReturnData = this.props.onDataRowDel(name, isWait, tableSelectedRowKeys);
+ this.props.onSaveState({
+ ...materialsReturnData,
+ ...processReturnData,
+ ...controlReturnData,
+ });
+ return true;
+ } else {
+ return false;
+ }
+ } else if (name === "slave") {
+ /* 删除子表 */
+ if (slaveConfig.sTableType === "single") {
+ /* 单表删除 */
+ if (commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) {
+ let slaveSelectedRowNewKeys = slaveSelectedRowKeys;
+ const newSelectedRowKeys = this.handleDelSlaveChild(slaveData, slaveSelectedRowKeys[0], slaveSelectedRowKeys);
+ if (commonUtils.isNotEmptyArr(newSelectedRowKeys)) {
+ slaveSelectedRowNewKeys = newSelectedRowKeys;
+ }
+ const slaveReturnData = this.props.onDataRowDel(name, isWait, slaveSelectedRowNewKeys);
+ this.props.onSaveState({
+ ...slaveReturnData,
+ });
+ return true;
+ }
+ } else if (sModelsId === "12710101117000994807090") {
+ /* 从表删除 更新主表入仓数量 */
+ const slaveReturnData = this.props.onDataRowDel(name, true, slaveSelectedRowKeys);
+ if (
+ commonUtils.isNotEmptyObject(slaveReturnData) &&
+ commonUtils.isNotEmptyArr(slaveReturnData.slaveData) &&
+ commonUtils.isNotEmptyObject(masterData)
+ ) {
+ let dSumProductQty = 0;
+ slaveReturnData.slaveData.forEach((item, index) => {
+ dSumProductQty = commonUtils.convertFixNum(
+ commonUtils.convertFixNum(commonUtils.isNull(dSumProductQty, 0), 6) + commonUtils.convertFixNum(commonUtils.isNull(item.dSampleQty), 6),
+ 6
+ );
+ });
+ masterData.dInspectQty = commonUtils.convertFixNum(dSumProductQty * 10000, 6);
+ masterData.handleType = commonUtils.isEmpty(masterData.handleType) ? "update" : masterData.handleType;
+ slaveReturnData.masterData = masterData;
+ }
+ this.props.onSaveState({
+ ...slaveReturnData,
+ });
+ return true;
+ } else {
+ const slaveReturnData = this.props.onDataRowDel(name, isWait, slaveSelectedRowKeys);
+ this.props.onSaveState({
+ ...slaveReturnData,
+ });
+ return true;
+ }
+ } else {
+ return this.props.onDataRowDel(name, isWait, tableSelectedRowKeys);
+ }
+ };
+
+ /* 迭代删除从表子表数据 */
+ handleDelSlaveChild = (tableData, sId, tableSelectedKeys) => {
+ const filterData = tableData.filter(item => item.sFatherSlaveId === sId);
+ filterData.forEach(item => {
+ tableSelectedKeys.push(item.sId);
+ this.handleDelSlaveChild(tableData, item.sId, tableSelectedKeys);
+ });
+ return tableSelectedKeys;
+ };
+
+ /** 销售订单删除从表数据时也删除控制材料工序表数据 */
+ handleSlaveTableDel = (name, isWait, tableSelectedRowKeys) => {
+ const { sModelsType, controlData, processData, materialsData } = this.props;
+ if (sModelsType === "sales/salesOrder" && name === "slave") {
+ const controlDataDel = controlData.filter(item => item.sSlaveId === tableSelectedRowKeys[0]);
+ const controlDataSelectedRowKeys = [];
+ if (!commonUtils.isEmpty(controlDataDel)) {
+ for (const item of controlDataDel) {
+ const materialsDataSelectedRowKey = item.sId;
+ controlDataSelectedRowKeys.push(materialsDataSelectedRowKey);
+ }
+ if (commonUtils.isNotEmptyArr(controlDataSelectedRowKeys)) {
+ this.props.onDataRowDel("control", isWait, controlDataSelectedRowKeys, true);
+ }
+ const materialsDataDel = materialsData.filter(item => item.sSlaveId === tableSelectedRowKeys[0]);
+ const materialsDataSelectedRowKeys = [];
+ if (!commonUtils.isEmpty(materialsDataDel)) {
+ for (const item of materialsDataDel) {
+ const materialsDataSelectedRowKey = item.sId;
+ materialsDataSelectedRowKeys.push(materialsDataSelectedRowKey);
+ }
+ }
+ if (commonUtils.isNotEmptyArr(materialsDataSelectedRowKeys)) {
+ this.props.onDataRowDel("materials", isWait, materialsDataSelectedRowKeys, true);
+ }
+ const processDataDel = processData.filter(item => item.sSlaveId === tableSelectedRowKeys[0]);
+ const processDataSelectedRowKeys = [];
+ if (!commonUtils.isEmpty(processDataDel)) {
+ for (const item of processDataDel) {
+ const processDataSelectedRowKey = item.sId;
+ processDataSelectedRowKeys.push(processDataSelectedRowKey);
+ }
+ }
+ if (commonUtils.isNotEmptyArr(processDataSelectedRowKeys)) {
+ this.props.onDataRowDel("process", isWait, processDataSelectedRowKeys, true);
+ }
+ }
+ }
+ return this.props.onDataRowDel(name, isWait, tableSelectedRowKeys);
+ };
+ handleSelect = async (name, selectConfig, selectData) => {
+ const {
+ [`${name}Data`]: tableData,
+ [`${name}Config`]: tableConfig,
+ masterData,
+ masterConfig,
+ controlSelectedRowKeys,
+ sModelsId,
+ token,
+ app,
+ } = this.props;
+ const tableSelectedRowKeys = [];
+ if (name === "productProcessInfo") {
+ if (commonUtils.isNotEmptyArr(selectData)) {
+ let slaveData = [];
+ let controlData = [];
+ let materialsData = [];
+ let processData = [];
+ let sConfigMasterIdSlave = "";
+ let sConfigMasterIdControl = "";
+ let sConfigMasterIdMaterials = "";
+ let sConfigMasterIdProcess = "";
+ const selectRowData = selectData[0];
+ const sConfigIdString = masterConfig.gdsconfigformslave.filter(item => item.sName === "sConfigId")[0].showDropDown;
+ if (commonUtils.isNotEmptyStr(sConfigIdString)) {
+ const sConfigId = JSON.parse(sConfigIdString);
+ sConfigMasterIdSlave = sConfigId.sConfigMasterIdSlave;
+ sConfigMasterIdControl = sConfigId.sConfigMasterIdControl;
+ sConfigMasterIdMaterials = sConfigId.sConfigMasterIdMaterials;
+ sConfigMasterIdProcess = sConfigId.sConfigMasterIdProcess;
+ }
+ if (commonUtils.isEmptyStr(sConfigMasterIdSlave)) {
+ message.warning(commonFunc.showMessage(app.commonConst, "slaveParameterErro"));
+ }
+ if (commonUtils.isEmptyStr(sConfigMasterIdControl)) {
+ message.warning(commonFunc.showMessage(app.commonConst, "controlParameterErro"));
+ }
+ if (commonUtils.isEmptyStr(sConfigMasterIdMaterials)) {
+ message.warning(commonFunc.showMessage(app.commonConst, "materialsParameterErro"));
+ }
+ if (commonUtils.isEmptyStr(sConfigMasterIdProcess)) {
+ message.warning(commonFunc.showMessage(app.commonConst, "processParameterErro"));
+ }
+ const slaveUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdSlave}?sModelsId=${sModelsId}`;
+ const value = { sSqlCondition: { sParentId: selectRowData.sId } };
+ const slaveReturnData = (await commonServices.postValueService(token, value, slaveUrl)).data;
+ if (slaveReturnData.code === 1) {
+ slaveData = slaveReturnData.dataset.rows[0].dataSet;
+ slaveData.forEach(item => {
+ item.handleType = "add";
+ item.sId = commonUtils.createSid();
+ item.sParentId = masterData.sId;
+ });
+ } else {
+ this.props.getServiceError(slaveReturnData);
+ }
+
+ const controlUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdControl}?sModelsId=${sModelsId}`;
+ const controlReturnData = (await commonServices.postValueService(token, value, controlUrl)).data;
+ if (controlReturnData.code === 1) {
+ controlData = controlReturnData.dataset.rows[0].dataSet;
+ controlData.forEach(item => {
+ item.handleType = "add";
+ item.sId = commonUtils.createSid();
+ item.sParentId = masterData.sId;
+ });
+ } else {
+ this.props.getServiceError(controlReturnData);
+ }
+ const materialsUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdMaterials}?sModelsId=${sModelsId}`;
+ const materialsReturnData = (await commonServices.postValueService(token, value, materialsUrl)).data;
+ if (materialsReturnData.code === 1) {
+ materialsData = materialsReturnData.dataset.rows[0].dataSet;
+ materialsData.forEach(item => {
+ item.handleType = "add";
+ item.sId = commonUtils.createSid();
+ item.sParentId = masterData.sId;
+ });
+ } else {
+ this.props.getServiceError(materialsReturnData);
+ }
+ const processUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdProcess}?sModelsId=${sModelsId}`;
+ const processReturnData = (await commonServices.postValueService(token, value, processUrl)).data;
+ if (processReturnData.code === 1) {
+ processData = processReturnData.dataset.rows[0].dataSet;
+ processData.forEach(item => {
+ item.handleType = "add";
+ item.sId = commonUtils.createSid();
+ item.sParentId = masterData.sId;
+ });
+ } else {
+ this.props.getServiceError(processReturnData);
+ }
+ this.props.onSaveState({
+ processData,
+ materialsData,
+ controlData,
+ slaveData,
+ [`${name}ChooseVisible`]: false,
+ [`${name}SelectedRowKeys`]: tableSelectedRowKeys,
+ });
+ }
+ } else {
+ const { controlData, slaveData, slaveSelectedRowKeys } = this.props;
+ const iIndex = commonUtils.isNotEmptyArr(controlSelectedRowKeys) ? controlData.findIndex(item => item.sId === controlSelectedRowKeys[0]) : -1;
+ if (commonUtils.isNotEmptyArr(selectData)) {
+ selectData.forEach(item => {
+ const newCopyTo = {};
+ newCopyTo.master = masterData;
+ if (iIndex > -1) {
+ newCopyTo.control = controlData[iIndex];
+ }
+ let tableDataRow = commonFunc.getDefaultData(tableConfig, newCopyTo); // 取默认值
+ tableDataRow = { ...tableDataRow, ...commonFunc.getAssignFieldValue(selectConfig.sAssignField, item, newCopyTo) }; // 取赋值字段
+ tableDataRow.handleType = "add";
+ tableDataRow.sId = commonUtils.createSid();
+ tableDataRow.sParentId = masterData.sId;
+ if (this.props.sModelsType === "sales/salesOrder") {
+ const iSlaveIndex = commonUtils.isNotEmptyArr(slaveSelectedRowKeys)
+ ? slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0])
+ : -1;
+ if (iSlaveIndex > -1) {
+ tableDataRow.sSlaveId = slaveData[iSlaveIndex].sId;
+ }
+ }
+ if (iIndex > -1 && tableDataRow.sType !== "3") {
+ tableDataRow.sControlId = controlData[iIndex].sId;
+ tableDataRow.sPartsName = controlData[iIndex].sPartsName;
+ tableData.push(tableDataRow);
+ } else if (tableDataRow.sType === "3") {
+ tableData.push(tableDataRow);
+ }
+ tableSelectedRowKeys.push(tableDataRow.sId);
+ });
+ }
+ const tableDataNew = this.sortData(controlData, tableData);
+ this.props.onSaveState({ [`${name}Data`]: tableDataNew, [`${name}ChooseVisible`]: false, [`${name}SelectedRowKeys`]: tableSelectedRowKeys });
+ }
+ };
+
+ sortData = (tableData, processData) => {
+ processData.sort((g1, g2) => {
+ const iIndex1 = tableData.findIndex(item => item.sId === g1.sControlId) === -1 ? 999 : tableData.findIndex(item => item.sId === g1.sControlId);
+ let sPartOrder1 = `0000${iIndex1}`;
+ sPartOrder1 = sPartOrder1.substring(sPartOrder1.length - 3);
+ let sOrder1 = `000${g1.iOrder}`;
+ sOrder1 = sOrder1.substring(sOrder1.length - 3);
+
+ const iIndex2 = tableData.findIndex(item => item.sId === g2.sControlId) === -1 ? 999 : tableData.findIndex(item => item.sId === g2.sControlId);
+ let sPartOrder2 = `0000${iIndex2}`;
+ sPartOrder2 = sPartOrder2.substring(sPartOrder2.length - 3);
+ let sOrder2 = `000${g2.iOrder}`;
+ sOrder2 = sOrder2.substring(sOrder2.length - 3);
+ return parseInt(sPartOrder1 + g1.sType + sOrder1, 10) - parseInt(sPartOrder2 + g2.sType + sOrder2, 10);
+ });
+ return processData;
+ };
+ /** 上传后执行函数 */
+ handleBeforeUpload = () => {
+ // const isLt10M = file.size / 1024 / 1024 < 10;
+ // if (!isLt10M) {
+ // message.error(commonFunc.showMessage(this.props.app.commonConst, 'picMax'));/* 图片大小需小于10MB! */
+ // }
+ };
+
+ handleTabChange = key => {
+ setTimeout(() => {
+ this.setState({
+ currentTab: key,
+ });
+ }, 0);
+ };
+
+ handleMenuClick = e => {
+ let { sId } = this.props.masterData;
+ const Type = e.key;
+ const { token } = this.props.app;
+ const { sType } = this.props.app.userinfo;
+ if (Type === "formSlave") {
+ /* 根据从表勾选数据 生成从表数据 */
+ const { slaveSelectedRowKeys } = this.props;
+ if (commonUtils.isEmptyObject(slaveSelectedRowKeys)) {
+ message.warn("请选择数据");
+ return;
+ }
+ sId = slaveSelectedRowKeys;
+ }
+ const downloadUrl = `${commonConfig.server_host}sqlfile/scriptSqlDownload?methodName=${Type}&sId=${sId}&token=${token}&sType=${sType}`;
+ window.open(downloadUrl);
+ this.props.onSaveState({
+ downloadUrl,
+ });
+ };
+ handleSlaveInit = async name => {
+ const { app, masterData, [`${name}Data`]: slaveData } = this.props;
+ if (masterData.sName !== null && masterData.sName !== undefined) {
+ message.warn("该节点不能初始化!");
+ return;
+ }
+ // const comfiled = service.service_path.filter(item => (item.route ===
+ // app.currentPane.route)).length <= 0 ? {} :
+ // service.service_path.filter(item => (item.route ===
+ // app.currentPane.route))[0];
+ const comfiled = {
+ path: "gdsconfigform",
+ pathTwo: "Gdsconfigformmaster",
+ pathSlave: "Gdsconfigformslave",
+ pathCustom: "Customslave",
+ pathInit: "GdsconfigformslaveByMaster",
+ pathSlaveSelect: "gdsmodule",
+ pathSlaveSelectTwo: "SelectFormData",
+ };
+ const url = `${commonConfig.server_host}${comfiled.path}/get${comfiled.pathInit}?sParentId=${masterData.sId}&sTbName=${masterData.sTbName}&sType=${masterData.sType}`;
+ const dataReturn = (await commonServices.getService(this.props.app.token, url)).data;
+ if (dataReturn.code === 1) {
+ /* 数据查询成功 */
+ if (commonUtils.isNotEmptyArr(dataReturn.dataset.rows)) {
+ const tempData = dataReturn.dataset.rows;
+ const initData = [];
+ tempData.forEach(item => {
+ item.handleType = "add";
+ initData.push(item);
+ });
+ const newData = [...slaveData, ...initData];
+ this.props.onSaveState({ slaveData: newData, enabled: true });
+ message.success("初始化成功!");
+ } else {
+ message.warn("当前表格无需初始化!");
+ }
+ } else {
+ /* 失败 */
+ this.props.getServiceError(dataReturn);
+ }
+ };
+ handleCopyRow = (name, toname) => {
+ this.props.onCopyRow(name, toname);
+ };
+ handleCopy2Custom = () => {
+ let toname = "slave2";
+ for (let i = 0; i < 10; i++) {
+ const slaveConfigName = `slave${i}Config`;
+ const slaveConfig = this.props[slaveConfigName];
+ if (slaveConfig && commonUtils.isNotEmptyObject(slaveConfig)) {
+ if (slaveConfig.sTbName === "gdsconfigformcustomslave") {
+ toname = `slave${i}`;
+ break;
+ }
+ }
+ }
+ this.props.onCopyRow("slave", toname);
+ };
+ /** 添加行 */
+ handleAddRow = (name, index) => {
+ this.props.onDataRowAdd(name, null, index);
+ };
+ /** 删除行 */
+ handleDelRow = name => {
+ const { [`${name}SelectedRowKeys`]: tableSelectedRowKeys } = this.props;
+ if (this.props.onDataRowDel(name, false, tableSelectedRowKeys)) {
+ message.success("删除成功!");
+ }
+ };
+
+ /* 字段双击弹出 */
+ handleFieldDoubleClick = (sValue, showConfig, tbName) => {
+ const { [`${tbName}SelectedRowKeys`]: tableSelectedRowKeys, [`${tbName}Data`]: tableData } = this.props;
+ if (commonUtils.isNotEmptyObject(showConfig) && showConfig.sName === "sAssignField") {
+ let tableDataRow = {};
+ if (commonUtils.isNotEmptyArr(tableData)) {
+ const tableFilterData = tableData.filter(item => tableSelectedRowKeys.includes(item.sId));
+ if (commonUtils.isNotEmptyArr(tableFilterData)) {
+ tableDataRow = tableFilterData[0];
+ }
+ }
+ const sAssignFieldColumn = [
+ {
+ sId: commonUtils.createSid(),
+ sParentId: tableDataRow.sId,
+ dataIndex: "sNewName",
+ title: "现字段",
+ width: "220px",
+ editable: true,
+ bNotSort: true,
+ },
+ {
+ sId: commonUtils.createSid(),
+ sParentId: tableDataRow.sId,
+ dataIndex: "sOldName",
+ title: "源字段",
+ width: "220px",
+ editable: true,
+ bNotSort: true,
+ },
+ ];
+ const sAssignFieldData = [];
+ if (commonUtils.isNotEmptyObject(tableDataRow) && commonUtils.isNotEmptyObject(sValue)) {
+ const selectedRowKeys = [];
+ const sAssignFieldDataTemp = sValue.split(",");
+ sAssignFieldDataTemp.forEach(index => {
+ const aAssignFieldObj = {};
+ const splitData = index.split(":");
+ if (commonUtils.isNotEmptyArr(splitData)) {
+ aAssignFieldObj.sId = commonUtils.createSid();
+ aAssignFieldObj.sNewName = splitData[0];
+ aAssignFieldObj.sOldName = splitData[1];
+ sAssignFieldData.push(aAssignFieldObj);
+ }
+ selectedRowKeys[0] = sAssignFieldData[0].sId;
+ });
+ const { enabled } = this.props;
+ this.props.onSaveState({
+ sAssignFieldColumn,
+ visibleAssignmentField: true,
+ sAssignFieldData,
+ sAssignFieldName: tbName,
+ sAssignFieldRowId: tableDataRow.sId /* 选中行的sId */,
+ enabled,
+ });
+ } else {
+ this.props.onSaveState({
+ sAssignFieldColumn,
+ visibleAssignmentField: true,
+ sAssignFieldData: [],
+ sAssignFieldName: tbName,
+ sAssignFieldRowId: tableDataRow.sId /* 选中行的sId */,
+ });
+ }
+ } else if (showConfig?.sName === "sInstruct") {
+ /* 指令集弹窗 */
+ // const sInstructJsonString = sValue;
+ // this.props.onSaveState({
+ // visibleInstructField: true,
+ // sInstructJsonString,
+ // });
+ }
+ };
+ /* 拿到赋值字段 */
+ handleGetsAssignField = (data, sFieldName) => {
+ if (sFieldName === "sAssignField") {
+ const { sAssignFieldRowId, sAssignFieldName } = this.props; /* 双击弹出赋值窗体的行ID */
+ const { [`${sAssignFieldName}Data`]: tableData } = this.props;
+ if (commonUtils.isNotEmptyArr(tableData)) {
+ const iIndex = tableData.findIndex(item => item.sId === sAssignFieldRowId);
+ const newData = {};
+ /* 将数组变成赋值字符串 */
+ let sAssignFieldStr = "";
+ const len = data.length;
+ data.forEach((item, index) => {
+ sAssignFieldStr += `${item.sNewName}:${item.sOldName}`;
+ if (index !== len - 1) {
+ sAssignFieldStr += ",";
+ }
+ });
+ newData.sAssignField = sAssignFieldStr;
+ newData.handleType = commonUtils.isEmpty(tableData[iIndex].handleType) ? "update" : tableData[iIndex].handleType;
+ tableData[iIndex] = { ...tableData[iIndex], ...newData };
+ this.props.onSaveState({ [`${sAssignFieldName}Data`]: tableData });
+ }
+ }
+ };
+
+ handleUploadPropsSales = () => {
+ const { masterData, sModelsType } = this.props;
+ if (commonUtils.isNotEmptyObject(masterData)) {
+ const sCustomerId = commonUtils.isEmptyStr(masterData.sCustomerId) ? undefined : masterData.sCustomerId;
+ let existCustomerId = false;
+ if (sModelsType.includes("sales/") && commonUtils.isNotEmptyStr(sCustomerId)) {
+ existCustomerId = true;
+ } else if (!sModelsType.includes("sales/")) {
+ existCustomerId = true;
+ }
+ return {
+ disabled: !this.props.enabled || !existCustomerId /* 是否可用 */,
+ style: { display: commonUtils.convertBooleanToDisplayBlock(true) } /* 是否显示 */,
+ };
+ }
+ };
+
+ handleUploadChangeFile = async info => {
+ const { file } = info;
+ const { formData = [] } = this.props;
+
+ const templateData = formData.filter(item => item.sGrd === 'importTemplate');
+ const name = commonUtils.isNotEmptyArr(templateData) ? templateData[0].sTableAlias : 'slave'
+ const {
+ masterData, sModelsId, app, token, sModelsType,
+ [`${name}Config`]: slaveConfig, [`${name}Data`]: slaveData
+ } = this.props;
+ if (file.response) {
+ if (file.response.code === 1) {
+ if (file.response.dataset.rows.length > 1) {
+ const addState = {};
+ for (let i = 0; i < file.response.dataset.rows.length; i++) {
+ const row = file.response.dataset.rows[i];
+ /* 数据查询成功 */
+ const errorInfo = row.nocanbeInsert;
+ if (commonUtils.isNotEmptyObject(errorInfo)) {
+ const importErrorData = errorInfo;
+ this.props.onSaveState({
+ showImportErrorVisible: true,
+ importData: importErrorData,
+ });
+ return;
+ }
+
+ const tableName = ["", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
+ .filter(item => {
+ const name = `slave${item}Config`;
+ const config = this.props[name] || {};
+ return config.sGrd === row.sGrd || config.sTableName === row.sTableName;
+ })
+ .map(item => `slave${item}`)[0];
+
+ if (!tableName) continue;
+
+ const tableDelData = [];
+ const { [`${tableName}Data`]: tableData = [], [`${tableName}Config`]: tableConfig } = this.props;
+ /* 把之前存放的数据删除 */
+ addState[`${tableName}DelData`] = [];
+ tableData.forEach(item => {
+ if (item.handleType !== "add") {
+ item.handleType = "del";
+ tableDelData.push(item);
+ }
+ });
+
+ const returnData = row.canbeInsert;
+ let iCount = 0;
+ let productIdDropDown;
+ if (productIdDropDown === undefined && commonUtils.isNotEmptyArr(returnData)) {
+ /* 无论导入多少条数据 都只调用1次接口,获取产品下拉数据集 */
+ const iIndex = tableConfig.gdsconfigformslave.findIndex(item => item.sName === "sProductName");
+ if (iIndex > -1) {
+ const sqlDropDownData = await this.props.getSqlDropDownData(
+ sModelsId,
+ tableName,
+ tableConfig.gdsconfigformslave[iIndex],
+ returnData[0]
+ );
+ productIdDropDown = sqlDropDownData.dropDownData;
+ }
+ }
+
+ await returnData.forEach(async tableDataRow => {
+ tableDataRow.handleType = "add";
+ tableDataRow.sId = commonUtils.createSid();
+ tableDataRow.sParentId = masterData.sId;
+ tableDataRow.key = tableDataRow.sId;
+ /* 若导入模板没有序号,则序号从1自增 */
+ if (commonUtils.isEmptyObject(tableDataRow.iOrder)) {
+ iCount += 1;
+ tableDataRow.iOrder = iCount;
+ }
+ for (const child of Object.keys(tableDataRow)) {
+ const index = child.indexOf("_sRealValue_");
+ if (index > -1) {
+ const property = child.substring(0, child.length - 12);
+ tableDataRow[property] = tableDataRow[child];
+ }
+ }
+ if (productIdDropDown !== undefined) {
+ const iProductIdIndex = productIdDropDown.findIndex(
+ item =>
+ (item.sId === tableDataRow.sProductId || item.sNId === tableDataRow.sProductId) &&
+ item.sProductStyle === tableDataRow.sProductStyle
+ );
+ if (iProductIdIndex === -1 && commonUtils.isNotEmptyObject(sModelsType) && sModelsType.includes("sales/salesOrder")) {
+ /* 只有销售模块生成新产品 盘点 ,期间 不生成新的产品 */
+ tableDataRow.sProductId = tableDataRow.sProductName;
+ tableDataRow.sProductInfo = JSON.stringify({
+ sProductId: tableDataRow.sProductName,
+ sProductName: tableDataRow.sProductName,
+ sProductStyle: tableDataRow.sProductStyle,
+ sProductUnit: tableDataRow.sProductUnit,
+ sProductNo: tableDataRow.sProductNo,
+ sCustomerProductNo: tableDataRow.sCustomerProductNo,
+ sProductClassifyId: tableDataRow.sProductClassifyId,
+ sProductClassifyName: tableDataRow.sProductClassifyName,
+ });
+ }
+ }
+ // if (!tableDataRow.dNProductPrice) {
+ // tableDataRow.dNProductPrice = tableDataRow.dProductForeignPrice;
+ // }
+ // const models = sModelsType.includes('sales/') || sModelsType.includes('manufacture/') || sModelsType.includes('quotation/') || sModelsType.includes('productStock/') ? 'Product' : 'Materials';
+ // if (sModelsType.includes('purchase/') || sModelsType.includes('quotation/') || sModelsType.includes('manufacture/') || sModelsType.includes('materialsStock/') || sModelsType.includes('outside/')) {
+ // tableDataRow = await this.props.onMaterialsChange(tableDataRow, sModelsId, masterData, {}, 'dAuxiliaryQty', app, token, models);
+ // tableDataRow = commonBusiness.getCalculateAllMoney(app, models, 'dAuxiliaryQty', masterData, tableDataRow);
+ // } else {
+ // tableDataRow = commonBusiness.getCalculateAllMoney(app, models, 'dProductQty', masterData, tableDataRow);
+ // }
+ });
+
+ addState[`${tableName}Data`] = returnData;
+ addState[`${tableName}DelData`] = tableDelData;
+ }
+ this.props.onSaveState(addState);
+ } else {
+ /* 数据查询成功 */
+ const errorInfo = file.response.dataset.rows[0].nocanbeInsert;
+ if (commonUtils.isNotEmptyObject(errorInfo)) {
+ // message.error(errorInfo[0].sReason);
+ const importErrorData = errorInfo;
+ this.props.onSaveState({
+ showImportErrorVisible: true,
+ importData: importErrorData,
+ });
+ return;
+ }
+ /* 把之前存放的数据删除 */
+ const slaveDelData = [];
+ if (commonUtils.isNotEmptyArr(slaveData)) {
+ slaveData.forEach(item => {
+ if (commonUtils.isEmptyObject(item.handleType)) {
+ item.handleType = "del";
+ slaveDelData.push(item);
+ }
+ });
+ }
+ const returnData = file.response.dataset.rows[0].canbeInsert;
+ let iCount = 0;
+ let productIdDropDown;
+ if (productIdDropDown === undefined && commonUtils.isNotEmptyArr(returnData)) {
+ /* 无论导入多少条数据 都只调用1次接口,获取产品下拉数据集 */
+ const iIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === "sProductName");
+ if (iIndex > -1) {
+ const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, "slave", slaveConfig.gdsconfigformslave[iIndex], returnData[0]);
+ productIdDropDown = sqlDropDownData.dropDownData;
+ }
+ }
+ await returnData.forEach(async tableDataRow => {
+ tableDataRow.handleType = "add";
+ tableDataRow.sId = commonUtils.createSid();
+ tableDataRow.sParentId = masterData.sId;
+ tableDataRow.key = tableDataRow.sId;
+ /* 若导入模板没有序号,则序号从1自增 */
+ if (commonUtils.isEmptyObject(tableDataRow.iOrder)) {
+ iCount += 1;
+ tableDataRow.iOrder = iCount;
+ }
+ for (const child of Object.keys(tableDataRow)) {
+ const index = child.indexOf("_sRealValue_");
+ if (index > -1) {
+ const property = child.substring(0, child.length - 12);
+ tableDataRow[property] = tableDataRow[child];
+ }
+ }
+ if (productIdDropDown !== undefined) {
+ const iProductIdIndex = productIdDropDown.findIndex(
+ item =>
+ (item.sId === tableDataRow.sProductId || item.sNId === tableDataRow.sProductId) && item.sProductStyle === tableDataRow.sProductStyle
+ );
+ if (iProductIdIndex === -1 && commonUtils.isNotEmptyObject(sModelsType) && sModelsType.includes("sales/salesOrder")) {
+ /* 只有销售模块生成新产品 盘点 ,期间 不生成新的产品 */
+ tableDataRow.sProductId = tableDataRow.sProductName;
+ tableDataRow.sProductInfo = JSON.stringify({
+ sProductId: tableDataRow.sProductName,
+ sProductName: tableDataRow.sProductName,
+ sProductStyle: tableDataRow.sProductStyle,
+ sProductUnit: tableDataRow.sProductUnit,
+ sProductNo: tableDataRow.sProductNo,
+ sCustomerProductNo: tableDataRow.sCustomerProductNo,
+ sProductClassifyId: tableDataRow.sProductClassifyId,
+ sProductClassifyName: tableDataRow.sProductClassifyName,
+ });
+ }
+ }
+ if (!tableDataRow.dNProductPrice) {
+ tableDataRow.dNProductPrice = tableDataRow.dProductForeignPrice;
+ }
+ const models =
+ sModelsType.includes("sales/") ||
+ sModelsType.includes("manufacture/") ||
+ sModelsType.includes("quotation/") ||
+ sModelsType.includes("productStock/")
+ ? "Product"
+ : "Materials";
+ if (
+ sModelsType.includes("purchase/") ||
+ sModelsType.includes("quotation/") ||
+ sModelsType.includes("manufacture/") ||
+ sModelsType.includes("materialsStock/") ||
+ sModelsType.includes("outside/")
+ ) {
+ tableDataRow = await this.props.onMaterialsChange(tableDataRow, sModelsId, masterData, {}, "dAuxiliaryQty", app, token, models);
+ tableDataRow = commonBusiness.getCalculateAllMoney(app, models, "dAuxiliaryQty", masterData, tableDataRow);
+ } else {
+ tableDataRow = commonBusiness.getCalculateAllMoney(app, models, "dProductQty", masterData, tableDataRow);
+ }
+ });
+ this.props.onSaveState({ slaveData: returnData, slaveDelData });
+ }
+ } else {
+ /* 失败s */
+ this.props.getServiceError(file.response);
+ }
+ }
+ };
+
+ handleSetTabNumList = tabNumList => {
+ this.tabNumList = tabNumList;
+ };
+
+ /** 通用下载 */
+ handleDownload = (name, flag, tableSelectedRowKeys) => {
+ const { [`${name}Data`]: tableData, sModelsId, app } = this.props;
+ if (tableSelectedRowKeys === undefined || tableSelectedRowKeys.length !== 1) {
+ message.warn(commonFunc.showMessage(app.commonConst, "selectedRowKeysNo")); /* 请先选择一条数据 */
+ return;
+ }
+ const dataSelect = tableData.filter(item => item.sId === tableSelectedRowKeys[0]);
+ const { token } = this.props.app;
+ const { sPicturePath } = dataSelect[0];
+ const urlPrint = `${commonConfig.file_host}file/download?sModelsId=${sModelsId}&token=${token}&savePathStr=${sPicturePath}`;
+ window.open(urlPrint);
+ };
+ handleJSONModalOk = value => {
+ const { masterData } = this.props;
+ const textAreaValue = value; // 获取 textarea 的值
+ const handleType = commonUtils.isEmpty(masterData.handleType) ? "update" : masterData.handleType;
+ const newMasterData = { ...masterData, sInstruct: textAreaValue, handleType }; // 更新 masterData.sInstruct
+ this.props.onSaveState({ masterData: newMasterData, visibleInstructField: false }); // 关闭弹窗
+ };
+
+ // ----------------------------数据修改回带wend ---------------------------- //
+
+ render() {
+ const { pageLoading, visible, checkConditions, checkPersonData, app } = this.props;
+ const checkCondition = commonFunc.showMessage(app.commonConst, "checkCondition"); /* 审核条件 */
+ const checkSmemo = commonFunc.showMessage(app.commonConst, "checkSmemo"); /* 备注 */
+ const columns = [
+ {
+ title: checkCondition,
+ dataIndex: "condition",
+ key: "condition",
+ },
+ {
+ title: checkSmemo,
+ dataIndex: "sMemo",
+ key: "sMemo",
+ },
+ ];
+ const btnSure = commonFunc.showMessage(app.commonConst, "btnSure"); /* 确认 */
+ const check = commonFunc.showMessage(app.commonConst, "check"); /* 审核 */
+ const BtnClose = commonFunc.showMessage(app.commonConst, "BtnClose"); /* 关闭 */
+ const checkPerson = commonFunc.showMessage(app.commonConst, "checkPerson"); /* 审核人 */
+ return (
+
+
+
+
this.tabNumList}
+ onSetTabNumList={this.handleSetTabNumList}
+ onDataRowDownload={this.handleDownload}
+ onDelRow={this.handleTableDel}
+ onJsonModalOk={this.handleJSONModalOk}
+ />
+ {visible ? (
+
+ {BtnClose}
+ ,
+ ,
+ ]}
+ >
+
+ {checkPerson}
+
+
+
+ {commonUtils.isNotEmptyObject(checkPersonData)
+ ? checkPersonData.map(item => {
+ return (
+
+ {item.sUserName}
+
+ );
+ })
+ : ""}
+
+
+
+
+ ) : (
+ ""
+ )}
+
+
+
+ );
+ }
+}
+
+const BillComponent = Form.create({
+ mapPropsToFields(props) {
+ const { masterData, masterConfig } = props;
+ const obj = commonFunc.mapPropsToFields(masterData, Form, masterConfig);
+ return obj;
+ },
+})(props => {
+ const {
+ form,
+ onReturnForm,
+ AutoTableHeight,
+ onlySlave,
+ onlySlave0,
+ onlySlave1,
+ onlyslave2,
+ onlyslave3,
+ onlyslave4,
+ onlyslave5,
+ onlyslave6,
+ onlyslave7,
+ onlyslave8,
+ onlyslave9,
+ onlyslave10,
+ slaveData,
+ slave0Data,
+ slave1Data,
+ slave2Data,
+ slave3Data,
+ slave4Data,
+ slave5Data,
+ slave6Data,
+ slave7Data,
+ slave8Data,
+ slave9Data,
+ slave10Data,
+ slaveConfig,
+ slave0Config,
+ slave1Config,
+ slave2Config,
+ slave3Config,
+ slave4Config,
+ slave5Config,
+ slave6Config,
+ slave7Config,
+ slave8Config,
+ slave9Config,
+ slave10Config,
+ slaveSelectedRowKeys,
+ slave0SelectedRowKeys,
+ slave1SelectedRowKeys,
+ slave2SelectedRowKeys,
+ slave3SelectedRowKeys,
+ slave4SelectedRowKeys,
+ app,
+ slavePagination,
+ slave0Pagination,
+ slave1Pagination,
+ slave2Pagination,
+ slave3Pagination,
+ slave4Pagination,
+ slave5Pagination,
+ slave6Pagination,
+ slave7Pagination,
+ slave8Pagination,
+ slave9Pagination,
+ slave10Pagination,
+ slavePageSize,
+ slave0PageSize,
+ slave1PageSize,
+ slave2PageSize,
+ slave3PageSize,
+ slave4PageSize,
+ slave5PageSize,
+ slave6PageSize,
+ slave7PageSize,
+ slave8PageSize,
+ slave9PageSize,
+ slave10PageSize,
+ sModelsType,
+ sModelsId,
+ bDelegate,
+ sInstructJsonString = "",
+ } = props;
+ const masterConfig = props.onMergeMasterConfig();
+ const masterConfigOld = { ...masterConfig };
+ /* 回带表单 */
+ onReturnForm(form);
+ const autoHeight = `calc( ${AutoTableHeight} - 96px)`;
+ const isSmall = false;
+ let pageSize = commonConfig.pageSize;
+ if (props.slaveConfig && props.slaveConfig.iPageSize) {
+ pageSize = props.slaveConfig.iPageSize;
+ }
+
+ const { currentPane } = app;
+ let bFlow = currentPane?.bFlow; /* 是否需要展示审批流程信息 */
+ if (bDelegate) {
+ bFlow = false;
+ }
+
+ const bPagination = commonUtils.isNotEmptyObject(slaveConfig) ? slaveConfig.bPagination : false;
+ const bPagination0 = commonUtils.isNotEmptyObject(slave0Config) ? slave0Config.bPagination : false;
+ const bPagination1 = commonUtils.isNotEmptyObject(slave1Config) ? slave1Config.bPagination : false;
+ const bPagination2 = commonUtils.isNotEmptyObject(slave2Config) ? slave2Config.bPagination : false;
+ const bPagination3 = commonUtils.isNotEmptyObject(slave3Config) ? slave3Config.bPagination : false;
+ const bPagination4 = commonUtils.isNotEmptyObject(slave4Config) ? slave4Config.bPagination : false;
+ const bPagination5 = commonUtils.isNotEmptyObject(slave5Config) ? slave5Config.bPagination : false;
+ const bPagination6 = commonUtils.isNotEmptyObject(slave6Config) ? slave6Config.bPagination : false;
+ const bPagination7 = commonUtils.isNotEmptyObject(slave7Config) ? slave7Config.bPagination : false;
+ const bPagination8 = commonUtils.isNotEmptyObject(slave8Config) ? slave8Config.bPagination : false;
+ const bPagination9 = commonUtils.isNotEmptyObject(slave9Config) ? slave9Config.bPagination : false;
+ const bPagination10 = commonUtils.isNotEmptyObject(slave10Config) ? slave10Config.bPagination : false;
+
+ const pagination = !bPagination
+ ? false
+ : {
+ pageSize,
+ total: commonUtils.isEmptyArr(slaveData) ? 0 : slaveData.length,
+ current: commonUtils.isEmptyObject(slavePagination) ? 1 : slavePagination.current,
+ ...slavePagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: false,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+ const pagination0 = !bPagination0
+ ? false
+ : {
+ pageSize: commonUtils.isNotEmptyNumber(slave0PageSize) && slave0PageSize !== 0 ? slave0PageSize : commonConfig.pageSize,
+ total: commonUtils.isEmptyArr(slave0Data) ? 0 : slave0Data.length,
+ current: commonUtils.isEmptyObject(slave0Pagination) ? 1 : slave0Pagination.current,
+ ...slave0Pagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: false,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+ const pagination1 = !bPagination1
+ ? false
+ : {
+ pageSize: commonUtils.isNotEmptyNumber(slave1PageSize) && slave1PageSize !== 0 ? slave1PageSize : commonConfig.pageSize,
+ total: commonUtils.isEmptyArr(slave1Data) ? 0 : slave1Data.length,
+ current: commonUtils.isEmptyObject(slave1Pagination) ? 1 : slave1Pagination.current,
+ ...slave1Pagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: true,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+ const pagination2 = !bPagination2
+ ? false
+ : {
+ pageSize: commonUtils.isNotEmptyNumber(slave2PageSize) && slave2PageSize !== 0 ? slave2PageSize : commonConfig.pageSize,
+ total: commonUtils.isEmptyArr(slave2Data) ? 0 : slave2Data.length,
+ current: commonUtils.isEmptyObject(slave2Pagination) ? 1 : slave2Pagination.current,
+ ...slave2Pagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: true,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+ const pagination3 = !bPagination3
+ ? false
+ : {
+ pageSize: commonUtils.isNotEmptyNumber(slave3PageSize) && slave3PageSize !== 0 ? slave3PageSize : commonConfig.pageSize,
+ total: commonUtils.isEmptyArr(slave3Data) ? 0 : slave3Data.length,
+ current: commonUtils.isEmptyObject(slave3Pagination) ? 1 : slave3Pagination.current,
+ ...slave3Pagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: true,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+ const pagination4 = !bPagination4
+ ? false
+ : {
+ pageSize: commonUtils.isNotEmptyNumber(slave4PageSize) && slave4PageSize !== 0 ? slave4PageSize : commonConfig.pageSize,
+ total: commonUtils.isEmptyArr(slave4Data) ? 0 : slave4Data.length,
+ current: commonUtils.isEmptyObject(slave4Pagination) ? 1 : slave4Pagination.current,
+ ...slave4Pagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: true,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+
+ const pagination5 = !bPagination5
+ ? false
+ : {
+ pageSize: commonUtils.isNotEmptyNumber(slave5PageSize) && slave5PageSize !== 0 ? slave5PageSize : commonConfig.pageSize,
+ total: commonUtils.isEmptyArr(slave5Data) ? 0 : slave5Data.length,
+ current: commonUtils.isEmptyObject(slave5Pagination) ? 1 : slave5Pagination.current,
+ ...slave5Pagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: true,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+ const pagination6 = !bPagination6
+ ? false
+ : {
+ pageSize: commonUtils.isNotEmptyNumber(slave6PageSize) && slave6PageSize !== 0 ? slave6PageSize : commonConfig.pageSize,
+ total: commonUtils.isEmptyArr(slave6Data) ? 0 : slave6Data.length,
+ current: commonUtils.isEmptyObject(slave6Pagination) ? 1 : slave6Pagination.current,
+ ...slave6Pagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: true,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+ const pagination7 = !bPagination7
+ ? false
+ : {
+ pageSize: commonUtils.isNotEmptyNumber(slave7PageSize) && slave7PageSize !== 0 ? slave7PageSize : commonConfig.pageSize,
+ total: commonUtils.isEmptyArr(slave7Data) ? 0 : slave7Data.length,
+ current: commonUtils.isEmptyObject(slave7Pagination) ? 1 : slave7Pagination.current,
+ ...slave7Pagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: true,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+ const pagination8 = !bPagination8
+ ? false
+ : {
+ pageSize: commonUtils.isNotEmptyNumber(slave8PageSize) && slave8PageSize !== 0 ? slave8PageSize : commonConfig.pageSize,
+ total: commonUtils.isEmptyArr(slave8Data) ? 0 : slave8Data.length,
+ current: commonUtils.isEmptyObject(slave8Pagination) ? 1 : slave8Pagination.current,
+ ...slave8Pagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: true,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+ const pagination9 = !bPagination9
+ ? false
+ : {
+ pageSize: commonUtils.isNotEmptyNumber(slave9PageSize) && slave9PageSize !== 0 ? slave9PageSize : commonConfig.pageSize,
+ total: commonUtils.isEmptyArr(slave9Data) ? 0 : slave9Data.length,
+ current: commonUtils.isEmptyObject(slave9Pagination) ? 1 : slave9Pagination.current,
+ ...slave9Pagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: true,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+ const pagination10 = !bPagination10
+ ? false
+ : {
+ pageSize: commonUtils.isNotEmptyNumber(slave10PageSize) && slave10PageSize !== 0 ? slave10PageSize : commonConfig.pageSize,
+ total: commonUtils.isEmptyArr(slave10Data) ? 0 : slave10Data.length,
+ current: commonUtils.isEmptyObject(slave10Pagination) ? 1 : slave10Pagination.current,
+ ...slave10Pagination,
+ // showQuickJumper: true,
+ hideOnSinglePage: true,
+ size: isSmall ? "small" : "large",
+ pageSizeOptions: commonConfig.pageSizeOptions,
+ showSizeChanger: !isSmall,
+ showQuickJumper: !isSmall,
+ };
+
+ /* 表1-commonView显示区域 */
+ const ableConfigs = commonUtils.isNotEmptyObject(slaveConfig)
+ ? slaveConfig.gdsconfigformslave.filter(item => item.sName !== "" && item.bControl && item.sControlName.indexOf("Btn") === -1)
+ : [];
+ /* 选中行 */
+ let showAll = true; /* 只显示表格 */
+ let bShowLeft = true; /* 表格显示在左侧 */
+ let iColValueView = 12;
+ let iColValueTable = 12;
+ let slaveRow = {};
+ if (commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) {
+ const iIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sId));
+ if (iIndex > -1) {
+ slaveRow = slaveData[iIndex];
+ } else {
+ slaveRow = slaveData[0];
+ }
+ } else if (commonUtils.isNotEmptyArr(slaveData)) {
+ slaveRow = slaveData[0];
+ }
+ if (commonUtils.isNotEmptyObject(slaveConfig) && commonUtils.isNotEmptyArr(slaveConfig.gdsconfigformslave)) {
+ const iIndexArea = slaveConfig.gdsconfigformslave.findIndex(item => item.sControlName !== "" && item.sControlName.includes("bShow"));
+ if (iIndexArea > -1) {
+ showAll = false;
+ }
+ if (commonUtils.isNotEmptyObject(slaveConfig) && commonUtils.isNotEmptyArr(slaveConfig.gdsconfigformslave)) {
+ const iShowLeft = slaveConfig.gdsconfigformslave.findIndex(item => item.sControlName === "bShowLeft" && item.bVisible);
+ const iShowRight = slaveConfig.gdsconfigformslave.findIndex(item => item.sControlName === "bShowRight" && item.bVisible);
+ if (iShowLeft > -1) {
+ bShowLeft = true;
+ iColValueTable = slaveConfig.gdsconfigformslave[iShowLeft].iColValue;
+ } else if (iShowRight > -1) {
+ bShowLeft = false;
+ iColValueTable = slaveConfig.gdsconfigformslave[iShowRight].iColValue;
+ }
+ }
+ }
+ iColValueView = commonUtils.isNotEmptyNumber(iColValueTable) ? 24 - iColValueTable : 12;
+ const iShowOrder = bShowLeft ? 1 : 100;
+
+ /* 表2-commonView显示区域 */
+ const ableConfigs0 = commonUtils.isNotEmptyObject(slave0Config)
+ ? slave0Config.gdsconfigformslave.filter(item => item.sName !== "" && item.bControl && item.sControlName.indexOf("Btn") === -1)
+ : [];
+ let showAll0 = true; /* 只显示表格 */
+ let bShowLeft0 = true; /* 表格显示在左侧 */
+ let iColValueView0 = 12;
+ let iColValueTable0 = 12;
+ let slave0Row = {};
+ if (commonUtils.isNotEmptyArr(slave0SelectedRowKeys)) {
+ const iIndex = slave0Data.findIndex(item => slave0SelectedRowKeys.includes(item.sId));
+ if (iIndex > -1) {
+ slave0Row = slave0Data[iIndex];
+ } else {
+ slave0Row = slave0Data[0];
+ }
+ } else if (commonUtils.isNotEmptyArr(slave0Data)) {
+ slave0Row = slave0Data[0];
+ }
+ if (commonUtils.isNotEmptyObject(slave0Config) && commonUtils.isNotEmptyArr(slave0Config.gdsconfigformslave)) {
+ const iIndexArea = slave0Config.gdsconfigformslave.findIndex(item => item.sControlName !== "" && item.sControlName.includes("bShow"));
+ if (iIndexArea > -1) {
+ showAll0 = false;
+ }
+ if (commonUtils.isNotEmptyObject(slave0Config) && commonUtils.isNotEmptyArr(slave0Config.gdsconfigformslave)) {
+ const iShowLeft0 = slave0Config.gdsconfigformslave.findIndex(item => item.sControlName === "bShowLeft" && item.bVisible);
+ const iShowRight0 = slave0Config.gdsconfigformslave.findIndex(item => item.sControlName === "bShowRight" && item.bVisible);
+ if (iShowLeft0 > -1) {
+ bShowLeft0 = true;
+ iColValueTable0 = slave0Config.gdsconfigformslave[iShowLeft0].iColValue;
+ } else if (iShowRight0 > -1) {
+ bShowLeft0 = false;
+ iColValueTable0 = slave0Config.gdsconfigformslave[iShowRight0].iColValue;
+ }
+ }
+ }
+ iColValueView0 = commonUtils.isNotEmptyNumber(iColValueTable0) ? 24 - iColValueTable0 : 12;
+ const iShowOrder0 = bShowLeft0 ? 1 : 100;
+
+ /* 表3-commonView显示区域 */
+ const ableConfigs1 = commonUtils.isNotEmptyObject(slave1Config)
+ ? slave1Config.gdsconfigformslave.filter(item => item.sName !== "" && item.bControl && item.sControlName.indexOf("Btn") === -1)
+ : [];
+ let showAll1 = true; /* 只显示表格 */
+ let bShowLeft1 = true; /* 表格显示在左侧 */
+ let iColValueView1 = 12;
+ let iColValueTable1 = 12;
+ let slave1Row = {};
+ if (commonUtils.isNotEmptyArr(slave1SelectedRowKeys)) {
+ const iIndex = slave1Data.findIndex(item => slave1SelectedRowKeys.includes(item.sId));
+ if (iIndex > -1) {
+ slave1Row = slave1Data[iIndex];
+ } else {
+ slave1Row = slave1Data[0];
+ }
+ } else if (commonUtils.isNotEmptyArr(slave1Data)) {
+ slave1Row = slave1Data[0];
+ }
+ if (commonUtils.isNotEmptyObject(slave1Config) && commonUtils.isNotEmptyArr(slave1Config.gdsconfigformslave)) {
+ const iIndexArea = slave1Config.gdsconfigformslave.findIndex(item => item.sControlName !== "" && item.sControlName.includes("bShow"));
+ if (iIndexArea > -1) {
+ showAll1 = false;
+ }
+ if (commonUtils.isNotEmptyObject(slave1Config) && commonUtils.isNotEmptyArr(slave1Config.gdsconfigformslave)) {
+ const iShowLeft1 = slave1Config.gdsconfigformslave.findIndex(item => item.sControlName === "bShowLeft" && item.bVisible);
+ const iShowRight1 = slave1Config.gdsconfigformslave.findIndex(item => item.sControlName === "bShowRight" && item.bVisible);
+ if (iShowLeft1 > -1) {
+ bShowLeft1 = true;
+ iColValueTable1 = slave1Config.gdsconfigformslave[iShowLeft1].iColValue;
+ } else if (iShowRight1 > -1) {
+ bShowLeft1 = false;
+ iColValueTable1 = slave1Config.gdsconfigformslave[iShowRight1].iColValue;
+ }
+ }
+ }
+ iColValueView1 = commonUtils.isNotEmptyNumber(iColValueTable1) ? 24 - iColValueTable1 : 12;
+ const iShowOrder1 = bShowLeft1 ? 1 : 100;
+
+ /* 表4-commonView显示区域 */
+ const ableConfigs2 = commonUtils.isNotEmptyObject(slave2Config)
+ ? slave2Config.gdsconfigformslave.filter(item => item.sName !== "" && item.bControl && item.sControlName.indexOf("Btn") === -1)
+ : [];
+ let showAll2 = true; /* 只显示表格 */
+ let bShowLeft2 = true; /* 表格显示在左侧 */
+ let iColValueView2 = 12;
+ let iColValueTable2 = 12;
+ let slave2Row = {};
+ if (commonUtils.isNotEmptyArr(slave2SelectedRowKeys)) {
+ const iIndex = slave2Data.findIndex(item => slave2SelectedRowKeys.includes(item.sId));
+ if (iIndex > -1) {
+ slave2Row = slave2Data[iIndex];
+ } else {
+ slave2Row = slave2Data[0];
+ }
+ } else if (commonUtils.isNotEmptyArr(slave2Data)) {
+ slave2Row = slave2Data[0];
+ }
+ if (commonUtils.isNotEmptyObject(slave2Config) && commonUtils.isNotEmptyArr(slave2Config.gdsconfigformslave)) {
+ const iIndexArea = slave2Config.gdsconfigformslave.findIndex(item => item.sControlName !== "" && item.sControlName.includes("bShow"));
+ if (iIndexArea > -1) {
+ showAll2 = false;
+ }
+ if (commonUtils.isNotEmptyObject(slave2Config) && commonUtils.isNotEmptyArr(slave2Config.gdsconfigformslave)) {
+ const iShowLeft2 = slave2Config.gdsconfigformslave.findIndex(item => item.sControlName === "bShowLeft" && item.bVisible);
+ const iShowRight2 = slave2Config.gdsconfigformslave.findIndex(item => item.sControlName === "bShowRight" && item.bVisible);
+ if (iShowLeft2 > -1) {
+ bShowLeft2 = true;
+ iColValueTable2 = slave2Config.gdsconfigformslave[iShowLeft2].iColValue;
+ } else if (iShowRight2 > -1) {
+ bShowLeft2 = false;
+ iColValueTable2 = slave2Config.gdsconfigformslave[iShowRight2].iColValue;
+ }
+ }
+ }
+ iColValueView2 = commonUtils.isNotEmptyNumber(iColValueTable2) ? 24 - iColValueTable2 : 12;
+ if (slave2Config && slave2Config.sChinese === "上批对比") {
+ iColValueView2 = iColValueView1;
+ }
+ const iShowOrder2 = bShowLeft2 ? 1 : 100;
+
+ /* 表5-commonView显示区域 */
+ const ableConfigs3 = commonUtils.isNotEmptyObject(slave3Config)
+ ? slave3Config.gdsconfigformslave.filter(item => item.sName !== "" && item.bControl && item.sControlName.indexOf("Btn") === -1)
+ : [];
+ let showAll3 = true; /* 只显示表格 */
+ let bShowLeft3 = true; /* 表格显示在左侧 */
+ let iColValueView3 = 12;
+ let iColValueTable3 = 12;
+ let slave3Row = {};
+ if (commonUtils.isNotEmptyArr(slave3SelectedRowKeys)) {
+ const iIndex = slave3Data.findIndex(item => slave3SelectedRowKeys.includes(item.sId));
+ if (iIndex > -1) {
+ slave3Row = slave3Data[iIndex];
+ } else {
+ slave3Row = slave3Data[0];
+ }
+ } else if (commonUtils.isNotEmptyArr(slave3Data)) {
+ slave3Row = slave3Data[0];
+ }
+ if (commonUtils.isNotEmptyObject(slave3Config) && commonUtils.isNotEmptyArr(slave3Config.gdsconfigformslave)) {
+ const iIndexArea = slave3Config.gdsconfigformslave.findIndex(item => item.sControlName !== "" && item.sControlName.includes("bShow"));
+ if (iIndexArea > -1) {
+ showAll3 = false;
+ }
+ if (commonUtils.isNotEmptyObject(slave3Config) && commonUtils.isNotEmptyArr(slave3Config.gdsconfigformslave)) {
+ const iShowLeft3 = slave3Config.gdsconfigformslave.findIndex(item => item.sControlName === "bShowLeft" && item.bVisible);
+ const iShowRight3 = slave3Config.gdsconfigformslave.findIndex(item => item.sControlName === "bShowRight" && item.bVisible);
+ if (iShowLeft3 > -1) {
+ bShowLeft3 = true;
+ iColValueTable3 = slave3Config.gdsconfigformslave[iShowLeft3].iColValue;
+ } else if (iShowRight3 > -1) {
+ bShowLeft3 = false;
+ iColValueTable3 = slave3Config.gdsconfigformslave[iShowRight3].iColValue;
+ }
+ }
+ }
+ iColValueView3 = commonUtils.isNotEmptyNumber(iColValueTable3) ? 24 - iColValueTable3 : 12;
+ const iShowOrder3 = bShowLeft3 ? 1 : 100;
+
+ /* 表6-commonView显示区域 */
+ const ableConfigs4 = commonUtils.isNotEmptyObject(slave4Config)
+ ? slave4Config.gdsconfigformslave.filter(item => item.sName !== "" && item.bControl && item.sControlName.indexOf("Btn") === -1)
+ : [];
+ let showAll4 = true; /* 只显示表格 */
+ let bShowLeft4 = true; /* 表格显示在左侧 */
+ let iColValueView4 = 12;
+ let iColValueTable4 = 12;
+ let slave4Row = {};
+ if (commonUtils.isNotEmptyArr(slave4SelectedRowKeys)) {
+ const iIndex = slave4Data.findIndex(item => slave4SelectedRowKeys.includes(item.sId));
+ if (iIndex > -1) {
+ slave4Row = slave4Data[iIndex];
+ } else {
+ slave4Row = slave4Data[0];
+ }
+ } else if (commonUtils.isNotEmptyArr(slave4Data)) {
+ slave4Row = slave4Data[0];
+ }
+ if (commonUtils.isNotEmptyObject(slave4Config) && commonUtils.isNotEmptyArr(slave4Config.gdsconfigformslave)) {
+ const iIndexArea = slave4Config.gdsconfigformslave.findIndex(item => item.sControlName !== "" && item.sControlName.includes("bShow"));
+ if (iIndexArea > -1) {
+ showAll4 = false;
+ }
+ if (commonUtils.isNotEmptyObject(slave4Config) && commonUtils.isNotEmptyArr(slave4Config.gdsconfigformslave)) {
+ const iShowLeft4 = slave4Config.gdsconfigformslave.findIndex(item => item.sControlName === "bShowLeft" && item.bVisible);
+ const iShowRight4 = slave4Config.gdsconfigformslave.findIndex(item => item.sControlName === "bShowRight" && item.bVisible);
+ if (iShowLeft4 > -1) {
+ bShowLeft4 = true;
+ iColValueTable4 = slave4Config.gdsconfigformslave[iShowLeft4].iColValue;
+ } else if (iShowRight4 > -1) {
+ bShowLeft4 = false;
+ iColValueTable4 = slave4Config.gdsconfigformslave[iShowRight4].iColValue;
+ }
+ }
+ }
+ iColValueView4 = commonUtils.isNotEmptyNumber(iColValueTable4) ? 24 - iColValueTable4 : 12;
+ const iShowOrder4 = bShowLeft4 ? 1 : 100;
+
+ const listType = "commonMultiList";
+ const bCheck = commonUtils.isNotEmptyObject(slaveConfig) && slaveConfig.sTbName === "sysbillcheckresult" ? true : false;
+
+ const bSingleTree = commonUtils.isNotEmptyObject(slaveConfig) && slaveConfig.sTableType === "single"; /* 单表数据 */
+ const bShowTreeAddChild =
+ commonUtils.isNotEmptyObject(slaveConfig) &&
+ commonUtils.isNotEmptyArr(slaveConfig.gdsconfigformslave.filter(item => item.sControlName.includes("BtnAddChildNode") && item.bVisible))
+ ? true
+ : false; /* 是否是树形的单据 */
+
+ const bSlaveSort = slaveConfig?.gdsconfigformslave?.find(item => item.sControlName === "handleSort")?.bVisible || false;
+
+ const slaveTableProps = {
+ ...commonBusiness.getTableTypes("slave", props),
+ tableBelone: sModelsType === listType ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ bShowTreeAddChild: bShowTreeAddChild,
+ pagination,
+ onChange: props.onTitleChange.bind(this, "slave"),
+ dragTableHeight: 344
+ },
+ noVlistTable: bPagination,
+ onDelRow: props.onDelRow,
+ data: bSingleTree && commonUtils.isNotEmptyArr(slaveData) ? commonUtils.genTreeByArr(slaveData, "sId", "sFatherSlaveId") : slaveData,
+ onTreeAddChild: props.onDataRowAddChild,
+ customConfig: props.customConfig,
+ isDragAndDrop: bSlaveSort,
+ onMoveRow: props.onMoveRow,
+ isSettingFunctions: true
+ };
+
+ const bCheck0 = commonUtils.isNotEmptyObject(slave0Config) && slave0Config.sTbName === "sysbillcheckresult" ? true : false;
+ const slave0TableProps = {
+ ...commonBusiness.getTableTypes("slave0", props),
+ tableBelone: sModelsType === listType || bCheck ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ pagination: pagination0,
+ onChange: props.onTitleChange.bind(this, "slave0"),
+ },
+ };
+ const bCheck1 = commonUtils.isNotEmptyObject(slave1Config) && slave1Config.sTbName === "sysbillcheckresult" ? true : false;
+ const slave1TableProps = {
+ ...commonBusiness.getTableTypes("slave1", props),
+ tableBelone: sModelsType === listType ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ pagination: pagination1,
+ onChange: props.onTitleChange.bind(this, "slave1"),
+ },
+ };
+ const bCheck2 = commonUtils.isNotEmptyObject(slave2Config) && slave2Config.sTbName === "sysbillcheckresult" ? true : false;
+ const slave2TableProps = {
+ ...commonBusiness.getTableTypes("slave2", props),
+ tableBelone: sModelsType === listType ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ pagination: pagination2,
+ onChange: props.onTitleChange.bind(this, "slave2"),
+ },
+ };
+ const slave3TableProps = {
+ ...commonBusiness.getTableTypes("slave3", props),
+ tableBelone: sModelsType === listType ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ pagination: pagination3,
+ onChange: props.onTitleChange.bind(this, "slave3"),
+ },
+ };
+ const slave4TableProps = {
+ ...commonBusiness.getTableTypes("slave4", props),
+ tableBelone: sModelsType === listType ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ pagination: pagination4,
+ onChange: props.onTitleChange.bind(this, "slave4"),
+ },
+ };
+ const slave5TableProps = {
+ ...commonBusiness.getTableTypes("slave5", props),
+ tableBelone: sModelsType === listType ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ pagination: pagination5,
+ onChange: props.onTitleChange.bind(this, "slave5"),
+ },
+ };
+
+ const slave6TableProps = {
+ ...commonBusiness.getTableTypes("slave6", props),
+ tableBelone: sModelsType === listType ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ pagination: pagination6,
+ onChange: props.onTitleChange.bind(this, "slave6"),
+ },
+ };
+
+ const slave7TableProps = {
+ ...commonBusiness.getTableTypes("slave7", props),
+ tableBelone: sModelsType === listType ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ pagination: pagination7,
+ onChange: props.onTitleChange.bind(this, "slave7"),
+ },
+ };
+
+ const slave8TableProps = {
+ ...commonBusiness.getTableTypes("slave8", props),
+ tableBelone: sModelsType === listType ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ pagination: pagination8,
+ onChange: props.onTitleChange.bind(this, "slave8"),
+ },
+ };
+
+ const slave9TableProps = {
+ ...commonBusiness.getTableTypes("slave9", props),
+ tableBelone: sModelsType === listType ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ pagination: pagination9,
+ onChange: props.onTitleChange.bind(this, "slave9"),
+ },
+ };
+
+ const slave10TableProps = {
+ ...commonBusiness.getTableTypes("slave10", props),
+ tableBelone: sModelsType === listType ? "list" : "" /* 新需求:做个1带N的只可查看不可编辑的表格,模块类型名:commonMultiList */,
+ tableProps: {
+ setAdd,
+ setCopy,
+ setCopyAll,
+ setDelete,
+ pagination: pagination10,
+ onChange: props.onTitleChange.bind(this, "slave10"),
+ },
+ };
+
+ /* 从表view */
+ const slaveViewProps = {
+ ...props,
+ viewConfigs: ableConfigs,
+ tableConfig: slaveConfig,
+ iColValueView,
+ viewRow: slaveRow,
+ tableName: "slave",
+ handleFieldDoubleClick: props.handleFieldDoubleClick,
+ };
+
+ /* 第二张表 */
+ const slave0ViewProps = {
+ ...props,
+ viewConfigs: ableConfigs0,
+ tableConfig: slave0Config,
+ iColValueView: iColValueView0,
+ viewRow: slave0Row,
+ tableName: "slave0",
+ };
+ /* */
+ const slave1ViewProps = {
+ ...props,
+ viewConfigs: ableConfigs1,
+ tableConfig: slave1Config,
+ iColValueView: iColValueView1,
+ viewRow: slave1Row,
+ tableName: "slave1",
+ };
+ /* 从表view */
+ const slave2ViewProps = {
+ ...props,
+ viewConfigs: ableConfigs2,
+ tableConfig: slave2Config,
+ iColValueView: iColValueView2,
+ viewRow: slave2Row,
+ tableName: "slave2",
+ };
+
+ /* pack表view */
+ const slave3ViewProps = {
+ ...props,
+ viewConfigs: ableConfigs3,
+ tableConfig: slave3Config,
+ iColValueView: iColValueView3,
+ viewRow: slave3Row,
+ tableName: "slave3",
+ };
+
+ const slave4ViewProps = {
+ ...props,
+ viewConfigs: ableConfigs4,
+ tableConfig: slave4Config,
+ iColValueView: iColValueView4,
+ viewRow: slave4Row,
+ tableName: "slave4",
+ };
+
+ /* 获取AssignmentField中的props */
+ const assignmentFieldProps = {
+ visibleAssignmentField: props.visibleAssignmentField /* 是否展示 */,
+ sAssignFieldData: props.sAssignFieldData /* 数据 */,
+ sAssignFieldColumn: props.sAssignFieldColumn /* 表头 */,
+ selectedRowKeys: props.selectedRowKeys /* 选中 */,
+ sAssignFieldSelectedRowKeys: props.selectedRowKeys /* 选中 */,
+ onSaveState: props.onSaveState /* 保存数据方法 */,
+ onDataRowAdd: props.handleAddRow.bind(this, "sAssignField"),
+ onDataRowDel: props.handleDelRow.bind(this, "sAssignField"),
+ onDataRowCopy: props.handleCopyRow.bind(this, "sAssignField"),
+ // onRowClick: props.handleRowClick.bind(this, 'sAssignField'),
+ config: props.config,
+ app: props.app,
+ enabled: props.enabled,
+ onDataChange: props.onChange,
+ onGetsAssignField: props.onGetsAssignField,
+ handleFieldDoubleClick: props.handleFieldDoubleClick,
+ };
+
+ // const slaveInfo = commonFunc.showMessage(app.commonConst, 'MainContent'); /* 从表信息 */
+ // const materialsInfo = commonFunc.showMessage(app.commonConst, 'zMaterials'); /* 材料表 */
+ // const checkInfo = commonFunc.showMessage(app.commonConst, 'zCheck'); /* 审核表 */
+ // const slaveInfo0 = commonFunc.showMessage(app.commonConst, 'zSlaveInfo0'); /* 工序表 */
+ // const slaveInfo1 = commonFunc.showMessage(app.commonConst, 'zSlaveInfo1'); /* 表二 */
+ // const slaveInfo2 = commonFunc.showMessage(app.commonConst, 'zSlaveInfo2'); /* 表三 */
+ let slaveInfo = "";
+ let materialsInfo = "";
+ let checkInfo = "";
+ let slaveInfo0 = "";
+ let slaveInfo1 = "";
+ let slaveInfo2 = "";
+ let slaveInfo3 = "";
+ let slaveInfo4 = "";
+ let slaveInfo5 = "";
+ let slaveInfo6 = "";
+ let slaveInfo7 = "";
+ let slaveInfo8 = "";
+
+ let defaultTab = "";
+
+ if (commonUtils.isNotEmptyObject(masterConfig) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave)) {
+ slaveInfo = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "MainContent"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "MainContent")[0].showName
+ : commonFunc.showMessage(app.commonConst, "MainContent"); /* 从表信息 */
+ materialsInfo = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zMaterials"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zMaterials")[0].showName
+ : commonFunc.showMessage(app.commonConst, "zMaterials"); /* 表一 */
+ checkInfo = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zCheck"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zCheck")[0].showName
+ : commonFunc.showMessage(app.commonConst, "zCheck"); /* 表二 */
+ slaveInfo0 = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo0"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo0")[0].showName
+ : commonFunc.showMessage(app.commonConst, "zSlaveInfo0"); /* 表三 */
+ slaveInfo1 = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo1"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo1")[0].showName
+ : commonFunc.showMessage(app.commonConst, "zSlaveInfo1"); /* 表四 */
+ slaveInfo2 = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo2"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo2")[0].showName
+ : commonFunc.showMessage(app.commonConst, "zSlaveInfo2"); /* 表五 */
+ slaveInfo3 = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo3"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo3")[0].showName
+ : commonFunc.showMessage(app.commonConst, "zSlaveInfo3"); /* 表六 */
+ slaveInfo4 = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo4"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo4")[0].showName
+ : commonFunc.showMessage(app.commonConst, "zSlaveInfo4"); /* 表七 */
+ slaveInfo5 = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo5"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo5")[0].showName
+ : commonFunc.showMessage(app.commonConst, "zSlaveInfo5"); /* 表八 */
+ slaveInfo6 = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo6"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo6")[0].showName
+ : commonFunc.showMessage(app.commonConst, "zSlaveInfo6"); /* 表九 */
+ slaveInfo7 = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo7"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo7")[0].showName
+ : commonFunc.showMessage(app.commonConst, "zSlaveInfo7"); /* 表十 */
+ slaveInfo8 = commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo8"))
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === "zSlaveInfo8")[0].showName
+ : commonFunc.showMessage(app.commonConst, "zSlaveInfo8"); /* 表十一 */
+
+ // 获取默认展开tab
+ const defaultTabConfig = masterConfig.gdsconfigformslave.find(
+ item =>
+ ["MainContent", "zMaterials", "zCheck", ...new Array(10).fill("").map((_, index) => `zSlaveInfo${index}`)].includes(item.sControlName) &&
+ item.sDefault
+ );
+ if (defaultTabConfig) {
+ if (defaultTabConfig.sControlName === "MainContent") {
+ defaultTab = "10";
+ } else if (defaultTabConfig.sControlName === "zMaterials") {
+ defaultTab = "20";
+ } else if (defaultTabConfig.sControlName === "zCheck") {
+ defaultTab = "30";
+ } else {
+ try {
+ defaultTab = `${Number(defaultTabConfig.sControlName.split("zSlaveInfo")[1]) * 10 + 40}`;
+ } catch (error) { }
+ }
+ }
+ if (defaultTab && props.currentTab === "") {
+ props.onTabChange(defaultTab);
+ }
+ }
+
+ let productProcessInfoType = {};
+ let productProcessInfoConfig = {};
+ let processCardSearchResult = commonFunc.showMessage(app.commonConst, "processCardSearchResult"); /* 复制从工艺卡查询结果 */
+ if (commonUtils.isNotEmptyObject(props.productProcessInfoChooseData)) {
+ const productProcessInfoCopyFromKey = props.productProcessInfoCopyFromKey;
+ const iIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === productProcessInfoCopyFromKey);
+ if (iIndex > -1) {
+ productProcessInfoConfig = masterConfig.gdsconfigformslave[iIndex];
+ processCardSearchResult =
+ commonUtils.isNotEmptyObject(productProcessInfoConfig) && commonUtils.isNotEmptyObject(productProcessInfoConfig.sActiveName)
+ ? productProcessInfoConfig.sActiveName
+ : processCardSearchResult;
+ }
+ productProcessInfoType = {
+ app: {
+ ...props.app,
+ currentPane: {
+ name: "productProcessInfo",
+ config: productProcessInfoConfig,
+ conditonValues: props.getSqlCondition(productProcessInfoConfig),
+ title: props.productProcessInfoChooseData.sMenuName,
+ route: props.productProcessInfoChooseData.sName,
+ formId: props.productProcessInfoChooseData.sId,
+ key: props.sModelsId + props.productProcessInfoChooseData.sId,
+ sModelsType: props.productProcessInfoChooseData.sModelType,
+ select: props.onSelect,
+ selectCancel: props.onSelectCancel,
+ },
+ },
+ dispatch: props.dispatch,
+ content: props.content,
+ id: new Date().getTime().toString(),
+ };
+ }
+
+ let isSysSetting = false;
+ if (
+ props &&
+ props.app &&
+ props.app.currentPane &&
+ props.app.currentPane.title &&
+ props.app.currentPane &&
+ props.app.currentPane.title === "功能模块界面设置单据"
+ ) {
+ isSysSetting = true;
+ }
+ const templateProps = props.formData.filter(item => item.sGrd === "importTemplate")[0];
+ let gdsconfigformmasterId = "";
+ if (templateProps !== undefined) {
+ gdsconfigformmasterId = templateProps.sId;
+ }
+ const sNotEmpty = "sParentId,sProductId";
+ let uploadUrl = `${commonConfig.server_host}import/checkExcel?sModelsId=${sModelsId}&gdsconfigformmasterId=${gdsconfigformmasterId}&sNotEmpty=${sNotEmpty}&token=${app.token}`;
+ /* 送货单需要传客户id */
+ if (commonUtils.isNotEmptyObject(sModelsType) && sModelsType === "sales/salesSgoods" && commonUtils.isNotEmptyObject(masterData)) {
+ const sCustomerId = masterData.sCustomerId;
+ if (commonUtils.isNotEmptyObject(sCustomerId)) {
+ uploadUrl = `${commonConfig.server_host}import/checkExcel?sModelsId=${sModelsId}&gdsconfigformmasterId=${gdsconfigformmasterId}&sNotEmpty=${sNotEmpty}&sCustomerId=${sCustomerId}&token=${app.token}`;
+ }
+ }
+ const outProps = {
+ action: uploadUrl,
+ onChange: props.onUploadChangeFile /* 文件上传 */,
+ accept: "xls/*",
+ showUploadList: false,
+ beforeUpload: () => {
+ /* 查看时不可上传 */
+ if (!props.enabled) return false;
+ },
+ };
+
+ const uploadPropsSales = props.onUploadPropsSales();
+ const BtnimportData = commonFunc.showMessage(app.commonConst, "importData"); /* 导入数据 */
+ const ImportData = commonUtils.isNotEmptyObject(masterConfig)
+ ? masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes("ImportData") && item.bVisible)
+ : ""; /* 后台是否配置导入 */
+
+ /* 显示导入报错信息 */
+ let importExcelProps = {};
+ let importExcelTitle = commonUtils.isNotEmptyObject(commonFunc.showMessage(app.commonConst, "processCardSearchResult"))
+ ? commonFunc.showMessage(app.commonConst, "importErrorMsg")
+ : "导入校验信息"; /* 导入校验信息 */
+ if (commonUtils.isNotEmptyObject(props)) {
+ importExcelProps = {
+ ...commonBusiness.getTableTypes("import", props),
+ tableProps: {
+ pagination: null,
+ AutoTableHeight: 400,
+ },
+ // data: bSingleTree && commonUtils.isNotEmptyArr(slaveData) ? commonUtils.genTreeByArr(slaveData, 'sId', 'sFatherSlaveId') : slaveData,
+ onDelRow: props.onDelRow,
+ onKeyDown: props.onKeyDown,
+ onContextMenu: props.onContextMenu,
+ masterData: props.masterData, // 为通用弹窗提供主表数据(孟总需求:产品新增需要带上客户信息)
+ tableBelone: "list",
+ };
+ }
+ const sProcessParams = commonFunc.showMessage(app.commonConst, "sProcessParams"); /* 选择工艺参数标题 */
+
+ const sProcessParamsNew = commonUtils.isNotEmptyObject(commonFunc.showMessage(app.commonConst, "sProcessParamsNew"))
+ ? commonFunc.showMessage(app.commonConst, "sProcessParamsNew")
+ : "选择新的工艺参数"; /* 选择工艺参数标题 */
+ /* 新方式的工艺参数 */
+ const sParamProps = {
+ ...commonBusiness.getTableTypes("sParam", props),
+ tableProps: {
+ rowKey: "sId",
+ // pagination,
+ onChange: props.onTitleChange,
+ sModelsType,
+ AutoTableHeight: 350,
+ },
+ bRowClick: true,
+ enabled: false,
+ };
+
+ const sParamNewProps = {
+ ...commonBusiness.getTableTypes("sParamNew", props),
+ tableProps: {
+ rowKey: "sId",
+ // pagination,
+ onChange: props.onTitleChange,
+ sModelsType,
+ AutoTableHeight: 350,
+ },
+ bRowClick: true,
+ };
+ //
+ // const menu = (
+ //
+ // );
+ /* 取 masterConfig中有多少个Tab页签配置 */
+ const masterShowConfig = commonUtils.isNotEmptyObject(masterConfigOld)
+ ? masterConfigOld.gdsconfigformslave.filter(item => item.bVisible && item.sName !== "")
+ : [];
+ const diliverConfigTypeArr = []; /* 有Tab的配置 */
+ masterShowConfig.forEach(child => {
+ if (child.sControlName.indexOf("_") > -1) {
+ const tableType = child.sControlName.split("_")[1];
+ const isIndex = diliverConfigTypeArr.findIndex(item => item === tableType);
+ if (isIndex === -1) {
+ diliverConfigTypeArr.push(tableType);
+ }
+ }
+ });
+
+ /* 主表页签+表格页签排序规则,表格页签以10位一个间隔,10,20,30,40,50,60,如果想进行排序 则页签顺序介入其间即可 */
+ /* 找到各个主表页签Tab所处的区间 */
+ let diliverConfigTypeArr1 = [];
+ let diliverConfigTypeArr2 = [];
+ let diliverConfigTypeArr3 = [];
+ let diliverConfigTypeArr4 = [];
+ let diliverConfigTypeArr5 = [];
+ let diliverConfigTypeArr6 = [];
+ for (const item of diliverConfigTypeArr) {
+ let numStr = item.replace(/[^\d]/g, "").trim();
+ let num = Number(numStr);
+ if (!commonUtils.isEmpty(num)) {
+ if (num < 10) {
+ /* 0- 10 */
+ diliverConfigTypeArr1.push(item);
+ } else if (num < 20) {
+ /* 10- 20 */
+ diliverConfigTypeArr2.push(item);
+ } else if (num < 30) {
+ /* 20- 30 */
+ diliverConfigTypeArr3.push(item);
+ } else if (num < 40) {
+ /* 30- 40 */
+ diliverConfigTypeArr4.push(item);
+ } else if (num < 50) {
+ /* 40- 50 */
+ diliverConfigTypeArr5.push(item);
+ } else if (num < 60) {
+ /* 50- 60 */
+ diliverConfigTypeArr6.push(item);
+ }
+ }
+ }
+
+ const tabNumList = [
+ ...diliverConfigTypeArr1,
+ onlySlave ? "10" : "",
+ ...diliverConfigTypeArr2,
+ onlySlave0 ? "20" : "",
+ ...diliverConfigTypeArr3,
+ onlySlave1 ? "30" : "",
+ ...diliverConfigTypeArr4,
+ onlyslave2 ? "40" : "",
+ ...diliverConfigTypeArr5,
+ onlyslave3 ? "50" : "",
+ ...diliverConfigTypeArr6,
+ onlyslave4 ? "60" : "",
+ onlyslave5 ? "70" : "",
+ onlyslave6 ? "80" : "",
+ onlyslave7 ? "90" : "",
+ onlyslave8 ? "100" : "",
+ onlyslave9 ? "110" : "",
+ onlyslave10 ? "150" : "",
+ ].filter(item => item);
+ const { enabled } = props.masterData || {};
+ if (enabled) {
+ // 只有修改状态才会根据数据改变tab页
+ const tabNumListOld = props.onGetTabNumList(tabNumList);
+ if (tabNumListOld && JSON.stringify(tabNumListOld) !== JSON.stringify(tabNumList)) {
+ const addData = tabNumList.find(item => tabNumListOld.indexOf(item) === -1);
+ props.onSetTabNumList(tabNumList);
+ if (addData) {
+ const activeKey = addData.replace(/[^\d]/g, "").trim();
+ props.onTabChange(activeKey);
+ } else if (!tabNumList.some(item => props.currentTab === item.replace(/[^\d]/g, "").trim())) {
+ const activeKey = tabNumList[0].replace(/[^\d]/g, "").trim();
+ props.onTabChange(activeKey);
+ }
+ }
+ }
+
+ if (!defaultTab && props.currentTab === "" && commonUtils.isNotEmptyArr(tabNumList)) {
+ const activeKey = tabNumList[0].replace(/[^\d]/g, "").trim();
+ props.onSetTabNumList(tabNumList);
+ props.onTabChange(activeKey);
+ }
+
+ // 组件展示是否单独Tab页
+ let bControlSeparateTab = false;
+ let bControlSeparateTab0 = false;
+ let bControlSeparateTab1 = false;
+ let bControlSeparateTab2 = false;
+ let bControlSeparateTab3 = false;
+ let bControlSeparateTab4 = false;
+ let bControlSeparateTab5 = false;
+ let bControlSeparateTab6 = false;
+ let bControlSeparateTab7 = false;
+ let bControlSeparateTab8 = false;
+ let bControlSeparateTab9 = false;
+ let bControlSeparateTab10 = false;
+
+ let separateTabName,
+ separateTabName0,
+ separateTabName1,
+ separateTabName2,
+ separateTabName3,
+ separateTabName4,
+ separateTabName5,
+ separateTabName6,
+ separateTabName7,
+ separateTabName8,
+ separateTabName9,
+ separateTabName10;
+
+ if (commonUtils.isNotEmptyObject(slaveConfig) && commonUtils.isNotEmptyArr(slaveConfig.gdsconfigformslave)) {
+ const iIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slaveConfig.gdsconfigformslave[iIndex];
+ bControlSeparateTab = true;
+ separateTabName = separateTabConfig.showName;
+ }
+ }
+ if (commonUtils.isNotEmptyObject(slave0Config) && commonUtils.isNotEmptyArr(slave0Config.gdsconfigformslave)) {
+ const iIndex = slave0Config.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slave0Config.gdsconfigformslave[iIndex];
+ bControlSeparateTab0 = true;
+ separateTabName0 = separateTabConfig.showName;
+ }
+ }
+ if (commonUtils.isNotEmptyObject(slave1Config) && commonUtils.isNotEmptyArr(slave1Config.gdsconfigformslave)) {
+ const iIndex = slave1Config.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slave1Config.gdsconfigformslave[iIndex];
+ bControlSeparateTab1 = true;
+ separateTabName1 = separateTabConfig.showName;
+ }
+ }
+ if (commonUtils.isNotEmptyObject(slave2Config) && commonUtils.isNotEmptyArr(slave2Config.gdsconfigformslave)) {
+ const iIndex = slave2Config.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slave2Config.gdsconfigformslave[iIndex];
+ bControlSeparateTab2 = true;
+ separateTabName2 = separateTabConfig.showName;
+ }
+ }
+ if (commonUtils.isNotEmptyObject(slave3Config) && commonUtils.isNotEmptyArr(slave3Config.gdsconfigformslave)) {
+ const iIndex = slave3Config.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slave3Config.gdsconfigformslave[iIndex];
+ bControlSeparateTab3 = true;
+ separateTabName3 = separateTabConfig.showName;
+ }
+ }
+ if (commonUtils.isNotEmptyObject(slave4Config) && commonUtils.isNotEmptyArr(slave4Config.gdsconfigformslave)) {
+ const iIndex = slave4Config.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slave4Config.gdsconfigformslave[iIndex];
+ bControlSeparateTab4 = true;
+ separateTabName4 = separateTabConfig.showName;
+ }
+ }
+ if (commonUtils.isNotEmptyObject(slave5Config) && commonUtils.isNotEmptyArr(slave5Config.gdsconfigformslave)) {
+ const iIndex = slave5Config.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slave5Config.gdsconfigformslave[iIndex];
+ bControlSeparateTab5 = true;
+ separateTabName5 = separateTabConfig.showName;
+ }
+ }
+ if (commonUtils.isNotEmptyObject(slave6Config) && commonUtils.isNotEmptyArr(slave6Config.gdsconfigformslave)) {
+ const iIndex = slave6Config.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slave6Config.gdsconfigformslave[iIndex];
+ bControlSeparateTab6 = true;
+ separateTabName6 = separateTabConfig.showName;
+ }
+ }
+ if (commonUtils.isNotEmptyObject(slave7Config) && commonUtils.isNotEmptyArr(slave7Config.gdsconfigformslave)) {
+ const iIndex = slave7Config.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slave7Config.gdsconfigformslave[iIndex];
+ bControlSeparateTab7 = true;
+ separateTabName7 = separateTabConfig.showName;
+ }
+ }
+ if (commonUtils.isNotEmptyObject(slave8Config) && commonUtils.isNotEmptyArr(slave8Config.gdsconfigformslave)) {
+ const iIndex = slave8Config.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slave8Config.gdsconfigformslave[iIndex];
+ bControlSeparateTab8 = true;
+ separateTabName8 = separateTabConfig.showName;
+ }
+ }
+ if (commonUtils.isNotEmptyObject(slave9Config) && commonUtils.isNotEmptyArr(slave9Config.gdsconfigformslave)) {
+ const iIndex = slave9Config.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slave9Config.gdsconfigformslave[iIndex];
+ bControlSeparateTab9 = true;
+ separateTabName9 = separateTabConfig.showName;
+ }
+ }
+ if (commonUtils.isNotEmptyObject(slave10Config) && commonUtils.isNotEmptyArr(slave10Config.gdsconfigformslave)) {
+ const iIndex = slave10Config.gdsconfigformslave.findIndex(item => item.sControlName === "bControlSeparateTab");
+ if (iIndex !== -1) {
+ const separateTabConfig = slave10Config.gdsconfigformslave[iIndex];
+ bControlSeparateTab10 = true;
+ separateTabName10 = separateTabConfig.showName;
+ }
+ }
+
+ const flexRowStyle = bFlow ? { display: "flex", flexDirection: "row" } : {};
+ const flexContentStyle = bFlow ? { width: "75%" } : {};
+ // 设置初始宽度
+ const [containerWidth, setContainerWidth] = useState(410);
+ const containerRef = useRef(null);
+ const dividerRef = useRef(null);
+ const [isDragging, setIsDragging] = useState(false);
+ const [startX, setStartX] = useState(0);
+ const [initialWidth, setInitialWidth] = useState(0);
+ const handleMouseDown = e => {
+ setIsDragging(true);
+ setStartX(e.clientX);
+ if (containerRef.current) {
+ setInitialWidth(containerRef.current.offsetWidth);
+ }
+ };
+ const handleMouseMove = e => {
+ if (!isDragging) return;
+ // 当前鼠标移动位置
+ const currentX = e.clientX;
+ // 移动距离
+ const diffX = currentX - startX;
+ const newWidth = initialWidth + diffX;
+ // 限制宽度在一定范围内最小宽度为200
+ if (newWidth < 200) {
+ setContainerWidth(200);
+ return;
+ }
+ setContainerWidth(newWidth);
+ };
+ const handleMouseUp = () => {
+ setIsDragging(false);
+ document.removeEventListener("mousemove", handleMouseMove);
+ document.removeEventListener("mouseup", handleMouseUp);
+ };
+
+ useEffect(() => {
+ document.addEventListener("mousemove", handleMouseMove);
+ document.addEventListener("mouseup", handleMouseUp);
+ return () => {
+ document.removeEventListener("mousemove", handleMouseMove);
+ document.removeEventListener("mouseup", handleMouseUp);
+ };
+ }, [isDragging]);
+ return (
+
+ );
+});
+
+// 函数式组件
+const CommonEffectEvent = props => {
+ const { masterData = {} } = props;
+ const { sBmRule } = masterData;
+
+ const [watchFields, setWatchFields] = useState([]);
+ const preValue = useRef("");
+
+ useEffect(() => {
+ if (!sBmRule) {
+ setWatchFields([]);
+ preValue.current = "";
+ return;
+ }
+
+ const sBmRuleObj = commonUtils.convertStrToObj(sBmRule);
+ const { showName = "" } = sBmRuleObj;
+ setWatchFields(showName.split(","));
+ }, [sBmRule]);
+
+ useEffect(() => {
+ if (!watchFields.length) return;
+ const newValue = watchFields.map(key => masterData[key] || "").join("");
+ if (preValue.current === newValue) return;
+ preValue.current = newValue;
+
+ const sBmRuleObj = commonUtils.convertStrToObj(sBmRule);
+ const addState = Object.keys(sBmRuleObj).filter(key => key !== "showName").reduce((result, key) => {
+ const list = sBmRuleObj[key]?.split("+") || [];
+ result[key] = list.map(item => item.trim().replace(/\'/g, '')).map(item => {
+ if (item !== '.' && item?.includes('.')) {
+ const [tableName, sFieldName] = item.split('.');
+ return props[`${tableName}Data`]?.[sFieldName] || "";
+ }
+ return item;
+ }).join('');
+ return result;
+ }, {});
+
+ props.onSaveState({
+ masterData: {
+ ...masterData,
+ ...addState,
+ handleType: masterData.handleType || 'update',
+ }
+ });
+
+ }, [watchFields, masterData]);
+
+ return null;
+}
+
+// 工艺参数弹窗
+const ModalComponent = props => {
+ if (!props.sParamsModalVisible && !props.sParamsNewModalVisible) return "";
+
+ const sProcessParams = props.sParamsModalVisible ? "原工艺参数" : "工艺参数新";
+ const bVisible = props.sParamsModalVisible || props.sParamsNewModalVisible;
+ return bVisible ? (
+
{
+ props.onSaveState({
+ sParamsModalVisible: false,
+ sParamsNewModalVisible: false,
+ });
+ }}
+ footer={
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+
+ //
+ //
+ //
+
+ //
+
+ }
+ >
+ {[""].map(() => {
+ const commonViewDragableProps = {
+ ...props,
+ hideTabsNav: true,
+ comparedTableId: props.processTableId,
+ sParamData: [
+ {
+ sParamType: "sWorkOrder",
+ sParamName: "工单参数",
+ },
+ ],
+ tableName: "slave",
+ };
+
+ // 如果是工艺参数新
+ if (props.sParamsNewModalVisible) {
+ const { slaveData = [] } = props;
+ const slaveDataNew = lodash.cloneDeep(slaveData);
+ slaveDataNew.forEach(item => {
+ item.handleType = commonUtils.isEmpty(item.handleType) ? "update" : item.handleType;
+ item.sParams = item.sParamsNew;
+ item.sWorkOrderParams = item.sWorkOrderParamsNew;
+ });
+ commonViewDragableProps.slaveData = slaveDataNew;
+ commonViewDragableProps.onCostomSaveData = tableData => {
+ const slaveDataTemp = lodash.cloneDeep(slaveData);
+ slaveDataTemp.forEach(item => {
+ const rowData = tableData.find(i => i.sId === item.sId);
+ item.handleType = commonUtils.isEmpty(item.handleType) ? "update" : item.handleType;
+ item.sParamsNew = rowData.sParams;
+ item.sWorkOrderParamsNew = rowData.sWorkOrderParams;
+ });
+ props.onSaveState({ slaveData: slaveDataTemp });
+ };
+ }
+ return ;
+ })}
+
+ ) : (
+ ""
+ );
+};
+
+/**
+ * 加载子从表格组件
+ */
+const getChildTableComponent = (props, tableName) => {
+ const {
+ sModelsType,
+ addStateMap,
+ bHasChildSlave,
+ slaveChildOrder,
+ salveIColValue,
+ [`${tableName}Config`]: fatherConfig,
+ masterData,
+ masterConfig = [],
+ slaveConfig,
+ slaveSelectedRowKeys,
+ slaveData,
+ } = props;
+
+ if (commonUtils.isEmptyStr(tableName)) {
+ return null;
+ }
+ let slaveRow = {};
+ if (commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) {
+ const iIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sId));
+ if (iIndex > -1) {
+ slaveRow = slaveData[iIndex];
+ } else {
+ slaveRow = slaveData[0];
+ }
+ } else if (commonUtils.isNotEmptyArr(slaveData)) {
+ slaveRow = slaveData[0];
+ }
+ // 是否有表单字段
+ const bHasViewConfigs = fatherConfig.gdsconfigformslave.some(item => item.sName !== "" && item.bControl && item.sControlName.indexOf("Btn") === -1);
+
+ /* 找到父层下面有多少子级 */
+ const slaveChildNameArr = Object.keys(addStateMap).filter(
+ key => commonUtils.isNotEmptyObject(fatherConfig.sChildTableName) && fatherConfig.sChildTableName.split(",").includes(addStateMap[key].sGrd)
+ );
+
+ if (slaveChildNameArr.length === 0) {
+ return null; // 如果没有有效配置,返回 null 避免渲染
+ }
+ return slaveChildNameArr.map(slaveChildName => {
+ let viewConfigs = [];
+ // 是否展示操作按钮
+ const config = props[`${slaveChildName}`];
+ const { gdsconfigformslave = [] } = config;
+
+ if (commonUtils.isNotEmptyArr(gdsconfigformslave)) {
+ viewConfigs = gdsconfigformslave.filter(item => item.sName !== "" && item.bControl && item.sControlName.indexOf("Btn") === -1);
+ if (viewConfigs.length === 0) {
+ return null; // 如果没有有效配置,返回 null 避免渲染
+ }
+ }
+
+ /* 从表view */
+ const tableViewProps = {
+ ...props,
+ viewConfigs,
+ tableConfig: config,
+ iColValueView: 24,
+ viewRow: slaveRow,
+ tableName: slaveChildName,
+ // handleFieldDoubleClick: props.handleFieldDoubleClick
+ };
+
+ /* 区分TabPane1 还是单纯的commonView */
+
+ return (
+ // 新增标题行和子 CommonViewTable
+
+
上批数据
+
+
+ );
+ });
+};
+
+const useCommonNewBillEvent = (props) => {
+ return {
+ ...props,
+ }
+};
+
+const CommonNewBill = Form.create({
+ mapPropsToFields(props) {
+ const { masterData, masterConfig } = props;
+ const obj = commonFunc.mapPropsToFields(masterData, Form, masterConfig);
+ return obj;
+ },
+})((props) => {
+ const {
+ onReturnForm, form
+ } = props;
+ onReturnForm(form);
+ return
+})
+
+const CommonNewBillComponent = (baseProps) => {
+ const props = useCommonNewBillEvent(baseProps);
+ const {
+ enabled,
+ billType = "add",
+ masterConfig,
+ masterData = {},
+ } = props;
+
+ if (commonUtils.isEmptyObject(masterConfig)) {
+ return null;
+ }
+
+ const bCheckModel = false;
+ const { bSubmit, bCheck } = masterData;
+ const bStatus = bCheckModel ? bCheck : bSubmit;
+
+ return
+
+
+
+
+
+
{
+ const { menuDataCopy, getMenuProps, handleClick } = params;
+ return menuDataCopy.filter(item => commonUtils.isEmptyArr(item.child)).map(item => {
+ const { showName } = item;
+ const menuItemProps = getMenuProps(item, "key");
+
+ return
+
+
+ })
+ }}
+ />
+
+
+
+
+};
+
+// 表单
+const FormComponent = props => {
+ const { masterConfig, masterData = {} } = props;
+ const viewConfigs = masterConfig.gdsconfigformslave.filter(
+ item =>
+ item.sName &&
+ item.bVisible &&
+ item.sControlName.indexOf("Btn") === -1 &&
+ item.sControlName.indexOf("_") === -1
+ );
+
+ const viewProps = {
+ ...props,
+ viewConfigs,
+ tableConfig: masterConfig,
+ iColValueView: 24,
+ viewRow: masterData,
+ tableName: "master",
+ onDataChange: props.onChange,
+ };
+
+ return
;
+};
+
+// Tabs
+const TabsComponent = props => {
+ const { slaveConfig } = props;
+ const tableList = [];
+ if (slaveConfig?.showName) {
+ tableList.push('slave');
+ }
+ for (let i = 0; i < 12; i++) {
+ const tableName = `slave${i}`;
+ const tableConfigName = `slave${i}Config`;
+ if (props[tableConfigName]?.showName) {
+ tableList.push(tableName);
+ }
+ }
+
+ return
+ {
+ tableList.map(tableName => {
+ const config = props[`${tableName}Config`];
+ const { showName } = config;
+ return
+
+
+ })
+ }
+
+};
+
+// 表格
+const TableComponent = props => {
+ const { tableName } = props;
+ const baseProps = commonBusiness.getTableTypes(tableName, {
+ ...props,
+ noStorageColumn: true
+ });
+ const tableProps = {
+ ...baseProps,
+ setOpterationColumn: "Y",
+ tableProps: {
+ onChange: props.onTitleChange.bind(this, tableName),
+ },
+ fixedHeight: "calc(100vh - 350px)"
+ };
+ return
;
+};
+
+export default CommonBase(CommonNewSales(CommonNewBill));
diff --git a/src/mobile/common/CommobilePadBill/index.less b/src/mobile/common/CommobilePadBill/index.less
new file mode 100644
index 0000000..b63e7ae
--- /dev/null
+++ b/src/mobile/common/CommobilePadBill/index.less
@@ -0,0 +1,355 @@
+.flex(@align-item: initial, @justify-content: initial) {
+ display: flex;
+ align-items: @align-item;
+ justify-content: @justify-content;
+}
+
+.size(@width: 100%, @height: 100%) {
+ width: @width;
+ height: @height;
+}
+
+.verifyScrapBill {
+ .size();
+}
+
+.toolBar {
+ position: relative;
+ .size(100%, 40px);
+ background: rgb(197, 197, 197);
+}
+
+.content {
+ .size();
+ .flex(center, center);
+ font-size: 18px;
+ font-weight: bold;
+}
+
+.bakTools {
+ .size(auto, 100%);
+ .flex(center);
+ position: absolute;
+ top: 0;
+ left: 0;
+
+ :global {
+ .ant-btn {
+ font-weight: bold;
+ font-size: 18px;
+ }
+ }
+}
+
+.tools {
+ .size(auto, 100%);
+ .flex(center);
+ position: absolute;
+ top: 0;
+ right: 0;
+
+ :global {
+ .ant-btn {
+ font-weight: bold;
+ font-size: 18px;
+ }
+ }
+}
+
+.billForm {
+ .size(100%, auto);
+ .flex();
+
+ >div:nth-child(1) {
+ .size(calc(100% - 230px), 100%);
+ padding-top: 5px;
+ }
+
+ >div:nth-child(2) {
+ .size(230px, auto);
+ padding-top: 10px;
+ // max-height: 140px;
+ display: grid;
+ grid-template-columns: repeat(2, 1fr);
+ grid-template-rows: repeat(4, 1fr);
+
+ >div {
+ .size();
+ .flex(center, center);
+
+ :global {
+ .ant-btn-lg {
+ min-width: 50px;
+ width: 100px;
+ height: 38px;
+ border-radius: 5px;
+ font-size: 18px;
+ }
+ }
+ }
+ }
+
+ :global {
+ .ant-col {
+ height: 45px;
+ }
+
+ .ant-col.ant-col-24.ant-col-order-5 {
+ height: auto;
+
+ .viewStyle:last-child {
+ overflow: hidden !important;
+ padding-bottom: 5px;
+ }
+ }
+
+ .ant-col.ant-form-item-label:not(.skipFlexBasis) {
+ flex-basis: 160px !important;
+ max-width: 160px !important;
+ height: 40px;
+ line-height: 27px;
+ border-right: 1px solid #aaa;
+ display: flex;
+ align-items: center;
+ justify-content: flex-start;
+ border: none !important;
+ background-color: transparent !important;
+
+ label {
+ font-size: 18px !important;
+ }
+
+ }
+
+ .ant-form-item {
+ border: none !important;
+ }
+
+ .ant-form-item-control {
+ flex-basis: 100px;
+ max-width: 100%;
+ flex-grow: 1;
+ padding: 0 !important;
+ }
+
+ .ant-form-item-control-input-content {
+ .flex();
+
+ >* {
+ flex-grow: 1;
+ }
+ }
+
+ .ant-input,
+ .ant-input[disabled],
+ .viewStyle .ant-picker.ant-picker-disabled,
+ .viewStyle .ant-select-disabled .ant-select-selector {
+ flex-grow: 1;
+ text-indent: 8px;
+ font-size: 18px;
+ background: #f0f0f0 !important;
+ border-radius: 5px !important;
+ }
+
+ .ant-input-number {
+ padding: 0 !important;
+
+ input {
+ background: #f0f0f0 !important;
+ border-radius: 5px !important;
+ height: 40px !important;
+ padding-left: 0;
+ padding-right: 0;
+ text-indent: 8px;
+ }
+ }
+
+ .ant-picker,
+ .ant-select {
+ background: #f0f0f0 !important;
+ border-radius: 5px !important;
+ height: 40px !important;
+
+ .ant-select-selector,
+ .ant-select-selection-search {
+ height: 100%;
+ background-color: transparent;
+
+ input {
+ height: 100% !important;
+ }
+ }
+
+ input {
+ background-color: transparent !important;
+ }
+ }
+
+ .ant-input-search-button {
+ height: 38px;
+ }
+
+ // .ant-select-selector {
+ // border: none !important;
+ // background: #f0f0f0 !important;
+ // border-radius: 5px !important;
+ // height: 32px !important;
+
+ // .ant-select-selection-item,
+ // .ant-select-selection-placeholder {
+ // line-height: 32px !important;
+ // }
+ // }
+
+ // .ant-input-affix-wrapper {
+ // height: 28px;
+ // line-height: 23px;
+ // border: none !important;
+ // background: #f0f0f0 !important;
+ // border-radius: 5px !important;
+ // height: 32px !important;
+ // box-shadow: none !important;
+ // padding-left: 0 !important;
+ // }
+
+
+ // .ant-picker.ant-picker-range {
+ // input {
+ // font-size: 14px !important;
+ // }
+ // }
+ }
+}
+
+.table {
+ .size(100%, auto);
+ flex-grow: 1;
+
+ :global {
+
+ .ant-tabs:not(.noXlyTabs) {
+ .ant-tabs-nav-wrap {
+ background: #fff;
+
+ .ant-tabs-nav-list {
+ background: #fff;
+
+ .ant-tabs-tab {
+ border: 1px solid #d9d9d9;
+ border-right: 0;
+ padding: 0 18px;
+ height: 40px;
+ line-height: 40px;
+ margin-left: 0;
+ background: #fafafa;
+
+ &:nth-last-of-type(2) {
+ border-right: 1px solid #d9d9d9;
+ }
+ }
+
+ .ant-tabs-tab-active {
+ border-bottom: 1px solid transparent;
+ background: #fff;
+ }
+
+ .ant-tabs-ink-bar {
+ top: 0;
+ bottom: unset;
+ }
+
+ .ant-tabs-tab-btn {
+ font-size: 20px;
+ }
+ }
+ }
+ }
+
+ table {
+ border-top: 1px solid #aaa !important;
+ }
+
+ .ant-table-thead>tr>th {
+ border-right: 1px solid #aaa !important;
+ font-size: 18px;
+ color: rgba(0, 0, 0, .85);
+ font-weight: 500;
+ text-align: left;
+ background: #e6e6e6;
+ // border-bottom: 1px solid #aaa;
+ font-weight: 600;
+ white-space: nowrap;
+ background: #ddd;
+ border-radius: 0 !important;
+ padding: 4px;
+ }
+
+ .ant-table-cell {
+ span {
+ box-shadow: none !important;
+ }
+
+ >div {
+ .size(100%, 34px);
+ }
+
+ .noInput {
+ .size();
+ .flex(center, flex-start);
+ }
+
+ .changeClassName {
+ height: 100%;
+
+ * {
+ height: 100%;
+ }
+ }
+ }
+
+ .ant-btn[class*="mesAdd"],
+ .ant-btn[class*="mesDel"],
+ .ant-btn[class*="mesSave"] {
+ .size(30px, 30px);
+ }
+
+ .ant-btn[class*="mesSave"] {
+ margin-right: 5px;
+ }
+
+ .ant-table-cell-fix-right {
+ .operate-bar {
+ .size();
+ .flex(center, center);
+
+ >span {
+ display: none !important;
+ }
+ }
+ }
+ }
+}
+
+.tdDiv {
+ .flex();
+ .size();
+ flex-direction: column;
+
+ :global {
+ .ant-btn-lg {
+ padding: 0 0 0 2px;
+ min-width: 0;
+ height: 32px;
+ }
+ }
+}
+
+.tdDetail {
+ flex-grow: 1;
+ .size(100%, auto);
+ min-height: 50px;
+ background-color: #f0f0f0;
+ border-top: 1px solid #AAA;
+ font-size: 12px;
+ padding-left: 4px;
+}
\ No newline at end of file
diff --git a/src/routes/mobile/IndexMobile.js b/src/routes/mobile/IndexMobile.js
index db3d0b7..3b13f4b 100644
--- a/src/routes/mobile/IndexMobile.js
+++ b/src/routes/mobile/IndexMobile.js
@@ -16,6 +16,7 @@ import MyselfMobile from "./common/MyselfMobile";
import ContactsInfoMobile from "./common/ContactsInfoMobile";
import RevisePasswordMobile from "./common/RevisePasswordMobile";
import CommobileBill from "./common/commobileBill";
+import CommobilePadBill from "./common/commobilePadBill";
import CommobilePrintPdf from "./common/commobilePrintPdf";
import ExamineMobile from "./common/ExamineMobile";
import Icon1 from "../../assets/mobile/1.png";
@@ -188,7 +189,13 @@ class IndexMobile extends React.Component {
);
- } else {
+ } else if (location.pathname === "/indexMobile/commobilePadBill") {
+ return (
+