From bc22b4397e31538b29856e6d2ea944174ac417c1 Mon Sep 17 00:00:00 2001 From: binbin_pan Date: Wed, 24 Apr 2024 10:14:36 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E9=A2=86=E6=96=99=E6=95=B0=E6=8D=AE-?= =?UTF-8?q?=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sgzb-screen/src/api/dialog.js | 18 ++ .../src/components/Pagination/index.vue | 118 +++++++++ .../src/components/home/countFlopOne.vue | 17 ++ .../components/home/getMaterialsDialog.vue | 230 ++++++++++++++++++ sgzb-screen/src/components/home/leftOne.vue | 11 +- sgzb-screen/src/untils/scroll-to.js | 58 +++++ 6 files changed, 449 insertions(+), 3 deletions(-) create mode 100644 sgzb-screen/src/api/dialog.js create mode 100644 sgzb-screen/src/components/Pagination/index.vue create mode 100644 sgzb-screen/src/components/home/getMaterialsDialog.vue create mode 100644 sgzb-screen/src/untils/scroll-to.js diff --git a/sgzb-screen/src/api/dialog.js b/sgzb-screen/src/api/dialog.js new file mode 100644 index 00000000..d2f91002 --- /dev/null +++ b/sgzb-screen/src/api/dialog.js @@ -0,0 +1,18 @@ +import { POST, GET } from './index.js' + +const URL_TYPE_LIST = '/screen/material/returnOfMaterialsInfo/getTypeList' +const URL_DETAILS = '/screen/base/largeScreen/home/getMaterialReqData/details' +const URL_UNIT_LIST = '/screen/material/agreementInfo/getUnitList' +const URL_PROJECT_LIST = '/screen/material/agreementInfo/getProjectList' + +// 设备类型 +export const getTypeList = params => GET(URL_TYPE_LIST, params) + +// 详情 +export const getDetails = data => POST(URL_DETAILS, data) + +// 往来单位-下拉 +export const getUnitList = params => GET(URL_UNIT_LIST, params) + +// 工程名称-下拉 +export const getProjectList = params => GET(URL_PROJECT_LIST, params) \ No newline at end of file diff --git a/sgzb-screen/src/components/Pagination/index.vue b/sgzb-screen/src/components/Pagination/index.vue new file mode 100644 index 00000000..57326f8e --- /dev/null +++ b/sgzb-screen/src/components/Pagination/index.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/sgzb-screen/src/components/home/countFlopOne.vue b/sgzb-screen/src/components/home/countFlopOne.vue index f5dda941..66854ecc 100644 --- a/sgzb-screen/src/components/home/countFlopOne.vue +++ b/sgzb-screen/src/components/home/countFlopOne.vue @@ -25,11 +25,17 @@
{{ suffix }}
+ + \ No newline at end of file diff --git a/sgzb-screen/src/components/home/leftOne.vue b/sgzb-screen/src/components/home/leftOne.vue index c019dff1..0c6a8a20 100644 --- a/sgzb-screen/src/components/home/leftOne.vue +++ b/sgzb-screen/src/components/home/leftOne.vue @@ -4,9 +4,11 @@
领料数据
- -
- +
+ +
+
+
@@ -52,6 +54,9 @@ export default { } else { return str.replace(/(\d{3})(?=\d)/g, '$1,'); // 直接在中间用逗号分割 } + }, + handleClick(maType) { + this.$refs.countFlopOne.handleClick(maType) } } } diff --git a/sgzb-screen/src/untils/scroll-to.js b/sgzb-screen/src/untils/scroll-to.js new file mode 100644 index 00000000..c5d8e04e --- /dev/null +++ b/sgzb-screen/src/untils/scroll-to.js @@ -0,0 +1,58 @@ +Math.easeInOutQuad = function(t, b, c, d) { + t /= d / 2 + if (t < 1) { + return c / 2 * t * t + b + } + t-- + return -c / 2 * (t * (t - 2) - 1) + b +} + +// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts +var requestAnimFrame = (function() { + return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) } +})() + +/** + * Because it's so fucking difficult to detect the scrolling element, just move them all + * @param {number} amount + */ +function move(amount) { + document.documentElement.scrollTop = amount + document.body.parentNode.scrollTop = amount + document.body.scrollTop = amount +} + +function position() { + return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop +} + +/** + * @param {number} to + * @param {number} duration + * @param {Function} callback + */ +export function scrollTo(to, duration, callback) { + const start = position() + const change = to - start + const increment = 20 + let currentTime = 0 + duration = (typeof (duration) === 'undefined') ? 500 : duration + var animateScroll = function() { + // increment the time + currentTime += increment + // find the value with the quadratic in-out easing function + var val = Math.easeInOutQuad(currentTime, start, change, duration) + // move the document.body + move(val) + // do the animation unless its over + if (currentTime < duration) { + requestAnimFrame(animateScroll) + } else { + if (callback && typeof (callback) === 'function') { + // the animation is done so lets callback + callback() + } + } + } + animateScroll() +} From 0861d579b50a2d9e582bcc958bc0e932a2f81544 Mon Sep 17 00:00:00 2001 From: binbin_pan Date: Wed, 24 Apr 2024 11:21:16 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E9=80=80=E6=96=99=E6=95=B0=E6=8D=AE-?= =?UTF-8?q?=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sgzb-screen/src/api/dialog.js | 6 +- .../src/components/home/countFlopOne.vue | 2 - .../src/components/home/countFlopTwo.vue | 16 ++ .../components/home/getMaterialsDialog.vue | 1 + sgzb-screen/src/components/home/leftTwo.vue | 9 +- .../components/home/returnMaterialsDialog.vue | 232 ++++++++++++++++++ 6 files changed, 261 insertions(+), 5 deletions(-) create mode 100644 sgzb-screen/src/components/home/returnMaterialsDialog.vue diff --git a/sgzb-screen/src/api/dialog.js b/sgzb-screen/src/api/dialog.js index d2f91002..a1ab1572 100644 --- a/sgzb-screen/src/api/dialog.js +++ b/sgzb-screen/src/api/dialog.js @@ -2,15 +2,19 @@ import { POST, GET } from './index.js' const URL_TYPE_LIST = '/screen/material/returnOfMaterialsInfo/getTypeList' const URL_DETAILS = '/screen/base/largeScreen/home/getMaterialReqData/details' +const URL_RETURN_DETAILS = '/screen/base/largeScreen/home/getMaterialReturnData/details' const URL_UNIT_LIST = '/screen/material/agreementInfo/getUnitList' const URL_PROJECT_LIST = '/screen/material/agreementInfo/getProjectList' // 设备类型 export const getTypeList = params => GET(URL_TYPE_LIST, params) -// 详情 +// 领料数据 export const getDetails = data => POST(URL_DETAILS, data) +// 退料数据 +export const getReturnDetails = data => POST(URL_RETURN_DETAILS, data) + // 往来单位-下拉 export const getUnitList = params => GET(URL_UNIT_LIST, params) diff --git a/sgzb-screen/src/components/home/countFlopOne.vue b/sgzb-screen/src/components/home/countFlopOne.vue index 66854ecc..7d17a954 100644 --- a/sgzb-screen/src/components/home/countFlopOne.vue +++ b/sgzb-screen/src/components/home/countFlopOne.vue @@ -55,10 +55,8 @@ export default { }, methods: { handleClick(val) { - console.log('🚀 ~ handleClick ~ val:', val); const params = { open: true, - toolPutOut: true, maType: val } this.$refs.materialsDialog.setOpen(params); diff --git a/sgzb-screen/src/components/home/countFlopTwo.vue b/sgzb-screen/src/components/home/countFlopTwo.vue index af6fbd97..f0e82b4c 100644 --- a/sgzb-screen/src/components/home/countFlopTwo.vue +++ b/sgzb-screen/src/components/home/countFlopTwo.vue @@ -25,10 +25,17 @@
{{ suffix }}
+ + \ No newline at end of file From 7247b3679dcca7cecc63962ee63ed04a6c3fd73d Mon Sep 17 00:00:00 2001 From: binbin_pan Date: Wed, 24 Apr 2024 15:00:07 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E9=80=80=E6=96=99=E5=88=86=E6=9E=90-?= =?UTF-8?q?=E6=8A=98=E7=BA=BF=E5=9B=BE=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sgzb-screen/src/api/dialog.js | 6 +- .../src/components/Pagination/index.vue | 2 +- .../components/home/getMaterialsDialog.vue | 4 +- sgzb-screen/src/components/home/leftThree.vue | 12 +- .../components/home/returnMaterialsDialog.vue | 5 +- .../components/home/scrapAnalysisDialog.vue | 248 ++++++++++++++++++ 6 files changed, 268 insertions(+), 9 deletions(-) create mode 100644 sgzb-screen/src/components/home/scrapAnalysisDialog.vue diff --git a/sgzb-screen/src/api/dialog.js b/sgzb-screen/src/api/dialog.js index a1ab1572..78898258 100644 --- a/sgzb-screen/src/api/dialog.js +++ b/sgzb-screen/src/api/dialog.js @@ -5,6 +5,7 @@ const URL_DETAILS = '/screen/base/largeScreen/home/getMaterialReqData/details' const URL_RETURN_DETAILS = '/screen/base/largeScreen/home/getMaterialReturnData/details' const URL_UNIT_LIST = '/screen/material/agreementInfo/getUnitList' const URL_PROJECT_LIST = '/screen/material/agreementInfo/getProjectList' +const URL_SCRAP_ANALYSIS = '/screen/base/largeScreen/home/getScrapAnalysisByMonth/details' // 设备类型 export const getTypeList = params => GET(URL_TYPE_LIST, params) @@ -19,4 +20,7 @@ export const getReturnDetails = data => POST(URL_RETURN_DETAILS, data) export const getUnitList = params => GET(URL_UNIT_LIST, params) // 工程名称-下拉 -export const getProjectList = params => GET(URL_PROJECT_LIST, params) \ No newline at end of file +export const getProjectList = params => GET(URL_PROJECT_LIST, params) + +// 废料分析 +export const getScrapAnalysis = data => POST(URL_SCRAP_ANALYSIS, data) \ No newline at end of file diff --git a/sgzb-screen/src/components/Pagination/index.vue b/sgzb-screen/src/components/Pagination/index.vue index 57326f8e..1f991f9d 100644 --- a/sgzb-screen/src/components/Pagination/index.vue +++ b/sgzb-screen/src/components/Pagination/index.vue @@ -107,7 +107,7 @@ export default { .pagination-container { margin-top: 20px; background: #fff; - padding: 32px 16px; + /* padding: 32px 16px; */ display: flex; justify-content: end; align-items: center; diff --git a/sgzb-screen/src/components/home/getMaterialsDialog.vue b/sgzb-screen/src/components/home/getMaterialsDialog.vue index dab32c69..e8e7131a 100644 --- a/sgzb-screen/src/components/home/getMaterialsDialog.vue +++ b/sgzb-screen/src/components/home/getMaterialsDialog.vue @@ -65,8 +65,8 @@ diff --git a/sgzb-screen/src/components/home/leftThree.vue b/sgzb-screen/src/components/home/leftThree.vue index 00c4812c..c93bfd32 100644 --- a/sgzb-screen/src/components/home/leftThree.vue +++ b/sgzb-screen/src/components/home/leftThree.vue @@ -4,7 +4,9 @@
当月报废分析
-
+
+ +
@@ -13,11 +15,13 @@ import * as echarts from 'echarts'; import CountFlopOne from './countFlopOne.vue' import { getScrapAnalysisByMonthApi } from "../../api/screen"; +import scrapAnalysisDialog from './scrapAnalysisDialog.vue' export default { name: 'accessRatePage', components: { - CountFlopOne + CountFlopOne, + scrapAnalysisDialog }, data() { return { @@ -230,6 +234,10 @@ export default { } let myCharts = echarts.init(document.querySelector('#accessRateEcharts')); myCharts.setOption(echartOption) + }, + handleClick() { + console.log('handleClick--报废分析') + this.$refs.scrapAnalysisDialog.setOpen({ open: true, maType: this.maType}) } } } diff --git a/sgzb-screen/src/components/home/returnMaterialsDialog.vue b/sgzb-screen/src/components/home/returnMaterialsDialog.vue index 5ba1d0c5..a5d6e54b 100644 --- a/sgzb-screen/src/components/home/returnMaterialsDialog.vue +++ b/sgzb-screen/src/components/home/returnMaterialsDialog.vue @@ -51,7 +51,6 @@ diff --git a/sgzb-screen/src/components/home/scrapAnalysisDialog.vue b/sgzb-screen/src/components/home/scrapAnalysisDialog.vue new file mode 100644 index 00000000..418818fb --- /dev/null +++ b/sgzb-screen/src/components/home/scrapAnalysisDialog.vue @@ -0,0 +1,248 @@ + + + + + \ No newline at end of file From 392b6d769b399451890d7348ca0bc8f13710f885 Mon Sep 17 00:00:00 2001 From: binbin_pan Date: Wed, 24 Apr 2024 15:58:10 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=80=BB=E4=BF=9D=E6=9C=89=E9=87=8F-?= =?UTF-8?q?=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sgzb-screen/src/api/dialog.js | 6 +- .../src/components/home/centerFold.vue | 19 +- .../components/home/getMaterialsDialog.vue | 1 + .../src/components/home/inventoryDialog.vue | 187 ++++++++++++++++++ .../components/home/returnMaterialsDialog.vue | 1 + .../components/home/scrapAnalysisDialog.vue | 1 + sgzb-screen/src/views/Home/index.vue | 7 +- 7 files changed, 217 insertions(+), 5 deletions(-) create mode 100644 sgzb-screen/src/components/home/inventoryDialog.vue diff --git a/sgzb-screen/src/api/dialog.js b/sgzb-screen/src/api/dialog.js index 78898258..814751e7 100644 --- a/sgzb-screen/src/api/dialog.js +++ b/sgzb-screen/src/api/dialog.js @@ -6,6 +6,7 @@ const URL_RETURN_DETAILS = '/screen/base/largeScreen/home/getMaterialReturnData/ const URL_UNIT_LIST = '/screen/material/agreementInfo/getUnitList' const URL_PROJECT_LIST = '/screen/material/agreementInfo/getProjectList' const URL_SCRAP_ANALYSIS = '/screen/base/largeScreen/home/getScrapAnalysisByMonth/details' +const URL_TOTAL_OWNERSHIP = '/screen/base/largeScreen/home/getTotalOwnership/details' // 设备类型 export const getTypeList = params => GET(URL_TYPE_LIST, params) @@ -23,4 +24,7 @@ export const getUnitList = params => GET(URL_UNIT_LIST, params) export const getProjectList = params => GET(URL_PROJECT_LIST, params) // 废料分析 -export const getScrapAnalysis = data => POST(URL_SCRAP_ANALYSIS, data) \ No newline at end of file +export const getScrapAnalysis = data => POST(URL_SCRAP_ANALYSIS, data) + +// 总保有量 +export const getTotalOwnership = data => POST(URL_TOTAL_OWNERSHIP, data) diff --git a/sgzb-screen/src/components/home/centerFold.vue b/sgzb-screen/src/components/home/centerFold.vue index 3e56275d..7c4da2ba 100644 --- a/sgzb-screen/src/components/home/centerFold.vue +++ b/sgzb-screen/src/components/home/centerFold.vue @@ -17,7 +17,7 @@
-
+
{{ item.value }}
@@ -28,14 +28,20 @@
+ +
+ + \ No newline at end of file diff --git a/sgzb-screen/src/components/home/returnMaterialsDialog.vue b/sgzb-screen/src/components/home/returnMaterialsDialog.vue index a5d6e54b..bdb2fb2d 100644 --- a/sgzb-screen/src/components/home/returnMaterialsDialog.vue +++ b/sgzb-screen/src/components/home/returnMaterialsDialog.vue @@ -168,6 +168,7 @@ export default { this.open = params.open, this.maType = params.maType, this.tableData = [] + this.total = 0 setTimeout(() => { this.$refs.form.resetFields() this.getList() diff --git a/sgzb-screen/src/components/home/scrapAnalysisDialog.vue b/sgzb-screen/src/components/home/scrapAnalysisDialog.vue index 418818fb..61d695e9 100644 --- a/sgzb-screen/src/components/home/scrapAnalysisDialog.vue +++ b/sgzb-screen/src/components/home/scrapAnalysisDialog.vue @@ -195,6 +195,7 @@ export default { this.open = params.open, this.maType = params.maType, this.tableData = [] + this.total = 0 setTimeout(() => { this.$refs.form.resetFields() this.getList() diff --git a/sgzb-screen/src/views/Home/index.vue b/sgzb-screen/src/views/Home/index.vue index 9ddd2789..e4f04cb6 100644 --- a/sgzb-screen/src/views/Home/index.vue +++ b/sgzb-screen/src/views/Home/index.vue @@ -13,8 +13,8 @@
-
- +
+
@@ -187,6 +187,9 @@ export default { const seconds = date.getSeconds().toString().padStart(2, '0') const dateTimeString = `${year}/${month}/${day} ${weekday} ${hours}:${minutes}:${seconds}` this.dateTimeString = dateTimeString + }, + handleClick() { + this.$refs.centerFold.handleClick({maType: this.maType}) } } From 1d5116a05e90848da8d6d98542edb64751d45730 Mon Sep 17 00:00:00 2001 From: binbin_pan Date: Wed, 24 Apr 2024 17:24:56 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=96=B0=E8=B4=AD=E9=AA=8C=E6=94=B6?= =?UTF-8?q?=E5=85=A5=E5=BA=93=E5=88=86=E6=9E=90-=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sgzb-screen/src/api/dialog.js | 4 + .../src/components/home/centerBottom.vue | 19 +- .../src/components/home/centerFold.vue | 12 +- .../home/inputStoreAnalysisDialog.vue | 173 ++++++++++++++++++ .../src/components/home/inventoryDialog.vue | 2 +- sgzb-screen/src/views/Home/index.vue | 8 +- 6 files changed, 205 insertions(+), 13 deletions(-) create mode 100644 sgzb-screen/src/components/home/inputStoreAnalysisDialog.vue diff --git a/sgzb-screen/src/api/dialog.js b/sgzb-screen/src/api/dialog.js index 814751e7..05de6c69 100644 --- a/sgzb-screen/src/api/dialog.js +++ b/sgzb-screen/src/api/dialog.js @@ -7,6 +7,7 @@ const URL_UNIT_LIST = '/screen/material/agreementInfo/getUnitList' const URL_PROJECT_LIST = '/screen/material/agreementInfo/getProjectList' const URL_SCRAP_ANALYSIS = '/screen/base/largeScreen/home/getScrapAnalysisByMonth/details' const URL_TOTAL_OWNERSHIP = '/screen/base/largeScreen/home/getTotalOwnership/details' +const URL_ACCEPTANCE_STORAGE = '/screen/base/largeScreen/home/getAcceptanceStorage/details' // 设备类型 export const getTypeList = params => GET(URL_TYPE_LIST, params) @@ -28,3 +29,6 @@ export const getScrapAnalysis = data => POST(URL_SCRAP_ANALYSIS, data) // 总保有量 export const getTotalOwnership = data => POST(URL_TOTAL_OWNERSHIP, data) + +// 入库分析 +export const getAcceptanceStorage = data => POST(URL_ACCEPTANCE_STORAGE, data) diff --git a/sgzb-screen/src/components/home/centerBottom.vue b/sgzb-screen/src/components/home/centerBottom.vue index 0f678a22..014d3586 100644 --- a/sgzb-screen/src/components/home/centerBottom.vue +++ b/sgzb-screen/src/components/home/centerBottom.vue @@ -6,15 +6,21 @@
+ +
diff --git a/sgzb-screen/src/components/home/centerFold.vue b/sgzb-screen/src/components/home/centerFold.vue index 7c4da2ba..f4f444c0 100644 --- a/sgzb-screen/src/components/home/centerFold.vue +++ b/sgzb-screen/src/components/home/centerFold.vue @@ -73,7 +73,12 @@ export default { setInterval(() => { this.getTotalOwnershipApiPage() }, 60 * 1000); - + this.$eventBus.$on('maType', (maType) => { + this.maType = maType + }); + }, + destroyed() { + this.$eventBus.$off('maType'); }, methods: { getTotalOwnershipApiPage() { @@ -111,13 +116,10 @@ export default { this.$refs['box1'].style.height = height } }, - handleClick(params) { - this.maType = params.maType - }, handleClickItem() { setTimeout(() => { this.$refs.inventoryDialog.setOpen({ open: true, maType: this.maType }) - }, 100) + }, 10) } } } diff --git a/sgzb-screen/src/components/home/inputStoreAnalysisDialog.vue b/sgzb-screen/src/components/home/inputStoreAnalysisDialog.vue new file mode 100644 index 00000000..19e5b80d --- /dev/null +++ b/sgzb-screen/src/components/home/inputStoreAnalysisDialog.vue @@ -0,0 +1,173 @@ + + + + + \ No newline at end of file diff --git a/sgzb-screen/src/components/home/inventoryDialog.vue b/sgzb-screen/src/components/home/inventoryDialog.vue index 60377892..2aa675ab 100644 --- a/sgzb-screen/src/components/home/inventoryDialog.vue +++ b/sgzb-screen/src/components/home/inventoryDialog.vue @@ -146,7 +146,7 @@ export default { setTimeout(() => { this.$refs.form.resetFields() this.getList() - }, 0) + }, 10) }, getList() { const params = { diff --git a/sgzb-screen/src/views/Home/index.vue b/sgzb-screen/src/views/Home/index.vue index e4f04cb6..9e4e8eac 100644 --- a/sgzb-screen/src/views/Home/index.vue +++ b/sgzb-screen/src/views/Home/index.vue @@ -13,8 +13,8 @@
-
- +
+
@@ -188,10 +188,6 @@ export default { const dateTimeString = `${year}/${month}/${day} ${weekday} ${hours}:${minutes}:${seconds}` this.dateTimeString = dateTimeString }, - handleClick() { - this.$refs.centerFold.handleClick({maType: this.maType}) - } - } }