diff --git a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/numberComposition.js b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/numberComposition.js
index 277a215..3f65be5 100644
--- a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/numberComposition.js
+++ b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/numberComposition.js
@@ -2,7 +2,7 @@
* Author: 黎永顺
* Description:
* Date: 2022-05-17 16:02:56
- * LastEditTime: 2022-06-08 16:35:49
+ * LastEditTime: 2022-06-14 14:16:16
*/
import React, { Component, Fragment } from "react";
import { Button, Modal } from "antd";
@@ -20,24 +20,6 @@ import { i18n } from "../../../../public/i18n";
import _ from "lodash";
import "../index.less";
-const options = [
- {
- key: "string",
- showname: "字符串",
- },
- {
- key: "year",
- showname: "当前年份",
- },
- {
- key: "month",
- showname: "当前月份",
- },
- {
- key: "day",
- showname: "当前日期",
- },
-];
class NumberComposition extends Component {
constructor() {
super();
@@ -88,20 +70,20 @@ class NumberComposition extends Component {
dataSource: !_.isEmpty(tmpV)
? tmpV
: [
- {
- id: 1,
- value: "",
- strLogo: 1,
- numFieldName: "字符串1",
- numField: "string",
- },
- {
- id: 2,
- value: 3,
- numFieldName: "流水号位数",
- numField: "number",
- },
- ],
+ {
+ id: 1,
+ value: "",
+ strLogo: 1,
+ numFieldName: "字符串1",
+ numField: "string",
+ },
+ {
+ id: 2,
+ value: 3,
+ numFieldName: "流水号位数",
+ numField: "number",
+ },
+ ],
},
() => {
onChange && onChange(this.state.dataSource);
@@ -141,8 +123,8 @@ class NumberComposition extends Component {
const stringRow = _.filter(dataSource, (it) => it.numField === "string"); //字符串列表
const maxStrLen = !_.isEmpty(stringRow)
? _.sortBy(stringRow, function (o) {
- return -o.strLogo;
- })[0].strLogo
+ return -o.strLogo;
+ })[0].strLogo
: 0; //字符串列表
const maxIdLen = _.sortBy(dataSource, function (o) {
return -o.id;
@@ -153,7 +135,17 @@ class NumberComposition extends Component {
dataSource,
(item) => item.numField === "string"
);
-
+ if (numField === "subcompany" || numField === "department" || numField === "jobtitles") {
+ if (_.findIndex(dataSource, it => it.numField === numField) !== -1) {
+ Modal.warning({
+ title: "信息确认",
+ content: `已经添加过一个${numFieldName},请选择其他编号字段!`,
+ onOk() { },
+ okText: "确认",
+ });
+ return;
+ }
+ }
if (numField === "year" || numField === "month" || numField === "day") {
const hasYearOrMonthOrDay = _.some(
dataSource,
@@ -166,7 +158,7 @@ class NumberComposition extends Component {
Modal.warning({
title: "信息确认",
content: `添加【${numFieldName}】时,请先添加【当前年份】!`,
- onOk() {},
+ onOk() { },
okText: "确认",
});
return;
@@ -175,7 +167,7 @@ class NumberComposition extends Component {
Modal.warning({
title: "信息确认",
content: `添加【${numFieldName}】时,请先添加【当前年份】和【当前月份】!`,
- onOk() {},
+ onOk() { },
okText: "确认",
});
return;
@@ -297,7 +289,7 @@ class NumberComposition extends Component {
title: "信息确认",
content: `已经添加过一个${objectData.numFieldName},请选择其他编号字段!`,
footer: [],
- onOk() {},
+ onOk() { },
okText: "确认",
});
};
@@ -331,6 +323,7 @@ class NumberComposition extends Component {
render() {
const { visible, objectData, dataSource } = this.state;
+ const { options } = this.props;
const { numField, numFieldName } = objectData;
const columns = [
{
@@ -397,9 +390,8 @@ class NumberComposition extends Component {
{i18n.button.save()}
,
,
];
diff --git a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/reservedNumberSetting.js b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/reservedNumberSetting.js
index b1c8bb2..4baaf71 100644
--- a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/reservedNumberSetting.js
+++ b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/reservedNumberSetting.js
@@ -2,7 +2,7 @@
* Author: 黎永顺
* Description: 预留编号设置
* Date: 2022-06-08 09:53:51
- * LastEditTime: 2022-06-09 16:07:51
+ * LastEditTime: 2022-06-15 11:00:55
*/
import React, { Component } from "react";
import { Row, Col, Spin, Modal, Button, Alert, message } from "antd";
@@ -59,24 +59,21 @@ class ReservedNumberSetting extends Component {
c.items.map((field, index) => {
colList.push(
{
@@ -128,7 +125,7 @@ class ReservedNumberSetting extends Component {
onDeleteReservedNumber &&
onDeleteReservedNumber(selectedKeys.join(","));
},
- onCancel: () => {},
+ onCancel: () => { },
});
};
handleAddReservedNumber = () => {
@@ -189,17 +186,15 @@ class ReservedNumberSetting extends Component {
)}
{i18n.button.save()}
,
,
]}>
{this.getReservedForm()}
diff --git a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startNumberSetting.js b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startNumberSetting.js
index ac48d27..aa4091e 100644
--- a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startNumberSetting.js
+++ b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startNumberSetting.js
@@ -2,12 +2,51 @@
* Author: 黎永顺
* Description: 起始编号设置
* Date: 2022-06-07 15:27:43
- * LastEditTime: 2022-06-09 16:14:32
+ * LastEditTime: 2022-06-15 10:47:55
*/
-import React, { Component } from "react";
-import { WeaTableEdit, WeaInputNumber } from "ecCom";
+import React, { Component, Fragment } from "react";
+import { WeaTableEdit, WeaInputNumber, WeaDatePicker, WeaBrowser, WeaError } from "ecCom";
+import moment from 'moment';
+const enumStr = {
+ YEAR: '年',
+ MONTH: '月份',
+ DAY: '日期'
+}
+const browserProps = {
+ iconBgcolor: '#217346',
+ icon: 'icon-coms-hrm',
+ isSingle: false,
+ inputStyle: { width: 200 },
+ viewAttr: 3
+}
class StartNumberSetting extends Component {
+ constructor() {
+ super();
+ this.state = {
+ startDate: '',
+ endDate: '',
+ subCompanyId: '',
+ jobtitlesId: ""
+ }
+ }
+ handleDatePickerChange = (val, type) => {
+ this.setState({
+ [type]: val
+ }, () => {
+ const { startDate, endDate, subCompanyId, jobtitlesId } = this.state;
+ const { onSet } = this.props;
+ onSet('start', { startDate, endDate, subCompanyId, jobtitlesId })
+ })
+ }
+ handleBrowserChange = (val, type) => {
+ this.setState({
+ [type]: val
+ }, () => {
+ const { onSet } = this.props;
+ onSet('start', { ...this.state, [type]: val })
+ })
+ }
handleChangeTable = (datas) => {
const { onChange, startNumberInfo } = this.props;
const newColumns = _.map(startNumberInfo.columns, (it) => ({
@@ -21,22 +60,81 @@ class StartNumberSetting extends Component {
};
render() {
- const { startNumberInfo } = this.props;
+ const { startDate, endDate } = this.state;
+ const { startNumberInfo, companyInfo } = this.props;
+ const { deptSerial = {}, dateSerial = {}, jobtitlesSerial = {} } = companyInfo;
const newColumns = _.map(startNumberInfo.columns, (it) => ({
...it,
- com: [{ type: "INPUTNUMBER", key: it.dataIndex, viewAttr: 3, min: 0 }],
+ com: [{ type: it.dataIndex === 'startnum' ? "INPUTNUMBER" : "TEXT", key: it.dataIndex, viewAttr: 3, min: 0 }],
}));
+ const format = dateSerial.key === "YEAR" ? "YYYY" : dateSerial.key === "MONTH" ? "YYYY-MM" : "yyyy-MM-dd";
+ const formatVal = dateSerial.key === "YEAR" ? "YYYY" : dateSerial.key === "MONTH" ? "YYYY-MM" : "yyyy-MM-DD";
return (
-
+
+ {dateSerial.enable == '1' && (
+
+ {enumStr[dateSerial.key]}
+ this.handleDatePickerChange(val, 'startDate')} />
+ —
+ this.handleDatePickerChange(val, 'endDate')} />
+
+ )}
+ {
+ (deptSerial.enable == '1' && (deptSerial.key === "SUBCOMPANY" || deptSerial.key === "DEPARTMENT")) && (
+
+ 分部名称
+
+ this.handleBrowserChange(ids, 'subCompanyId')}
+ />
+
+
+ )
+ }
+ {
+ (deptSerial.enable == '1' && deptSerial.key === "DEPARTMENT") && (
+
+ 部门名称
+
+ this.handleBrowserChange(ids, 'deptId')}
+ />
+
+
+ )
+ }
+ {
+ (jobtitlesSerial.enable == '1' && jobtitlesSerial.key === "JOBTITLES") && (
+
+ 岗位名称
+
+ this.handleBrowserChange(ids, 'jobtitlesId')}
+ />
+
+
+ )
+ }
+
+
);
}
}
diff --git a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startReservedNumberSet.js b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startReservedNumberSet.js
index 23b5367..9df6825 100644
--- a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startReservedNumberSet.js
+++ b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startReservedNumberSet.js
@@ -2,7 +2,7 @@
* Author: 黎永顺
* Description: 起始编号及预留编号设置
* Date: 2022-05-17 15:51:41
- * LastEditTime: 2022-06-08 18:03:02
+ * LastEditTime: 2022-06-14 18:29:38
*/
import React, { Component, Fragment } from "react";
import { Button, Modal } from "antd";
@@ -47,7 +47,7 @@ class StartReservedNumberSet extends Component {
onOk: () => {
onSaveStartNumber && onSaveStartNumber();
},
- onCancel: () => {},
+ onCancel: () => { },
});
};
handleClose = () => {
@@ -68,6 +68,8 @@ class StartReservedNumberSet extends Component {
const { dialogProps, reservedAddVisible } = this.state;
const { type } = dialogProps;
const {
+ onSet,
+ companyInfo,
startNumberInfo,
onDeleteReservedNumber,
onAddReservedNumber,
@@ -104,30 +106,29 @@ class StartReservedNumberSet extends Component {
buttons={
type === "start"
? [
- ,
-
+ {i18n.button.save()}
+ ,
+ ,
- ]
+ />,
+ ]
: [
- ,
- ]
+ />,
+ ]
}>
{type === "start" ? (
diff --git a/pc4mobx/organization/components/numberSetting/branchNumSetting/index.js b/pc4mobx/organization/components/numberSetting/branchNumSetting/index.js
index 9aa465a..bed9e63 100644
--- a/pc4mobx/organization/components/numberSetting/branchNumSetting/index.js
+++ b/pc4mobx/organization/components/numberSetting/branchNumSetting/index.js
@@ -2,7 +2,7 @@
* Author: 黎永顺
* Description: 分部编号设置
* Date: 2022-05-17 14:30:57
- * LastEditTime: 2022-06-09 15:12:50
+ * LastEditTime: 2022-06-14 18:26:07
*/
import React, { Component, Fragment } from "react";
import { inject, observer } from "mobx-react";
@@ -16,6 +16,7 @@ import {
WeaHelpfulTip,
} from "ecCom";
import StartReservedNumberSet from "./components/startReservedNumberSet";
+import { serialFieldOptions } from "../constants";
import NumberComposition from "./components/numberComposition";
import { i18n } from "../../../public/i18n";
import moment from "moment";
@@ -114,15 +115,18 @@ export default class BranchNumSetting extends Component {
});
};
- handleSetNumber = (type) => {
+ handleSetNumber = (type, data = {}) => {
this.handleSubmit().then((res) => {
const { numberSet } = this.props;
+ const { subCompanyInfo } = this.state;
+ const { dateSerial } = subCompanyInfo;
if (type === "start") {
+ const formatVal = dateSerial.key === "YEAR" ? "YYYY" : dateSerial.key === "MONTH" ? "YYYY-MM" : "YYYY-MM-DD";
const payload = {
coderuleid: 1,
- type: "",
- dateStart: moment().format("YYYY"),
- dateEnd: moment().format("YYYY"),
+ type: dateSerial.enable == '1' ? dateSerial.key : '',
+ dateStart: data.startDate ? data.startDate : moment().format(formatVal),
+ dateEnd: data.endDate ? data.endDate : moment().format(formatVal),
subCompanyId: "",
deptId: "",
jobtitlesId: "",
@@ -194,7 +198,33 @@ export default class BranchNumSetting extends Component {
*/
handleAddReservedNumber = () => {
const { numberSet } = this.props;
- numberSet.getReservedCodeFrom({ serialtype: "SUBCOMPANY" });
+ const { reservedForm } = numberSet;
+ const { options } = this.state;
+ numberSet.getReservedCodeFrom({ serialtype: "SUBCOMPANY" }).then(() => {
+ const type = _.get(_.last(options), ['key']);
+ const format = type === "YEAR" ? "YYYY" : type === "MONTH" ? "YYYY-MM" : "YYYY-MM-DD"
+ const payload = {
+ coderuleid: 1,
+ type,
+ dateStart: moment().format(format),
+ dateEnd: moment().format(format),
+ subCompanyId: "",
+ deptId: "",
+ jobtitlesId: "",
+ };
+ numberSet
+ .getStartNumForm(payload)
+ .then(({ api_status, dataSource }) => {
+ if (api_status && !_.isEmpty(dataSource)) {
+ const currentnumber = _.get(_.last(dataSource), ['startnum']);
+ reservedForm.updateFields({
+ currentnumber: {
+ value: currentnumber,
+ },
+ });
+ }
+ });
+ })
};
/**
* name: 保存预留设置
@@ -293,6 +323,7 @@ export default class BranchNumSetting extends Component {
@@ -316,6 +347,7 @@ export default class BranchNumSetting extends Component {
dateSerial: {
...dateSerial,
enable: isSingle,
+ key: isSingle == '0' ? 'YEAR' : dateSerial.key
},
},
})
@@ -323,7 +355,7 @@ export default class BranchNumSetting extends Component {
/>
{dateSerial.enable == "1" && (
({ ...item, showname: item.showname.substr(2, 1) }))}
value={dateSerial.key}
detailtype={3}
supportCancel
@@ -360,6 +392,7 @@ export default class BranchNumSetting extends Component {
ref={(dom) => (this.numberSetRef = dom)}
loading={loading}
onSet={this.handleSetNumber}
+ companyInfo={subCompanyInfo}
startNumberInfo={startNumberInfo}
onChange={this.handleChangeTable}
onSaveStartNumber={this.handleSubmitStartNumber}
diff --git a/pc4mobx/organization/components/numberSetting/constants.js b/pc4mobx/organization/components/numberSetting/constants.js
new file mode 100644
index 0000000..a45a284
--- /dev/null
+++ b/pc4mobx/organization/components/numberSetting/constants.js
@@ -0,0 +1,6 @@
+export const serialFieldOptions = [
+ { key: "string", showname: "字符串" },
+ { key: "year", showname: "当前年份" },
+ { key: "month", showname: "当前月份" },
+ { key: "day", showname: "当前日期" },
+];
\ No newline at end of file
diff --git a/pc4mobx/organization/components/numberSetting/deptNumberSet/index.js b/pc4mobx/organization/components/numberSetting/deptNumberSet/index.js
index 1d5226a..01fa1ad 100644
--- a/pc4mobx/organization/components/numberSetting/deptNumberSet/index.js
+++ b/pc4mobx/organization/components/numberSetting/deptNumberSet/index.js
@@ -2,7 +2,7 @@
* Author: 黎永顺
* Description: 部门编号设置
* Date: 2022-06-06 09:37:39
- * LastEditTime: 2022-06-09 15:12:57
+ * LastEditTime: 2022-06-15 09:52:04
*/
import React, { Component, Fragment } from "react";
import { inject, observer } from "mobx-react";
@@ -17,10 +17,13 @@ import {
} from "ecCom";
import StartReservedNumberSet from "../branchNumSetting/components/startReservedNumberSet";
import NumberComposition from "../branchNumSetting/components/numberComposition";
+import { serialFieldOptions } from "../constants";
import { i18n } from "../../../public/i18n";
import moment from "moment";
import "../branchNumSetting/index.less";
+const deptSerialFieldOptions = [{ key: 'subcompany', showname: "分部编号" }]
+
@inject("numberSet")
@observer
export default class DeptNumberSet extends Component {
@@ -37,6 +40,10 @@ export default class DeptNumberSet extends Component {
subCompanyInfo: {
details: [],
serialenable: "0",
+ deptSerial: {
+ enable: "0",
+ key: "",
+ },
dateSerial: {
enable: "0",
key: "",
@@ -53,10 +60,10 @@ export default class DeptNumberSet extends Component {
const { numberSet } = this.props;
numberSet
.getCodeSetting({ serialtype: "DEPARTMENT" })
- .then(({ api_status, details, serialenable, dateSerial = {} }) => {
+ .then(({ api_status, details, serialenable, dateSerial = {}, deptSerial = {} }) => {
if (api_status && !_.isEmpty(details)) {
this.setState({
- subCompanyInfo: { details, serialenable, dateSerial },
+ subCompanyInfo: { details, serialenable, dateSerial, deptSerial },
});
}
});
@@ -66,7 +73,7 @@ export default class DeptNumberSet extends Component {
let promise = new Promise((resolve, reject) => {
const { numberSet } = this.props;
const { dataSource, subCompanyInfo } = this.state;
- const { serialenable, dateSerial } = subCompanyInfo;
+ const { serialenable, dateSerial, deptSerial } = subCompanyInfo;
const details = _.map(dataSource, (it, showorder) => {
const { numField, value: rulevalue } = it;
return {
@@ -80,6 +87,7 @@ export default class DeptNumberSet extends Component {
serialenable,
details,
dateSerial,
+ deptSerial,
serialtype: "DEPARTMENT",
}),
};
@@ -103,7 +111,10 @@ export default class DeptNumberSet extends Component {
(it) =>
it.numField === "year" ||
it.numField === "month" ||
- it.numField === "day"
+ it.numField === "day" ||
+ it.numField === "subcompany" ||
+ it.numField === "department" ||
+ it.numField === "jobtitles"
);
this.setState({
dataSource: _.cloneDeep(data),
@@ -114,28 +125,33 @@ export default class DeptNumberSet extends Component {
});
};
- handleSetNumber = (type) => {
+ handleSetNumber = (type, data = {}) => {
this.handleSubmit().then((res) => {
const { numberSet } = this.props;
+ const { subCompanyInfo } = this.state;
+ const { dateSerial, deptSerial } = subCompanyInfo;
if (type === "start") {
- const payload = {
+ const formatVal = dateSerial.key === "YEAR" ? "YYYY" : dateSerial.key === "MONTH" ? "YYYY-MM" : "YYYY-MM-DD";
+ let payload = {
coderuleid: 2,
- type: "",
- dateStart: moment().format("YYYY"),
- dateEnd: moment().format("YYYY"),
- subCompanyId: "",
+ type: dateSerial.enable == '1' ? dateSerial.key : '',
+ dateStart: data.startDate ? data.startDate : moment().format(formatVal),
+ dateEnd: data.endDate ? data.endDate : moment().format(formatVal),
+ subCompanyId: data.subCompanyId ? data.subCompanyId : "",
deptId: "",
jobtitlesId: "",
};
- numberSet
- .getStartNumForm(payload)
- .then(({ api_status, columns, dataSource }) => {
- if (api_status) {
- this.setState({
- startNumberInfo: { columns, dataSource },
- });
- }
- });
+ if (deptSerial.enable === '1' && !data.subCompanyId) return
+ if (deptSerial.enable === '1' && data.subCompanyId) {
+ payload = { ...payload, type: payload.type + ',' + deptSerial.key }
+ }
+ numberSet.getStartNumForm(payload).then(({ api_status, columns, dataSource }) => {
+ if (api_status) {
+ this.setState({
+ startNumberInfo: { columns, dataSource },
+ });
+ }
+ });
} else {
numberSet.getAdvanceSearchCondition();
numberSet.getSearchReservedCodeList({
@@ -194,7 +210,33 @@ export default class DeptNumberSet extends Component {
*/
handleAddReservedNumber = () => {
const { numberSet } = this.props;
- numberSet.getReservedCodeFrom({ serialtype: "DEPARTMENT" });
+ const { reservedForm } = numberSet;
+ const { options } = this.state;
+ numberSet.getReservedCodeFrom({ serialtype: "DEPARTMENT" }).then(() => {
+ const type = _.get(_.last(options), ['key']);
+ const format = type === "YEAR" ? "YYYY" : type === "MONTH" ? "YYYY-MM" : "YYYY-MM-DD"
+ const payload = {
+ coderuleid: 2,
+ type,
+ dateStart: moment().format(format),
+ dateEnd: moment().format(format),
+ subCompanyId: "",
+ deptId: "",
+ jobtitlesId: "",
+ };
+ numberSet
+ .getStartNumForm(payload)
+ .then(({ api_status, dataSource }) => {
+ if (api_status && !_.isEmpty(dataSource)) {
+ const currentnumber = _.get(_.last(dataSource), ['startnum']);
+ reservedForm.updateFields({
+ currentnumber: {
+ value: currentnumber,
+ },
+ });
+ }
+ });
+ })
};
/**
* name: 保存预留设置
@@ -234,7 +276,7 @@ export default class DeptNumberSet extends Component {
render() {
const { options, subCompanyInfo, loading, startNumberInfo } = this.state;
const { numberSet } = this.props;
- const { details, serialenable, dateSerial } = subCompanyInfo;
+ const { details, serialenable, dateSerial = {}, deptSerial = {} } = subCompanyInfo;
const btns = [