xh-lab-rc 0.0.8 → 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ import type { FC } from 'react';
2
+ import '../style.less';
3
+ interface IndexProps {
4
+ visible?: boolean;
5
+ onCancel?: () => void;
6
+ }
7
+ declare const SetupModal: FC<IndexProps>;
8
+ export default SetupModal;
@@ -0,0 +1,42 @@
1
+ import { Button, Form, Input, Modal } from 'antd';
2
+ import React from 'react';
3
+ import "../style.less";
4
+ var SetupModal = function SetupModal(_ref) {
5
+ var _ref$visible = _ref.visible,
6
+ visible = _ref$visible === void 0 ? false : _ref$visible,
7
+ onCancel = _ref.onCancel;
8
+ var onFinish = function onFinish(values) {
9
+ console.log('Success:', values);
10
+ };
11
+ var handleCancel = function handleCancel() {
12
+ onCancel === null || onCancel === void 0 || onCancel();
13
+ };
14
+ return /*#__PURE__*/React.createElement(Modal, {
15
+ title: "\u8BBE\u7F6E",
16
+ open: visible,
17
+ onCancel: handleCancel
18
+ }, /*#__PURE__*/React.createElement("div", {
19
+ className: "setup"
20
+ }, /*#__PURE__*/React.createElement(Form, {
21
+ name: "basic",
22
+ labelCol: {
23
+ span: 5
24
+ },
25
+ wrapperCol: {
26
+ span: 19
27
+ },
28
+ onFinish: onFinish
29
+ }, /*#__PURE__*/React.createElement(Form.Item, {
30
+ label: "\u8BBE\u5907",
31
+ name: "username"
32
+ }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Form.Item, {
33
+ wrapperCol: {
34
+ offset: 8,
35
+ span: 16
36
+ }
37
+ }, /*#__PURE__*/React.createElement(Button, {
38
+ type: "primary",
39
+ htmlType: "submit"
40
+ }, "\u4FDD\u5B58")))));
41
+ };
42
+ export default SetupModal;
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import './style.less';
3
+ interface IndexProps {
4
+ onSave?: (imgList: any) => void;
5
+ }
6
+ declare const LabAltimeter: ({ onSave }: IndexProps) => React.JSX.Element;
7
+ export default LabAltimeter;
@@ -0,0 +1,592 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
3
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
5
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
6
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
7
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
8
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
9
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
12
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
13
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
18
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
19
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
+ /*
21
+ * @Author: xqy
22
+ * @Date: 2024-04-23 13:43:55
23
+ * @LastEditors: wusum
24
+ * @LastEditTime: 2024-05-11 13:51:03
25
+ * @Description: 高拍仪
26
+ */
27
+ import { Iconfont } from "../components";
28
+ import { LabBase64ToFile } from "../utils/utils";
29
+ import { Button, Checkbox, Input, Select, message } from 'antd';
30
+ import cn from 'classnames';
31
+ import dayjs from 'dayjs';
32
+ import React, { useEffect, useState } from 'react';
33
+ import SetupModal from "./SetupModal";
34
+ import "./style.less";
35
+ var LabAltimeter = function LabAltimeter(_ref) {
36
+ var onSave = _ref.onSave;
37
+ var _useState = useState(false),
38
+ _useState2 = _slicedToArray(_useState, 2),
39
+ setUpVisible = _useState2[0],
40
+ setSetUpVisible = _useState2[1];
41
+ var _useState3 = useState([]),
42
+ _useState4 = _slicedToArray(_useState3, 2),
43
+ imgList = _useState4[0],
44
+ setImgList = _useState4[1];
45
+ var _useState5 = useState(false),
46
+ _useState6 = _slicedToArray(_useState5, 2),
47
+ selectAll = _useState6[0],
48
+ setSelectAll = _useState6[1];
49
+ // 当前拖拽对象
50
+ var _useState7 = useState(),
51
+ _useState8 = _slicedToArray(_useState7, 2),
52
+ oldDragItem = _useState8[0],
53
+ setOldDrageItem = _useState8[1];
54
+ // 是否拖拽
55
+ var _useState9 = useState(),
56
+ _useState10 = _slicedToArray(_useState9, 2),
57
+ isActive = _useState10[0],
58
+ setIsActive = _useState10[1];
59
+ // 是否拖拽进行
60
+ var _useState11 = useState(),
61
+ _useState12 = _slicedToArray(_useState11, 2),
62
+ isEnter = _useState12[0],
63
+ setIsEnter = _useState12[1];
64
+ // 拖拽交换对象
65
+ var _useState13 = useState(),
66
+ _useState14 = _slicedToArray(_useState13, 2),
67
+ newDragItem = _useState14[0],
68
+ setNewDragItem = _useState14[1];
69
+ //当前预览的pdf的地址
70
+ var _useState15 = useState(''),
71
+ _useState16 = _slicedToArray(_useState15, 2),
72
+ curPreviewPath = _useState16[0],
73
+ setCurPreviewPath = _useState16[1];
74
+ //合成的pdf的文件下标索引
75
+ var _useState17 = useState(0),
76
+ _useState18 = _slicedToArray(_useState17, 2),
77
+ pdfIndex = _useState18[0],
78
+ setPdfIndex = _useState18[1];
79
+
80
+ //设置可编辑的图片下标
81
+ var _useState19 = useState(-1),
82
+ _useState20 = _slicedToArray(_useState19, 2),
83
+ editIndex = _useState20[0],
84
+ setEditIndex = _useState20[1];
85
+
86
+ //预览的图片或pdf
87
+ var _useState21 = useState(false),
88
+ _useState22 = _slicedToArray(_useState21, 2),
89
+ isShowPdf = _useState22[0],
90
+ setIsShowPdf = _useState22[1];
91
+ // 图标
92
+ var iconType = ['icon-zuoxuan', 'icon-youxuan', 'icon-duijiao'];
93
+ // 高拍仪类型
94
+ var options = [{
95
+ value: '1',
96
+ label: '良田'
97
+ }, {
98
+ value: '2',
99
+ label: '科密'
100
+ }];
101
+
102
+ //关闭设置弹框
103
+ var handleCancel = function handleCancel() {
104
+ setSetUpVisible(false);
105
+ };
106
+
107
+ //全选和取消全选
108
+ var handleSelectAll = function handleSelectAll() {
109
+ var updatedList = imgList.map(function (item) {
110
+ return _objectSpread(_objectSpread({}, item), {}, {
111
+ isChecked: !selectAll
112
+ });
113
+ });
114
+ setImgList(updatedList);
115
+ setSelectAll(!selectAll);
116
+ };
117
+
118
+ // 单选功能
119
+ var handleSelectSingle = function handleSelectSingle(e, index) {
120
+ var _e$target;
121
+ var updatedList = _toConsumableArray(imgList);
122
+ updatedList[index].isChecked = e === null || e === void 0 || (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.checked;
123
+ setImgList(updatedList);
124
+ };
125
+
126
+ //抽取接口请求方法
127
+ var fetchRequest = /*#__PURE__*/function () {
128
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(url, params, method) {
129
+ var res;
130
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
131
+ while (1) switch (_context.prev = _context.next) {
132
+ case 0:
133
+ _context.next = 2;
134
+ return fetch(url, {
135
+ method: method,
136
+ headers: {
137
+ 'Content-Type': 'application/json'
138
+ },
139
+ body: JSON.stringify(params) // 将JS对象转换为JSON字符串作为请求体
140
+ }).then(function (res) {
141
+ if (res.ok) {
142
+ return res.json();
143
+ } else {
144
+ message.error('请求接口异常');
145
+ }
146
+ throw new Error('网络请求失败!'); //抛出异常
147
+ }).then(function (data) {
148
+ return data;
149
+ });
150
+ case 2:
151
+ res = _context.sent;
152
+ return _context.abrupt("return", res);
153
+ case 4:
154
+ case "end":
155
+ return _context.stop();
156
+ }
157
+ }, _callee);
158
+ }));
159
+ return function fetchRequest(_x, _x2, _x3) {
160
+ return _ref2.apply(this, arguments);
161
+ };
162
+ }();
163
+
164
+ //图片添加到右边图像区域
165
+ var add_image = function add_image(img_base64, type) {
166
+ // type(1-pdf,0-图片)
167
+ var filePrefix = type ? 'data:application/pdf;base64,' : 'data:image/jpg;base64,';
168
+ var imgs = [{
169
+ filePath: "".concat(filePrefix).concat(img_base64),
170
+ fileName: '',
171
+ isShowIcon: false,
172
+ disabled: true,
173
+ isChecked: false,
174
+ fileType: type ? 'pdf' : 'jpg'
175
+ }];
176
+ //添加文件名(索引,四位数,前补0)
177
+ var curDate = dayjs().format('YYYYMMDD');
178
+ var newImgList = [].concat(imgs, _toConsumableArray(imgList)).map(function (item, index) {
179
+ item.fileName = "".concat(curDate, "-").concat("".concat(index + 1).padStart(4, '0'), ".").concat(item.fileType);
180
+ return item;
181
+ });
182
+ if (type) {
183
+ //合成完pdf,需要取消选中的图片
184
+ newImgList.map(function (item) {
185
+ return item.isChecked = false;
186
+ });
187
+ }
188
+ setImgList(newImgList);
189
+ };
190
+
191
+ //打开摄像头
192
+ var openCamera = function openCamera() {
193
+ var _document;
194
+ if ((_document = document) !== null && _document !== void 0 && _document.getElementById('view')) {
195
+ var img = document.getElementById('view');
196
+ img.src = 'http://127.0.0.1:38088/video=stream&camidx=0?1';
197
+ }
198
+ };
199
+
200
+ // 主摄像头拍照
201
+ var onTakePhoto = /*#__PURE__*/function () {
202
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
203
+ var params, data;
204
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
205
+ while (1) switch (_context2.prev = _context2.next) {
206
+ case 0:
207
+ params = {
208
+ filepath: 'base64',
209
+ rotate: '0',
210
+ cutpage: '0',
211
+ camidx: '0',
212
+ ColorMode: '0',
213
+ quality: '3'
214
+ };
215
+ _context2.next = 3;
216
+ return fetchRequest('http://127.0.0.1:38088/video=grabimage', params, 'POST');
217
+ case 3:
218
+ data = _context2.sent;
219
+ if (_typeof(data) === 'object' && Object.keys(data).length > 0) {
220
+ add_image(data === null || data === void 0 ? void 0 : data.photoBase64, 0);
221
+ }
222
+ case 5:
223
+ case "end":
224
+ return _context2.stop();
225
+ }
226
+ }, _callee2);
227
+ }));
228
+ return function onTakePhoto() {
229
+ return _ref3.apply(this, arguments);
230
+ };
231
+ }();
232
+
233
+ // 旋转(左右旋转)
234
+ var rotate = /*#__PURE__*/function () {
235
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(angle) {
236
+ var params, data;
237
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
238
+ while (1) switch (_context3.prev = _context3.next) {
239
+ case 0:
240
+ params = {
241
+ camidx: '0',
242
+ rotate: String(angle)
243
+ };
244
+ _context3.next = 3;
245
+ return fetchRequest('http://127.0.0.1:38088/video=rotate', params, 'POST');
246
+ case 3:
247
+ data = _context3.sent;
248
+ if (data) {
249
+ console.log('旋转' + String(angle) + '度成功');
250
+ }
251
+ case 5:
252
+ case "end":
253
+ return _context3.stop();
254
+ }
255
+ }, _callee3);
256
+ }));
257
+ return function rotate(_x4) {
258
+ return _ref4.apply(this, arguments);
259
+ };
260
+ }();
261
+
262
+ //放大
263
+ var onEnlarge = function onEnlarge() {};
264
+
265
+ //图标的点击事件
266
+ var onIconClick = function onIconClick(iconName) {
267
+ switch (iconName) {
268
+ case 'icon-a-fangda3':
269
+ onEnlarge();
270
+ break;
271
+ case 'icon-zuoxuan':
272
+ rotate(90);
273
+ break;
274
+ case 'icon-youxuan':
275
+ rotate(270);
276
+ break;
277
+ case 'icon-duijiao':
278
+ onTakePhoto();
279
+ break;
280
+ default:
281
+ (function () {})();
282
+ break;
283
+ //开关
284
+ }
285
+ };
286
+
287
+ //预览图片
288
+ var onPreviewFile = function onPreviewFile(item) {
289
+ if (item.fileType === 'pdf') {
290
+ setCurPreviewPath(item === null || item === void 0 ? void 0 : item.filePath);
291
+ setIsShowPdf(true);
292
+ } else {
293
+ var _document2;
294
+ if ((_document2 = document) !== null && _document2 !== void 0 && _document2.getElementById('view')) {
295
+ var img = document.getElementById('view');
296
+ img.src = item === null || item === void 0 ? void 0 : item.filePath;
297
+ }
298
+ setIsShowPdf(false);
299
+ }
300
+ setOldDrageItem(item);
301
+ setIsActive(item.filePath);
302
+ };
303
+
304
+ //鼠标移入图片(显示编辑和删除图标)
305
+ var handleMouseEnter = function handleMouseEnter(item) {
306
+ setOldDrageItem(item);
307
+ setIsActive(item.filePath);
308
+ };
309
+
310
+ //修改文件的名称
311
+ var handChange = function handChange(e, index) {
312
+ var updateList = _toConsumableArray(imgList);
313
+ updateList[index].fileName = e === null || e === void 0 ? void 0 : e.target.value;
314
+ setImgList(updateList);
315
+ };
316
+
317
+ //点击编辑图标,允许编辑
318
+ var onEdit = function onEdit(index) {
319
+ setEditIndex(index);
320
+ };
321
+
322
+ //删除文件
323
+ var onDelete = function onDelete(filePath) {
324
+ var updateList = _toConsumableArray(imgList);
325
+ var newFileList = updateList.filter(function (item) {
326
+ return item.filePath !== filePath;
327
+ });
328
+ setImgList(newFileList);
329
+ };
330
+
331
+ // 计算选中的图片数量
332
+ var selectedCount = imgList.filter(function (item) {
333
+ return item.isChecked;
334
+ }).length;
335
+
336
+ //图片合成PDF
337
+ var ComposePhotosPDF = /*#__PURE__*/function () {
338
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
339
+ var index, updateList, checkImgList, imgs, params, data;
340
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
341
+ while (1) switch (_context4.prev = _context4.next) {
342
+ case 0:
343
+ index = pdfIndex + 1;
344
+ updateList = _toConsumableArray(imgList);
345
+ checkImgList = updateList.filter(function (item) {
346
+ return item.isChecked;
347
+ }); //选中的图片合成
348
+ if (!(checkImgList && checkImgList.length)) {
349
+ _context4.next = 13;
350
+ break;
351
+ }
352
+ imgs = imgList.map(function (i) {
353
+ return i.filePath;
354
+ }).join(',');
355
+ params = {
356
+ outputfilepath: "D:\\\u56FE\u7247\u5408\u6210PDF\\".concat(index, ".pdf"),
357
+ // 输出文件保存地址。例:D://图片合成pdf
358
+ outputmaxwidth: '3000',
359
+ // 合成后文件最大宽度。例:3000px
360
+ inputimagetype: '1',
361
+ // 待合成文件类型:0:file;1:base64
362
+ outputimagetype: '1',
363
+ // 合成后文件类型:0:jpg;1:PDF
364
+ imagelist: imgs.toString()
365
+ };
366
+ _context4.next = 8;
367
+ return fetchRequest('http://127.0.0.1:38088/compose=photos', params, 'POST');
368
+ case 8:
369
+ data = _context4.sent;
370
+ if (data) {
371
+ add_image(data === null || data === void 0 ? void 0 : data.base64, 1);
372
+ }
373
+ setPdfIndex(index);
374
+ _context4.next = 14;
375
+ break;
376
+ case 13:
377
+ message.warning('请先选择图片!');
378
+ case 14:
379
+ case "end":
380
+ return _context4.stop();
381
+ }
382
+ }, _callee4);
383
+ }));
384
+ return function ComposePhotosPDF() {
385
+ return _ref5.apply(this, arguments);
386
+ };
387
+ }();
388
+
389
+ // 拖拽开始
390
+ var _onDragStart = function onDragStart(item) {
391
+ setOldDrageItem(item);
392
+ setIsActive(item.filePath);
393
+ };
394
+
395
+ // 拖拽进行
396
+ var _onDragEnter = function onDragEnter(item) {
397
+ setIsEnter(item.filePath);
398
+ setNewDragItem(item);
399
+ };
400
+
401
+ //拖拽结束
402
+ var _onDragEnd = function onDragEnd() {
403
+ if (oldDragItem !== newDragItem) {
404
+ var oldIndex = imgList.indexOf(oldDragItem); //获取当前对象所在数组坐标
405
+ var newIndex = imgList.indexOf(newDragItem); //获取当前目标对象所在数组坐标
406
+ var newArray = _toConsumableArray(imgList);
407
+ newArray.splice(oldIndex, 1); //删除老节点
408
+ newArray.splice(newIndex, 0, oldDragItem); //增加新节点
409
+ setImgList(newArray); //保存拖拽后的数组
410
+ setIsActive(-1); //重置状态
411
+ setIsEnter(-1);
412
+ }
413
+ };
414
+
415
+ //保存文件
416
+ var handleSave = function handleSave() {
417
+ //将文件类型转化成file类型
418
+ var newImgList = imgList.map(function (i) {
419
+ var _i$fileName;
420
+ //去掉fileName后缀
421
+ var nameArr = (_i$fileName = i.fileName) === null || _i$fileName === void 0 ? void 0 : _i$fileName.split(".".concat(i.fileType));
422
+ return _objectSpread(_objectSpread({}, i), {}, {
423
+ file: LabBase64ToFile(i.filePath, nameArr[0])
424
+ });
425
+ });
426
+ var selectList = newImgList.filter(function (item) {
427
+ return item.isChecked === true;
428
+ }); //选中的文件上传
429
+ onSave === null || onSave === void 0 || onSave(selectList);
430
+ };
431
+ useEffect(function () {
432
+ openCamera(); //一开始就打开摄像头
433
+ }, []);
434
+ return /*#__PURE__*/React.createElement("div", {
435
+ className: "altimeter"
436
+ }, /*#__PURE__*/React.createElement("div", {
437
+ className: "top"
438
+ }, /*#__PURE__*/React.createElement("span", {
439
+ className: "top-text"
440
+ }, "\u626B\u63CF\u56FE\u50CF\u9884\u89C8"), /*#__PURE__*/React.createElement(Select, {
441
+ style: {
442
+ width: 160,
443
+ marginRight: '4px'
444
+ },
445
+ placeholder: "\u9AD8\u62CD\u4EEA",
446
+ allowClear: true,
447
+ options: options,
448
+ defaultValue: "1"
449
+ }), /*#__PURE__*/React.createElement("div", {
450
+ className: "g-f-rc icon-div"
451
+ }, iconType.map(function (iconName, i) {
452
+ return /*#__PURE__*/React.createElement("div", {
453
+ className: "icon g-f-rc",
454
+ key: i,
455
+ onClick: function onClick() {
456
+ return onIconClick(iconName);
457
+ }
458
+ }, /*#__PURE__*/React.createElement(Iconfont, {
459
+ type: iconName,
460
+ style: {
461
+ fontSize: '16px',
462
+ color: '#333333'
463
+ }
464
+ }));
465
+ })), /*#__PURE__*/React.createElement("div", {
466
+ className: "btns"
467
+ }, /*#__PURE__*/React.createElement(Button, {
468
+ type: "primary",
469
+ className: "g-m-r-4",
470
+ onClick: function onClick() {
471
+ return ComposePhotosPDF();
472
+ }
473
+ }, "\u5408\u6210PDF"), /*#__PURE__*/React.createElement(Button, {
474
+ type: "primary",
475
+ className: "g-m-r-4",
476
+ onClick: function onClick() {
477
+ return openCamera();
478
+ }
479
+ }, "\u56FE\u50CF\u91C7\u96C6"), /*#__PURE__*/React.createElement(Button, {
480
+ type: "primary",
481
+ className: "g-m-r-4",
482
+ onClick: function onClick() {
483
+ return handleSave();
484
+ }
485
+ }, "\u786E\u5B9A"))), /*#__PURE__*/React.createElement("div", {
486
+ className: "content"
487
+ }, /*#__PURE__*/React.createElement("div", {
488
+ className: "con-left"
489
+ }, !isShowPdf ? /*#__PURE__*/React.createElement("img", {
490
+ id: "view",
491
+ src: "http://127.0.0.1:38088/video=stream&camidx=0",
492
+ alt: "\u8BF7\u8FDE\u63A5\u6444\u50CF\u5934\u8BBE\u5907\uFF01"
493
+ }) : /*#__PURE__*/React.createElement("embed", {
494
+ src: curPreviewPath,
495
+ type: "application/pdf",
496
+ width: "100%",
497
+ height: "100%",
498
+ style: {
499
+ minHeight: '725px',
500
+ overflowY: 'auto'
501
+ }
502
+ })), /*#__PURE__*/React.createElement("div", {
503
+ className: "con-right"
504
+ }, /*#__PURE__*/React.createElement("div", {
505
+ className: "con-right-top"
506
+ }, /*#__PURE__*/React.createElement("span", {
507
+ className: "con-right-text"
508
+ }, "\u5DF2\u626B\u63CF\u56FE\u7247"), /*#__PURE__*/React.createElement(Checkbox, {
509
+ indeterminate: selectedCount > 0,
510
+ onChange: handleSelectAll
511
+ }, "\u5168\u9009(", selectedCount, "/", imgList.length, ")")), /*#__PURE__*/React.createElement("div", {
512
+ className: "con-right-preview"
513
+ }, imgList.length ? imgList.map(function (item, index) {
514
+ return /*#__PURE__*/React.createElement("div", {
515
+ className: cn('preview-item', oldDragItem === item && isActive === item.filePath ? 'active' : newDragItem === item && isEnter === item.filePath ? 'enter' : ''),
516
+ draggable: true,
517
+ key: index,
518
+ onMouseEnter: function onMouseEnter() {
519
+ return handleMouseEnter(item);
520
+ },
521
+ onDragStart: function onDragStart() {
522
+ return _onDragStart(item);
523
+ },
524
+ onDragEnter: function onDragEnter() {
525
+ return _onDragEnter(item);
526
+ },
527
+ onDragEnd: function onDragEnd() {
528
+ return _onDragEnd();
529
+ }
530
+ }, /*#__PURE__*/React.createElement("div", {
531
+ className: "imageArea g-f-rc",
532
+ key: index,
533
+ onClick: function onClick() {
534
+ return onPreviewFile(item);
535
+ }
536
+ }, /*#__PURE__*/React.createElement(Iconfont, {
537
+ type: "icon-chahao",
538
+ style: {
539
+ fontSize: '13px',
540
+ color: '#909090',
541
+ cursor: 'pointer',
542
+ position: 'absolute',
543
+ top: '0px',
544
+ right: '1px'
545
+ },
546
+ className: "hover-icon",
547
+ onClick: function onClick() {
548
+ return onDelete(item.filePath);
549
+ }
550
+ }), item.fileType === 'pdf' ? /*#__PURE__*/React.createElement(Iconfont, {
551
+ type: "icon-PDF1",
552
+ style: {
553
+ fontSize: '50px'
554
+ }
555
+ }) : /*#__PURE__*/React.createElement("img", {
556
+ src: item === null || item === void 0 ? void 0 : item.filePath,
557
+ alt: ""
558
+ }), /*#__PURE__*/React.createElement(Checkbox, {
559
+ key: "".concat(item.filePath).concat(index),
560
+ checked: item.isChecked,
561
+ onChange: function onChange(e) {
562
+ return handleSelectSingle(e, index);
563
+ }
564
+ })), /*#__PURE__*/React.createElement("p", {
565
+ className: "img-text",
566
+ title: item.fileName
567
+ }, /*#__PURE__*/React.createElement(Input, {
568
+ variant: "borderless",
569
+ disabled: editIndex !== index,
570
+ value: item === null || item === void 0 ? void 0 : item.fileName,
571
+ onChange: function onChange(e) {
572
+ return handChange(e, index);
573
+ },
574
+ suffix: /*#__PURE__*/React.createElement(Iconfont, {
575
+ type: "icon-bianji",
576
+ style: {
577
+ fontSize: '13px',
578
+ color: '#1677FF',
579
+ cursor: 'pointer'
580
+ },
581
+ className: "hover-icon",
582
+ onClick: function onClick() {
583
+ return onEdit(index);
584
+ }
585
+ })
586
+ })));
587
+ }) : null))), /*#__PURE__*/React.createElement(SetupModal, {
588
+ visible: setUpVisible,
589
+ onCancel: handleCancel
590
+ }));
591
+ };
592
+ export default LabAltimeter;