From f02cf09eb0c6933dd5ccc4dac6c6c09c3b5f3d3c Mon Sep 17 00:00:00 2001 From: zhaowei <zhaowei> Date: 星期一, 25 八月 2025 15:17:03 +0800 Subject: [PATCH] 1、根据最新设计方案调整设备管理模块点击弹窗样式 2、mdc公司级首页设备管理模块与点击功能联调 --- src/views/dashboard/BranchFactorySignage.vue | 68 +++++----- src/views/dashboard/IndexSignage.vue | 65 +++++----- src/views/dashboard/modules/SignageModal.vue | 178 ++++------------------------ src/views/dashboard/Analysis.vue | 2 4 files changed, 94 insertions(+), 219 deletions(-) diff --git a/src/views/dashboard/Analysis.vue b/src/views/dashboard/Analysis.vue index 8acaf25..97336fd 100644 --- a/src/views/dashboard/Analysis.vue +++ b/src/views/dashboard/Analysis.vue @@ -84,7 +84,7 @@ /deep/ .back-nav { width: 100px; height: 30px; - color: #fff; + color: rgba(0, 0, 0, .45); position: absolute; top: 15px; left: 10px; diff --git a/src/views/dashboard/BranchFactorySignage.vue b/src/views/dashboard/BranchFactorySignage.vue index 2cc6394..b573df8 100644 --- a/src/views/dashboard/BranchFactorySignage.vue +++ b/src/views/dashboard/BranchFactorySignage.vue @@ -5,43 +5,43 @@ <div class="back-nav" @click="$emit('backToLastSignage','Index')" v-if="userType===4"> <dv-decoration-7>涓婁竴绾�</dv-decoration-7> </div> - <dv-border-box-9 style="padding: 30px 20px 0"> - <div id="running_state_chart" style="width:100%;height: 400px;"></div> - <div id="efficiency_chart" style="width: 100%;height: 350px"></div> - </dv-border-box-9> + <!--<dv-border-box-9 style="padding: 30px 20px 0">--> + <!--<div id="running_state_chart" style="width:100%;height: 400px;"></div>--> + <!--<div id="efficiency_chart" style="width: 100%;height: 350px"></div>--> + <!--</dv-border-box-9>--> </div> - <div style="width: 42%" class="middle-col"> - <dv-border-box-9 style="padding: 30px 20px 0"> - <div style="display: flex"> - <div id="tech_condition_chart" style="width:50%;height: 420px;"></div> - <div id="warranty_malfunction_chart" style="width:50%;height: 420px;"></div> - </div> - <div class="support-plan-container"> - <div v-for="(item,index) in supportPlanList" :key="index" class="support-plan-item" - :style="{background:item.backgroundColor}" @click="openMaintenanceModal(item)"> - <div>{{item.planTime}}</div> - <div class="plan-value-container"> - <div class="plan-value">{{$data[item.planValueLabel]}}</div> - <div>鍙�</div> - </div> - </div> - </div> - <div style="padding: 0 55px;margin-top: 50px"> - <dv-scroll-board :config="maintenanceConfig" style="width:100%;height:80px"/> - </div> - </dv-border-box-9> - </div> + <!--<div style="width: 42%" class="middle-col">--> + <!--<dv-border-box-9 style="padding: 30px 20px 0">--> + <!--<div style="display: flex">--> + <!--<div id="tech_condition_chart" style="width:50%;height: 420px;"></div>--> + <!--<div id="warranty_malfunction_chart" style="width:50%;height: 420px;"></div>--> + <!--</div>--> + <!--<div class="support-plan-container">--> + <!--<div v-for="(item,index) in supportPlanList" :key="index" class="support-plan-item"--> + <!--:style="{background:item.backgroundColor}" @click="openMaintenanceModal(item)">--> + <!--<div>{{item.planTime}}</div>--> + <!--<div class="plan-value-container">--> + <!--<div class="plan-value">{{$data[item.planValueLabel]}}</div>--> + <!--<div>鍙�</div>--> + <!--</div>--> + <!--</div>--> + <!--</div>--> + <!--<div style="padding: 0 55px;margin-top: 50px">--> + <!--<dv-scroll-board :config="maintenanceConfig" style="width:100%;height:80px"/>--> + <!--</div>--> + <!--</dv-border-box-9>--> + <!--</div>--> - <div style="width: 32%"> - <dv-border-box-9 style="padding: 30px 0 20px"> - <div id="bar_chart" style="width:100%;height: 280px;"></div> - <div id="double_bar_chart" style="width:100%;height: 280px;"></div> - <div style="padding: 0 20px;"> - <dv-scroll-board :config="problemConfig" style="width:100%;height:220px"/> - </div> - </dv-border-box-9> - </div> + <!--<div style="width: 32%">--> + <!--<dv-border-box-9 style="padding: 30px 0 20px">--> + <!--<div id="bar_chart" style="width:100%;height: 280px;"></div>--> + <!--<div id="double_bar_chart" style="width:100%;height: 280px;"></div>--> + <!--<div style="padding: 0 20px;">--> + <!--<dv-scroll-board :config="problemConfig" style="width:100%;height:220px"/>--> + <!--</div>--> + <!--</dv-border-box-9>--> + <!--</div>--> <SignageModal :modalVisible="modalVisible" :modalTitle=modalTitle :modalDataApiUrl="modalDataApiUrl" :modalDataApiParams="modalDataApiParams" diff --git a/src/views/dashboard/IndexSignage.vue b/src/views/dashboard/IndexSignage.vue index 34bda83..a93745a 100644 --- a/src/views/dashboard/IndexSignage.vue +++ b/src/views/dashboard/IndexSignage.vue @@ -24,7 +24,7 @@ </div> </div> </div> - <div style="padding: 0 55px;margin-top: 10px"> + <div style="padding: 0 55px;margin-top : 10px"> <dv-scroll-board :config="maintenanceConfig" style="width:100%;height:220px"/> </div> </dv-border-box-9> @@ -91,25 +91,25 @@ planTime: '鏈湀涓変繚璁″垝', planValueLabel: 'thisMonthMaintenancePlanNum', backgroundColor: '#719D8E', - apiUrl: '/eam/calibrationOrder/showThisMonthMaintenanceList' + code: 'bysbzs' }, { planTime: '鏈湀瀹屾垚', planValueLabel: 'thisMonthMaintenanceRealNum', backgroundColor: '#409EFF', - apiUrl: '/eam/calibrationOrder/showThisMonthMaintenanceFinishList' + code: 'bwc' }, { planTime: '涓嬫湀涓変繚璁″垝', planValueLabel: 'nextMonthMaintenancePlanNum', backgroundColor: '#A8985D', - apiUrl: '/eam/calibrationOrder/showNextMonthMaintenanceList' + code: 'xysb' }, { planTime: '涓嬩笅鏈堜笁淇濊鍒�', planValueLabel: 'nextNextMonthMaintenancePlanNum', backgroundColor: '#58D9F9', - apiUrl: '/eam/calibrationOrder/showNextNextMonthMaintenanceList' + code: 'xxysb' } ], thisMonthMaintenancePlanNum: 0, @@ -146,8 +146,6 @@ getChartDataByApi() { this.getRunningStateDataByApi() this.getEfficiencyDataByApi() - // this.getTechConditionDataByApi() - // this.getWarrantyMalfunctionDataByApi() this.getTechConditionAndWarrantyMalfunctionDataByApi() this.getThirdMaintenanceConditionByApi() this.getTwoMaintenanceChartDataByApi() @@ -163,7 +161,7 @@ text: '鏁版嵁鍔犺浇涓� ...', color: '#0696e1', // 鍔犺浇鍔ㄧ敾棰滆壊 textColor: 'rgba(0, 0, 0, .45)', - maskColor: 'rgba(0,0,0,.05)' // 閬僵灞� + maskColor: 'transparent' // 閬僵灞� }) signageApi.getEquipmentStatusStatisticsApi() .then(res => { @@ -183,7 +181,7 @@ text: '鏁版嵁鍔犺浇涓� ...', color: '#0696e1', // 鍔犺浇鍔ㄧ敾棰滆壊 textColor: 'rgba(0, 0, 0, .45)', - maskColor: 'rgba(0,0,0,.05)' // 閬僵灞� + maskColor: 'transparent' // 閬僵灞� }) signageApi.getEquipmentUtilizationStatisticsApi() .then(res => { @@ -202,13 +200,13 @@ text: '鏁版嵁鍔犺浇涓� ...', color: '#0696e1', // 鍔犺浇鍔ㄧ敾棰滆壊 textColor: 'rgba(0, 0, 0, .45)', - maskColor: 'rgba(0,0,0,.05)' // 閬僵灞� + maskColor: 'transparent' // 閬僵灞� }) this.warrantyMalfunctionChart.showLoading({ text: '鏁版嵁鍔犺浇涓� ...', color: '#0696e1', // 鍔犺浇鍔ㄧ敾棰滆壊 textColor: 'rgba(0, 0, 0, .45)', - maskColor: 'rgba(0,0,0,.05)' // 閬僵灞� + maskColor: 'transparent' // 閬僵灞� }) signageApi.getEquipmentTechnologyStatusAndReportRepairEquipmentListApi() .then(res => { @@ -231,9 +229,9 @@ } ] this.warrantyMalfunctionData = [ - { value: res.result.bxqk.find(item => item.code === 'bx').value, name: '鎶ヤ慨', isStop: '' }, - { value: res.result.bxqk.find(item => item.code === 'stop').value, name: '鍋滄満', isStop: '2' }, - { value: res.result.bxqk.find(item => item.code === 'run').value, name: '杩愯', isStop: '1' } + { value: res.result.bxqk.find(item => item.code === 'bx').value, name: '鎶ヤ慨', code: 'bx' }, + { value: res.result.bxqk.find(item => item.code === 'stop').value, name: '鍋滄満', code: 'stop' }, + { value: res.result.bxqk.find(item => item.code === 'run').value, name: '杩愯', code: 'run' } ] this.techConditionChartRequireFinished = true this.warrantyMalfunctionChartRequireFinished = true @@ -272,7 +270,7 @@ text: '鏁版嵁鍔犺浇涓� ...', color: '#0696e1', // 鍔犺浇鍔ㄧ敾棰滆壊 textColor: 'rgba(0, 0, 0, .45)', - maskColor: 'rgba(0,0,0,.05)' // 閬僵灞� + maskColor: 'transparent' // 閬僵灞� }) signageApi.getEquipmentOEEStatistics() .then(res => { @@ -290,7 +288,7 @@ text: '鏁版嵁鍔犺浇涓� ...', color: '#0696e1', // 鍔犺浇鍔ㄧ敾棰滆壊 textColor: 'rgba(0, 0, 0, .45)', - maskColor: 'rgba(0,0,0,.05)' // 閬僵灞� + maskColor: 'transparent' // 閬僵灞� }) signageApi.getEquipmentMonthStatisticsApi() .then(res => { @@ -676,14 +674,12 @@ this.techConditionChart.setOption(option, true) this.techConditionChart.hideLoading() - // this.techConditionChart.on('click', params => { - // this.modalTitle = `鎶�鏈姸鎬侊紙${params.name}锛塦 - // this.modalDataApiParams = { - // technologyStatus: this.techConditionData.find(item => item.name === params.name).technologyStatus - // } - // this.modalDataApiUrl = '/eam/calibrationOrder/showEquipmentByTechnologyStatus' - // this.modalVisible = true - // }) + this.techConditionChart.on('click', params => { + this.modalTitle = `鎶�鏈姸鎬侊紙${params.name}锛塦 + this.modalDataApiParams = { technologyStatus: this.techConditionData.find(item => item.name === params.name).technologyStatus } + this.modalDataApiUrl = '/eam/equipment/list' + this.modalVisible = true + }) }, /* 缁樺埗璁惧鎶ヤ慨鏁呴殰楗煎浘 */ @@ -764,14 +760,12 @@ this.warrantyMalfunctionChart.setOption(option, true) this.warrantyMalfunctionChart.hideLoading() - // this.warrantyMalfunctionChart.on('click', params => { - // this.modalTitle = `鎶ヤ慨鏁呴殰锛�${params.name}锛塦 - // this.modalDataApiParams = { - // isStop: this.warrantyMalfunctionData.find(item => item.name === params.name).isStop - // } - // this.modalDataApiUrl = '/eam/calibrationOrder/showEquipmentByReportRepair' - // this.modalVisible = true - // }) + this.warrantyMalfunctionChart.on('click', params => { + this.modalTitle = `鎶ヤ慨鏁呴殰锛�${params.name}锛塦 + this.modalDataApiParams = { code: this.warrantyMalfunctionData.find(item => item.name === params.name).code } + this.modalDataApiUrl = '/eam/home/repairList' + this.modalVisible = true + }) }, /* 缁樺埗杞﹂棿淇濆吇婊氬姩琛� */ @@ -1145,9 +1139,10 @@ * @param record 鐐瑰嚮褰撳墠涓変繚淇℃伅 */ openMaintenanceModal(record) { - // this.modalTitle = record.planTime - // this.modalDataApiUrl = record.apiUrl - // this.modalVisible = true + this.modalTitle = record.planTime + this.modalDataApiParams = { code: record.code } + this.modalDataApiUrl = '/eam/home/maintenanceList' + this.modalVisible = true }, re_drawPieChart() { diff --git a/src/views/dashboard/modules/SignageModal.vue b/src/views/dashboard/modules/SignageModal.vue index f1709e9..17ea87e 100644 --- a/src/views/dashboard/modules/SignageModal.vue +++ b/src/views/dashboard/modules/SignageModal.vue @@ -1,24 +1,12 @@ <template> <a-modal :title="modalTitle" :width="modalWidth" :visible="modalVisible" :footer="null" @cancel="$emit('closeModal')"> - <!--<a-form layout="inline" @keyup.enter.native="loadData(1)">--> - <!--<a-form-item label="璁惧缂栧彿">--> - <!--<a-input v-model="queryParam.equipmentNum"></a-input>--> - <!--</a-form-item>--> - <!--<a-form-item>--> - <!--<a-space>--> - <!--<a-button type="primary" @click="loadData(1)">鏌ヨ</a-button>--> - <!--<a-button type="primary" @click="searchReset">閲嶇疆</a-button>--> - <!--</a-space>--> - <!--</a-form-item>--> - <!--</a-form>--> - <a-table :columns="modalTableColumns" :dataSource="dataSource" :pagination="ipagination" :loading="loading" - @change="handleTableChange" style="margin-top: 20px" rowKey="equipmentNum"></a-table> + <a-table bordered :columns="modalTableColumns" :dataSource="dataSource" :pagination="ipagination" :loading="loading" + @change="handleTableChange" rowKey="id"/> </a-modal> </template> <script> import { putAction, getAction } from '@/api/manage' - import { filterObj } from '@/utils/util' export default { name: 'SignageModal', @@ -38,7 +26,9 @@ type: Boolean }, modalDataApiParams: { - type: Object + type: Object, + default: () => { + } } }, watch: { @@ -54,7 +44,6 @@ }, data() { return { - queryParam: {}, loading: false, /* 鍒嗛〉鍙傛暟 */ ipagination: { @@ -84,36 +73,33 @@ width: 150, align: 'center', title: '璁惧缂栧彿', - dataIndex: 'equipmentNum', - key: 'equipmentNum' + dataIndex: 'equipmentCode', + key: 'equipmentCode' }, { - width: 200, align: 'center', title: '璁惧鍚嶇О', dataIndex: 'equipmentName', key: 'equipmentName' }, { - width: 200, align: 'center', title: '璁惧鍨嬪彿', dataIndex: 'equipmentModel', key: 'equipmentModel' }, { - width: 250, align: 'center', - title: '瑙勬牸', - key: 'specification', - dataIndex: 'specification' + title: '浣跨敤閮ㄩ棬', + key: 'zxfactoryOrgCode_dictText', + dataIndex: 'zxfactoryOrgCode_dictText' }, { - width: 140, + width: 100, align: 'center', title: '鎶�鏈姸鎬�', - key: 'technologyStatus', - dataIndex: 'technologyStatus' + key: 'technologyStatus_dictText', + dataIndex: 'technologyStatus_dictText' } ] } @@ -126,42 +112,27 @@ } //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭 if (arg === 1) this.ipagination.current = 1 - const params = this.getQueryParams()//鏌ヨ鏉′欢 + const params = Object.assign({}, this.modalDataApiParams) + params.pageNo = this.ipagination.current + params.pageSize = this.ipagination.pageSize if (!params) return false this.loading = true - getAction(this.modalDataApiUrl, params).then((res) => { - if (res.success) { - this.dataSource = res.result.records || res.result - if (res.result.total) this.ipagination.total = res.result.total - else this.ipagination.total = 0 - } else { - this.$message.warning(res.message) - } - }).finally(() => { - this.loading = false - }) - }, - - getQueryParams() { - //鑾峰彇鏌ヨ鏉′欢 - let sqp = {} - const param = Object.assign(sqp, this.queryParam, this.modalDataApiParams, this.isorter, this.filters) - param.field = this.getQueryField() - param.pageNo = this.ipagination.current - param.pageSize = this.ipagination.pageSize - return filterObj(param) - }, - - getQueryField() { - let str = 'id,' - this.modalTableColumns.forEach(function(value) { - str += ',' + value.dataIndex - }) - return str + getAction(this.modalDataApiUrl, params) + .then((res) => { + if (res.success) { + this.dataSource = res.result.records || res.result + if (res.result.total) this.ipagination.total = res.result.total + else this.ipagination.total = 0 + } else { + this.$message.warning(res.message) + } + }) + .finally(() => { + this.loading = false + }) }, searchReset() { - this.queryParam = {} this.dataSource = [] this.loadData(1) }, @@ -177,94 +148,3 @@ } } </script> - -<style scoped> - /deep/ .ant-modal-content { - background-color: #000; - } - - /deep/ .ant-modal-header { - background-color: #000; - } - - /deep/ .ant-modal-title { - color: #fff; - } - - /deep/ .ant-modal-close { - color: #fff; - } - - /deep/ .ant-input { - color: #fff; - background-color: #000; - } - - /deep/ .ant-form-item-label label { - color: #fff; - } - - /deep/ .ant-table-thead th { - background-color: #5C5C5C; - color: #fff; - } - - /deep/ .ant-table-tbody td { - background-color: #262626; - color: #fff; - } - - /deep/ .ant-table-tbody > tr:hover:not(.ant-table-expanded-row):not(.ant-table-row-selected) > td { - background: #7E7E7E; - } - - /deep/ .ant-table-placeholder { - background-color: #000; - } - - /deep/ .ant-table-placeholder .ant-empty-description { - color: #fff; - } - - /deep/ .ant-pagination-item a { - background-color: #000; - color: #fff; - } - - /deep/ .ant-pagination-item-link { - background-color: #000; - color: #fff; - } - - /deep/ .ant-pagination-item-link:hover { - color: #1890FF; - border-color: #1890FF; - } - - /deep/ .ant-pagination-item-active { - background-color: #000; - } - - /deep/ .ant-select-selection--single { - background-color: #000; - color: #fff; - } - - /deep/ .ant-pagination-options-quick-jumper { - color: #fff; - } - - /deep/ .ant-pagination-options-quick-jumper input { - background-color: #000; - color: #fff; - } - - /deep/ .ant-select-dropdown-menu-item { - background-color: #000; - color: #fff; - } - - /deep/ .ant-select-dropdown-menu-item:hover:not(.ant-select-dropdown-menu-item-disabled) { - background-color: #1890FF; - } -</style> \ No newline at end of file -- Gitblit v1.9.3