diff --git a/src/App.vue b/src/App.vue index 0210243c..b4b0cd16 100644 --- a/src/App.vue +++ b/src/App.vue @@ -77,4 +77,9 @@ export default { } } +@font-face { + font-family: 'OpenSans-BoldItalic'; + src: url('~@/assets/font-family/OpenSans-BoldItalic.ttf'); +} + diff --git a/src/api/EquipmentEntryApply/index.js b/src/api/EquipmentEntryApply/index.js index 5900f1e7..00ecb165 100644 --- a/src/api/EquipmentEntryApply/index.js +++ b/src/api/EquipmentEntryApply/index.js @@ -368,3 +368,48 @@ export const getConfigApi = (data) => { method: 'GET', }) } + +// 总价值 +export const getTotalValueApi = (data = {}) => { + return request({ + url: `/material-mall/device/getTotalValue`, + method: 'post', + data + }) +} + +// 配置率 +export const getConfigurationRateApi = (data = {}) => { + return request({ + url: `/material-mall/device/getConfigurationRate`, + method: 'post', + data + }) +} + +// 装备状态分析 +export const getEquipmentStatusApi = (data = {}) => { + return request({ + url: `/material-mall/device/getEquipmentStatus`, + method: 'post', + data + }) +} + +// 装备数量分析-三大专业 +export const getThreeMajorApi = (data = {}) => { + return request({ + url: `/material-mall/device/getThreeMajor`, + method: 'post', + data + }) +} + +// 装备数量分析-十大工序 +export const getTenMajorApi = (data = {}) => { + return request({ + url: `/material-mall/device/getTenMajor`, + method: 'post', + data + }) +} \ No newline at end of file diff --git a/src/assets/font-family/OpenSans-BoldItalic.ttf b/src/assets/font-family/OpenSans-BoldItalic.ttf new file mode 100644 index 00000000..9bc80095 Binary files /dev/null and b/src/assets/font-family/OpenSans-BoldItalic.ttf differ diff --git a/src/assets/images/equ-config.png b/src/assets/images/equ-config.png new file mode 100644 index 00000000..b7477e18 Binary files /dev/null and b/src/assets/images/equ-config.png differ diff --git a/src/assets/images/equ-price.png b/src/assets/images/equ-price.png new file mode 100644 index 00000000..9ed11197 Binary files /dev/null and b/src/assets/images/equ-price.png differ diff --git a/src/views/EquipmentLedger/components/EquAnalysis.vue b/src/views/EquipmentLedger/components/EquAnalysis.vue new file mode 100644 index 00000000..3ddb88e5 --- /dev/null +++ b/src/views/EquipmentLedger/components/EquAnalysis.vue @@ -0,0 +1,460 @@ + + + + + diff --git a/src/views/EquipmentLedger/index.vue b/src/views/EquipmentLedger/index.vue index 4720d2d8..40277ca3 100644 --- a/src/views/EquipmentLedger/index.vue +++ b/src/views/EquipmentLedger/index.vue @@ -71,9 +71,8 @@ -
+
@@ -133,7 +132,7 @@
-
+
-->
+
+ + +
+
@@ -903,11 +907,12 @@ import { firstLevel, secondAndThirdLevel } from '@/api/EquipmentEntryApply' import { getMaxFeatureAPI, getProvinceListAPI } from '@/api/EquipmentLedger/equ-out.js' import { deptTreeSelect } from '@/api/system/user' import AddEquip from '@/views/stockManagement/entryApply/components/AddEquip' +import EquAnalysis from '@/views/EquipmentLedger/components/EquAnalysis' export default { name: 'EquipmentLedger', dicts: ['user_year_type'], - components: { AddEquip, QrcodeGenerator }, + components: { AddEquip, QrcodeGenerator, EquAnalysis }, data() { return { treeSearchKey: '', //用于存储左侧树搜索框内容 @@ -1207,6 +1212,9 @@ export default { toggleCollapse() { this.collapsed = !this.collapsed // 可以在这里添加折叠/展开的动画效果或其他逻辑 + this.$nextTick(() => { + this.$refs.equAnalysis.init() + }) }, /** * 切换搜索区域展开/收起状态 @@ -1547,6 +1555,8 @@ export default { this.tableData = listResult.data?.rows || [] this.total = listResult.data?.total || 0 + this.$refs.equAnalysis.init() + let maxLength = 0 this.tableData.forEach((item) => { if (item.propertyVoList && item.propertyVoList.length > maxLength) {