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 = [