From 1c598b62976901679a6ba723d6fbe2dc6771f11f Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期二, 18 三月 2025 19:07:04 +0800
Subject: [PATCH] 检验任务&首页代码迁移
---
src/assets/icons/svg/kexue.svg | 1
src/views/index.vue | 720 +++++++++++--------
vue.config.js | 17
src/views/business/inspectionTask/Inspection.vue | 11
src/assets/icons/svg/jiegou.svg | 1
src/workers/InspectionWorkerAsData.worker.js | 0
src/api/system/notice.js | 63 +
src/views/business/inspectionTask/index.vue | 2
src/api/chart/dailyBusinessStatistical.js | 29
src/assets/icons/svg/source.svg | 1
src/assets/icons/svg/tongyong.svg | 1
src/assets/icons/svg/jixiao.svg | 1
src/views/business/inspectionOrder/add.vue | 6
public/favicon.ico | 0
src/views/logindemo.vue | 23
src/views/thirdpartylogin.vue | 23
src/api/business/report.js | 0
src/assets/icons/svg/gcyq.svg | 1
src/assets/icons/svg/testaa.svg | 1
src/permission.js | 2
src/api/login.js | 23
src/store/modules/user.js | 36
src/assets/icons/svg/guocheng.svg | 1
src/assets/icons/svg/tixi.svg | 1
src/assets/styles/element-ui.scss | 57 +
src/assets/icons/svg/kanban.svg | 1
src/router/index.js | 16
/dev/null | 0
src/views/login.vue | 134 ++-
src/main.js | 5
.env.production | 2
src/workers/InspectionWorker.worker.js | 946 --------------------------
32 files changed, 812 insertions(+), 1,313 deletions(-)
diff --git a/.env.production b/.env.production
index a462f7f..5b9e9c8 100644
--- a/.env.production
+++ b/.env.production
@@ -8,4 +8,4 @@
VUE_APP_BASE_API = '/prod-api'
# 鐢熶骇鐜ip+绔彛
-VUE_BASE_URL = ''
\ No newline at end of file
+VUE_BASE_URL = 'https://zttx-lims.ztt.cn:8021/'
diff --git a/public/favicon.ico b/public/favicon.ico
index a7e51df..f6325a4 100644
--- a/public/favicon.ico
+++ b/public/favicon.ico
Binary files differ
diff --git a/src/api/business/report.js b/src/api/business/report.js
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/api/business/report.js
diff --git a/src/api/chart/dailyBusinessStatistical.js b/src/api/chart/dailyBusinessStatistical.js
index 0eab5c6..e2c8a08 100644
--- a/src/api/chart/dailyBusinessStatistical.js
+++ b/src/api/chart/dailyBusinessStatistical.js
@@ -23,4 +23,31 @@
method: 'post',
params: params
})
-}
\ No newline at end of file
+}
+
+//娣诲姞鏃ョ▼
+export function addSchedule(data) {
+ return resquest({
+ url: '/report/addSchedule',
+ method: 'post',
+ params: data
+ })
+}
+
+//鏌ヨ鏃ュ巻浠诲姟鍥�
+export function calendarWorkByWeek() {
+ return resquest({
+ url: '/report/calendarWorkByWeek',
+ method: 'get',
+ })
+}
+
+//鏌ヨ鏃ュ巻浠诲姟鍥�
+export function ScheduleByMe(data) {
+ return resquest({
+ url: '/report/ScheduleByMe',
+ method: 'post',
+ params:data
+ })
+}
+
diff --git a/src/api/login.js b/src/api/login.js
index 7b7388f..6600680 100644
--- a/src/api/login.js
+++ b/src/api/login.js
@@ -19,6 +19,27 @@
})
}
+// 鑾峰彇鍗曠偣鐧诲綍鍦板潃
+export function getSsoAuthUrl() {
+ return request({
+ url: '/getSsoAuthUrl',
+ method: 'get'
+ })
+}
+
+// 鍗曠偣鐧诲綍
+export function LoginBySSO(accessToken) {
+ return request({
+ url: '/loginBySSO',
+ headers: {
+ isToken: false,
+ repeatSubmit: false
+ },
+ method: 'post',
+ params: accessToken
+ })
+}
+
// 娉ㄥ唽鏂规硶
export function register(data) {
return request({
@@ -57,4 +78,4 @@
method: 'get',
timeout: 20000
})
-}
\ No newline at end of file
+}
diff --git a/src/api/system/notice.js b/src/api/system/notice.js
index c274ea5..4dd18c4 100644
--- a/src/api/system/notice.js
+++ b/src/api/system/notice.js
@@ -41,4 +41,65 @@
url: '/system/notice/' + noticeId,
method: 'delete'
})
-}
\ No newline at end of file
+}
+
+// 娑堟伅閫氱煡-婊氬姩鍒嗛〉鏌ヨ
+export function pageNotice(query) {
+ return request({
+ url: '/informationNotification/page',
+ method: 'get',
+ params: query
+ })
+}
+
+// 娑堟伅閫氱煡-鏇存柊娑堟伅鐘舵�侊紙鎷掔粷銆佹帴鏀讹級
+export function updateMessageStatus(query) {
+ return request({
+ url: '/informationNotification/updateMessageStatus',
+ method: 'put',
+ data: query
+ })
+}
+
+// 娑堟伅閫氱煡-鏍囪鎵�鏈変俊鎭负宸茶/鍒犻櫎鎵�鏈夊凡璇绘秷鎭�
+export function informationReadOrDelete(isMarkAllInformationRead) {
+ return request({
+ url: '/informationNotification/informationReadOrDelete/' + isMarkAllInformationRead,
+ method: 'put',
+ })
+}
+
+// 娑堟伅閫氱煡-鍒犻櫎鏁版嵁
+export function deleteDataBasedOnId(query) {
+ return request({
+ url: '/informationNotification/deleteDataBasedOnId',
+ method: 'delete',
+ params: query
+ })
+}
+
+// 娑堟伅閫氱煡-鏌ヨ鏄惁瀛樺湪鏈鏁版嵁
+export function checkForUnreadData() {
+ return request({
+ url: '/informationNotification/checkForUnreadData',
+ method: 'get',
+ })
+}
+
+// 娑堟伅閫氱煡-鐐瑰嚮璇︽儏瑙﹀彂淇敼鐘舵�佷负宸茶
+export function triggerModificationStatusToRead(id) {
+ return request({
+ url: '/informationNotification/triggerModificationStatusToRead/' + id,
+ method: 'put',
+ })
+}
+
+// 娑堟伅閫氱煡-鑾峰彇棣栭〉鍥涚娑堟伅鏁伴噺
+export function getNumberFourTypesMessagesHomePage() {
+ return request({
+ url: '/informationNotification/getNumberFourTypesMessagesHomePage',
+ method: 'get',
+ })
+}
+
+
diff --git a/src/assets/icons/svg/gcyq.svg b/src/assets/icons/svg/gcyq.svg
new file mode 100644
index 0000000..b380e4b
--- /dev/null
+++ b/src/assets/icons/svg/gcyq.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742292324381" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15701" width="128" height="128" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M197.8368 862.45376c43.008-12.288 73.728-49.152 79.872-92.16 67.584 61.44 153.6 98.304 245.76 98.304s184.32-36.864 245.76-98.304c18.432 43.008 49.152 79.872 92.16 92.16-86.016 79.872-202.752 129.024-331.776 129.024-129.024 0-245.76-49.152-331.776-129.024z m-36.864-178.176c36.864 0 61.44 24.576 61.44 61.44s-24.576 61.44-61.44 61.44-61.44-24.576-61.44-61.44 24.576-61.44 61.44-61.44zM873.6768 622.87872c12.288-36.864 24.576-79.872 24.576-122.88 0-172.032-116.736-313.344-270.336-356.352 12.288-18.432 24.576-43.008 24.576-73.728 0-18.432-6.144-30.72-12.288-49.152 221.184 49.152 380.928 245.76 380.928 479.232 0 61.44-12.288 116.736-30.72 165.888-18.432-24.576-55.296-43.008-92.16-43.008h-24.576zM419.0208 20.72576c-6.144 18.432-12.288 30.72-12.288 49.152 0 30.72 12.288 55.296 24.576 73.728-153.6 43.008-270.336 184.32-270.336 356.352 0 43.008 6.144 86.016 24.576 122.88h-24.576c-36.864 0-73.728 18.432-92.16 43.008-18.432-49.152-30.72-104.448-30.72-165.888 0-233.472 159.744-430.08 380.928-479.232zM529.6128 8.43776c36.864 0 61.44 24.576 61.44 61.44s-24.576 61.44-61.44 61.44-61.44-24.576-61.44-61.44 24.576-61.44 61.44-61.44zM898.2528 684.27776c36.864 0 61.44 24.576 61.44 61.44s-24.576 61.44-61.44 61.44-61.44-24.576-61.44-61.44 24.576-61.44 61.44-61.44z" fill="#2c2c2c" p-id="15702"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/guocheng.svg b/src/assets/icons/svg/guocheng.svg
new file mode 100644
index 0000000..7787b70
--- /dev/null
+++ b/src/assets/icons/svg/guocheng.svg
@@ -0,0 +1 @@
+<svg t="1742295109366" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="52688" width="128" height="128"><path d="M197.8368 862.45376c43.008-12.288 73.728-49.152 79.872-92.16 67.584 61.44 153.6 98.304 245.76 98.304s184.32-36.864 245.76-98.304c18.432 43.008 49.152 79.872 92.16 92.16-86.016 79.872-202.752 129.024-331.776 129.024-129.024 0-245.76-49.152-331.776-129.024z m-36.864-178.176c36.864 0 61.44 24.576 61.44 61.44s-24.576 61.44-61.44 61.44-61.44-24.576-61.44-61.44 24.576-61.44 61.44-61.44zM873.6768 622.87872c12.288-36.864 24.576-79.872 24.576-122.88 0-172.032-116.736-313.344-270.336-356.352 12.288-18.432 24.576-43.008 24.576-73.728 0-18.432-6.144-30.72-12.288-49.152 221.184 49.152 380.928 245.76 380.928 479.232 0 61.44-12.288 116.736-30.72 165.888-18.432-24.576-55.296-43.008-92.16-43.008h-24.576zM419.0208 20.72576c-6.144 18.432-12.288 30.72-12.288 49.152 0 30.72 12.288 55.296 24.576 73.728-153.6 43.008-270.336 184.32-270.336 356.352 0 43.008 6.144 86.016 24.576 122.88h-24.576c-36.864 0-73.728 18.432-92.16 43.008-18.432-49.152-30.72-104.448-30.72-165.888 0-233.472 159.744-430.08 380.928-479.232zM529.6128 8.43776c36.864 0 61.44 24.576 61.44 61.44s-24.576 61.44-61.44 61.44-61.44-24.576-61.44-61.44 24.576-61.44 61.44-61.44zM898.2528 684.27776c36.864 0 61.44 24.576 61.44 61.44s-24.576 61.44-61.44 61.44-61.44-24.576-61.44-61.44 24.576-61.44 61.44-61.44z" p-id="52689"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/jiegou.svg b/src/assets/icons/svg/jiegou.svg
new file mode 100644
index 0000000..8b8f49d
--- /dev/null
+++ b/src/assets/icons/svg/jiegou.svg
@@ -0,0 +1 @@
+<svg t="1742295073668" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="51639" width="128" height="128"><path d="M157.57312 744.2432c70.00064 0 126.85312 61.76768 126.85312 137.87136s-56.9344 137.91232-126.85312 137.91232C87.6544 1020.02688 30.72 958.21824 30.72 882.11456s56.85248-137.91232 126.85312-137.91232z m0 168.83712c15.64672 0 28.4672-13.9264 28.4672-30.96576 0-16.9984-12.82048-30.96576-28.4672-30.96576-15.7696 0-28.50816 13.9264-28.50816 30.96576 0 17.12128 12.86144 30.96576 28.50816 30.96576zM886.90688 36.98688c69.91872 0 126.85312 61.80864 126.85312 137.91232s-56.9344 137.78944-126.85312 137.78944c-69.87776 0-126.85312-61.8496-126.85312-137.91232 0-76.10368 56.9344-137.78944 126.85312-137.78944z m0 168.87808c15.64672 0 28.4672-13.9264 28.4672-30.96576s-12.6976-30.96576-28.4672-30.96576c-15.7696 0-28.4672 13.9264-28.4672 30.96576 0 16.9984 12.82048 30.96576 28.4672 30.96576zM339.06688 228.9664c70.0416 0 126.85312 61.8496 126.85312 137.95328 0 76.10368-56.9344 137.87136-126.85312 137.87136-69.87776 0-126.81216-61.76768-126.81216-137.87136S269.1072 228.9664 339.06688 228.9664z m0 169.04192c15.7696 0 28.50816-13.9264 28.50816-30.96576 0-17.16224-12.6976-30.96576-28.50816-30.96576-15.72864 0-28.4672 13.9264-28.4672 30.96576 0 17.12128 12.82048 30.96576 28.4672 30.96576zM700.94848 594.61632c70.00064 0 126.73024 61.80864 126.73024 137.78944s-56.85248 137.91232-126.73024 137.91232c-69.91872 0-126.85312-61.8496-126.85312-137.91232 0-76.10368 56.85248-137.78944 126.85312-137.78944z m0 168.7552c15.64672 0 28.4672-13.9264 28.4672-30.96576s-12.82048-30.96576-28.4672-30.96576c-15.7696 0-28.4672 13.9264-28.4672 30.96576 0 16.9984 12.82048 30.96576 28.4672 30.96576z" p-id="51640"></path><path d="M129.76128 932.08576c-25.31328-10.48576-38.05184-41.45152-28.38528-68.97664L282.91072 347.83232c5.85728-16.54784 18.92352-28.95872 34.816-32.9728 15.85152-4.01408 32.5632 0.8192 44.52352 12.9024l307.4048 310.51776 160.84992-481.64864c9.25696-27.77088 37.51936-41.94304 62.95552-32.03072 25.51808 10.07616 38.66624 40.79616 29.45024 68.4032l-185.9584 557.54752a50.66752 50.66752 0 0 1-34.69312 33.66912 46.61248 46.61248 0 0 1-45.01504-12.73856l-308.4288-311.5008-155.56608 441.22112c-7.49568 21.2992-26.09152 34.4064-45.8752 34.4064-5.89824 0-11.75552-1.18784-17.6128-3.56352z" p-id="51641"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/jixiao.svg b/src/assets/icons/svg/jixiao.svg
new file mode 100644
index 0000000..b82c4e3
--- /dev/null
+++ b/src/assets/icons/svg/jixiao.svg
@@ -0,0 +1 @@
+<svg t="1742295159707" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="55724" id="mx_n_1742295159708" width="128" height="128"><path d="M265.626741 519.173705c118.701281 118.701281 311.150529 118.701281 429.851811 0 118.701281-118.701281 118.701281-311.150529 0-429.851811-118.701281-118.701281-311.150529-118.687019-429.851811 0.014262-118.701281 118.687019-118.701281 311.136267 0 429.837549z" p-id="55725"></path><path d="M719.195989 649.141838c-64.691699-27.839109-144.329805-41.074095-238.686128-41.074094C190.595209 608.067744 38.506964 732.54507 38.506964 1022.459721h452.043231c-10.610808-29.550529-16.315543-61.382953-16.315543-94.584512-0.114095-142.960669 106.792646-261.048691 244.961337-278.733371z" p-id="55726"></path><path d="M902.2039 915.096602c0 10.610808-8.557103 19.167911-19.167911 19.167911-10.610808 0-19.167911-8.557103-19.167911-19.167911V832.035655h-83.060947c-10.610808 0-19.167911-8.557103-19.167911-19.167911 0-10.610808 8.557103-19.167911 19.167911-19.167911h121.396769v121.396769z m-47.463399-47.577493l-43.926462 73.134707h-105.081226l-58.302395 58.302396c-3.765125 3.765125-8.671198 5.590641-13.57727 5.59064-4.906072 0-9.812145-1.825515-13.577271-5.59064a19.143666 19.143666 0 0 1 0-27.154541l69.483677-69.483677h99.262396l32.745181-54.53727c5.476546-9.013482 17.228301-11.979944 26.241783-6.617493 9.241671 5.476546 12.208134 17.228301 6.731587 26.355878z m-86.711977-156.880223c-119.913538 0-217.236323 97.208691-217.236323 217.236323 0 34.000223 7.98663 66.060836 21.906183 94.698607H963.244568c13.919554-28.637772 21.906184-60.698384 21.906184-94.698607 0.114095-119.913538-97.094596-217.236323-217.122228-217.236323z" p-id="55727"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/kanban.svg b/src/assets/icons/svg/kanban.svg
new file mode 100644
index 0000000..608e0eb
--- /dev/null
+++ b/src/assets/icons/svg/kanban.svg
@@ -0,0 +1 @@
+<svg t="1742295203078" class="icon" viewBox="0 0 1047 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="56784" width="128" height="128"><path d="M960 2.91c48.198 0 87.273 39.074 87.273 87.272v669.09c0 48.199-39.075 87.273-87.273 87.273H87.273C39.075 846.545 0 807.471 0 759.273V90.182C0 41.984 39.075 2.909 87.273 2.909H960zM858.53 239.795a43.636 43.636 0 0 0-59.723 0.786l-1.92 1.978L602.91 454.69l-114.996-184-1.542-2.297a43.636 43.636 0 0 0-65.746-6.01l-1.92 1.995-232.727 254.546-1.803 2.094a43.636 43.636 0 0 0 2.501 57.542l2.066 2.007 2.094 1.804a43.636 43.636 0 0 0 57.542-2.502l2.007-2.065 193.979-212.16 115.008 184.029 1.547 2.298a43.636 43.636 0 0 0 65.746 6.004l1.92-1.99L861.312 301.44l1.804-2.095a43.636 43.636 0 0 0-4.573-59.549h-0.012z m14.197 694.022a43.636 43.636 0 0 1 2.56 87.203l-2.56 0.07H174.545a43.636 43.636 0 0 1-2.56-87.203l2.56-0.07h698.182z" p-id="56785"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/kexue.svg b/src/assets/icons/svg/kexue.svg
new file mode 100644
index 0000000..6fbff3a
--- /dev/null
+++ b/src/assets/icons/svg/kexue.svg
@@ -0,0 +1 @@
+<svg t="1742295043227" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="50552" width="128" height="128"><path d="M224 85.312a32 32 0 0 1 32-32h512a32 32 0 0 1 0 64H256a32 32 0 0 1-32-32z" p-id="50553"></path><path d="M352.384 85.312a32 32 0 0 1 32-32h256.192a32 32 0 0 1 32 32v228.16l150.784 312.576a32 32 0 0 1-57.6 27.84L611.776 334.72a32 32 0 0 1-3.2-13.888v-203.52H416.384v203.52a32 32 0 0 1-3.2 13.888l-154.496 319.168a32 32 0 1 1-57.6-27.84l151.296-312.576V85.312z" p-id="50554"></path><path d="M166.272 931.648a69.76 69.76 0 0 1-32.384-93.248l96-198.4S384 746.624 512 640c128-106.688 282.56 0 282.56 0l95.808 198.464a69.76 69.76 0 0 1-62.912 100.16H196.736c-10.56 0-20.992-2.368-30.464-6.976z" p-id="50555"></path><path d="M693.76 631.104c-48.576-11.84-107.584-11.2-161.28 33.472-74.304 61.952-156.416 61.376-217.088 46.528a347.52 347.52 0 0 1-71.552-26.368l-81.152 167.68a37.76 37.76 0 0 0 34.048 54.272h630.784a37.824 37.824 0 0 0 34.048-54.272l28.8-13.888-28.8 13.888-91.776-190.208a285.888 285.888 0 0 0-76.032-31.104z m100.864 8.96l18.176-26.368a32 32 0 0 1 10.624 12.416l95.744 198.528-27.072 13.056 27.072-13.056a101.76 101.76 0 0 1-91.648 146.048H196.736a101.824 101.824 0 0 1-91.648-146.176l96-198.4a32 32 0 0 1 46.976-12.48l0.064 0.064-18.176 26.304 18.176-26.304h0.064l0.96 0.64 4.224 2.688a284.352 284.352 0 0 0 77.184 31.872c48.384 11.84 107.328 11.264 160.96-33.472 74.368-61.952 156.608-61.312 217.344-46.528a350.208 350.208 0 0 1 101.376 43.136l1.728 1.088 0.512 0.384 0.192 0.064v0.064h0.064l-18.112 26.368z" p-id="50556"></path><path d="M512 832a64 64 0 1 1-128 0 64 64 0 0 1 128 0zM768 736a32 32 0 1 1-64 0 32 32 0 0 1 64 0zM640 672a32 32 0 1 1-64 0 32 32 0 0 1 64 0z" p-id="50557"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/source.svg b/src/assets/icons/svg/source.svg
new file mode 100644
index 0000000..e5b79bd
--- /dev/null
+++ b/src/assets/icons/svg/source.svg
@@ -0,0 +1 @@
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742292810401" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23099" width="128" height="128" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M522.24 407.87968l-491.52-163.84v-40.96l491.52-163.84 491.52 163.84v40.96l-491.52 163.84z m-491.52 0v40.96l491.52 163.84 491.52-163.84v-40.96l-122.88-40.96-368.64 122.88-368.64-122.88-122.88 40.96z" fill="#FFFFFF" p-id="23100"></path><path d="M30.72 612.67968v40.96l491.52 163.84 491.52-163.84v-40.96l-122.88-40.96-368.64 122.88-368.64-122.88-122.88 40.96z m0 204.8v40.96l491.52 163.84 491.52-163.84v-40.96l-122.88-40.96-368.64 122.88-368.64-122.88-122.88 40.96z" fill="#FFFFFF" p-id="23101"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/testaa.svg b/src/assets/icons/svg/testaa.svg
new file mode 100644
index 0000000..64d0310
--- /dev/null
+++ b/src/assets/icons/svg/testaa.svg
@@ -0,0 +1 @@
+<svg t="1742294201092" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="41989" id="mx_n_1742294201092" width="128" height="128"><path d="M831.825474 63.940169H191.939717C121.2479 63.940169 63.940169 121.2479 63.940169 191.939717v639.885757C63.940169 902.517291 121.2479 959.825022 191.939717 959.825022h639.885757c70.691817 0 127.999548-57.307731 127.999548-127.999548V191.939717C959.825022 121.2479 902.517291 63.940169 831.825474 63.940169zM895.884854 831.998871A63.835408 63.835408 0 0 1 831.912173 895.884854H192.087827c-17.112123 0-33.270563-6.574639-45.372232-18.67631S127.880338 849.110994 127.880338 831.998871V192.001129A64.236389 64.236389 0 0 1 192.087827 127.880338h639.824346A64.037705 64.037705 0 0 1 895.884854 192.001129v639.997742z" p-id="41990"></path><path d="M791.998335 351.851551h-255.999097a31.970084 31.970084 0 0 0 0 63.940169h255.999097a31.970084 31.970084 0 0 0 0-63.940169zM791.998335 607.973471h-255.999097a31.970084 31.970084 0 0 0 0 63.940169h255.999097a31.970084 31.970084 0 0 0 0-63.940169zM344.001722 527.997686c-61.855792 0-111.985607 50.144265-111.985607 111.985606s50.144265 111.985607 111.985607 111.985607 111.985607-50.144265 111.985606-111.985607-50.129815-111.985607-111.985606-111.985606z m33.982213 145.982269a48.045438 48.045438 0 1 1 14.088511-33.982213 47.745605 47.745605 0 0 1-14.088511 33.985826zM417.395643 297.394035L311.999125 402.78694 270.6078 361.392003a31.970084 31.970084 0 1 0-45.213286 45.213285l63.997968 64.001581a31.970084 31.970084 0 0 0 45.213286 0l127.999548-127.999549a31.970084 31.970084 0 0 0-45.209673-45.213285z" p-id="41991"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/tixi.svg b/src/assets/icons/svg/tixi.svg
new file mode 100644
index 0000000..bbdb0c0
--- /dev/null
+++ b/src/assets/icons/svg/tixi.svg
@@ -0,0 +1 @@
+<svg t="1742294944205" class="icon" viewBox="0 0 1066 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="44647" width="128" height="128"><path d="M763.094151 511.488085c74.824863-49.698384 120.29995-139.155474 120.001333-235.438093 1.834361-72.051991-22.652225-141.800367-67.956674-193.674388-45.26179-51.831361-107.502083-81.607732-172.771205-82.375604-134.078987 2.388935-241.111815 124.267289-239.149475 272.295951-1.493084 97.647725 44.109982 188.725879 119.958674 239.192134a215.260123 215.260123 0 0 0 239.917347 0zM358.126979 325.663056h-298.616897c-20.476587 1.493084-36.815197 19.410098-38.180304 42.104983v636.309948h170.42493C146.748875 794.235627 251.22213 652.861856 396.307282 552.739877V361.027829c-1.834361-21.329778-18.898184-37.113814-38.222963-35.322113zM311.84136 460.296617c0 13.224463-9.683719 24.10265-21.841693 24.10265H136.595901c-11.987335 0-21.841693-10.750208-21.841693-24.10265 0-13.267122 9.811698-24.10265 21.841693-24.102649h153.361106c12.029995 0 21.841693 10.707549 21.841693 24.102649z" p-id="44648"></path><path d="M136.595901 518.185636h153.403766c11.987335 0 21.841693 10.750208 21.841693 24.102649 0 13.224463-9.726379 24.10265-21.841693 24.10265H136.595901a20.732545 20.732545 0 0 1-15.4001-7.081487 25.510415 25.510415 0 0 1-6.398934-17.021163c0-6.398934 2.260957-12.49925 6.398934-17.063822a20.732545 20.732545 0 0 1 15.4001-7.038827zM673.125146 715.272788c2.85819-17.917014 9.385102-34.980837 19.068822-49.570405 12.925846-35.364773 19.111481-49.613064-12.925846-70.686886a55.457424 55.457424 0 0 0-46.882853-5.417763 62.837527 62.837527 0 0 0-36.260623 33.274454c-12.925846 35.407432 19.111481 49.613064 19.111481 70.686885-4.564573 37.967005-10.963506 75.592735-19.111481 112.791869-8.105316 37.241793 0 27.89935-31.994668-42.104983a1739.05949 1739.05949 0 0 1-63.392101-177.549075c-172.429928 65.48242-261.75904 191.797367-261.75904 376.129312 0 70.644226 786.044993 105.966339 805.113814-42.147642 18.983503-148.24196-223.706716-394.942176-249.643726-324.255291v-0.767872l-89.329112 211.335444-31.994667-91.718047z" p-id="44649"></path></svg>
\ No newline at end of file
diff --git a/src/assets/icons/svg/tongyong.svg b/src/assets/icons/svg/tongyong.svg
new file mode 100644
index 0000000..5c9b85d
--- /dev/null
+++ b/src/assets/icons/svg/tongyong.svg
@@ -0,0 +1 @@
+<svg t="1742295020185" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="49469" width="128" height="128"><path d="M286.88384 18.6368a206.19264 206.19264 0 0 1 177.3568 145.53088 206.56128 206.56128 0 0 1 8.84736 59.92448v235.9296H237.1584a207.38048 207.38048 0 0 1-97.32096-24.33024A206.35648 206.35648 0 0 1 30.72 253.5424v-29.4912A206.4384 206.4384 0 0 1 237.11744 17.65376h29.4912c6.79936 0 13.5168 0.32768 20.2752 0.98304zM196.85376 996.7616A206.35648 206.35648 0 0 1 30.72 794.2144v-29.4912a206.39744 206.39744 0 0 1 206.4384-206.4384h235.9296v235.9296a206.11072 206.11072 0 0 1-60.45696 145.98144 206.6432 206.6432 0 0 1-145.98144 60.45696h-29.53216a205.94688 205.94688 0 0 1-40.26368-3.93216zM757.63712 999.71072a206.68416 206.68416 0 0 1-151.47008-90.7264 205.824 205.824 0 0 1-34.77504-114.688v-235.9296h235.9296a206.11072 206.11072 0 0 1 171.66336 91.70944 205.78304 205.78304 0 0 1 34.77504 114.688v29.4912a206.4384 206.4384 0 0 1-206.39744 206.4384h-29.4912c-6.7584 0-13.5168-0.32768-20.23424-0.98304zM847.62624 21.62688a206.0288 206.0288 0 0 1 141.76256 105.14432 205.6192 205.6192 0 0 1 24.3712 97.32096v29.4912a206.0288 206.0288 0 0 1-46.85824 130.99008 206.35648 206.35648 0 0 1-159.58016 75.44832h-235.9296v-235.9296a206.0288 206.0288 0 0 1 75.48928-159.58016 205.86496 205.86496 0 0 1 110.71488-45.8752c6.71744-0.65536 13.47584-0.98304 20.23424-0.98304h29.53216a206.0288 206.0288 0 0 1 40.26368 3.97312z" p-id="49470"></path></svg>
\ No newline at end of file
diff --git a/src/assets/images/pay.png b/src/assets/images/pay.png
deleted file mode 100644
index bb8b967..0000000
--- a/src/assets/images/pay.png
+++ /dev/null
Binary files differ
diff --git a/src/assets/styles/element-ui.scss b/src/assets/styles/element-ui.scss
index c0bd317..dd9dd15 100644
--- a/src/assets/styles/element-ui.scss
+++ b/src/assets/styles/element-ui.scss
@@ -134,3 +134,60 @@
color: #333;
padding: 6px 15px !important;
}
+
+.el-calendar .el-calendar__header {
+ display: none;
+}
+
+.el-calendar .el-calendar__body {
+ padding: 0;
+}
+
+.el-calendar .el-calendar-table:not(.is-range) td.next {
+ /*闅愯棌涓嬩釜鏈堢殑鏃ユ湡*/
+ display: none;
+}
+
+.el-calendar .el-calendar-day {
+ height: 40px;
+}
+
+.el-calendar .el-calendar-table td {
+ border: 0;
+ font-size: 14px;
+}
+
+.el-calendar .el-calendar-table tr td:first-child {
+ border-left: 0;
+}
+
+.el-calendar .el-calendar-day span {
+ display: inline-block;
+ width: 30px;
+ height: 30px;
+ line-height: 30px;
+ text-align: center;
+ border-radius: 4px;
+}
+
+.el-calendar .is-selected {
+ background: transparent !important;
+}
+
+.el-calendar .is-selected .el-calendar-day {
+ background: transparent !important;
+}
+
+.el-calendar .is-selected .el-calendar-day span {
+ background: #3a7bfa !important;
+ color: #fff !important;
+}
+
+.el-calendar .el-calendar-day:hover {
+ background: transparent;
+}
+
+.el-calendar .el-calendar-day span:hover {
+ background: #3a7bfa !important;
+ color: #fff !important;
+}
diff --git a/src/main.js b/src/main.js
index 59caa2b..f11e21f 100644
--- a/src/main.js
+++ b/src/main.js
@@ -51,6 +51,7 @@
import Moment from "moment";
import basicContainer from './components/basic-container/main'
+
// 鍏ㄥ眬鏂规硶鎸傝浇
Vue.prototype.getDicts = getDicts;
Vue.prototype.getConfigKey = getConfigKey;
@@ -65,8 +66,8 @@
Vue.prototype.HaveJson = (val) => {
return JSON.parse(JSON.stringify(val));
};
-Vue.prototype.javaApi = process.env.VUE_APP_BASE_API
- ? process.env.VUE_APP_BASE_API
+Vue.prototype.javaApi = process.env.VUE_BASE_URL
+ ? process.env.VUE_BASE_URL
: "http://127.0.0.1:8002";
Vue.prototype.checkPermi = checkPermi;
Vue.prototype.uploadHeader = {
diff --git a/src/permission.js b/src/permission.js
index b66190b..b63bc64 100644
--- a/src/permission.js
+++ b/src/permission.js
@@ -9,7 +9,7 @@
NProgress.configure({ showSpinner: false })
-const whiteList = ['/login', '/register']
+const whiteList = ['/login', '/register','/thirdpartylogin', '/logindemo']
const isWhiteList = (path) => {
return whiteList.some(pattern => isPathMatch(pattern, path))
diff --git a/src/router/index.js b/src/router/index.js
index b9dde1e..0817afc 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -46,6 +46,18 @@
component: () => import("@/views/login"),
hidden: true,
},
+ // 绗笁鏂圭櫥褰曢〉
+ {
+ path: "/thirdpartylogin",
+ component: () => import("@/views/thirdpartylogin"),
+ hidden: true,
+ },
+ // 绗笁鏂圭櫥褰曢〉涓浆
+ {
+ path: "/logindemo",
+ component: () => import("@/views/logindemo"),
+ hidden: true,
+ },
{
path: "/register",
component: () => import("@/views/register"),
@@ -126,8 +138,8 @@
// 浠诲姟妫�楠岄〉闈�
path: 'inspection',
component: () => import('@/views/business/inspectionTask/Inspection'),
- name: 'inspection',
- meta: { title: '濮旀墭鍗曟楠�', activeMenu: '/business/inspectionTask' }
+ name: 'Inspection',
+ meta: {keepAlive: false, title: '濮旀墭鍗曟楠�', activeMenu: '/business/inspectionTask' }
},
// {
// // 鏌ョ湅濮旀墭鍗曡鎯呴〉闈�
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index 8c7bda4..0f3c782 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -1,4 +1,4 @@
-import { login, logout, getInfo } from "@/api/login";
+import { login, logout, getInfo,LoginBySSO } from "@/api/login";
import { getToken, setToken, removeToken } from "@/utils/auth";
import { isHttp, isEmpty } from "@/utils/validate";
import defAva from "@/assets/images/profile.jpg";
@@ -69,7 +69,23 @@
});
});
},
-
+ // 鍗曠偣鐧诲綍
+ LoginBySSO({ commit }, accessToken) {
+ return new Promise((resolve, reject) => {
+ LoginBySSO(accessToken)
+ .then((res) => {
+ setToken(res.token);
+ commit("SET_TOKEN", res.token);
+ Vue.prototype.uploadHeader = {
+ Authorization: "Bearer " + res.token,
+ };
+ resolve();
+ })
+ .catch((error) => {
+ reject(error);
+ });
+ })
+ },
// 鑾峰彇鐢ㄦ埛淇℃伅
GetInfo({ commit, state }) {
return new Promise((resolve, reject) => {
@@ -107,12 +123,16 @@
LogOut({ commit, state }) {
return new Promise((resolve, reject) => {
logout(state.token)
- .then(() => {
- commit("SET_TOKEN", "");
- commit("SET_ROLES", []);
- commit("SET_PERMISSIONS", []);
- removeToken();
- resolve();
+ .then((res) => {
+ if (res.data) {
+ window.location.href = res.data
+ } else {
+ commit("SET_TOKEN", "");
+ commit("SET_ROLES", []);
+ commit("SET_PERMISSIONS", []);
+ removeToken();
+ resolve();
+ }
})
.catch((error) => {
reject(error);
diff --git a/src/views/business/inspectionOrder/add.vue b/src/views/business/inspectionOrder/add.vue
index c46e5fa..1691fcb 100644
--- a/src/views/business/inspectionOrder/add.vue
+++ b/src/views/business/inspectionOrder/add.vue
@@ -1565,6 +1565,7 @@
import getLodop from "@/utils/lodop";
import { bigEval } from "@/utils/bigEval";
import { getDicts } from "@/api/system/dict/data";
+import Big from "big.js";
export default {
components: {
fiberOpticConfig,
@@ -2452,10 +2453,9 @@
let arr1 = [];
arr0.forEach((m) => {
let index = code.findIndex((b) => m.includes(b));
- // console.log("index--銆�", index);
if (index > -1) {
let arr = m.split(code[index]).filter((b) => !!b);
- let calcNum = this.$Big(
+ let calcNum = new Big(
bigEval(this.replaceAll(arr[0], symbolItem, value))
);
let num = calcNum.toFixed(
@@ -2474,7 +2474,7 @@
if (index > -1) {
let arr = ask.split(code[index]).filter((b) => !!b);
console.log("鐗规畩鍊兼浛鎹�--銆�", arr);
- let calcNum = this.$Big(
+ let calcNum = new Big(
bigEval(this.replaceAll(arr[0], symbolItem, value))
);
let num = calcNum.toFixed(
diff --git a/src/views/business/inspectionTask/Inspection.vue b/src/views/business/inspectionTask/Inspection.vue
index 5ded8be..d6c48e2 100644
--- a/src/views/business/inspectionTask/Inspection.vue
+++ b/src/views/business/inspectionTask/Inspection.vue
@@ -3383,7 +3383,11 @@
import excelFunction from "@/utils/excelFountion";
import { mapGetters } from "vuex";
import { getToken } from "@/utils/auth";
+import Big from "big.js";
+import InspectionWorker from "../../../workers/InspectionWorker.worker";
+import InspectionWorkerAsData from "../../../workers/InspectionWorkerAsData.worker";
export default {
+ name: "Inspection",
components: {
limsTable,
},
@@ -3785,7 +3789,6 @@
this.getComparisonList();
this.getAuthorizedPerson();
this.scrollInit();
- // this.getPower();
this.startWorker();
},
watch: {
@@ -5060,12 +5063,12 @@
this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝�
}
// 鍒涘缓 Worker 瀹炰緥
- this.worker = new Worker("/static/js/worker.js");
+ this.worker = new InspectionWorker();
if (this.worker0) {
this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝�
}
// 鍒涘缓 Worker 瀹炰緥
- this.worker0 = new Worker("/static/js/worker0.js");
+ this.worker0 = new InspectionWorkerAsData();
},
// 鍋滄澶氱嚎绋�
stopWorker() {
@@ -6844,7 +6847,7 @@
)
) {
if (parseFloat(n.v.v) >= 100000) {
- let num2 = new this.$Big(n.v.v);
+ let num2 = new Big(n.v.v);
n.v.v = num2.toExponential();
}
}
diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index 26c8223..52f42d7 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -1876,7 +1876,7 @@
}
inspectorList.push(this.nickName);
this.$router.push({
- name: "inspection",
+ name: "Inspection",
params: {
inspectorList: inspectorList,
state: 1,
diff --git a/src/views/index.vue b/src/views/index.vue
index 2fcc034..8a61912 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -1,40 +1,96 @@
<template>
- <div class="bg-1">
+ <div class="bg-1" style="padding: 15px 5px">
<el-row :gutter="25">
<el-col :lg="14" :md="14" :sm="24" :xl="14" :xs="24">
<div class="left-1">
<div class="say">
- <div style="display: flex;align-items: center;flex-wrap: wrap;">
- <div class="say-1">{{ user.name }} 鎮ㄥソ锛佺鎮ㄥ紑蹇冩瘡涓�澶�</div>
+ <div style="display: flex; align-items: center; flex-wrap: wrap">
+ <div class="say-1">{{ nickName }} 鎮ㄥソ锛佺鎮ㄥ紑蹇冩瘡涓�澶�</div>
<div class="say-2">褰撳墠鏃堕棿锛� {{ now }}</div>
</div>
</div>
</div>
- <div v-loading="workLoading" class="left-2 card" style="overflow: hidden;">
- <div v-for="(item, index) in workDay" :key="index" class="left-2-item">
+ <div
+ v-loading="workLoading"
+ class="left-2 card"
+ style="overflow: hidden"
+ >
+ <div
+ v-for="(item, index) in workDay"
+ :key="index"
+ class="left-2-item"
+ >
<div class="left-item-title">
- <span style="font-size: 18px;">{{ item }}</span>
- <span style="font-size: 14px;color: #999999;">{{ weekdays[index] }}</span>
+ <span style="font-size: 18px">{{ item }}</span>
+ <span style="font-size: 14px; color: #999999">{{
+ weekdays[index]
+ }}</span>
</div>
<div class="left-item-body">
- <div v-for="(m, i) in workList[index]" :key="i"
- :class="{ color0: m.type == 0, color1: m.type == 1, color2: m.type == 2 }" class="body-item">
+ <div
+ v-for="(m, i) in workList[index]"
+ :key="i"
+ :class="{
+ color0: m.type == 0,
+ color1: m.type == 1,
+ color2: m.type == 2,
+ }"
+ class="body-item"
+ >
<div>
- <span style="font-size: 12px;margin-bottom: 17px;">{{ m.text }}</span>
+ <span style="font-size: 12px; margin-bottom: 17px">{{
+ m.text
+ }}</span>
<div style="display: flex">
- <span class="body-item-name">{{ m.name }}</span>
- <span v-if="m.insState == 0" class="body-item-insState"
- style="background-color: #909399;font-size: 12px;">寰呮楠�</span>
- <span v-if="m.insState == 1" class="body-item-insState"
- style="background-color: #E6A23C;font-size: 12px;">妫�楠屼腑</span>
- <span v-if="m.insState == 2" class="body-item-insState"
- style="background-color: #67C23A;font-size: 12px;">宸叉楠�</span>
- <span v-if="m.insState == 3" class="body-item-insState"
- style="background-color: #E6A23C;font-size: 12px;">寰呭鏍�</span>
- <span v-if="m.insState == 4" class="body-item-insState"
- style="background-color: #F56C6C;font-size: 9px;">澶嶆牳鏈�氳繃</span>
- <span v-if="m.insState == 5" class="body-item-insState"
- style="background-color: #67C23A;font-size: 10px;">澶嶆牳閫氳繃</span>
+ <span
+ style="
+ display: inline-block;
+ height: 24px;
+ width: 24px;
+ border-radius: 50%;
+ line-height: 24px;
+ text-align: center;
+ background: #c0c4cc;
+ color: #fff;
+ "
+ >{{ m.name.charAt(0) }}</span
+ >
+ <span
+ v-if="m.insState == 0"
+ class="body-item-insState"
+ style="background-color: #909399; font-size: 12px"
+ >寰呮楠�</span
+ >
+ <span
+ v-if="m.insState == 1"
+ class="body-item-insState"
+ style="background-color: #e6a23c; font-size: 12px"
+ >妫�楠屼腑</span
+ >
+ <span
+ v-if="m.insState == 2"
+ class="body-item-insState"
+ style="background-color: #67c23a; font-size: 12px"
+ >宸叉楠�</span
+ >
+ <span
+ v-if="m.insState == 3"
+ class="body-item-insState"
+ style="background-color: #e6a23c; font-size: 12px"
+ >寰呭鏍�</span
+ >
+ <span
+ v-if="m.insState == 4"
+ class="body-item-insState"
+ style="background-color: #f56c6c; font-size: 9px"
+ >澶嶆牳鏈�氳繃</span
+ >
+ <span
+ v-if="m.insState == 5"
+ class="body-item-insState"
+ style="background-color: #67c23a; font-size: 10px"
+ >澶嶆牳閫氳繃</span
+ >
</div>
</div>
</div>
@@ -46,94 +102,160 @@
<div class="right-1 card">
<div class="right-1-item">
<div class="img">
- <img alt="" src="@/assets/index_image/index-0.svg">
+ <img alt="" src="@/assets/index_image/index-0.svg" />
</div>
<div class="mun">
- <p style="font-size: 20px;">{{ getNumberFourTypes.totalNumberOfMessages }}</p>
- <p style="font-size: 14px;margin-bottom: 10px;">鎴戠殑寰呭姙</p>
+ <p style="font-size: 20px">
+ {{ getNumberFourTypes.totalNumberOfMessages }}
+ </p>
+ <p style="font-size: 14px; margin-bottom: 10px">鎴戠殑寰呭姙</p>
</div>
</div>
<div class="right-1-item">
<div class="img">
- <img alt="" src="@/assets/index_image/index-1.svg">
+ <img alt="" src="@/assets/index_image/index-1.svg" />
</div>
<div class="mun">
- <p style="font-size: 20px;">{{ getNumberFourTypes.totalNumberOfReadMessages }}</p>
- <p style="font-size: 14px;margin-bottom: 10px;">宸插姙浜嬪疁</p>
+ <p style="font-size: 20px">
+ {{ getNumberFourTypes.totalNumberOfReadMessages }}
+ </p>
+ <p style="font-size: 14px; margin-bottom: 10px">宸插姙浜嬪疁</p>
</div>
</div>
<div class="right-1-item">
<div class="img">
- <img alt="" src="@/assets/index_image/index-2.svg">
+ <img alt="" src="@/assets/index_image/index-2.svg" />
</div>
<div class="mun">
- <p style="font-size: 20px;">{{ getNumberFourTypes.remainingToDo }}</p>
- <p style="font-size: 14px;margin-bottom: 10px;">鍓╀綑寰呭姙</p>
+ <p style="font-size: 20px">
+ {{ getNumberFourTypes.remainingToDo }}
+ </p>
+ <p style="font-size: 14px; margin-bottom: 10px">鍓╀綑寰呭姙</p>
</div>
</div>
<div class="right-1-item">
<div class="img">
- <img alt="" src="@/assets/index_image/index-3.svg">
+ <img alt="" src="@/assets/index_image/index-3.svg" />
</div>
<div class="mun">
- <p style="font-size: 20px;">{{ getNumberFourTypes.totalNumberOfMessagesInThePastSevenDays }}</p>
- <p style="font-size: 14px;margin-bottom: 10px;">杩戞湡浜嬪疁</p>
+ <p style="font-size: 20px">
+ {{ getNumberFourTypes.totalNumberOfMessagesInThePastSevenDays }}
+ </p>
+ <p style="font-size: 14px; margin-bottom: 10px">杩戞湡浜嬪疁</p>
</div>
</div>
</div>
<div class="right-2 card">
<div class="right-2-title">
- <span style="color: #333333;font-size: 16px;">鎴戠殑鏃ョ▼</span>
- <span style="cursor: pointer;font-size: 12px;
-color: #3A7BFA;" @click="dialogVisible = true">娣诲姞鎴戠殑鏃ョ▼</span>
+ <span style="color: #333333; font-size: 16px">鎴戠殑鏃ョ▼</span>
+ <span
+ style="cursor: pointer; font-size: 12px; color: #3a7bfa"
+ @click="dialogVisible = true"
+ >娣诲姞鎴戠殑鏃ョ▼</span
+ >
</div>
<div class="right-2-body">
- <div class="calendar" style="width: 49%;">
+ <div class="calendar" style="width: 49%">
<div class="control">
- <el-button class="prevm" icon="el-icon-arrow-left" @click="prevMonth(calendarValue)"></el-button>
- <span>{{ calendarValue.getFullYear() + '骞�' + (calendarValue.getMonth() + 1) + '鏈�' }}</span>
- <el-button class="nextm" icon="el-icon-arrow-right" @click="nextMonth(calendarValue)"></el-button>
+ <el-button
+ class="prevm"
+ icon="el-icon-arrow-left"
+ @click="prevMonth(calendarValue)"
+ ></el-button>
+ <span>{{
+ calendarValue.getFullYear() +
+ "骞�" +
+ (calendarValue.getMonth() + 1) +
+ "鏈�"
+ }}</span>
+ <el-button
+ class="nextm"
+ icon="el-icon-arrow-right"
+ @click="nextMonth(calendarValue)"
+ ></el-button>
</div>
- <el-calendar v-model="calendarValue">
- <template slot="dateCell" slot-scope="{date, data}">
+ <el-calendar v-model="calendarValue" class="calendar">
+ <template slot="dateCell" slot-scope="{ date, data }">
<span>
- {{ data.day.split('-').slice(2) + '' }}
+ {{ data.day.split("-").slice(2) + "" }}
</span>
<!-- <el-badge v-if="data.isSelected" is-dot class="item">
</el-badge> -->
</template>
</el-calendar>
</div>
- <div v-loading="scheduleLoading" class="right-2-list" style="width: 49%;height: 286px;">
- <div v-for="(m, i) in listScheduleByMe" :key="i" class="list2-item">
+ <div
+ v-loading="scheduleLoading"
+ class="right-2-list"
+ style="width: 49%; height: 286px"
+ >
+ <div
+ v-for="(m, i) in listScheduleByMe"
+ :key="i"
+ class="list2-item"
+ >
<span>{{ m.scheduleTimes }}</span>
- <el-tooltip :content="m.text" effect="dark" placement="top" style="margin-left: 10px;">
+ <el-tooltip
+ :content="m.text"
+ effect="dark"
+ placement="top"
+ style="margin-left: 10px"
+ >
<p class="ellipsis-multiline">{{ m.text }}</p>
</el-tooltip>
</div>
- <span v-if="listScheduleByMe.length == 0"
- style="color:rgb(144, 147, 153);font-size: 14px;text-align: center;margin: 120px 0;display: inline-block;width: 100%;">鏆傛棤鏁版嵁</span>
+ <span
+ v-if="listScheduleByMe.length == 0"
+ style="
+ color: rgb(144, 147, 153);
+ font-size: 14px;
+ text-align: center;
+ margin: 120px 0;
+ display: inline-block;
+ width: 100%;
+ "
+ >鏆傛棤鏁版嵁</span
+ >
</div>
</div>
</div>
- <div class="right-3 card" style="overflow: hidden;">
+ <div class="right-3 card" style="overflow: hidden">
<div class="right-3-tab">
- <!-- <div :class="{active:currentIndex==4}" class="tab-item" style="cursor: pointer;" @click="currentIndex=4">棰勮鎻愰啋</div>-->
- <div :class="{ active: currentIndex == 5 }" class="tab-item" style="cursor: pointer;"
- @click="currentIndexChange">
- CNAS閫氱煡閫氬憡</div>
+ <div
+ class="tab-item"
+ style="cursor: pointer"
+ :class="{ active: currentIndex == 4 }"
+ @click="currentIndex = 4"
+ >
+ 棰勮鎻愰啋
+ </div>
+ <div
+ class="tab-item"
+ style="cursor: pointer"
+ :class="{ active: currentIndex == 5 }"
+ @click="currentIndex = 5"
+ >
+ 閫氱煡閫氬憡
+ </div>
</div>
- <div v-loading="listLoading" class="right-3-list">
- <scroll-pagination v-if="list.length > 0 || listLoading" :finishLoding="finishLoding" :list="list"
- @load="getList">
- <div v-for="(m, i) in list" :key="i" class="list3-item">
+ <div class="right-3-list" v-loading="listLoading">
+ <scroll-pagination
+ @load="getList"
+ :finishLoding="finishLoding"
+ :list="list"
+ v-if="list.length > 0 || listLoading"
+ >
+ <div class="list3-item" v-for="(m, i) in list" :key="i">
<div class="list3-item-title">
- <!-- <img alt="" src="../../../static/img/index-tip.svg">-->
- <p style="color: #FF7756">{{ m.theme }}</p>
+ <img src="../assets/index_image/index-tip.svg" alt="" />
+ <p>{{ m.theme }}</p>
</div>
<div class="list3-item-info">
- <p class="ellipsis-multiline" style="width: 73%;-webkit-line-clamp: 1;cursor: pointer;"
- @click="goNoticeDetail(m)">
+ <p
+ style="width: 73%; -webkit-line-clamp: 1; cursor: pointer"
+ class="ellipsis-multiline"
+ @click="goNoticeDetail(m)"
+ >
<!-- 缂栧彿<span style="color:#3A7BFA;"> SB20240101-001 </span>鐨勮澶囧皢浜�2023-09-09 11:11:11杩囨湡 -->
{{ m.content }}
</p>
@@ -141,28 +263,53 @@
</div>
</div>
</scroll-pagination>
- <div v-if="list.length < 1 && !listLoading"
- style="color:#909399;font-size:14px;text-align: center;margin-top:80px">鏆傛棤鏁版嵁
+ <div
+ v-if="list.length < 1 && !listLoading"
+ style="
+ color: #909399;
+ font-size: 14px;
+ text-align: center;
+ margin-top: 80px;
+ "
+ >
+ 鏆傛棤鏁版嵁
</div>
</div>
</div>
</el-col>
</el-row>
<el-dialog :visible.sync="dialogVisible" title="鏃ョ▼娣诲姞" width="400px">
- <div class="body" style="max-height: 60vh;">
+ <div class="body" style="max-height: 60vh">
<el-row>
<el-col :span="22" class="search_thing">
- <div class="search_label"><span style="color: red;margin-right: 4px;">*</span>鏃堕棿锛�</div>
+ <div class="search_label">
+ <span style="color: red; margin-right: 4px">*</span>鏃堕棿锛�
+ </div>
<div class="search_input">
- <el-date-picker v-model="query.time" format="yyyy-MM-dd HH:mm:ss" placeholder="閫夋嫨鏃ユ湡鏃堕棿" size="small"
- style="width: 100%;" type="datetime" value-format="yyyy-MM-dd HH:mm:ss">
+ <el-date-picker
+ v-model="query.time"
+ format="yyyy-MM-dd HH:mm:ss"
+ placeholder="閫夋嫨鏃ユ湡鏃堕棿"
+ size="small"
+ style="width: 100%"
+ type="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ >
</el-date-picker>
</div>
</el-col>
<el-col :span="22" class="search_thing">
- <div class="search_label"><span style="color: red;margin-right: 4px;">*</span>鍐呭锛�</div>
+ <div class="search_label">
+ <span style="color: red; margin-right: 4px">*</span>鍐呭锛�
+ </div>
<div class="search_input">
- <el-input v-model="query.text" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" size="small" type="textarea"></el-input>
+ <el-input
+ v-model="query.text"
+ :rows="2"
+ placeholder="璇疯緭鍏ュ唴瀹�"
+ size="small"
+ type="textarea"
+ ></el-input>
</div>
</el-col>
</el-row>
@@ -170,7 +317,9 @@
<span slot="footer" class="dialog-footer">
<el-row>
<el-button @click="handleCancel">鍙� 娑�</el-button>
- <el-button :loading="loading" type="primary" @click="submit">纭� 瀹�</el-button>
+ <el-button :loading="loading" type="primary" @click="submit"
+ >纭� 瀹�</el-button
+ >
</el-row>
</span>
</el-dialog>
@@ -178,22 +327,35 @@
</template>
<script>
-import { getYearAndMonthAndDays } from '@/utils/date.js'
-import ScrollPagination from '@/components/index/scroll-paging.vue'
+import {
+ pageNotice,
+ triggerModificationStatusToRead,
+ getNumberFourTypesMessagesHomePage,
+} from "@/api/system/notice";
+import {
+ addSchedule,
+ calendarWorkByWeek,
+ ScheduleByMe,
+} from "@/api/chart/dailyBusinessStatistical.js";
+import { getYearAndMonthAndDays } from "@/utils/date.js";
+import ScrollPagination from "@/components/index/scroll-paging.vue";
+import { mapGetters } from "vuex";
export default {
components: {
- ScrollPagination
+ ScrollPagination,
+ },
+ computed: {
+ ...mapGetters(["nickName"]),
},
data() {
return {
- user: {},
now: null,
calendarValue: new Date(),
currentIndex: 5,
dialogVisible: false,
query: {
- time: '',
- text: ''
+ time: "",
+ text: "",
},
loading: false,
workLoading: false,
@@ -211,95 +373,108 @@
timer: null,
keyMap: {},
getNumberFourTypes: {},
- }
+ };
},
watch: {
calendarValue(val) {
- this.getScheduleByMe()
+ this.getScheduleByMe();
},
currentIndex() {
- this.keyMap = {}
+ this.keyMap = {};
this.currentPage = 1;
this.list = [];
this.getList();
- }
+ },
},
mounted() {
- this.user = JSON.parse(localStorage.getItem('user'))
- this.nowTime()
+ this.nowTime();
setInterval(() => {
- this.nowTime()
- }, 1000)
- this.weekdays = this.getWeekdaysForNextWeek()
+ this.nowTime();
+ }, 1000);
+ this.weekdays = this.getWeekdaysForNextWeek();
this.init();
this.currentPage = 1;
- this.keyMap = {}
+ this.keyMap = {};
this.list = [];
this.getList();
- this.getScheduleByMe()
- this.timer && clearInterval(this.timer)
+ this.getScheduleByMe();
+ this.timer && clearInterval(this.timer);
this.timer = setInterval(() => {
this.init();
this.currentPage = 1;
- this.keyMap = {}
+ this.keyMap = {};
this.list = [];
this.getList();
- this.getScheduleByMe()
- }, 1000 * 60 * 10)
- this.getNumberFourTypesFun()
+ this.getScheduleByMe();
+ }, 1000 * 60 * 10);
+ this.getNumberFourTypesFun();
},
methods: {
changeState(val) {
if (val == 0) {
- return '寰呮楠�'
+ return "寰呮楠�";
}
},
currentIndexChange() {
- this.keyMap = {}
+ this.keyMap = {};
this.currentPage = 1;
this.list = [];
this.getList();
},
getNumberFourTypesFun() {
- this.$axios.get(this.$api.informationNotification.getNumberFourTypesMessagesHomePage).then(res => {
- this.getNumberFourTypes = res.data
- })
+ getNumberFourTypesMessagesHomePage()
+ .then((res) => {
+ if (res.code === 200) {
+ this.getNumberFourTypes = res.data;
+ }
+ })
+ .catch((error) => {
+ console.error(error);
+ });
},
getList() {
- const key = `_${this.currentPage}`
- const value = this.keyMap[key]
+ const key = `_${this.currentPage}`;
+ const value = this.keyMap[key];
// 濡傛灉value瀛樺湪锛岃〃绀虹紦瀛樻湁鍊硷紝閭d箞闃绘璇锋眰
if (value) {
- return
+ return;
}
// value涓嶅瓨鍦紝琛ㄧず绗竴娆¤姹�,璁剧疆鍗犱綅
- this.keyMap[key] = 'temp'
+ this.keyMap[key] = "temp";
if (this.currentPage == 1) {
- this.listLoading = true
+ this.listLoading = true;
}
if (this.list.length == 0) {
this.finishLoding = false;
}
- this.$axios.get(this.$api.informationNotification.page + '?size=' + this.pageSize + '¤t=' + this.currentPage + '&messageType=' + this.currentIndex).then(res => {
- if (res.code === 201) {
- return
- }
- let list = res.data.records;
- this.total = res.data.total;
- if (list.length == 0) {
- this.finishLoding = true;
- } else {
- if (list.length < this.pageSize) {
- this.finishLoding = true;
- }
- this.list = this.list.concat(list)
- if (this.total == this.list.length) {
- this.finishLoding = true;
- }
- this.currentPage++;
- }
- this.listLoading = false
+ pageNotice({
+ size: this.pageSize,
+ current: this.currentPage,
+ messageType: this.currentIndex,
})
+ .then((res) => {
+ if (res.code === 201) {
+ return;
+ }
+ let list = res.data.records;
+ this.total = res.data.total;
+ if (list.length == 0) {
+ this.finishLoding = true;
+ } else {
+ if (list.length < this.pageSize) {
+ this.finishLoding = true;
+ }
+ this.list = this.list.concat(list);
+ if (this.total == this.list.length) {
+ this.finishLoding = true;
+ }
+ this.currentPage++;
+ }
+ this.listLoading = false;
+ })
+ .catch((error) => {
+ console.error(error);
+ });
},
nowTime() {
var date = new Date();
@@ -307,7 +482,7 @@
var m = date.getMonth() + 1;
var d = date.getDate();
var h = date.getHours();
- this.timeH = h
+ this.timeH = h;
var min = date.getMinutes();
var s = date.getSeconds();
if (s < 10) {
@@ -328,9 +503,9 @@
this.now = y + "-" + m + "-" + d + " " + h + ":" + min + ":" + s;
},
nextMonth(value) {
- let year = this.calendarValue.getFullYear();// 褰撳墠骞翠唤
- let month = this.calendarValue.getMonth() + 1;// 褰撳墠鏈堜唤
- let day = this.calendarValue.getDate();// 褰撳墠澶╂暟
+ let year = this.calendarValue.getFullYear(); // 褰撳墠骞翠唤
+ let month = this.calendarValue.getMonth() + 1; // 褰撳墠鏈堜唤
+ let day = this.calendarValue.getDate(); // 褰撳墠澶╂暟
let nextyear = year;
let nextmonth = parseInt(month) + 1;
// 鍒ゆ柇涓嬩竴鏈堟槸鍚︿細杩涘叆涓嬩竴骞�
@@ -344,21 +519,21 @@
if (day > nextdays) {
day = nextdays;
if (day < 10) {
- day = '0' + day;
+ day = "0" + day;
}
}
if (nextmonth < 10) {
- nextmonth = '0' + nextmonth;
+ nextmonth = "0" + nextmonth;
}
- let nexttime = nextyear + '-' + nextmonth + '-' + day;
+ let nexttime = nextyear + "-" + nextmonth + "-" + day;
// 灏嗗緱鍒扮殑骞存湀鏃ユ牸寮忚浆鎹负鏍囧噯鏃堕棿锛屼笌楗夸簡涔堟椂闂存牸寮忕浉鍚屾墠鑳借仈鍔�
this.calendarValue = new Date(nexttime);
},
prevMonth(time) {
- let year = this.calendarValue.getFullYear();// 褰撳墠骞翠唤
- let month = this.calendarValue.getMonth() + 1;// 褰撳墠鏈堜唤
- let day = this.calendarValue.getDate();// 褰撳墠澶╂暟
+ let year = this.calendarValue.getFullYear(); // 褰撳墠骞翠唤
+ let month = this.calendarValue.getMonth() + 1; // 褰撳墠鏈堜唤
+ let day = this.calendarValue.getDate(); // 褰撳墠澶╂暟
let prevyear = year;
let prevmonth = parseInt(month) - 1;
// 鍒ゆ柇涓婁竴鏈堟槸鍚︿細杩涘叆涓婁竴骞�
@@ -372,13 +547,13 @@
if (day > prevdays) {
day = prevdays;
if (day < 10) {
- day = '0' + day;
+ day = "0" + day;
}
}
if (prevmonth < 10) {
- prevmonth = '0' + prevmonth;
+ prevmonth = "0" + prevmonth;
}
- let prevtime = prevyear + '-' + prevmonth + '-' + day;
+ let prevtime = prevyear + "-" + prevmonth + "-" + day;
// 灏嗗緱鍒扮殑骞存湀鏃ユ牸寮忚浆鎹负鏍囧噯鏃堕棿锛屼笌楗夸簡涔堟椂闂存牸寮忕浉鍚屾墠鑳借仈鍔�
this.calendarValue = new Date(prevtime);
@@ -386,45 +561,53 @@
handleCancel() {
this.dialogVisible = false;
this.query = {
- time: '',
- text: ''
- }
+ time: "",
+ text: "",
+ };
},
submit() {
if (!this.query.time) {
- this.$message.error('鏃堕棿鏈~鍐�')
- return
+ this.$message.error("鏃堕棿鏈~鍐�");
+ return;
}
if (!this.query.text) {
- this.$message.error('鍐呭鏈~鍐�')
- return
+ this.$message.error("鍐呭鏈~鍐�");
+ return;
}
this.loading = true;
- this.$axios.post(this.$api.report.addSchedule, this.query).then(res => {
- this.loading = false;
- if (res.code == 201) {
- this.$message.error('鎿嶄綔澶辫触')
- return
- }
- this.$message.success('淇濆瓨鎴愬姛')
- this.handleCancel()
- this.getScheduleByMe()
- })
+ addSchedule(this.query)
+ .then((res) => {
+ this.loading = false;
+ if (res.code == 201) {
+ this.$message.error("鎿嶄綔澶辫触");
+ return;
+ }
+ this.$message.success("淇濆瓨鎴愬姛");
+ this.handleCancel();
+ this.getScheduleByMe();
+ })
+ .catch((error) => {
+ console.error(error);
+ });
},
init() {
this.workLoading = true;
- this.$axios.get(this.$api.report.calendarWorkByWeek).then(res => {
- if (res.code == 201) return
- this.workLoading = false;
- this.workList = [];
- for (let i = 0; i < 7; i++) {
- this.workList.push(res.data[`work${i}`])
- }
- this.workDay = res.data.weekDays.map(m => {
- let arr = m.split('-')
- return arr[2]
+ calendarWorkByWeek()
+ .then((res) => {
+ if (res.code == 201) return;
+ this.workLoading = false;
+ this.workList = [];
+ for (let i = 0; i < 7; i++) {
+ this.workList.push(res.data[`work${i}`]);
+ }
+ this.workDay = res.data.weekDays.map((m) => {
+ let arr = m.split("-");
+ return arr[2];
+ });
})
- })
+ .catch((error) => {
+ console.error(error);
+ });
},
getWeekdaysForNextWeek() {
let weekdays = [];
@@ -434,75 +617,86 @@
let day = date.getDay(); // 0-6 浠h〃鏄熸湡鏃ュ埌鏄熸湡鍏�
weekdays.push(day);
}
- weekdays.reverse()
- weekdays = weekdays.map(m => {
- let day = ''
+ weekdays.reverse();
+ weekdays = weekdays.map((m) => {
+ let day = "";
switch (m) {
case 0:
- day = '鏄熸湡澶�'
+ day = "鏄熸湡澶�";
break;
case 1:
- day = '鏄熸湡涓�'
+ day = "鏄熸湡涓�";
break;
case 2:
- day = '鏄熸湡浜�'
+ day = "鏄熸湡浜�";
break;
case 3:
- day = '鏄熸湡涓�'
+ day = "鏄熸湡涓�";
break;
case 4:
- day = '鏄熸湡鍥�'
+ day = "鏄熸湡鍥�";
break;
case 5:
- day = '鏄熸湡浜�'
+ day = "鏄熸湡浜�";
break;
case 6:
- day = '鏄熸湡鍏�'
+ day = "鏄熸湡鍏�";
break;
}
- return day
- })
+ return day;
+ });
return weekdays;
},
getScheduleByMe() {
this.scheduleLoading = true;
- this.$axios.post(this.$api.report.ScheduleByMe, {
- date: getYearAndMonthAndDays(this.calendarValue)
- }).then(res => {
- this.loading = false;
- this.scheduleLoading = false;
- if (res.code == 201) {
- return
- }
- this.listScheduleByMe = res.data.map(m => {
- if (m.scheduleTime) {
- let time = m.scheduleTime.split(' ')[1].split(':')
- m.scheduleTimes = time[0] + ':' + time[1]
- } else {
- m.scheduleTimes = ''
- }
- return m
- })
+ ScheduleByMe({
+ date: getYearAndMonthAndDays(this.calendarValue),
})
+ .then((res) => {
+ this.loading = false;
+ this.scheduleLoading = false;
+ if (res.code == 201) {
+ return;
+ }
+ this.listScheduleByMe = res.data.map((m) => {
+ if (m.scheduleTime) {
+ let time = m.scheduleTime.split(" ")[1].split(":");
+ m.scheduleTimes = time[0] + ":" + time[1];
+ } else {
+ m.scheduleTimes = "";
+ }
+ return m;
+ });
+ })
+ .catch((error) => {
+ console.error(error);
+ });
},
goNoticeDetail(row) {
- this.$axios.put(this.$api.informationNotification.triggerModificationStatusToRead + '/' + row.id).then(res => {
- row.num = Math.random(100);
- this.$bus.$emit("change", JSON.stringify(row));
- this.$parent.addTab({
- v: "娑堟伅璇︽儏",
- i: "el-icon-s-tools",
- u: "notice-detail",
- k: 35,
- p: "abcd"
- }, 29);
- })
+ triggerModificationStatusToRead(row.id)
+ .then((res) => {
+ row.num = Math.random(100);
+ this.$bus.$emit("change", JSON.stringify(row));
+ this.$parent.addTab(
+ {
+ v: "娑堟伅璇︽儏",
+ i: "el-icon-s-tools",
+ u: "notice-detail",
+ k: 35,
+ p: "abcd",
+ },
+ 29
+ );
+ })
+ .catch((error) => {
+ console.error(error);
+ });
},
},
deactivated() {
- this.timer && clearInterval(this.timer)
- }
-}
+ this.timer && clearInterval(this.timer);
+ },
+};
</script>
<style scoped lang="scss">
@@ -545,13 +739,14 @@
}
.card {
- background: #FFFFFF;
+ background: #ffffff;
border-radius: 16px;
width: 100%;
box-sizing: border-box;
}
.right-1 {
+ height: 118px;
padding: 10px 10px 4px;
display: flex;
align-items: center;
@@ -568,10 +763,11 @@
.right-1-item .mun {
margin-left: 6px;
- color: #0166E2;
+ color: #0166e2;
}
.right-2 {
+ width: 100%;
padding: 13px 14px 8px;
margin-bottom: 16px;
}
@@ -590,32 +786,6 @@
justify-content: space-between;
}
->>>.el-calendar__header {
- display: none;
-}
-
->>>.el-calendar__body {
- padding: 0;
-}
-
->>>.el-calendar-table:not(.is-range) td.next {
- /*闅愯棌涓嬩釜鏈堢殑鏃ユ湡*/
- display: none;
-}
-
->>>.el-calendar-day {
- height: 40px;
-}
-
->>>.el-calendar-table td {
- border: 0;
- font-size: 14px;
-}
-
->>>.el-calendar-table tr td:first-child {
- border-left: 0;
-}
-
.control {
display: flex;
align-items: center;
@@ -628,10 +798,10 @@
width: 32px;
height: 32px;
border-radius: 8px;
- border: 1px solid #E8E8E8;
+ border: 1px solid #e8e8e8;
background: #fff;
padding: 0;
- color: #0166E2;
+ color: #0166e2;
font-size: 20px;
}
@@ -645,47 +815,40 @@
.right-3-tab {
display: flex;
align-items: center;
+ margin-bottom: 12px;
}
-
.tab-item {
width: 50%;
box-sizing: border-box;
text-align: center;
padding: 14px 0;
font-size: 20px;
- background: #F5F7FB;
+ background: #f5f7fb;
color: #333333;
}
-
.tab-item.active {
background: #fff;
- color: #FF3838;
- padding-left: 16px;
- text-align: left;
+ color: #ff3838;
}
-
.right-3-list {
padding: 0 12px 8px;
box-sizing: border-box;
height: 390px;
overflow-y: auto;
}
-
.list3-item {
padding: 6px 4px;
- margin: 8px 0;
}
-
.list3-item:hover {
background: rgba(58, 123, 250, 0.05);
}
-
.list3-item-title {
display: flex;
- align-items: flex-start;
- margin-bottom: 10px;
+ align-items: center;
+ p {
+ margin: 0;
+ }
}
-
.list3-item-info {
display: flex;
align-items: center;
@@ -697,11 +860,11 @@
.left-2 {
display: grid;
grid-template-columns: repeat(7, 1fr);
- height: 777px;
+ height: calc(100vh - 245px);
}
.left-2-item {
- border-right: 1px solid #F1F1F1;
+ border-right: 1px solid #f1f1f1;
overflow: hidden !important;
}
@@ -714,11 +877,11 @@
}
.left-2-item:hover .left-item-title span {
- color: #3A7BFA !important;
+ color: #3a7bfa !important;
}
.left-item-title {
- border-bottom: 1px solid #F1F1F1;
+ border-bottom: 1px solid #f1f1f1;
display: flex;
flex-direction: column;
align-items: center;
@@ -734,25 +897,25 @@
}
.body-item {
- background: #70A090;
+ background: #70a090;
border-radius: 16px;
overflow: hidden;
margin-bottom: 8px;
}
.body-item.color0 {
- background: #70A090;
+ background: #70a090;
}
.body-item.color1 {
- background: #EBD476;
+ background: #ebd476;
}
.body-item.color2 {
- background: #FF3838;
+ background: #ff3838;
}
-.body-item>div {
+.body-item > div {
height: calc(100% - 16px);
margin-top: 16px;
background: rgba(255, 255, 255, 0.9);
@@ -773,37 +936,6 @@
margin-bottom: 10px;
}
->>>.el-calendar-day span {
- display: inline-block;
- width: 30px;
- height: 30px;
- line-height: 30px;
- text-align: center;
- border-radius: 4px;
-}
-
->>>.is-selected {
- background: transparent !important;
-}
-
->>>.is-selected .el-calendar-day {
- background: transparent !important;
-}
-
->>>.is-selected .el-calendar-day span {
- background: #3A7BFA !important;
- color: #fff !important;
-}
-
->>>.el-calendar-day:hover {
- background: transparent;
-}
-
->>>.el-calendar-day span:hover {
- background: #3A7BFA !important;
- color: #fff !important;
-}
-
.body-item-name {
display: inline-block;
height: 22px;
@@ -811,9 +943,9 @@
border-radius: 10px;
line-height: 22px;
text-align: center;
- background: #C0C4CC;
+ background: #c0c4cc;
color: #fff;
- font-size: 14px
+ font-size: 14px;
}
.body-item-insState {
@@ -825,6 +957,6 @@
line-height: 22px;
text-align: center;
color: #fff;
- font-size: 14px
+ font-size: 14px;
}
</style>
diff --git a/src/views/login.vue b/src/views/login.vue
index 107f37f..a67d503 100644
--- a/src/views/login.vue
+++ b/src/views/login.vue
@@ -1,12 +1,17 @@
<template>
<div class="login">
<div class="leftImg">
- <img src="@/assets/images/loginBackground.png" alt="">
+ <img src="@/assets/images/loginBackground.png" alt="" />
</div>
<div class="rightForm">
<div class="title_big">娆㈣繋鎮ㄧ櫥褰曪紒</div>
<div class="title_small">LIMS瀹為獙瀹ょ鐞嗙郴缁�</div>
- <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
+ <el-form
+ ref="loginForm"
+ :model="loginForm"
+ :rules="loginRules"
+ class="login-form"
+ >
<el-form-item prop="username">
<el-input
v-model="loginForm.username"
@@ -14,7 +19,11 @@
auto-complete="off"
placeholder="璐﹀彿"
>
- <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
+ <svg-icon
+ slot="prefix"
+ icon-class="user"
+ class="el-input__icon input-icon"
+ />
</el-input>
</el-form-item>
<el-form-item prop="password">
@@ -25,7 +34,11 @@
placeholder="瀵嗙爜"
@keyup.enter.native="handleLogin"
>
- <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
+ <svg-icon
+ slot="prefix"
+ icon-class="password"
+ class="el-input__icon input-icon"
+ />
</el-input>
</el-form-item>
<el-form-item prop="code" v-if="captchaEnabled">
@@ -36,41 +49,54 @@
style="width: 63%"
@keyup.enter.native="handleLogin"
>
- <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
+ <svg-icon
+ slot="prefix"
+ icon-class="validCode"
+ class="el-input__icon input-icon"
+ />
</el-input>
<div class="login-code">
- <img :src="codeUrl" @click="getCode" class="login-code-img"/>
+ <img :src="codeUrl" @click="getCode" class="login-code-img" />
</div>
</el-form-item>
- <el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">璁颁綇瀵嗙爜</el-checkbox>
- <el-form-item style="width:100%;">
+ <el-checkbox
+ v-model="loginForm.rememberMe"
+ style="margin: 0px 0px 25px 0px"
+ >璁颁綇瀵嗙爜</el-checkbox
+ >
+ <el-form-item style="width: 100%">
<el-button
:loading="loading"
size="medium"
type="primary"
- style="width:100%;"
+ style="width: 100%"
@click.native.prevent="handleLogin"
>
<span v-if="!loading">鐧� 褰�</span>
<span v-else>鐧� 褰� 涓�...</span>
</el-button>
- <div style="float: right;" v-if="register">
- <router-link class="link-type" :to="'/register'">绔嬪嵆娉ㄥ唽</router-link>
+ <div style="float: right" v-if="register">
+ <router-link class="link-type" :to="'/register'"
+ >绔嬪嵆娉ㄥ唽</router-link
+ >
</div>
</el-form-item>
+ <el-button v-if="true" type="primary" plain @click="goLogin"
+ >闆嗗洟闆嗘垚鐧诲綍</el-button
+ >
</el-form>
</div>
<!-- 搴曢儴 -->
-<!-- <div class="el-login-footer">-->
-<!-- <span>Copyright 漏 2018-2025 ruoyi.vip All Rights Reserved.</span>-->
-<!-- </div>-->
+ <!-- <div class="el-login-footer">-->
+ <!-- <span>Copyright 漏 2018-2025 ruoyi.vip All Rights Reserved.</span>-->
+ <!-- </div>-->
</div>
</template>
<script>
-import { getCodeImg } from "@/api/login";
+import { getCodeImg, getSsoAuthUrl } from "@/api/login";
import Cookies from "js-cookie";
-import { encrypt, decrypt } from '@/utils/jsencrypt'
+import { encrypt, decrypt } from "@/utils/jsencrypt";
export default {
name: "Login",
@@ -78,45 +104,51 @@
return {
codeUrl: "",
loginForm: {
- username: "admin",
- password: "admin123",
+ username: "",
+ password: "",
rememberMe: false,
code: "",
- uuid: ""
+ uuid: "",
},
loginRules: {
username: [
- { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" }
+ { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勮处鍙�" },
],
password: [
- { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" }
+ { required: true, trigger: "blur", message: "璇疯緭鍏ユ偍鐨勫瘑鐮�" },
],
- code: [{ required: false, trigger: "change", message: "璇疯緭鍏ラ獙璇佺爜" }]
+ code: [{ required: false, trigger: "change", message: "璇疯緭鍏ラ獙璇佺爜" }],
},
loading: false,
// 楠岃瘉鐮佸紑鍏�
captchaEnabled: true,
// 娉ㄥ唽寮�鍏�
register: false,
- redirect: undefined
+ redirect: undefined,
};
},
watch: {
$route: {
- handler: function(route) {
+ handler: function (route) {
this.redirect = route.query && route.query.redirect;
},
- immediate: true
- }
+ immediate: true,
+ },
},
created() {
this.getCode();
this.getCookie();
},
methods: {
+ async goLogin() {
+ await getSsoAuthUrl().then((res) => {
+ window.location.href = res.data;
+ });
+ },
getCode() {
- getCodeImg().then(res => {
- this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
+ getCodeImg().then((res) => {
+ this.captchaEnabled =
+ res.captchaEnabled === undefined ? true : res.captchaEnabled;
if (this.captchaEnabled) {
this.codeUrl = "data:image/gif;base64," + res.img;
this.loginForm.uuid = res.uuid;
@@ -126,38 +158,46 @@
getCookie() {
const username = Cookies.get("username");
const password = Cookies.get("password");
- const rememberMe = Cookies.get('rememberMe')
+ const rememberMe = Cookies.get("rememberMe");
this.loginForm = {
username: username === undefined ? this.loginForm.username : username,
- password: password === undefined ? this.loginForm.password : decrypt(password),
- rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
+ password:
+ password === undefined ? this.loginForm.password : decrypt(password),
+ rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
};
},
handleLogin() {
- this.$refs.loginForm.validate(valid => {
+ this.$refs.loginForm.validate((valid) => {
if (valid) {
this.loading = true;
if (this.loginForm.rememberMe) {
Cookies.set("username", this.loginForm.username, { expires: 30 });
- Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
- Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
+ Cookies.set("password", encrypt(this.loginForm.password), {
+ expires: 30,
+ });
+ Cookies.set("rememberMe", this.loginForm.rememberMe, {
+ expires: 30,
+ });
} else {
Cookies.remove("username");
Cookies.remove("password");
- Cookies.remove('rememberMe');
+ Cookies.remove("rememberMe");
}
- this.$store.dispatch("Login", this.loginForm).then(() => {
- this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
- }).catch(() => {
- this.loading = false;
- if (this.captchaEnabled) {
- this.getCode();
- }
- });
+ this.$store
+ .dispatch("Login", this.loginForm)
+ .then(() => {
+ this.$router.push({ path: this.redirect || "/" }).catch(() => {});
+ })
+ .catch(() => {
+ this.loading = false;
+ if (this.captchaEnabled) {
+ this.getCode();
+ }
+ });
}
});
- }
- }
+ },
+ },
};
</script>
@@ -194,13 +234,13 @@
flex-direction: column;
justify-content: center;
.title_big {
- color: #004EA2;
+ color: #004ea2;
font-size: 40px;
margin-bottom: 8px;
}
.title_small {
- color: #004EA2;
+ color: #004ea2;
font-size: 24px;
}
.login-form {
diff --git a/src/views/logindemo.vue b/src/views/logindemo.vue
new file mode 100644
index 0000000..1798948
--- /dev/null
+++ b/src/views/logindemo.vue
@@ -0,0 +1,23 @@
+<template>
+ <div></div>
+</template>
+<script>
+import { getSsoAuthUrl } from '@/api/login'
+export default {
+ data() {
+ return {}
+ },
+ created() {
+ this.goLogin()
+ },
+ computed: {},
+ methods: {
+ async goLogin() {
+ await getSsoAuthUrl().then(res => {
+ window.location.href = res.data
+ })
+ }
+ }
+}
+</script>
+<style scoped></style>
diff --git a/src/views/thirdpartylogin.vue b/src/views/thirdpartylogin.vue
new file mode 100644
index 0000000..35f0931
--- /dev/null
+++ b/src/views/thirdpartylogin.vue
@@ -0,0 +1,23 @@
+<template>
+ <div></div>
+</template>
+<script>
+export default {
+ data() {
+ return {
+ code: null // 鐢ㄤ簬瀛樺偍鑾峰彇鍒扮殑 code 鍙傛暟
+ };
+ },
+ created() {
+ this.initLogin();
+ },
+ methods: {
+ initLogin() {
+ this.$store.dispatch('LoginBySSO', {code: this.$route.query.code}).then(() => {
+ this.$router.push({path: '/'});
+ });
+ }
+ }
+};
+</script>
+<style scoped></style>
\ No newline at end of file
diff --git a/src/utils/thread/worker.js b/src/workers/InspectionWorker.worker.js
similarity index 63%
rename from src/utils/thread/worker.js
rename to src/workers/InspectionWorker.worker.js
index 27bb366..dd0b80f 100644
--- a/src/utils/thread/worker.js
+++ b/src/workers/InspectionWorker.worker.js
@@ -1,5 +1,6 @@
// 澶氱嚎绋嬮噷闈㈤渶瑕佷繚瀛樼殑鏁版嵁
'use strict';//涓簀s鑴氭湰寮�鍚弗鏍兼ā寮�
+import Big from "big.js";
let code = ''
// 琛ㄦ牸鏁版嵁锛堟覆鏌擄級
let tableList = null
@@ -1122,948 +1123,3 @@
console.log('error',error)
}
}
-
-
-
-
-/*
- * big.js v5.2.2
- * A small, fast, easy-to-use library for arbitrary-precision decimal arithmetic.
- * Copyright (c) 2018 Michael Mclaughlin <M8ch88l@gmail.com>
- * https://github.com/MikeMcl/big.js/LICENCE
- */
-;(function (GLOBAL) {
- 'use strict';
- var Big,
-
-
-/************************************** EDITABLE DEFAULTS *****************************************/
-
-
- // The default values below must be integers within the stated ranges.
-
- /*
- * The maximum number of decimal places (DP) of the results of operations involving division:
- * div and sqrt, and pow with negative exponents.
- */
- DP = 20, // 0 to MAX_DP
-
- /*
- * The rounding mode (RM) used when rounding to the above decimal places.
- *
- * 0 Towards zero (i.e. truncate, no rounding). (ROUND_DOWN)
- * 1 To nearest neighbour. If equidistant, round up. (ROUND_HALF_UP)
- * 2 To nearest neighbour. If equidistant, to even. (ROUND_HALF_EVEN)
- * 3 Away from zero. (ROUND_UP)
- */
- RM = 1, // 0, 1, 2 or 3
-
- // The maximum value of DP and Big.DP.
- MAX_DP = 1E6, // 0 to 1000000
-
- // The maximum magnitude of the exponent argument to the pow method.
- MAX_POWER = 1E6, // 1 to 1000000
-
- /*
- * The negative exponent (NE) at and beneath which toString returns exponential notation.
- * (JavaScript numbers: -7)
- * -1000000 is the minimum recommended exponent value of a Big.
- */
- NE = -7, // 0 to -1000000
-
- /*
- * The positive exponent (PE) at and above which toString returns exponential notation.
- * (JavaScript numbers: 21)
- * 1000000 is the maximum recommended exponent value of a Big.
- * (This limit is not enforced or checked.)
- */
- PE = 21, // 0 to 1000000
-
-
-/**************************************************************************************************/
-
-
- // Error messages.
- NAME = '[big.js] ',
- INVALID = NAME + 'Invalid ',
- INVALID_DP = INVALID + 'decimal places',
- INVALID_RM = INVALID + 'rounding mode',
- DIV_BY_ZERO = NAME + 'Division by zero',
-
- // The shared prototype object.
- P = {},
- UNDEFINED = void 0,
- NUMERIC = /^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;
-
-
- /*
- * Create and return a Big constructor.
- *
- */
- function _Big_() {
-
- /*
- * The Big constructor and exported function.
- * Create and return a new instance of a Big number object.
- *
- * n {number|string|Big} A numeric value.
- */
- function Big(n) {
- var x = this;
-
- // Enable constructor usage without new.
- if (!(x instanceof Big)) return n === UNDEFINED ? _Big_() : new Big(n);
-
- // Duplicate.
- if (n instanceof Big) {
- x.s = n.s;
- x.e = n.e;
- x.c = n.c.slice();
- } else {
- parse(x, n);
- }
-
- /*
- * Retain a reference to this Big constructor, and shadow Big.prototype.constructor which
- * points to Object.
- */
- x.constructor = Big;
- }
-
- Big.prototype = P;
- Big.DP = DP;
- Big.RM = RM;
- Big.NE = NE;
- Big.PE = PE;
- Big.version = '5.2.2';
-
- return Big;
- }
-
-
- /*
- * Parse the number or string value passed to a Big constructor.
- *
- * x {Big} A Big number instance.
- * n {number|string} A numeric value.
- */
- function parse(x, n) {
- var e, i, nl;
-
- // Minus zero?
- if (n === 0 && 1 / n < 0) n = '-0';
- else if (!NUMERIC.test(n += '')) throw Error(INVALID + 'number');
-
- // Determine sign.
- x.s = n.charAt(0) == '-' ? (n = n.slice(1), -1) : 1;
-
- // Decimal point?
- if ((e = n.indexOf('.')) > -1) n = n.replace('.', '');
-
- // Exponential form?
- if ((i = n.search(/e/i)) > 0) {
-
- // Determine exponent.
- if (e < 0) e = i;
- e += +n.slice(i + 1);
- n = n.substring(0, i);
- } else if (e < 0) {
-
- // Integer.
- e = n.length;
- }
-
- nl = n.length;
-
- // Determine leading zeros.
- for (i = 0; i < nl && n.charAt(i) == '0';) ++i;
-
- if (i == nl) {
-
- // Zero.
- x.c = [x.e = 0];
- } else {
-
- // Determine trailing zeros.
- for (; nl > 0 && n.charAt(--nl) == '0';);
- x.e = e - i - 1;
- x.c = [];
-
- // Convert string to array of digits without leading/trailing zeros.
- for (e = 0; i <= nl;) x.c[e++] = +n.charAt(i++);
- }
-
- return x;
- }
-
-
- /*
- * Round Big x to a maximum of dp decimal places using rounding mode rm.
- * Called by stringify, P.div, P.round and P.sqrt.
- *
- * x {Big} The Big to round.
- * dp {number} Integer, 0 to MAX_DP inclusive.
- * rm {number} 0, 1, 2 or 3 (DOWN, HALF_UP, HALF_EVEN, UP)
- * [more] {boolean} Whether the result of division was truncated.
- */
- function round(x, dp, rm, more) {
- var xc = x.c,
- i = x.e + dp + 1;
-
- if (i < xc.length) {
- if (rm === 1) {
-
- // xc[i] is the digit after the digit that may be rounded up.
- more = xc[i] >= 5;
- } else if (rm === 2) {
- more = xc[i] > 5 || xc[i] == 5 &&
- (more || i < 0 || xc[i + 1] !== UNDEFINED || xc[i - 1] & 1);
- } else if (rm === 3) {
- more = more || !!xc[0];
- } else {
- more = false;
- if (rm !== 0) throw Error(INVALID_RM);
- }
-
- if (i < 1) {
- xc.length = 1;
-
- if (more) {
-
- // 1, 0.1, 0.01, 0.001, 0.0001 etc.
- x.e = -dp;
- xc[0] = 1;
- } else {
-
- // Zero.
- xc[0] = x.e = 0;
- }
- } else {
-
- // Remove any digits after the required decimal places.
- xc.length = i--;
-
- // Round up?
- if (more) {
-
- // Rounding up may mean the previous digit has to be rounded up.
- for (; ++xc[i] > 9;) {
- xc[i] = 0;
- if (!i--) {
- ++x.e;
- xc.unshift(1);
- }
- }
- }
-
- // Remove trailing zeros.
- for (i = xc.length; !xc[--i];) xc.pop();
- }
- } else if (rm < 0 || rm > 3 || rm !== ~~rm) {
- throw Error(INVALID_RM);
- }
-
- return x;
- }
-
-
- /*
- * Return a string representing the value of Big x in normal or exponential notation.
- * Handles P.toExponential, P.toFixed, P.toJSON, P.toPrecision, P.toString and P.valueOf.
- *
- * x {Big}
- * id? {number} Caller id.
- * 1 toExponential
- * 2 toFixed
- * 3 toPrecision
- * 4 valueOf
- * n? {number|undefined} Caller's argument.
- * k? {number|undefined}
- */
- function stringify(x, id, n, k) {
- var e, s,
- Big = x.constructor,
- z = !x.c[0];
-
- if (n !== UNDEFINED) {
- if (n !== ~~n || n < (id == 3) || n > MAX_DP) {
- throw Error(id == 3 ? INVALID + 'precision' : INVALID_DP);
- }
-
- x = new Big(x);
-
- // The index of the digit that may be rounded up.
- n = k - x.e;
-
- // Round?
- if (x.c.length > ++k) round(x, n, Big.RM);
-
- // toFixed: recalculate k as x.e may have changed if value rounded up.
- if (id == 2) k = x.e + n + 1;
-
- // Append zeros?
- for (; x.c.length < k;) x.c.push(0);
- }
-
- e = x.e;
- s = x.c.join('');
- n = s.length;
-
- // Exponential notation?
- if (id != 2 && (id == 1 || id == 3 && k <= e || e <= Big.NE || e >= Big.PE)) {
- s = s.charAt(0) + (n > 1 ? '.' + s.slice(1) : '') + (e < 0 ? 'e' : 'e+') + e;
-
- // Normal notation.
- } else if (e < 0) {
- for (; ++e;) s = '0' + s;
- s = '0.' + s;
- } else if (e > 0) {
- if (++e > n) for (e -= n; e--;) s += '0';
- else if (e < n) s = s.slice(0, e) + '.' + s.slice(e);
- } else if (n > 1) {
- s = s.charAt(0) + '.' + s.slice(1);
- }
-
- return x.s < 0 && (!z || id == 4) ? '-' + s : s;
- }
-
-
- // Prototype/instance methods
-
-
- /*
- * Return a new Big whose value is the absolute value of this Big.
- */
- P.abs = function () {
- var x = new this.constructor(this);
- x.s = 1;
- return x;
- };
-
-
- /*
- * Return 1 if the value of this Big is greater than the value of Big y,
- * -1 if the value of this Big is less than the value of Big y, or
- * 0 if they have the same value.
- */
- P.cmp = function (y) {
- var isneg,
- x = this,
- xc = x.c,
- yc = (y = new x.constructor(y)).c,
- i = x.s,
- j = y.s,
- k = x.e,
- l = y.e;
-
- // Either zero?
- if (!xc[0] || !yc[0]) return !xc[0] ? !yc[0] ? 0 : -j : i;
-
- // Signs differ?
- if (i != j) return i;
-
- isneg = i < 0;
-
- // Compare exponents.
- if (k != l) return k > l ^ isneg ? 1 : -1;
-
- j = (k = xc.length) < (l = yc.length) ? k : l;
-
- // Compare digit by digit.
- for (i = -1; ++i < j;) {
- if (xc[i] != yc[i]) return xc[i] > yc[i] ^ isneg ? 1 : -1;
- }
-
- // Compare lengths.
- return k == l ? 0 : k > l ^ isneg ? 1 : -1;
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big divided by the value of Big y, rounded,
- * if necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.
- */
- P.div = function (y) {
- var x = this,
- Big = x.constructor,
- a = x.c, // dividend
- b = (y = new Big(y)).c, // divisor
- k = x.s == y.s ? 1 : -1,
- dp = Big.DP;
-
- if (dp !== ~~dp || dp < 0 || dp > MAX_DP) throw Error(INVALID_DP);
-
- // Divisor is zero?
- if (!b[0]) throw Error(DIV_BY_ZERO);
-
- // Dividend is 0? Return +-0.
- if (!a[0]) return new Big(k * 0);
-
- var bl, bt, n, cmp, ri,
- bz = b.slice(),
- ai = bl = b.length,
- al = a.length,
- r = a.slice(0, bl), // remainder
- rl = r.length,
- q = y, // quotient
- qc = q.c = [],
- qi = 0,
- d = dp + (q.e = x.e - y.e) + 1; // number of digits of the result
-
- q.s = k;
- k = d < 0 ? 0 : d;
-
- // Create version of divisor with leading zero.
- bz.unshift(0);
-
- // Add zeros to make remainder as long as divisor.
- for (; rl++ < bl;) r.push(0);
-
- do {
-
- // n is how many times the divisor goes into current remainder.
- for (n = 0; n < 10; n++) {
-
- // Compare divisor and remainder.
- if (bl != (rl = r.length)) {
- cmp = bl > rl ? 1 : -1;
- } else {
- for (ri = -1, cmp = 0; ++ri < bl;) {
- if (b[ri] != r[ri]) {
- cmp = b[ri] > r[ri] ? 1 : -1;
- break;
- }
- }
- }
-
- // If divisor < remainder, subtract divisor from remainder.
- if (cmp < 0) {
-
- // Remainder can't be more than 1 digit longer than divisor.
- // Equalise lengths using divisor with extra leading zero?
- for (bt = rl == bl ? b : bz; rl;) {
- if (r[--rl] < bt[rl]) {
- ri = rl;
- for (; ri && !r[--ri];) r[ri] = 9;
- --r[ri];
- r[rl] += 10;
- }
- r[rl] -= bt[rl];
- }
-
- for (; !r[0];) r.shift();
- } else {
- break;
- }
- }
-
- // Add the digit n to the result array.
- qc[qi++] = cmp ? n : ++n;
-
- // Update the remainder.
- if (r[0] && cmp) r[rl] = a[ai] || 0;
- else r = [a[ai]];
-
- } while ((ai++ < al || r[0] !== UNDEFINED) && k--);
-
- // Leading zero? Do not remove if result is simply zero (qi == 1).
- if (!qc[0] && qi != 1) {
-
- // There can't be more than one zero.
- qc.shift();
- q.e--;
- }
-
- // Round?
- if (qi > d) round(q, dp, Big.RM, r[0] !== UNDEFINED);
-
- return q;
- };
-
-
- /*
- * Return true if the value of this Big is equal to the value of Big y, otherwise return false.
- */
- P.eq = function (y) {
- return !this.cmp(y);
- };
-
-
- /*
- * Return true if the value of this Big is greater than the value of Big y, otherwise return
- * false.
- */
- P.gt = function (y) {
- return this.cmp(y) > 0;
- };
-
-
- /*
- * Return true if the value of this Big is greater than or equal to the value of Big y, otherwise
- * return false.
- */
- P.gte = function (y) {
- return this.cmp(y) > -1;
- };
-
-
- /*
- * Return true if the value of this Big is less than the value of Big y, otherwise return false.
- */
- P.lt = function (y) {
- return this.cmp(y) < 0;
- };
-
-
- /*
- * Return true if the value of this Big is less than or equal to the value of Big y, otherwise
- * return false.
- */
- P.lte = function (y) {
- return this.cmp(y) < 1;
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big minus the value of Big y.
- */
- P.minus = P.sub = function (y) {
- var i, j, t, xlty,
- x = this,
- Big = x.constructor,
- a = x.s,
- b = (y = new Big(y)).s;
-
- // Signs differ?
- if (a != b) {
- y.s = -b;
- return x.plus(y);
- }
-
- var xc = x.c.slice(),
- xe = x.e,
- yc = y.c,
- ye = y.e;
-
- // Either zero?
- if (!xc[0] || !yc[0]) {
-
- // y is non-zero? x is non-zero? Or both are zero.
- return yc[0] ? (y.s = -b, y) : new Big(xc[0] ? x : 0);
- }
-
- // Determine which is the bigger number. Prepend zeros to equalise exponents.
- if (a = xe - ye) {
-
- if (xlty = a < 0) {
- a = -a;
- t = xc;
- } else {
- ye = xe;
- t = yc;
- }
-
- t.reverse();
- for (b = a; b--;) t.push(0);
- t.reverse();
- } else {
-
- // Exponents equal. Check digit by digit.
- j = ((xlty = xc.length < yc.length) ? xc : yc).length;
-
- for (a = b = 0; b < j; b++) {
- if (xc[b] != yc[b]) {
- xlty = xc[b] < yc[b];
- break;
- }
- }
- }
-
- // x < y? Point xc to the array of the bigger number.
- if (xlty) {
- t = xc;
- xc = yc;
- yc = t;
- y.s = -y.s;
- }
-
- /*
- * Append zeros to xc if shorter. No need to add zeros to yc if shorter as subtraction only
- * needs to start at yc.length.
- */
- if ((b = (j = yc.length) - (i = xc.length)) > 0) for (; b--;) xc[i++] = 0;
-
- // Subtract yc from xc.
- for (b = i; j > a;) {
- if (xc[--j] < yc[j]) {
- for (i = j; i && !xc[--i];) xc[i] = 9;
- --xc[i];
- xc[j] += 10;
- }
-
- xc[j] -= yc[j];
- }
-
- // Remove trailing zeros.
- for (; xc[--b] === 0;) xc.pop();
-
- // Remove leading zeros and adjust exponent accordingly.
- for (; xc[0] === 0;) {
- xc.shift();
- --ye;
- }
-
- if (!xc[0]) {
-
- // n - n = +0
- y.s = 1;
-
- // Result must be zero.
- xc = [ye = 0];
- }
-
- y.c = xc;
- y.e = ye;
-
- return y;
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big modulo the value of Big y.
- */
- P.mod = function (y) {
- var ygtx,
- x = this,
- Big = x.constructor,
- a = x.s,
- b = (y = new Big(y)).s;
-
- if (!y.c[0]) throw Error(DIV_BY_ZERO);
-
- x.s = y.s = 1;
- ygtx = y.cmp(x) == 1;
- x.s = a;
- y.s = b;
-
- if (ygtx) return new Big(x);
-
- a = Big.DP;
- b = Big.RM;
- Big.DP = Big.RM = 0;
- x = x.div(y);
- Big.DP = a;
- Big.RM = b;
-
- return this.minus(x.times(y));
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big plus the value of Big y.
- */
- P.plus = P.add = function (y) {
- var t,
- x = this,
- Big = x.constructor,
- a = x.s,
- b = (y = new Big(y)).s;
-
- // Signs differ?
- if (a != b) {
- y.s = -b;
- return x.minus(y);
- }
-
- var xe = x.e,
- xc = x.c,
- ye = y.e,
- yc = y.c;
-
- // Either zero? y is non-zero? x is non-zero? Or both are zero.
- if (!xc[0] || !yc[0]) return yc[0] ? y : new Big(xc[0] ? x : a * 0);
-
- xc = xc.slice();
-
- // Prepend zeros to equalise exponents.
- // Note: reverse faster than unshifts.
- if (a = xe - ye) {
- if (a > 0) {
- ye = xe;
- t = yc;
- } else {
- a = -a;
- t = xc;
- }
-
- t.reverse();
- for (; a--;) t.push(0);
- t.reverse();
- }
-
- // Point xc to the longer array.
- if (xc.length - yc.length < 0) {
- t = yc;
- yc = xc;
- xc = t;
- }
-
- a = yc.length;
-
- // Only start adding at yc.length - 1 as the further digits of xc can be left as they are.
- for (b = 0; a; xc[a] %= 10) b = (xc[--a] = xc[a] + yc[a] + b) / 10 | 0;
-
- // No need to check for zero, as +x + +y != 0 && -x + -y != 0
-
- if (b) {
- xc.unshift(b);
- ++ye;
- }
-
- // Remove trailing zeros.
- for (a = xc.length; xc[--a] === 0;) xc.pop();
-
- y.c = xc;
- y.e = ye;
-
- return y;
- };
-
-
- /*
- * Return a Big whose value is the value of this Big raised to the power n.
- * If n is negative, round to a maximum of Big.DP decimal places using rounding
- * mode Big.RM.
- *
- * n {number} Integer, -MAX_POWER to MAX_POWER inclusive.
- */
- P.pow = function (n) {
- var x = this,
- one = new x.constructor(1),
- y = one,
- isneg = n < 0;
-
- if (n !== ~~n || n < -MAX_POWER || n > MAX_POWER) throw Error(INVALID + 'exponent');
- if (isneg) n = -n;
-
- for (;;) {
- if (n & 1) y = y.times(x);
- n >>= 1;
- if (!n) break;
- x = x.times(x);
- }
-
- return isneg ? one.div(y) : y;
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big rounded using rounding mode rm
- * to a maximum of dp decimal places, or, if dp is negative, to an integer which is a
- * multiple of 10**-dp.
- * If dp is not specified, round to 0 decimal places.
- * If rm is not specified, use Big.RM.
- *
- * dp? {number} Integer, -MAX_DP to MAX_DP inclusive.
- * rm? 0, 1, 2 or 3 (ROUND_DOWN, ROUND_HALF_UP, ROUND_HALF_EVEN, ROUND_UP)
- */
- P.round = function (dp, rm) {
- var Big = this.constructor;
- if (dp === UNDEFINED) dp = 0;
- else if (dp !== ~~dp || dp < -MAX_DP || dp > MAX_DP) throw Error(INVALID_DP);
- return round(new Big(this), dp, rm === UNDEFINED ? Big.RM : rm);
- };
-
-
- /*
- * Return a new Big whose value is the square root of the value of this Big, rounded, if
- * necessary, to a maximum of Big.DP decimal places using rounding mode Big.RM.
- */
- P.sqrt = function () {
- var r, c, t,
- x = this,
- Big = x.constructor,
- s = x.s,
- e = x.e,
- half = new Big(0.5);
-
- // Zero?
- if (!x.c[0]) return new Big(x);
-
- // Negative?
- if (s < 0) throw Error(NAME + 'No square root');
-
- // Estimate.
- s = Math.sqrt(x + '');
-
- // Math.sqrt underflow/overflow?
- // Re-estimate: pass x coefficient to Math.sqrt as integer, then adjust the result exponent.
- if (s === 0 || s === 1 / 0) {
- c = x.c.join('');
- if (!(c.length + e & 1)) c += '0';
- s = Math.sqrt(c);
- e = ((e + 1) / 2 | 0) - (e < 0 || e & 1);
- r = new Big((s == 1 / 0 ? '1e' : (s = s.toExponential()).slice(0, s.indexOf('e') + 1)) + e);
- } else {
- r = new Big(s);
- }
-
- e = r.e + (Big.DP += 4);
-
- // Newton-Raphson iteration.
- do {
- t = r;
- r = half.times(t.plus(x.div(t)));
- } while (t.c.slice(0, e).join('') !== r.c.slice(0, e).join(''));
-
- return round(r, Big.DP -= 4, Big.RM);
- };
-
-
- /*
- * Return a new Big whose value is the value of this Big times the value of Big y.
- */
- P.times = P.mul = function (y) {
- var c,
- x = this,
- Big = x.constructor,
- xc = x.c,
- yc = (y = new Big(y)).c,
- a = xc.length,
- b = yc.length,
- i = x.e,
- j = y.e;
-
- // Determine sign of result.
- y.s = x.s == y.s ? 1 : -1;
-
- // Return signed 0 if either 0.
- if (!xc[0] || !yc[0]) return new Big(y.s * 0);
-
- // Initialise exponent of result as x.e + y.e.
- y.e = i + j;
-
- // If array xc has fewer digits than yc, swap xc and yc, and lengths.
- if (a < b) {
- c = xc;
- xc = yc;
- yc = c;
- j = a;
- a = b;
- b = j;
- }
-
- // Initialise coefficient array of result with zeros.
- for (c = new Array(j = a + b); j--;) c[j] = 0;
-
- // Multiply.
-
- // i is initially xc.length.
- for (i = b; i--;) {
- b = 0;
-
- // a is yc.length.
- for (j = a + i; j > i;) {
-
- // Current sum of products at this digit position, plus carry.
- b = c[j] + yc[i] * xc[j - i - 1] + b;
- c[j--] = b % 10;
-
- // carry
- b = b / 10 | 0;
- }
-
- c[j] = (c[j] + b) % 10;
- }
-
- // Increment result exponent if there is a final carry, otherwise remove leading zero.
- if (b) ++y.e;
- else c.shift();
-
- // Remove trailing zeros.
- for (i = c.length; !c[--i];) c.pop();
- y.c = c;
-
- return y;
- };
-
-
- /*
- * Return a string representing the value of this Big in exponential notation to dp fixed decimal
- * places and rounded using Big.RM.
- *
- * dp? {number} Integer, 0 to MAX_DP inclusive.
- */
- P.toExponential = function (dp) {
- return stringify(this, 1, dp, dp);
- };
-
-
- /*
- * Return a string representing the value of this Big in normal notation to dp fixed decimal
- * places and rounded using Big.RM.
- *
- * dp? {number} Integer, 0 to MAX_DP inclusive.
- *
- * (-0).toFixed(0) is '0', but (-0.1).toFixed(0) is '-0'.
- * (-0).toFixed(1) is '0.0', but (-0.01).toFixed(1) is '-0.0'.
- */
- P.toFixed = function (dp) {
- return stringify(this, 2, dp, this.e + dp);
- };
-
-
- /*
- * Return a string representing the value of this Big rounded to sd significant digits using
- * Big.RM. Use exponential notation if sd is less than the number of digits necessary to represent
- * the integer part of the value in normal notation.
- *
- * sd {number} Integer, 1 to MAX_DP inclusive.
- */
- P.toPrecision = function (sd) {
- return stringify(this, 3, sd, sd - 1);
- };
-
-
- /*
- * Return a string representing the value of this Big.
- * Return exponential notation if this Big has a positive exponent equal to or greater than
- * Big.PE, or a negative exponent equal to or less than Big.NE.
- * Omit the sign for negative zero.
- */
- P.toString = function () {
- return stringify(this);
- };
-
-
- /*
- * Return a string representing the value of this Big.
- * Return exponential notation if this Big has a positive exponent equal to or greater than
- * Big.PE, or a negative exponent equal to or less than Big.NE.
- * Include the sign for negative zero.
- */
- P.valueOf = P.toJSON = function () {
- return stringify(this, 4);
- };
-
-
- // Export
-
-
- Big = _Big_();
-
- Big['default'] = Big.Big = Big;
-
- //AMD.
- if (typeof define === 'function' && define.amd) {
- define(function () { return Big; });
-
- // Node and other CommonJS-like environments that support module.exports.
- } else if (typeof module !== 'undefined' && module.exports) {
- module.exports = Big;
-
- //Browser.
- } else {
- GLOBAL.Big = Big;
- }
-})(this);
diff --git a/src/utils/thread/worker0.js b/src/workers/InspectionWorkerAsData.worker.js
similarity index 100%
rename from src/utils/thread/worker0.js
rename to src/workers/InspectionWorkerAsData.worker.js
diff --git a/vue.config.js b/vue.config.js
index 5fd87e1..0fec5db 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -7,7 +7,7 @@
const CompressionPlugin = require("compression-webpack-plugin");
-const name = process.env.VUE_APP_TITLE || "鑻ヤ緷绠$悊绯荤粺"; // 缃戦〉鏍囬
+const name = process.env.VUE_APP_TITLE || "LIMS瀹為獙瀹ょ鐞嗙郴缁�"; // 缃戦〉鏍囬
const port = process.env.port || process.env.npm_config_port || 80; // 绔彛
@@ -37,7 +37,7 @@
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
target: `http://127.0.0.1:8002`,
- // target: `http://127.0.0.1:8002`,
+ // target: `https://zttx-lims.ztt.cn:8021`,
changeOrigin: true,
pathRewrite: {
["^" + process.env.VUE_APP_BASE_API]: "",
@@ -55,6 +55,19 @@
},
configureWebpack: {
name: name,
+ module: {
+ rules: [
+ {
+ test: /\.worker\.js$/,
+ use: {
+ loader: "worker-loader",
+ options: {
+ inline: "fallback",
+ },
+ },
+ },
+ ],
+ },
resolve: {
alias: {
"@": resolve("src"),
--
Gitblit v1.9.3