From a3d894f125e0e02addd6c74f040235674a44741f Mon Sep 17 00:00:00 2001 From: autosubmit Date: Sat, 14 Sep 2024 15:22:14 +0800 Subject: [PATCH] Auto Submit --- index.html | 4 +- ...s__ItemAssetsList__index.4fea391b.async.js | 269 ++++++++++-------- ...__AddReceiveScene__index.1713c99c.async.js | 152 ++++++---- ..._ItemAssets__Info__index.e3e5411b.async.js | 233 ++++++++------- ...aterials__Receive__index.66e1abbb.async.js | 219 +++++++------- static/iconfont.1703e7fc.woff | Bin 302216 -> 0 bytes static/iconfont.4a9c5d48.svg | 1 - static/iconfont.63a76245.woff2 | Bin 0 -> 244080 bytes static/iconfont.c2a110be.woff2 | Bin 244260 -> 0 bytes ...ont.836ac5ab.ttf => iconfont.def257d0.ttf} | Bin 498176 -> 498140 bytes static/iconfont.e2aab0b3.woff | Bin 0 -> 302176 bytes static/iconfont.f23ba376.svg | 1 + umi.850bacbb.js => umi.6e85b262.js | 2 +- umi.91deba21.css => umi.eb64bd50.css | 8 +- 14 files changed, 495 insertions(+), 394 deletions(-) rename p__Materials__ItemAssetsList__index.4b35e439.async.js => p__Materials__ItemAssetsList__index.4fea391b.async.js (85%) rename p__Materials__ItemAssets__AddReceiveScene__index.38b061bd.async.js => p__Materials__ItemAssets__AddReceiveScene__index.1713c99c.async.js (92%) rename p__Materials__ItemAssets__Info__index.f3d94d74.async.js => p__Materials__ItemAssets__Info__index.e3e5411b.async.js (94%) rename p__Materials__Receive__index.7e192fb3.async.js => p__Materials__Receive__index.66e1abbb.async.js (90%) delete mode 100644 static/iconfont.1703e7fc.woff delete mode 100644 static/iconfont.4a9c5d48.svg create mode 100644 static/iconfont.63a76245.woff2 delete mode 100644 static/iconfont.c2a110be.woff2 rename static/{iconfont.836ac5ab.ttf => iconfont.def257d0.ttf} (98%) create mode 100644 static/iconfont.e2aab0b3.woff create mode 100644 static/iconfont.f23ba376.svg rename umi.850bacbb.js => umi.6e85b262.js (99%) rename umi.91deba21.css => umi.eb64bd50.css (99%) diff --git a/index.html b/index.html index 564d5c4c4f..04f1cbe584 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@ 头歌实践教学平台 - + @@ -27,7 +27,7 @@ display: block !important; } - + \ No newline at end of file diff --git a/p__Materials__ItemAssetsList__index.4b35e439.async.js b/p__Materials__ItemAssetsList__index.4fea391b.async.js similarity index 85% rename from p__Materials__ItemAssetsList__index.4b35e439.async.js rename to p__Materials__ItemAssetsList__index.4fea391b.async.js index ac48dccf4f..527bcd0595 100644 --- a/p__Materials__ItemAssetsList__index.4b35e439.async.js +++ b/p__Materials__ItemAssetsList__index.4fea391b.async.js @@ -480,6 +480,81 @@ var Navigation = function Navigation(_ref) { callback(); } }; + var inputRef = (0,_react_17_0_2_react.useRef)(null); + var _useState33 = (0,_react_17_0_2_react.useState)(false), + _useState34 = slicedToArray_default()(_useState33, 2), + visible = _useState34[0], + setVisible = _useState34[1]; + + // 在 Modal 打开后将焦点设置到 Input 元素上 + (0,_react_17_0_2_react.useEffect)(function () { + if (visible) { + setTimeout(function () { + if (inputRef.current) { + inputRef.current.focus(); + } + }, 0); + } + }, [visible]); + var handleKeyDown = function handleKeyDown(e) { + if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter') { + handleOk(); + } + }; + var handleOk = /*#__PURE__*/function () { + var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { + var number, numberArr, res, _res$data; + return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + _context2.next = 2; + return myRuleForm.validateFields(); + case 2: + number = myRuleForm.getFieldValue('number'); + numberArr = warehousingList === null || warehousingList === void 0 ? void 0 : warehousingList.map(function (item) { + return item.number; + }); + if (!(numberArr !== null && numberArr !== void 0 && numberArr.includes(number))) { + _context2.next = 7; + break; + } + message/* default */.ZP.warning('该物资已存在申请物资列表中'); + return _context2.abrupt("return"); + case 7: + _context2.next = 9; + return (0,fetch/* default */.ZP)("/api/yn_classrooms/substance_details/serach_by_number.json", { + method: 'get', + params: { + number: myRuleForm.getFieldValue('number') + } + }); + case 9: + res = _context2.sent; + if (!((res === null || res === void 0 ? void 0 : res.status) == 0)) { + _context2.next = 15; + break; + } + myRuleForm.setFieldValue('number', ''); + if (res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.id) { + warehousingList.push(res === null || res === void 0 ? void 0 : res.data); + setWarehousingList(toConsumableArray_default()(warehousingList)); + message/* default */.ZP.success('添加成功'); + setVisible(false); + } + _context2.next = 16; + break; + case 15: + return _context2.abrupt("return", Promise.reject()); + case 16: + case "end": + return _context2.stop(); + } + }, _callee2); + })); + return function handleOk() { + return _ref2.apply(this, arguments); + }; + }(); (0,_react_17_0_2_react.useEffect)(function () { getData(false); }, [page]); @@ -493,11 +568,11 @@ var Navigation = function Navigation(_ref) { limit: 10000, keyword: '' }).then(function (res) { - var _res$data; + var _res$data2; setClassroomList([{ id: '', title: '全部' - }].concat(toConsumableArray_default()(res === null || res === void 0 || (_res$data = res.data) === null || _res$data === void 0 ? void 0 : _res$data.list))); + }].concat(toConsumableArray_default()(res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.list))); }); //实验室房间 (0,laboratory/* classroom_rooms_query */.jd)({ @@ -506,11 +581,11 @@ var Navigation = function Navigation(_ref) { keyword: '', classroom_id: '' }).then(function (res) { - var _res$data2; + var _res$data3; setRoomList([{ id: '', title: '全部' - }].concat(toConsumableArray_default()(res === null || res === void 0 || (_res$data2 = res.data) === null || _res$data2 === void 0 ? void 0 : _res$data2.list))); + }].concat(toConsumableArray_default()(res === null || res === void 0 || (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.list))); }); //物资分类 (0,materials/* substance_categories_query */.xb)({ @@ -518,11 +593,11 @@ var Navigation = function Navigation(_ref) { limit: 10000, keyword: '' }).then(function (res) { - var _res$data3; + var _res$data4; setSubstanceList([{ id: '', title: '全部' - }].concat(toConsumableArray_default()(res === null || res === void 0 || (_res$data3 = res.data) === null || _res$data3 === void 0 ? void 0 : _res$data3.list))); + }].concat(toConsumableArray_default()(res === null || res === void 0 || (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.list))); }); }, []); var getData = function getData(flag) { @@ -538,9 +613,9 @@ var Navigation = function Navigation(_ref) { substance_category_id: substanceCategoryId, scrapped: itemType == 2 ? 1 : '' }).then(function (res) { - var _res$data4, _res$data5; - setTableData(res === null || res === void 0 || (_res$data4 = res.data) === null || _res$data4 === void 0 ? void 0 : _res$data4.list); - setTotal(res === null || res === void 0 || (_res$data5 = res.data) === null || _res$data5 === void 0 ? void 0 : _res$data5.count); + var _res$data5, _res$data6; + setTableData(res === null || res === void 0 || (_res$data5 = res.data) === null || _res$data5 === void 0 ? void 0 : _res$data5.list); + setTotal(res === null || res === void 0 || (_res$data6 = res.data) === null || _res$data6 === void 0 ? void 0 : _res$data6.count); }); }; var onShowSizeChange = function onShowSizeChange(page, size) { @@ -567,19 +642,19 @@ var Navigation = function Navigation(_ref) { // 确认入库 var confirmSubmit = /*#__PURE__*/function () { - var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { + var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() { var res; - return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { + return regeneratorRuntime_default()().wrap(function _callee3$(_context3) { + while (1) switch (_context3.prev = _context3.next) { case 0: if (!(warehousingList.length == 0)) { - _context2.next = 3; + _context3.next = 3; break; } message/* default */.ZP.info('请添加物资'); - return _context2.abrupt("return"); + return _context3.abrupt("return"); case 3: - _context2.next = 5; + _context3.next = 5; return (0,fetch/* default */.ZP)("/api/yn_classrooms/substance_details/storing.json", { method: 'post', body: { @@ -589,7 +664,7 @@ var Navigation = function Navigation(_ref) { } }); case 5: - res = _context2.sent; + res = _context3.sent; if ((res === null || res === void 0 ? void 0 : res.status) == 0) { message/* default */.ZP.success('入库成功'); setWarehousingList([]); @@ -598,12 +673,12 @@ var Navigation = function Navigation(_ref) { } case 7: case "end": - return _context2.stop(); + return _context3.stop(); } - }, _callee2); + }, _callee3); })); return function confirmSubmit() { - return _ref2.apply(this, arguments); + return _ref3.apply(this, arguments); }; }(); return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { @@ -684,11 +759,11 @@ var Navigation = function Navigation(_ref) { keyword: '', classroom_id: e }).then(function (res) { - var _res$data6; + var _res$data7; setRoomList([{ id: '', title: '全部' - }].concat(toConsumableArray_default()(res === null || res === void 0 || (_res$data6 = res.data) === null || _res$data6 === void 0 ? void 0 : _res$data6.list))); + }].concat(toConsumableArray_default()(res === null || res === void 0 || (_res$data7 = res.data) === null || _res$data7 === void 0 ? void 0 : _res$data7.list))); }); setClassroomRoomId(''); }, @@ -796,10 +871,10 @@ var Navigation = function Navigation(_ref) { open: openUpload, title: "\u5BFC\u5165\u7269\u8D44", width: "500px", - onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() { + onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() { var formData; - return regeneratorRuntime_default()().wrap(function _callee3$(_context3) { - while (1) switch (_context3.prev = _context3.next) { + return regeneratorRuntime_default()().wrap(function _callee4$(_context4) { + while (1) switch (_context4.prev = _context4.next) { case 0: formData = new FormData(); formData.append('file', fileList === null || fileList === void 0 ? void 0 : fileList[0]); @@ -843,9 +918,9 @@ var Navigation = function Navigation(_ref) { setFileList([]); case 5: case "end": - return _context3.stop(); + return _context4.stop(); } - }, _callee3); + }, _callee4); })), onCancel: function onCancel() { setOpenUpload(false); @@ -893,7 +968,7 @@ var Navigation = function Navigation(_ref) { })] }))] })] - }), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, { + }), /*#__PURE__*/(0,jsx_runtime.jsxs)(modal/* default */.Z, { maskClosable: false, centered: true, keyboard: false, @@ -909,99 +984,11 @@ var Navigation = function Navigation(_ref) { onCancel: function onCancel() { setWarehousing(false); }, - children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { + children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: ItemAssetsListmodules.warehousing_add, onClick: function onClick() { - modal/* default */.Z.confirm({ - centered: true, - okText: '确定', - cancelText: '取消', - title: '添加', - icon: null, - content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { - children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, { - className: ItemAssetsListmodules.formWrap, - form: myRuleForm, - wrapperCol: { - span: 20 - }, - children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, { - colon: false, - label: "\u8D44\u4EA7\u7F16\u53F7", - name: "number", - rules: [{ - required: true, - message: '请输入资产编号' - }, { - validator: validateInput, - message: '请输入数字和字母' - }], - children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, { - size: "large", - onChange: function onChange(e) { - var _e$target; - myRuleForm.setFieldValue('number', e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || (_e$target = _e$target.value) === null || _e$target === void 0 ? void 0 : _e$target.trim()); - } - }) - }) - }) - }), - onOk: function () { - var _onOk2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee4() { - var number, numberArr, res, _res$data7; - return regeneratorRuntime_default()().wrap(function _callee4$(_context4) { - while (1) switch (_context4.prev = _context4.next) { - case 0: - _context4.next = 2; - return myRuleForm.validateFields(); - case 2: - number = myRuleForm.getFieldValue('number'); - numberArr = warehousingList === null || warehousingList === void 0 ? void 0 : warehousingList.map(function (item) { - return item.number; - }); - if (!(numberArr !== null && numberArr !== void 0 && numberArr.includes(number))) { - _context4.next = 7; - break; - } - message/* default */.ZP.warning('该物资已存在申请物资列表中'); - return _context4.abrupt("return"); - case 7: - _context4.next = 9; - return (0,fetch/* default */.ZP)("/api/yn_classrooms/substance_details/serach_by_number.json", { - method: 'get', - params: { - number: myRuleForm.getFieldValue('number') - } - }); - case 9: - res = _context4.sent; - if (!((res === null || res === void 0 ? void 0 : res.status) == 0)) { - _context4.next = 15; - break; - } - myRuleForm.setFieldValue('number', ''); - if (res !== null && res !== void 0 && (_res$data7 = res.data) !== null && _res$data7 !== void 0 && _res$data7.id) { - warehousingList.push(res === null || res === void 0 ? void 0 : res.data); - setWarehousingList(toConsumableArray_default()(warehousingList)); - message/* default */.ZP.success('添加成功'); - } - _context4.next = 16; - break; - case 15: - return _context4.abrupt("return", Promise.reject()); - case 16: - case "end": - return _context4.stop(); - } - }, _callee4); - })); - function onOk() { - return _onOk2.apply(this, arguments); - } - return onOk; - }() - }); + setVisible(true); }, children: "\u589E\u52A0" }), /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, { @@ -1009,13 +996,53 @@ var Navigation = function Navigation(_ref) { dataSource: warehousingList, columns: addColumns })] - }) + }), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, { + centered: true, + visible: visible, + okText: "\u786E\u5B9A", + cancelText: "\u53D6\u6D88", + title: "\u6DFB\u52A0", + onOk: handleOk, + onCancel: function onCancel() { + myRuleForm.resetFields(); + setVisible(false); + }, + width: 400, + children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, { + className: ItemAssetsListmodules.formWrap, + form: myRuleForm, + wrapperCol: { + span: 20 + }, + children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, { + colon: false, + label: "\u8D44\u4EA7\u7F16\u53F7", + name: "number", + rules: [{ + required: true, + message: '请输入资产编号' + }, { + validator: validateInput, + message: '请输入数字和字母' + }], + children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, { + size: "large", + onChange: function onChange(e) { + var _e$target; + myRuleForm.setFieldValue('number', e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || (_e$target = _e$target.value) === null || _e$target === void 0 ? void 0 : _e$target.trim()); + }, + ref: inputRef, + onKeyDown: handleKeyDown // 添加键盘事件处理 + }) + }) + }) + })] })] }); }; -/* harmony default export */ var ItemAssetsList = ((0,_umi_production_exports.connect)(function (_ref4) { - var loading = _ref4.loading, - engineeringNavigtion = _ref4.engineeringNavigtion; +/* harmony default export */ var ItemAssetsList = ((0,_umi_production_exports.connect)(function (_ref5) { + var loading = _ref5.loading, + engineeringNavigtion = _ref5.engineeringNavigtion; return objectSpread2_default()({ loading: loading }, engineeringNavigtion); diff --git a/p__Materials__ItemAssets__AddReceiveScene__index.38b061bd.async.js b/p__Materials__ItemAssets__AddReceiveScene__index.1713c99c.async.js similarity index 92% rename from p__Materials__ItemAssets__AddReceiveScene__index.38b061bd.async.js rename to p__Materials__ItemAssets__AddReceiveScene__index.1713c99c.async.js index f041cf46b1..b0637533ca 100644 --- a/p__Materials__ItemAssets__AddReceiveScene__index.38b061bd.async.js +++ b/p__Materials__ItemAssets__AddReceiveScene__index.1713c99c.async.js @@ -60,12 +60,12 @@ __webpack_require__.d(__webpack_exports__, { "default": function() { return /* binding */ AddReceiveScene; } }); -// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js -var regeneratorRuntime = __webpack_require__(7557); -var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/objectSpread2.js var objectSpread2 = __webpack_require__(82242); var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2); +// EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/regeneratorRuntime.js +var regeneratorRuntime = __webpack_require__(7557); +var regeneratorRuntime_default = /*#__PURE__*/__webpack_require__.n(regeneratorRuntime); // EXTERNAL MODULE: ./node_modules/_@babel_runtime@7.23.6@@babel/runtime/helpers/asyncToGenerator.js var asyncToGenerator = __webpack_require__(41498); var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator); @@ -81,6 +81,8 @@ var _react_17_0_2_react = __webpack_require__(59301); var _umi_production_exports = __webpack_require__(75936); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/form/index.js + 19 modules var es_form = __webpack_require__(78241); +// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules +var message = __webpack_require__(8591); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/spin/index.js + 1 modules var spin = __webpack_require__(71418); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/select/index.js @@ -89,8 +91,6 @@ var es_select = __webpack_require__(57809); var input = __webpack_require__(92832); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/date-picker/index.js + 66 modules var date_picker = __webpack_require__(30518); -// EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/message/index.js + 4 modules -var message = __webpack_require__(8591); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/table/index.js + 85 modules var table = __webpack_require__(51945); // EXTERNAL MODULE: ./node_modules/_antd@5.9.0@antd/es/modal/index.js + 16 modules @@ -364,6 +364,70 @@ var Navigation = function Navigation(_ref) { var search = input.toLowerCase(); return label.includes(search); }; + var inputRef = (0,_react_17_0_2_react.useRef)(null); + // 在 Modal 打开后将焦点设置到 Input 元素上 + (0,_react_17_0_2_react.useEffect)(function () { + if (openRuleModal) { + setTimeout(function () { + if (inputRef.current) { + inputRef.current.focus(); + } + }, 0); + } + }, [openRuleModal]); + var handleKeyDown = function handleKeyDown(e) { + if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter') { + handleOk(); + } + }; + var handleOk = /*#__PURE__*/function () { + var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { + var number, numberArr, res, _res$data26; + return regeneratorRuntime_default()().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + number = myRuleForm.getFieldValue('number'); + numberArr = formTableData === null || formTableData === void 0 ? void 0 : formTableData.map(function (item) { + return item.number; + }); + if (!(numberArr !== null && numberArr !== void 0 && numberArr.includes(number))) { + _context.next = 6; + break; + } + message/* default */.ZP.warning('该物资已存在申请物资列表中'); + setOpenRuleModal(false); + return _context.abrupt("return"); + case 6: + _context.next = 8; + return (0,fetch/* default */.ZP)("/api/yn_classrooms/substance_details/search_by_stored.json", { + method: 'get', + params: { + number: number, + classroom_id: myForm.getFieldValue('classroom_id') + } + }); + case 8: + res = _context.sent; + if ((res === null || res === void 0 ? void 0 : res.status) == 0) { + myRuleForm.setFieldValue('number', ''); + if (res !== null && res !== void 0 && (_res$data26 = res.data) !== null && _res$data26 !== void 0 && _res$data26.id) { + formTableData.push(res.data); + setFormTableData(toConsumableArray_default()(formTableData)); + message/* default */.ZP.success('添加成功'); + setOpenRuleModal(false); + setRefresh(new Date()); + } + } + case 10: + case "end": + return _context.stop(); + } + }, _callee); + })); + return function handleOk() { + return _ref2.apply(this, arguments); + }; + }(); return /*#__PURE__*/(0,jsx_runtime.jsx)(spin/* default */.Z, { spinning: isLoading, children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { @@ -497,8 +561,8 @@ var Navigation = function Navigation(_ref) { (0,laboratory/* user_substance_classroom_rooms */.Zd)({ classroom_id: e }).then(function (res) { - var _res$data26; - setLaboratoryRooms(toConsumableArray_default()(res === null || res === void 0 || (_res$data26 = res.data) === null || _res$data26 === void 0 ? void 0 : _res$data26.list)); + var _res$data27; + setLaboratoryRooms(toConsumableArray_default()(res === null || res === void 0 || (_res$data27 = res.data) === null || _res$data27 === void 0 ? void 0 : _res$data27.list)); }); }, children: laboratoryLists === null || laboratoryLists === void 0 ? void 0 : laboratoryLists.map(function (item, index) { @@ -700,16 +764,16 @@ var Navigation = function Navigation(_ref) { children: "\u53D6\u6D88" }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: AddReceiveScenemodules.submit_button, - onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { + onClick: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { var _myForm$getFieldValue, _myForm$getFieldValue2, _myForm$getFieldValue3, _myForm$getFieldValue4, _myForm$getFieldValue5, _myForm$getFieldValue6; - return regeneratorRuntime_default()().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { + return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { case 0: myForm.setFieldValue('substances', formTableData === null || formTableData === void 0 ? void 0 : formTableData.map(function (item) { item.apply_num = Number(item === null || item === void 0 ? void 0 : item.apply_num); return item; })); - _context.next = 3; + _context2.next = 3; return myForm.validateFields(); case 3: if ((params === null || params === void 0 ? void 0 : params.receiveId) != 'null') { @@ -753,9 +817,9 @@ var Navigation = function Navigation(_ref) { } case 4: case "end": - return _context.stop(); + return _context2.stop(); } - }, _callee); + }, _callee2); })), children: "\u63D0\u4EA4" })] @@ -769,48 +833,16 @@ var Navigation = function Navigation(_ref) { open: openRuleModal, title: "\u589E\u52A0", width: "400px", - onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { - var number, numberArr, res, _res$data27; - return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { + onOk: /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee3() { + return regeneratorRuntime_default()().wrap(function _callee3$(_context3) { + while (1) switch (_context3.prev = _context3.next) { case 0: - number = myRuleForm.getFieldValue('number'); - numberArr = formTableData === null || formTableData === void 0 ? void 0 : formTableData.map(function (item) { - return item.number; - }); - if (!(numberArr !== null && numberArr !== void 0 && numberArr.includes(number))) { - _context2.next = 6; - break; - } - message/* default */.ZP.warning('该物资已存在申请物资列表中'); - setOpenRuleModal(false); - return _context2.abrupt("return"); - case 6: - _context2.next = 8; - return (0,fetch/* default */.ZP)("/api/yn_classrooms/substance_details/search_by_stored.json", { - method: 'get', - params: { - number: number, - classroom_id: myForm.getFieldValue('classroom_id') - } - }); - case 8: - res = _context2.sent; - if ((res === null || res === void 0 ? void 0 : res.status) == 0) { - myRuleForm.setFieldValue('number', ''); - if (res !== null && res !== void 0 && (_res$data27 = res.data) !== null && _res$data27 !== void 0 && _res$data27.id) { - formTableData.push(res.data); - setFormTableData(toConsumableArray_default()(formTableData)); - message/* default */.ZP.success('添加成功'); - setOpenRuleModal(false); - setRefresh(new Date()); - } - } - case 10: + handleOk; + case 1: case "end": - return _context2.stop(); + return _context3.stop(); } - }, _callee2); + }, _callee3); })), onCancel: function onCancel() { setOpenRuleModal(false); @@ -838,7 +870,9 @@ var Navigation = function Navigation(_ref) { onChange: function onChange(e) { var _e$target2; myRuleForm.setFieldValue('number', e === null || e === void 0 || (_e$target2 = e.target) === null || _e$target2 === void 0 || (_e$target2 = _e$target2.value) === null || _e$target2 === void 0 ? void 0 : _e$target2.trim()); - } + }, + ref: inputRef, + onKeyDown: handleKeyDown // 添加键盘事件处理 }) }) }) @@ -846,12 +880,12 @@ var Navigation = function Navigation(_ref) { }) }); }; -/* harmony default export */ var AddReceiveScene = ((0,_umi_production_exports.connect)(function (_ref4) { - var loading = _ref4.loading, - user = _ref4.user, - engineeringNavigtion = _ref4.engineeringNavigtion, - dispatch = _ref4.dispatch, - account = _ref4.account; +/* harmony default export */ var AddReceiveScene = ((0,_umi_production_exports.connect)(function (_ref5) { + var loading = _ref5.loading, + user = _ref5.user, + engineeringNavigtion = _ref5.engineeringNavigtion, + dispatch = _ref5.dispatch, + account = _ref5.account; return objectSpread2_default()(objectSpread2_default()({ loading: loading, user: user diff --git a/p__Materials__ItemAssets__Info__index.f3d94d74.async.js b/p__Materials__ItemAssets__Info__index.e3e5411b.async.js similarity index 94% rename from p__Materials__ItemAssets__Info__index.f3d94d74.async.js rename to p__Materials__ItemAssets__Info__index.e3e5411b.async.js index 09b515f96e..b631cc776f 100644 --- a/p__Materials__ItemAssets__Info__index.f3d94d74.async.js +++ b/p__Materials__ItemAssets__Info__index.e3e5411b.async.js @@ -280,7 +280,7 @@ var AddInventoryModal = function AddInventoryModal(_ref) { loading = _ref.loading, dispatch = _ref.dispatch, visible = _ref.visible, - _onCancel = _ref.onCancel, + onCancel = _ref.onCancel, onOk = _ref.onOk; var params = (0,_umi_production_exports.useParams)(); var _Form$useForm = es_form/* default */.Z.useForm(), @@ -290,10 +290,15 @@ var AddInventoryModal = function AddInventoryModal(_ref) { _useState2 = slicedToArray_default()(_useState, 2), warehousingList = _useState2[0], setWarehousingList = _useState2[1]; + var inputRef = (0,_react_17_0_2_react.useRef)(null); + // 在 Modal 打开后将焦点设置到 Input 元素上 (0,_react_17_0_2_react.useEffect)(function () { if (visible) { - console.log("1111", 111); - showConfirm(); + setTimeout(function () { + if (inputRef.current) { + inputRef.current.focus(); + } + }, 0); } }, [visible]); @@ -330,120 +335,128 @@ var AddInventoryModal = function AddInventoryModal(_ref) { return _ref2.apply(this, arguments); }; }(); - - //正则校验 - var validateInput = function validateInput(rule, value, callback) { - var pattern = /^[0-9a-zA-Z]+$/; - if (!pattern.test(value)) { - callback('请输入数字和字母'); - } else { - callback(); + var validateInput = function validateInput(_, value) { + if (!/^[a-zA-Z0-9]+$/.test(value)) { + return Promise.reject('请输入数字和字母'); } + return Promise.resolve(); }; - var showConfirm = function showConfirm() { - return modal/* default */.Z.confirm({ - centered: true, - okText: '确定', - cancelText: '取消', - title: '添加', - icon: null, - content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { - children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, { - className: AddInventoryModalmodules.formWrap, - form: myRuleForm, - wrapperCol: { - span: 20 - }, - children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, { - colon: false, - label: "\u8D44\u4EA7\u7F16\u53F7", - name: "number", - rules: [{ - required: true, - message: '请输入资产编号' - }, { - validator: validateInput, - message: '请输入数字和字母' - }], - children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, { - size: "large", - onChange: function onChange(e) { - var _e$target; - myRuleForm.setFieldValue('number', e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || (_e$target = _e$target.value) === null || _e$target === void 0 ? void 0 : _e$target.trim()); + var handleOk = /*#__PURE__*/function () { + var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { + var number, numberArr, res, _res$data; + return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { + while (1) switch (_context2.prev = _context2.next) { + case 0: + _context2.prev = 0; + _context2.next = 3; + return myRuleForm.validateFields(); + case 3: + number = myRuleForm.getFieldValue('number'); + numberArr = warehousingList.map(function (item) { + return item.number; + }); + if (!numberArr.includes(number)) { + _context2.next = 8; + break; + } + message/* default */.ZP.warning('该物资已存在申请物资列表中'); + return _context2.abrupt("return"); + case 8: + _context2.next = 10; + return (0,fetch/* default */.ZP)('/api/yn_classrooms/substance_details/serach_by_number.json', { + method: 'get', + params: { + number: number, + substance_id: params === null || params === void 0 ? void 0 : params.itemAssetsId } - }) - }) - }) - }), - onOk: function () { - var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee2() { - var number, numberArr, res, _res$data; - return regeneratorRuntime_default()().wrap(function _callee2$(_context2) { - while (1) switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return myRuleForm.validateFields(); - case 2: - number = myRuleForm.getFieldValue('number'); - numberArr = warehousingList === null || warehousingList === void 0 ? void 0 : warehousingList.map(function (item) { - return item.number; - }); - if (!(numberArr !== null && numberArr !== void 0 && numberArr.includes(number))) { - _context2.next = 7; - break; - } - message/* default */.ZP.warning('该物资已存在申请物资列表中'); - return _context2.abrupt("return"); - case 7: - _context2.next = 9; - return (0,fetch/* default */.ZP)("/api/yn_classrooms/substance_details/serach_by_number.json", { - method: 'get', - params: { - number: myRuleForm.getFieldValue('number'), - substance_id: params === null || params === void 0 ? void 0 : params.itemAssetsId - } - }); - case 9: - res = _context2.sent; - if (!((res === null || res === void 0 ? void 0 : res.status) == 0)) { - _context2.next = 15; - break; - } - myRuleForm.setFieldValue('number', ''); - if (res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.id) { - warehousingList.push(res === null || res === void 0 ? void 0 : res.data); - setWarehousingList(toConsumableArray_default()(warehousingList)); - // message.success('添加成功') - confirmSubmit(); - } - _context2.next = 16; - break; - case 15: - return _context2.abrupt("return", Promise.reject()); - case 16: - case "end": - return _context2.stop(); + }); + case 10: + res = _context2.sent; + if (!((res === null || res === void 0 ? void 0 : res.status) === 0)) { + _context2.next = 16; + break; + } + myRuleForm.setFieldValue('number', ''); + if (res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.id) { + warehousingList.push(res === null || res === void 0 ? void 0 : res.data); + setWarehousingList(toConsumableArray_default()(warehousingList)); + confirmSubmit(); } - }, _callee2); - })); - function onOk() { - return _onOk.apply(this, arguments); + _context2.next = 17; + break; + case 16: + return _context2.abrupt("return", Promise.reject()); + case 17: + _context2.next = 22; + break; + case 19: + _context2.prev = 19; + _context2.t0 = _context2["catch"](0); + console.error(_context2.t0); + case 22: + case "end": + return _context2.stop(); } - return onOk; - }(), - onCancel: function onCancel() { - myRuleForm.resetFields(); - _onCancel(); - } - }); + }, _callee2, null, [[0, 19]]); + })); + return function handleOk() { + return _ref3.apply(this, arguments); + }; + }(); + var handleCancel = function handleCancel() { + myRuleForm.resetFields(); + onCancel(); }; - return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {}); + var handleKeyDown = function handleKeyDown(e) { + if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter') { + handleOk(); + } + }; + return /*#__PURE__*/(0,jsx_runtime.jsx)("div", { + children: /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, { + centered: true, + visible: visible, + okText: "\u786E\u5B9A", + cancelText: "\u53D6\u6D88", + title: "\u6DFB\u52A0", + onOk: handleOk, + onCancel: handleCancel, + width: 400, + children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, { + className: AddInventoryModalmodules.formWrap, + form: myRuleForm, + wrapperCol: { + span: 20 + }, + children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, { + colon: false, + label: "\u8D44\u4EA7\u7F16\u53F7", + name: "number", + rules: [{ + required: true, + message: '请输入资产编号' + }, { + validator: validateInput + }], + children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, { + size: "large", + ref: inputRef, + onChange: function onChange(e) { + var _e$target; + myRuleForm.setFieldValue('number', e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || (_e$target = _e$target.value) === null || _e$target === void 0 ? void 0 : _e$target.trim()); + }, + onKeyDown: handleKeyDown // 添加键盘事件处理 + }) + }) + }) + }) + }); }; -/* harmony default export */ var Info_AddInventoryModal = ((0,_umi_production_exports.connect)(function (_ref3) { - var user = _ref3.user, - account = _ref3.account, - loading = _ref3.loading, - globalSetting = _ref3.globalSetting; +/* harmony default export */ var Info_AddInventoryModal = ((0,_umi_production_exports.connect)(function (_ref4) { + var user = _ref4.user, + account = _ref4.account, + loading = _ref4.loading, + globalSetting = _ref4.globalSetting; return { user: user, account: account, diff --git a/p__Materials__Receive__index.7e192fb3.async.js b/p__Materials__Receive__index.66e1abbb.async.js similarity index 90% rename from p__Materials__Receive__index.7e192fb3.async.js rename to p__Materials__Receive__index.66e1abbb.async.js index ef61715ffa..ff331ad2b8 100644 --- a/p__Materials__Receive__index.7e192fb3.async.js +++ b/p__Materials__Receive__index.66e1abbb.async.js @@ -1017,6 +1017,82 @@ var Navigation = function Navigation(_ref) { } }); }; + var inputRef = (0,_react_17_0_2_react.useRef)(null); + var _useState37 = (0,_react_17_0_2_react.useState)(false), + _useState38 = slicedToArray_default()(_useState37, 2), + visible = _useState38[0], + setVisible = _useState38[1]; + + // 在 Modal 打开后将焦点设置到 Input 元素上 + (0,_react_17_0_2_react.useEffect)(function () { + if (visible) { + setTimeout(function () { + if (inputRef.current) { + inputRef.current.focus(); + } + }, 0); + } + }, [visible]); + var handleKeyDown = function handleKeyDown(e) { + if ((e === null || e === void 0 ? void 0 : e.key) === 'Enter') { + handleOk(); + } + }; + var handleOk = /*#__PURE__*/function () { + var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { + var number, numberArr, res, _res$data5; + return regeneratorRuntime_default()().wrap(function _callee$(_context) { + while (1) switch (_context.prev = _context.next) { + case 0: + _context.next = 2; + return myRuleForm.validateFields(); + case 2: + number = myRuleForm.getFieldValue('number'); + numberArr = warehousingList === null || warehousingList === void 0 ? void 0 : warehousingList.map(function (item) { + return item.number; + }); + if (!(numberArr !== null && numberArr !== void 0 && numberArr.includes(number))) { + _context.next = 7; + break; + } + message/* default */.ZP.warning('该物资已存在申请物资列表中'); + return _context.abrupt("return"); + case 7: + _context.next = 9; + return (0,fetch/* default */.ZP)("/api/yn_classrooms/substance_details/search_by_stored.json", { + method: 'get', + params: { + number: myRuleForm.getFieldValue('number'), + receive_id: viewData === null || viewData === void 0 ? void 0 : viewData.id + } + }); + case 9: + res = _context.sent; + if (!((res === null || res === void 0 ? void 0 : res.status) == 0)) { + _context.next = 15; + break; + } + myRuleForm.setFieldValue('number', ''); + if (res !== null && res !== void 0 && (_res$data5 = res.data) !== null && _res$data5 !== void 0 && _res$data5.id) { + warehousingList.push(res === null || res === void 0 ? void 0 : res.data); + setWarehousingList(toConsumableArray_default()(warehousingList)); + message/* default */.ZP.success('添加成功'); + setVisible(false); + } + _context.next = 16; + break; + case 15: + return _context.abrupt("return", Promise.reject()); + case 16: + case "end": + return _context.stop(); + } + }, _callee); + })); + return function handleOk() { + return _ref2.apply(this, arguments); + }; + }(); return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { className: Receivemodules.header_div, @@ -1222,7 +1298,7 @@ var Navigation = function Navigation(_ref) { setOpenReturnModal(false); getData(true); } - }), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, { + }), /*#__PURE__*/(0,jsx_runtime.jsxs)(modal/* default */.Z, { maskClosable: false, centered: true, keyboard: false, @@ -1248,101 +1324,12 @@ var Navigation = function Navigation(_ref) { onCancel: function onCancel() { setWarehousing(false); }, - children: /*#__PURE__*/(0,jsx_runtime.jsxs)("div", { + children: [/*#__PURE__*/(0,jsx_runtime.jsxs)("div", { children: [canDelete && /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: Receivemodules.warehousing_add, onClick: function onClick() { myRuleForm.setFieldValue('number', null); - modal/* default */.Z.confirm({ - centered: true, - okText: '确定', - cancelText: '取消', - title: '添加', - icon: null, - content: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { - children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, { - className: Receivemodules.formWrap, - form: myRuleForm, - wrapperCol: { - span: 20 - }, - children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, { - colon: false, - label: "\u8D44\u4EA7\u7F16\u53F7", - name: "number", - rules: [{ - required: true, - message: '请输入资产编号' - }, { - validator: validateInput, - message: '请输入数字和字母' - }], - children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, { - size: "large", - onChange: function onChange(e) { - var _e$target; - myRuleForm.setFieldValue('number', e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || (_e$target = _e$target.value) === null || _e$target === void 0 ? void 0 : _e$target.trim()); - } - }) - }) - }) - }), - onOk: function () { - var _onOk = asyncToGenerator_default()( /*#__PURE__*/regeneratorRuntime_default()().mark(function _callee() { - var number, numberArr, res, _res$data5; - return regeneratorRuntime_default()().wrap(function _callee$(_context) { - while (1) switch (_context.prev = _context.next) { - case 0: - _context.next = 2; - return myRuleForm.validateFields(); - case 2: - number = myRuleForm.getFieldValue('number'); - numberArr = warehousingList === null || warehousingList === void 0 ? void 0 : warehousingList.map(function (item) { - return item.number; - }); - if (!(numberArr !== null && numberArr !== void 0 && numberArr.includes(number))) { - _context.next = 7; - break; - } - message/* default */.ZP.warning('该物资已存在申请物资列表中'); - return _context.abrupt("return"); - case 7: - _context.next = 9; - return (0,fetch/* default */.ZP)("/api/yn_classrooms/substance_details/search_by_stored.json", { - method: 'get', - params: { - number: myRuleForm.getFieldValue('number'), - receive_id: viewData === null || viewData === void 0 ? void 0 : viewData.id - } - }); - case 9: - res = _context.sent; - if (!((res === null || res === void 0 ? void 0 : res.status) == 0)) { - _context.next = 15; - break; - } - myRuleForm.setFieldValue('number', ''); - if (res !== null && res !== void 0 && (_res$data5 = res.data) !== null && _res$data5 !== void 0 && _res$data5.id) { - warehousingList.push(res === null || res === void 0 ? void 0 : res.data); - setWarehousingList(toConsumableArray_default()(warehousingList)); - message/* default */.ZP.success('添加成功'); - } - _context.next = 16; - break; - case 15: - return _context.abrupt("return", Promise.reject()); - case 16: - case "end": - return _context.stop(); - } - }, _callee); - })); - function onOk() { - return _onOk.apply(this, arguments); - } - return onOk; - }() - }); + setVisible(true); }, children: "\u589E\u52A0" }), /*#__PURE__*/(0,jsx_runtime.jsx)(table/* default */.Z, { @@ -1350,13 +1337,53 @@ var Navigation = function Navigation(_ref) { dataSource: canDelete ? warehousingList : outboundList, columns: addColumns })] - }) + }), /*#__PURE__*/(0,jsx_runtime.jsx)(modal/* default */.Z, { + centered: true, + visible: visible, + okText: "\u786E\u5B9A", + cancelText: "\u53D6\u6D88", + title: "\u6DFB\u52A0", + onOk: handleOk, + onCancel: function onCancel() { + myRuleForm.resetFields(); + setVisible(false); + }, + width: 400, + children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z, { + className: Receivemodules.formWrap, + form: myRuleForm, + wrapperCol: { + span: 20 + }, + children: /*#__PURE__*/(0,jsx_runtime.jsx)(es_form/* default */.Z.Item, { + colon: false, + label: "\u8D44\u4EA7\u7F16\u53F7", + name: "number", + rules: [{ + required: true, + message: '请输入资产编号' + }, { + validator: validateInput, + message: '请输入数字和字母' + }], + children: /*#__PURE__*/(0,jsx_runtime.jsx)(input/* default */.Z, { + size: "large", + onChange: function onChange(e) { + var _e$target; + myRuleForm.setFieldValue('number', e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 || (_e$target = _e$target.value) === null || _e$target === void 0 ? void 0 : _e$target.trim()); + }, + ref: inputRef, + onKeyDown: handleKeyDown + }) + }) + }) + })] })] }); }; -/* harmony default export */ var Receive = ((0,_umi_production_exports.connect)(function (_ref2) { - var loading = _ref2.loading, - engineeringNavigtion = _ref2.engineeringNavigtion; +/* harmony default export */ var Receive = ((0,_umi_production_exports.connect)(function (_ref3) { + var loading = _ref3.loading, + engineeringNavigtion = _ref3.engineeringNavigtion; return objectSpread2_default()({ loading: loading }, engineeringNavigtion); diff --git a/static/iconfont.1703e7fc.woff b/static/iconfont.1703e7fc.woff deleted file mode 100644 index a37916126695d3c95012a0cbc513b273e5cda3af..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302216 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