From 938e17aaadf377a1c21781b71adf84ba943f40c0 Mon Sep 17 00:00:00 2001
From: liyongshun <971387674@qq.com>
Date: Thu, 9 Jun 2022 16:51:37 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=BC=96=E5=8F=B7=E8=AE=BE?=
=?UTF-8?q?=E7=BD=AE=E7=9A=84=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
pc4mobx/organization/apis/numberSet.js | 28 +-
.../components/numberComposition.js | 10 +-
.../branchNumSetting/components/preview.js | 7 +-
.../components/reservedNumberSetting.js | 406 ++++++++++++++++++
.../components/startNumberSetting.js | 8 +-
.../components/startReservedNumberSet.js | 48 ++-
.../numberSetting/branchNumSetting/index.js | 163 +++++--
.../numberSetting/deptNumberSet/index.js | 163 +++++--
.../numberSetting/postNumberSet/index.js | 160 +++++--
.../numberSetting/resourceNumberSet/index.js | 162 +++++--
.../components/office/officeManage.js | 16 +-
pc4mobx/organization/stores/numberSet.js | 75 +++-
12 files changed, 1034 insertions(+), 212 deletions(-)
create mode 100644 pc4mobx/organization/components/numberSetting/branchNumSetting/components/reservedNumberSetting.js
diff --git a/pc4mobx/organization/apis/numberSet.js b/pc4mobx/organization/apis/numberSet.js
index f3820f6..19f2571 100644
--- a/pc4mobx/organization/apis/numberSet.js
+++ b/pc4mobx/organization/apis/numberSet.js
@@ -2,7 +2,7 @@
* Author: 黎永顺
* Description:
* Date: 2022-06-07 09:52:01
- * LastEditTime: 2022-06-08 09:37:41
+ * LastEditTime: 2022-06-08 14:57:56
*/
import { WeaTools } from "ecCom";
@@ -75,6 +75,19 @@ export const getSearchReservedCodeList = (params) => {
);
};
+/**
+ * name: 保存预留编号设置
+ * param {*} params
+ * return {*}
+ */
+export const saveReservedCode = (params) => {
+ return WeaTools.callApi(
+ "/api/hrm/codeSetting/saveReservedCode",
+ "POST",
+ params
+ );
+};
+
/**
* name: 新增预留编号表单查询
* param {*} params
@@ -87,3 +100,16 @@ export const getReservedCodeFrom = (params) => {
params
);
};
+
+/**
+ * name: 删除预留编号
+ * param {*} params
+ * return {*}
+ */
+export const deleteReservedCodeById = (params) => {
+ return WeaTools.callApi(
+ "/api/hrm/codeSetting/deleteReservedCodeById",
+ "POST",
+ params
+ );
+};
diff --git a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/numberComposition.js b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/numberComposition.js
index f7b1f2a..277a215 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-07 15:30:43
+ * LastEditTime: 2022-06-08 16:35:49
*/
import React, { Component, Fragment } from "react";
import { Button, Modal } from "antd";
@@ -58,6 +58,9 @@ class NumberComposition extends Component {
YEAR: "当前年份",
MONTH: "当前月份",
DAY: "当前日期",
+ SUBCOMPANY: "分部编号",
+ DEPARTMENT: "部门编号",
+ JOBTITLES: "岗位编号",
};
let num = 0;
const { dataSource: details, onChange } = this.props;
@@ -352,7 +355,10 @@ class NumberComposition extends Component {
if (
numField === "year" ||
numField === "month" ||
- numField === "day"
+ numField === "day" ||
+ numField === "subcompany" ||
+ numField === "department" ||
+ numField === "jobtitles"
) {
return ;
}
diff --git a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/preview.js b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/preview.js
index 506eaf0..d791f22 100644
--- a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/preview.js
+++ b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/preview.js
@@ -2,7 +2,7 @@
* Author: 黎永顺
* Description: 编号设置预览
* Date: 2022-05-18 10:21:09
- * LastEditTime: 2022-05-18 13:26:11
+ * LastEditTime: 2022-06-08 16:37:01
*/
import React, { Component } from "react";
@@ -19,7 +19,10 @@ class Preview extends Component {
if (
numField === "year" ||
numField === "month" ||
- numField === "day"
+ numField === "day" ||
+ numField === "subcompany" ||
+ numField === "department" ||
+ numField === "jobtitles"
) {
return {
...item,
diff --git a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/reservedNumberSetting.js b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/reservedNumberSetting.js
new file mode 100644
index 0000000..b1c8bb2
--- /dev/null
+++ b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/reservedNumberSetting.js
@@ -0,0 +1,406 @@
+/*
+ * Author: 黎永顺
+ * Description: 预留编号设置
+ * Date: 2022-06-08 09:53:51
+ * LastEditTime: 2022-06-09 16:07:51
+ */
+import React, { Component } from "react";
+import { Row, Col, Spin, Modal, Button, Alert, message } from "antd";
+import { inject, observer } from "mobx-react";
+import { toJS } from "mobx";
+import { i18n } from "../../../../public/i18n";
+import {
+ WeaTab,
+ WeaButtonIcon,
+ WeaFormItem,
+ WeaDialog,
+ WeaMoreButton,
+ WeaSearchGroup,
+} from "ecCom";
+import { WeaSwitch, WeaTableNew } from "comsMobx";
+
+const WeaTable = WeaTableNew.WeaTable;
+
+@inject("numberSet")
+@observer
+class ReservedNumberSetting extends Component {
+ constructor() {
+ super();
+ this.state = {
+ addVisible: false,
+ showSearchAd: false,
+ reservedcode: "",
+ previewStr: "",
+ date: "",
+ };
+ }
+ componentWillReceiveProps(nextProps) {
+ const { numberSet, onChangeAddVisible } = this.props;
+ const { reservedForm } = numberSet;
+ if (nextProps.addVisible !== this.props.addVisible) {
+ !nextProps.addVisible &&
+ this.setState({ addVisible: false }, () => {
+ reservedForm.reset();
+ onChangeAddVisible && onChangeAddVisible();
+ });
+ }
+ }
+ /**
+ * name:渲染搜索栏
+ * return {*}
+ */
+ getPanelComponents = () => {
+ const { numberSet } = this.props;
+ const { searchCondition, form } = numberSet;
+ let colList = [];
+ const { isFormInit } = form;
+ isFormInit &&
+ searchCondition.map((c) => {
+ c.items.map((field, index) => {
+ colList.push(
+
+
+
+ {
+
+ }
+
+
+
+ );
+ });
+ });
+ return (
+
+ {colList}
+
+ );
+ };
+
+ onSearchChange = (reservedcode) => {
+ const { numberSet } = this.props;
+ const { form } = numberSet;
+ this.setState({ reservedcode });
+ !_.isEmpty(form.getFormParams()) &&
+ form.updateFields({
+ reservedcode: {
+ value: reservedcode,
+ },
+ });
+ };
+ /**
+ * name: 查询
+ * return {*}
+ */
+ handelSearch = () => {
+ const { onSearchReservedNumberset } = this.props;
+ onSearchReservedNumberset && onSearchReservedNumberset();
+ };
+ /**
+ * name: 删除 预留编号
+ * return {*}
+ */
+ handleDelete = () => {
+ const { numberSet, onDeleteReservedNumber } = this.props;
+ const { tableStore } = numberSet;
+ const selectedKeys = toJS(tableStore.selectedRowKeys);
+ Modal.confirm({
+ title: "信息确认",
+ content: `确定要删除选择的记录吗?`,
+ onOk: () => {
+ onDeleteReservedNumber &&
+ onDeleteReservedNumber(selectedKeys.join(","));
+ },
+ onCancel: () => {},
+ });
+ };
+ handleAddReservedNumber = () => {
+ const { onAddReservedNumber } = this.props;
+ this.setState({ addVisible: true }, () => {
+ onAddReservedNumber && onAddReservedNumber();
+ });
+ };
+ /**
+ * name: 提交预留编号设置
+ * return {*}
+ */
+ handleSubmitReservedNumber = () => {
+ const { numberSet, onSubmitReservedNumber } = this.props;
+ const { reservedForm, condition } = numberSet;
+ reservedForm.validateForm().then((f) => {
+ if (f.isValid) {
+ const { desc: reserveddesc, flowcode: reservedcodes } =
+ reservedForm.getFormParams() || {};
+ if (!/(^[1-9]\d*$)/.test(reservedcodes)) {
+ message.warning(`"流水号"格式不正确,请重新输入!`);
+ return;
+ }
+ onSubmitReservedNumber &&
+ onSubmitReservedNumber({
+ reserveddesc,
+ reservedcodes: this.state.previewStr,
+ });
+ } else {
+ message.warning("请完善表单信息");
+ f.showErrors();
+ this.setState({ date: new Date() }); // 改变一个state的变量,强制页面刷新
+ }
+ });
+ };
+ /**
+ * name: 新增预留编号表单渲染
+ * return {*}
+ */
+ getReservedForm = () => {
+ const { condition, reservedForm } = this.props.numberSet;
+ let reservedFormItem = [];
+ const { isFormInit } = reservedForm;
+ isFormInit &&
+ condition.map((c, i) => {
+ let switchItem = [];
+ c.items.map((field, index) => {
+ switchItem.push({
+ com: (
+
+ {i === condition.length - 1 && index === 0 && (
+
+ )}
+
+
+ {field.domkey[0] === "flowcode" && (
+ 格式为:5,6-10,21,66,99
+ )}
+
+
+ ),
+ colSpan: 1,
+ });
+ });
+ reservedFormItem.push(
+
+ );
+ });
+
+ return reservedFormItem;
+ };
+
+ /**
+ * name: 输出指定个数0
+ * param {*} num
+ * param {*} length
+ * return {*}
+ */
+ prefixInteger = (num, length) => {
+ return (Array(length).join("0") + num).slice(-length);
+ };
+ /**
+ * name: 字符串替换
+ * param {*} str
+ * param {*} index
+ * param {*} char
+ * return {*}
+ */
+ replaceStr2 = (str, index, char) => {
+ return str.substring(0, index) + char;
+ };
+
+ /**
+ * name: 预留编号的设置
+ * param {*} formVal
+ * return {*}
+ */
+ handleFormItemChange = (formVal) => {
+ const { numberSet, onSubmitReservedNumber } = this.props;
+ const { reservedForm, condition } = numberSet;
+ const NumberOfData = reservedForm.getFormParams() || {};
+ let previewStr = "",
+ originStr = "";
+ for (let i in NumberOfData) {
+ if (
+ i.indexOf("STRING") > -1 ||
+ i.indexOf("YEAR") > -1 ||
+ i.indexOf("MONTH") > -1 ||
+ i.indexOf("DAY") > -1
+ ) {
+ originStr = originStr + NumberOfData[i];
+ }
+ }
+ let integer_0 = this.prefixInteger(0, Number(NumberOfData["NUMBER"]));
+ //预留流水号值输入
+ if (_.hasIn(formVal, "flowcode")) {
+ const inputValue = formVal["flowcode"].value;
+ if (inputValue.length <= Number(NumberOfData["NUMBER"])) {
+ previewStr =
+ originStr +
+ this.replaceStr2(
+ integer_0,
+ integer_0.length - inputValue.length,
+ inputValue
+ );
+ } else {
+ previewStr = originStr + previewStr + inputValue;
+ }
+ this.setState({ previewStr: inputValue ? previewStr : "" });
+ } else if (
+ _.hasIn(formVal, "YEAR") ||
+ _.hasIn(formVal, "MONTH") ||
+ _.hasIn(formVal, "DAY")
+ ) {
+ const { flowcode } = NumberOfData;
+ if (flowcode.length <= Number(NumberOfData["NUMBER"])) {
+ previewStr =
+ originStr +
+ this.replaceStr2(
+ integer_0,
+ integer_0.length - flowcode.length,
+ flowcode
+ );
+ } else {
+ previewStr = originStr + previewStr + flowcode;
+ }
+ this.setState({ previewStr });
+ }
+ };
+ render() {
+ const {
+ showSearchAd,
+ reservedcodem,
+ addVisible,
+ reservedcode,
+ date,
+ previewStr,
+ } = this.state;
+ const { numberSet, loading } = this.props;
+ const { form, tableStore, reservedForm } = numberSet;
+ return (
+
+
{
+ this.setState({
+ showSearchAd: bool,
+ });
+ }}
+ searchsAd={this.getPanelComponents()}
+ searchsBaseValue={
+ _.isEmpty(form.getFormParams())
+ ? reservedcode
+ : form.getFormParams().reservedcode
+ }
+ onSearchChange={this.onSearchChange}
+ onSearch={this.handelSearch}
+ onAdReset={() => form.reset()}
+ onAdSearch={this.handelSearch}
+ hasMask={false}
+ buttons={[
+ ,
+ ,
+ ]}
+ />
+
+ {/* 起始/预留编号设置 */}
+ {
+ reservedForm.resetForm();
+ this.setState({ addVisible: false, previewStr: "" });
+ }}
+ icon="icon-coms-hrm"
+ iconBgcolor="#217346"
+ hasScroll
+ style={{ width: 640, height: 480 }}
+ buttons={[
+ ,
+ ,
+ ]}>
+ {this.getReservedForm()}
+
+
+ {previewStr}
+
+
+
+
+ );
+ }
+}
+
+export default ReservedNumberSetting;
diff --git a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startNumberSetting.js b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startNumberSetting.js
index 2fb2365..ac48d27 100644
--- a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startNumberSetting.js
+++ b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startNumberSetting.js
@@ -2,7 +2,7 @@
* Author: 黎永顺
* Description: 起始编号设置
* Date: 2022-06-07 15:27:43
- * LastEditTime: 2022-06-07 17:21:03
+ * LastEditTime: 2022-06-09 16:14:32
*/
import React, { Component } from "react";
import { WeaTableEdit, WeaInputNumber } from "ecCom";
@@ -16,6 +16,10 @@ class StartNumberSetting extends Component {
}));
onChange && onChange(newColumns, datas);
};
+ getRowSelection = (rowSelection) => {
+ return null;
+ };
+
render() {
const { startNumberInfo } = this.props;
const newColumns = _.map(startNumberInfo.columns, (it) => ({
@@ -28,7 +32,7 @@ class StartNumberSetting extends Component {
showAdd={false}
showDelete={false}
showCopy={false}
- tableProps={{ rowSelection: {} }}
+ getRowSelection={this.getRowSelection}
columns={newColumns}
datas={startNumberInfo.dataSource}
onChange={this.handleChangeTable}
diff --git a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startReservedNumberSet.js b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startReservedNumberSet.js
index 762dc6d..23b5367 100644
--- a/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startReservedNumberSet.js
+++ b/pc4mobx/organization/components/numberSetting/branchNumSetting/components/startReservedNumberSet.js
@@ -2,18 +2,19 @@
* Author: 黎永顺
* Description: 起始编号及预留编号设置
* Date: 2022-05-17 15:51:41
- * LastEditTime: 2022-06-07 17:40:30
+ * LastEditTime: 2022-06-08 18:03:02
*/
import React, { Component, Fragment } from "react";
import { Button, Modal } from "antd";
import StartNumberSetting from "./startNumberSetting";
+import ReservedNumberSetting from "./reservedNumberSetting";
import { WeaFormItem, WeaDialog, WeaMoreButton } from "ecCom";
import { i18n } from "../../../../public/i18n";
-
class StartReservedNumberSet extends Component {
constructor() {
super();
this.state = {
+ reservedAddVisible: true,
dialogProps: {
type: "start",
visible: false,
@@ -40,7 +41,14 @@ class StartReservedNumberSet extends Component {
};
handleSave = () => {
const { onSaveStartNumber } = this.props;
- onSaveStartNumber && onSaveStartNumber();
+ Modal.confirm({
+ title: "信息确认",
+ content: `是否保存数据?`,
+ onOk: () => {
+ onSaveStartNumber && onSaveStartNumber();
+ },
+ onCancel: () => {},
+ });
};
handleClose = () => {
this.setState({
@@ -50,10 +58,23 @@ class StartReservedNumberSet extends Component {
},
});
};
+ handleCloseReservedModal = () => {
+ this.setState({
+ reservedAddVisible: false,
+ });
+ };
+
render() {
- const { dialogProps } = this.state;
+ const { dialogProps, reservedAddVisible } = this.state;
const { type } = dialogProps;
- const { startNumberInfo } = this.props;
+ const {
+ startNumberInfo,
+ onDeleteReservedNumber,
+ onAddReservedNumber,
+ onSubmitReservedNumber,
+ onSearchReservedNumberset,
+ loading,
+ } = this.props;
return (
,
]
}>
- {type === "start" && (
+ {type === "start" ? (
+ ) : (
+
+ this.setState({ reservedAddVisible: true })
+ }
+ />
)}
diff --git a/pc4mobx/organization/components/numberSetting/branchNumSetting/index.js b/pc4mobx/organization/components/numberSetting/branchNumSetting/index.js
index 344521c..9aa465a 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-07 17:49:14
+ * LastEditTime: 2022-06-09 15:12:50
*/
import React, { Component, Fragment } from "react";
import { inject, observer } from "mobx-react";
@@ -63,32 +63,38 @@ export default class BranchNumSetting extends Component {
};
handleSubmit = () => {
- const { numberSet } = this.props;
- const { dataSource, subCompanyInfo } = this.state;
- const { serialenable, dateSerial } = subCompanyInfo;
- const details = _.map(dataSource, (it, showorder) => {
- const { numField, value: rulevalue } = it;
- return {
- ruletype: _.upperCase(numField),
- rulevalue,
- showorder,
+ let promise = new Promise((resolve, reject) => {
+ const { numberSet } = this.props;
+ const { dataSource, subCompanyInfo } = this.state;
+ const { serialenable, dateSerial } = subCompanyInfo;
+ const details = _.map(dataSource, (it, showorder) => {
+ const { numField, value: rulevalue } = it;
+ return {
+ ruletype: _.upperCase(numField),
+ rulevalue,
+ showorder,
+ };
+ });
+ const payload = {
+ datas: JSON.stringify({
+ serialenable,
+ details,
+ dateSerial,
+ serialtype: "SUBCOMPANY",
+ }),
};
+ this.setState({ loading: true });
+ numberSet.saveOrUpdateCodeSetting(payload).then(({ api_status }) => {
+ this.setState({ loading: false });
+ if (api_status) {
+ message.success("保存成功");
+ resolve(api_status);
+ } else {
+ reject("接口调用失败");
+ }
+ });
});
- const payload = {
- datas: JSON.stringify({
- serialenable,
- details,
- dateSerial,
- serialtype: "SUBCOMPANY",
- }),
- };
- this.setState({ loading: true });
- numberSet.saveOrUpdateCodeSetting(payload).then(({ api_status }) => {
- this.setState({ loading: false });
- if (api_status) {
- message.success("保存成功");
- }
- });
+ return promise;
};
handleChangeCode = (data) => {
@@ -109,28 +115,35 @@ export default class BranchNumSetting extends Component {
};
handleSetNumber = (type) => {
- this.handleSubmit();
- const { numberSet } = this.props;
- if (type === "start") {
- const payload = {
- coderuleid: 1,
- type: "",
- dateStart: moment().format("YYYY"),
- dateEnd: moment().format("YYYY"),
- subCompanyId: "",
- deptId: "",
- jobtitlesId: "",
- };
- numberSet
- .getStartNumForm(payload)
- .then(({ api_status, columns, dataSource }) => {
- if (api_status) {
- this.setState({
- startNumberInfo: { columns, dataSource },
- });
- }
+ this.handleSubmit().then((res) => {
+ const { numberSet } = this.props;
+ if (type === "start") {
+ const payload = {
+ coderuleid: 1,
+ type: "",
+ dateStart: moment().format("YYYY"),
+ dateEnd: moment().format("YYYY"),
+ subCompanyId: "",
+ deptId: "",
+ jobtitlesId: "",
+ };
+ numberSet
+ .getStartNumForm(payload)
+ .then(({ api_status, columns, dataSource }) => {
+ if (api_status) {
+ this.setState({
+ startNumberInfo: { columns, dataSource },
+ });
+ }
+ });
+ } else {
+ numberSet.getAdvanceSearchCondition();
+ numberSet.getSearchReservedCodeList({
+ serialtype: "SUBCOMPANY",
+ checkboxType: "multi",
});
- }
+ }
+ });
};
handleChangeTable = (newColumns, datas) => {
this.setState({
@@ -158,6 +171,53 @@ export default class BranchNumSetting extends Component {
});
};
+ /**
+ * name: 删除预留编号
+ * param {*} ids
+ * return {*}
+ */
+ deleteReservedNumber = (ids) => {
+ const { numberSet } = this.props;
+ numberSet.deleteReservedCodeById({ ids }).then(({ api_status }) => {
+ if (api_status) {
+ message.success("删除成功");
+ numberSet.getSearchReservedCodeList({
+ serialtype: "SUBCOMPANY",
+ checkboxType: "multi",
+ });
+ }
+ });
+ };
+ /**
+ * name:新增预留编号
+ * return {*}
+ */
+ handleAddReservedNumber = () => {
+ const { numberSet } = this.props;
+ numberSet.getReservedCodeFrom({ serialtype: "SUBCOMPANY" });
+ };
+ /**
+ * name: 保存预留设置
+ * param {*} params
+ * return {*}
+ */
+ handleSubmitReservedNumber = (params) => {
+ const { numberSet } = this.props;
+ const payload = { ...params, serialtype: "SUBCOMPANY" };
+ this.setState({ loading: true });
+ numberSet.saveReservedCode(payload).then(({ api_status }) => {
+ this.setState({ loading: false });
+ if (api_status) {
+ message.success("保存成功");
+ this.numberSetRef.handleCloseReservedModal();
+ numberSet.getSearchReservedCodeList({
+ serialtype: "SUBCOMPANY",
+ checkboxType: "multi",
+ });
+ }
+ });
+ };
+
/**
* name:提示文本
* return {*}
@@ -175,6 +235,7 @@ export default class BranchNumSetting extends Component {
};
render() {
+ const { numberSet } = this.props;
const { options, subCompanyInfo, loading, startNumberInfo } = this.state;
const { details, serialenable, dateSerial } = subCompanyInfo;
const btns = [
@@ -297,10 +358,20 @@ export default class BranchNumSetting extends Component {
center>
(this.numberSetRef = dom)}
+ loading={loading}
onSet={this.handleSetNumber}
startNumberInfo={startNumberInfo}
onChange={this.handleChangeTable}
onSaveStartNumber={this.handleSubmitStartNumber}
+ onDeleteReservedNumber={this.deleteReservedNumber}
+ onAddReservedNumber={this.handleAddReservedNumber}
+ onSubmitReservedNumber={this.handleSubmitReservedNumber}
+ onSearchReservedNumberset={() =>
+ numberSet.getSearchReservedCodeList({
+ serialtype: "SUBCOMPANY",
+ checkboxType: "multi",
+ })
+ }
/>
diff --git a/pc4mobx/organization/components/numberSetting/deptNumberSet/index.js b/pc4mobx/organization/components/numberSetting/deptNumberSet/index.js
index 44bc55b..1d5226a 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-08 09:32:09
+ * LastEditTime: 2022-06-09 15:12:57
*/
import React, { Component, Fragment } from "react";
import { inject, observer } from "mobx-react";
@@ -18,7 +18,7 @@ import {
import StartReservedNumberSet from "../branchNumSetting/components/startReservedNumberSet";
import NumberComposition from "../branchNumSetting/components/numberComposition";
import { i18n } from "../../../public/i18n";
-import moment from 'moment';
+import moment from "moment";
import "../branchNumSetting/index.less";
@inject("numberSet")
@@ -63,32 +63,38 @@ export default class DeptNumberSet extends Component {
};
handleSubmit = () => {
- const { numberSet } = this.props;
- const { dataSource, subCompanyInfo } = this.state;
- const { serialenable, dateSerial } = subCompanyInfo;
- const details = _.map(dataSource, (it, showorder) => {
- const { numField, value: rulevalue } = it;
- return {
- ruletype: _.upperCase(numField),
- rulevalue,
- showorder,
+ let promise = new Promise((resolve, reject) => {
+ const { numberSet } = this.props;
+ const { dataSource, subCompanyInfo } = this.state;
+ const { serialenable, dateSerial } = subCompanyInfo;
+ const details = _.map(dataSource, (it, showorder) => {
+ const { numField, value: rulevalue } = it;
+ return {
+ ruletype: _.upperCase(numField),
+ rulevalue,
+ showorder,
+ };
+ });
+ const payload = {
+ datas: JSON.stringify({
+ serialenable,
+ details,
+ dateSerial,
+ serialtype: "DEPARTMENT",
+ }),
};
+ this.setState({ loading: true });
+ numberSet.saveOrUpdateCodeSetting(payload).then(({ api_status }) => {
+ this.setState({ loading: false });
+ if (api_status) {
+ message.success("保存成功");
+ resolve(api_status);
+ } else {
+ reject("接口调用失败");
+ }
+ });
});
- const payload = {
- datas: JSON.stringify({
- serialenable,
- details,
- dateSerial,
- serialtype: "DEPARTMENT",
- }),
- };
- this.setState({ loading: true });
- numberSet.saveOrUpdateCodeSetting(payload).then(({ api_status }) => {
- this.setState({ loading: false });
- if (api_status) {
- message.success("保存成功");
- }
- });
+ return promise;
};
handleChangeCode = (data) => {
@@ -109,28 +115,35 @@ export default class DeptNumberSet extends Component {
};
handleSetNumber = (type) => {
- this.handleSubmit();
- const { numberSet } = this.props;
- if (type === "start") {
- const payload = {
- coderuleid: 2,
- type: "",
- dateStart: moment().format("YYYY"),
- dateEnd: moment().format("YYYY"),
- subCompanyId: "",
- deptId: "",
- jobtitlesId: "",
- };
- numberSet
- .getStartNumForm(payload)
- .then(({ api_status, columns, dataSource }) => {
- if (api_status) {
- this.setState({
- startNumberInfo: { columns, dataSource },
- });
- }
+ this.handleSubmit().then((res) => {
+ const { numberSet } = this.props;
+ if (type === "start") {
+ const payload = {
+ coderuleid: 2,
+ type: "",
+ dateStart: moment().format("YYYY"),
+ dateEnd: moment().format("YYYY"),
+ subCompanyId: "",
+ deptId: "",
+ jobtitlesId: "",
+ };
+ numberSet
+ .getStartNumForm(payload)
+ .then(({ api_status, columns, dataSource }) => {
+ if (api_status) {
+ this.setState({
+ startNumberInfo: { columns, dataSource },
+ });
+ }
+ });
+ } else {
+ numberSet.getAdvanceSearchCondition();
+ numberSet.getSearchReservedCodeList({
+ serialtype: "DEPARTMENT",
+ checkboxType: "multi",
});
- }
+ }
+ });
};
handleChangeTable = (newColumns, datas) => {
this.setState({
@@ -158,6 +171,51 @@ export default class DeptNumberSet extends Component {
});
};
+ /**
+ * name: 删除预留编号
+ * param {*} ids
+ * return {*}
+ */
+ deleteReservedNumber = (ids) => {
+ const { numberSet } = this.props;
+ numberSet.deleteReservedCodeById({ ids }).then(({ api_status }) => {
+ if (api_status) {
+ message.success("删除成功");
+ numberSet.getSearchReservedCodeList({
+ serialtype: "DEPARTMENT",
+ checkboxType: "multi",
+ });
+ }
+ });
+ };
+ /**
+ * name:新增预留编号
+ * return {*}
+ */
+ handleAddReservedNumber = () => {
+ const { numberSet } = this.props;
+ numberSet.getReservedCodeFrom({ serialtype: "DEPARTMENT" });
+ };
+ /**
+ * name: 保存预留设置
+ * param {*} params
+ * return {*}
+ */
+ handleSubmitReservedNumber = (params) => {
+ const { numberSet } = this.props;
+ const payload = { ...params, serialtype: "DEPARTMENT" };
+ numberSet.saveReservedCode(payload).then(({ api_status }) => {
+ if (api_status) {
+ message.success("保存成功");
+ this.numberSetRef.handleCloseReservedModal();
+ numberSet.getSearchReservedCodeList({
+ serialtype: "DEPARTMENT",
+ checkboxType: "multi",
+ });
+ }
+ });
+ };
+
/**
* name:提示文本
* return {*}
@@ -175,6 +233,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 btns = [