Merge remote-tracking branch 'origin/dev' into dev
| | |
| | | color: #fff; |
| | | opacity: 0.5; |
| | | } |
| | | /* .v-modal { |
| | | z-index: 1 !important; |
| | | } */ |
| | | .luckysheet-cols-menu { |
| | | z-index: 9999 !important; |
| | | } |
| | | </style> |
| | | </head> |
| | | <body> |
| | |
| | | </div> |
| | | </div> |
| | | </body> |
| | | <script type='text/javascript' src='http://192.168.21.53:9001/web-apps/apps/api/documents/api.js'></script> |
| | | <script |
| | | type="text/javascript" |
| | | src="http://192.168.21.53:9001/web-apps/apps/api/documents/api.js" |
| | | ></script> |
| | | <script src="<%= BASE_URL %>luckysheet/plugins/js/plugin.js"></script> |
| | | <script src="<%= BASE_URL %>luckysheet/luckysheet.umd.js"></script> |
| | | <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.16.105/pdf.min.js"></script> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | // ä¸ç¬¦åå·¥ä½ç¸å
³æ¥å£ |
| | | import request from "@/utils/request"; |
| | | |
| | | //æ¥è¯¢çç£è®°å½ä¸ç¬¦åæ§å¶ä¿¡æ¯å表 |
| | | export function pageSuperviseDetailAccording(query) { |
| | | return request({ |
| | | url: "/qualitySupervise/pageSuperviseDetailAccording", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | //导åºä¸ç¬¦å项 |
| | | export function superviseDetailAccordingExport(query) { |
| | | return request({ |
| | | url: "/qualitySupervise/superviseDetailAccordingExport", |
| | | method: "get", |
| | | responseType: "blob", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | //æ¥è¯¢çç£è®°å½ä¸ç¬¦åæ§å¶ä¿¡æ¯ |
| | | export function getSuperviseDetailAccording(query) { |
| | | return request({ |
| | | url: "/qualitySupervise/getSuperviseDetailAccording", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | //ä¸ç¬¦å项çåå¸å页æ¥è¯¢ |
| | | export function pageInconsistentDistribution(query) { |
| | | return request({ |
| | | url: "/inconsistentDistribution/pageInconsistentDistribution", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | //ä¸ç¬¦å项çåå¸å é¤ |
| | | export function delInconsistentDistribution(query) { |
| | | return request({ |
| | | url: "/inconsistentDistribution/delInconsistentDistribution", |
| | | method: "delete", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | //导åºä¸ç¬¦å项çåå¸ |
| | | export function exportInconsistentDistribution(query) { |
| | | return request({ |
| | | url: "/inconsistentDistribution/exportInconsistentDistribution", |
| | | method: "get", |
| | | responseType: "blob", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | //ä¸ç¬¦å项çåå¸è¯¦æ
|
| | | export function getInconsistentDistributionOne(query) { |
| | | return request({ |
| | | url: "/inconsistentDistribution/getInconsistentDistributionOne", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // ä¸ç¬¦å项çå叿°å¢ |
| | | export function addInconsistentDistribution(data) { |
| | | return request({ |
| | | url: "/inconsistentDistribution/addInconsistentDistribution", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | | |
| | | // ä¸ç¬¦å项çåå¸ä¿®æ¹ |
| | | export function updateInconsistentDistribution(data) { |
| | | return request({ |
| | | url: "/inconsistentDistribution/updateInconsistentDistribution", |
| | | method: "post", |
| | | data: data, |
| | | }); |
| | | } |
| | |
| | | }) |
| | | } |
| | | |
| | | // 设æ½åç¯å¢æ¡ä»¶è¦æ±-çµæºç¨³å®æ§å é¤ |
| | | export function deleteLaboratoryFacilityPowerStable(query) { |
| | | return request({ |
| | | url: '/fePowerStable/deleteLaboratoryFacilityPowerStable', |
| | | method: 'delete', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // çµæºç¨³å®æ§-æµå®é æ ¹æ®çµæºç¨³å®æ§æ¥è¯¢ |
| | | export function getFeMeasuredQuantityService(query) { |
| | | return request({ |
| | | url: "/fePowerStable/getFeMeasuredQuantityService", |
| | | method: "get", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // çµæºç¨³å®æ§-æµå®é å¯¼åº |
| | | export function exportFePowerStable(query) { |
| | | return request({ |
| | | url: "/fePowerStable/exportFePowerStable", |
| | | method: "get", |
| | | responseType: "blob", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // 设æ½åç¯å¢æ¡ä»¶è¦æ±-é²é·æ£æµæ¥è¯¢ |
| | | export function getLightningProtectionDetection(query) { |
| | | return request({ |
| | | url: '/feLightningProtection/getLightningProtectionDetection', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 设æ½åç¯å¢æ¡ä»¶è¦æ±-é²é·æ£æµæ°å¢/ä¿®æ¹ |
| | | export function addLightningProtectionDetection(query) { |
| | | return request({ |
| | | url: '/feLightningProtection/addLightningProtectionDetection', |
| | | method: 'post', |
| | | data: query, |
| | | headers: { |
| | | 'Content-Type': 'multipart/form-data' // å¿
须设置为 multipart |
| | | } |
| | | }) |
| | | } |
| | | |
| | | // 设æ½åç¯å¢æ¡ä»¶è¦æ±-é²é·æ£æµå é¤ |
| | | export function deleteLightningProtectionDetection(query) { |
| | | return request({ |
| | | url: '/feLightningProtection/deleteLightningProtectionDetection', |
| | | method: 'delete', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 设æ½åç¯å¢æ¡ä»¶è¦æ±-é²é·æ£æµå¯¼åº |
| | | export function exportOfLightningProtectionDetection(query) { |
| | | return request({ |
| | | url: "/feLightningProtection/exportOfLightningProtectionDetection", |
| | | method: "get", |
| | | responseType: "blob", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // 设æ½åç¯å¢æ¡ä»¶è¦æ±-ç
§åº¦è®°å½è¡¨-æ£æµåºå æ¥è¯¢ |
| | | export function getFeLightningProtection(query) { |
| | | return request({ |
| | | url: '/feIllumination/getFeLightningProtection', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 设æ½åç¯å¢æ¡ä»¶è¦æ±-ç
§åº¦è®°å½è¡¨-æ£æµåºå æ°å¢/ä¿®æ¹ |
| | | export function addFeLightningProtection(query) { |
| | | return request({ |
| | | url: '/feIllumination/addFeLightningProtection', |
| | | method: 'post', |
| | | data: query, |
| | | }) |
| | | } |
| | | |
| | | // 设æ½åç¯å¢æ¡ä»¶è¦æ±-ç
§åº¦è®°å½è¡¨-æ£æµåºå å é¤ |
| | | export function deleteFeLightningProtection(query) { |
| | | return request({ |
| | | url: '/feIllumination/deleteFeLightningProtection', |
| | | method: 'delete', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // ç
§åº¦è®°å½è¡¨-æ£æµåºå æ ¹æ®ç
§åº¦è®°å½æ¥è¯¢ |
| | | export function getFeIlluminationDetectionArea(query) { |
| | | return request({ |
| | | url: '/feIllumination/getFeIlluminationDetectionArea', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // ç
§åº¦è®°å½è¡¨-æ£æµåºå å é¤ |
| | | export function deleteFeIlluminationDetectionArea(query) { |
| | | return request({ |
| | | url: '/feIllumination/deleteFeIlluminationDetectionArea', |
| | | method: 'delete', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // ç
§åº¦è®°å½è¡¨-æ£æµåºå å¯¼åº |
| | | export function exportFeIllumination(query) { |
| | | return request({ |
| | | url: "/feIllumination/exportFeIllumination", |
| | | method: "get", |
| | | responseType: "blob", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // è¯éªåºå-æ¥è¯¢" |
| | | export function getFeTempHumDate(query) { |
| | | return request({ |
| | | url: '/feTempHumDate/getFeTempHumDate', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // è¯éªåºå-æ°å¢/ä¿®æ¹ |
| | | export function addFeTempHumDate(query) { |
| | | return request({ |
| | | url: '/feTempHumDate/addFeTempHumDate', |
| | | method: 'post', |
| | | data: query, |
| | | }) |
| | | } |
| | | |
| | | // 设æ½åç¯å¢æ¡ä»¶è¦æ±-æ¸©æ¹¿åº¦è®°å½æ¥è¯¢ |
| | | export function getFeTempHumRecordPage(query) { |
| | | return request({ |
| | | url: '/feTempHumDate/getFeTempHumRecordPage', |
| | | method: 'get', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // 设æ½åç¯å¢æ¡ä»¶è¦æ±-æ¸©æ¹¿åº¦è®°å½æ°å¢/ä¿®æ¹ |
| | | export function addFeTempHumRecord(query) { |
| | | return request({ |
| | | url: '/feTempHumDate/addFeTempHumRecord', |
| | | method: 'post', |
| | | data: query, |
| | | }) |
| | | } |
| | | |
| | | // 设æ½åç¯å¢æ¡ä»¶è¦æ±-温湿度记å½å é¤ |
| | | export function deleteFeTempHumRecord(query) { |
| | | return request({ |
| | | url: '/feTempHumDate/deleteFeTempHumRecord', |
| | | method: 'delete', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // è¯éªåºå-å é¤ |
| | | export function deleteFeTempHumDate(query) { |
| | | return request({ |
| | | url: '/feTempHumDate/deleteFeTempHumDate', |
| | | method: 'delete', |
| | | params: query |
| | | }) |
| | | } |
| | | |
| | | // // 设æ½åç¯å¢æ¡ä»¶è¦æ±-æ¸©æ¹¿åº¦è®°å½ å¯¼åº |
| | | export function exportTemperatureAndHumidityRecords(query) { |
| | | return request({ |
| | | url: "/feTempHumDate/exportTemperatureAndHumidityRecords", |
| | | method: "get", |
| | | responseType: "blob", |
| | | params: query, |
| | | }); |
| | | } |
| | | |
| | | // 温湿度确认 |
| | | export function affirmFeTempHumDate(query) { |
| | | return request({ |
| | | url: '/feTempHumDate/affirmFeTempHumDate', |
| | | method: 'post', |
| | | data: query, |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | |
| | | height: 100%; |
| | | left: 0px; |
| | | top: 0px; |
| | | z-index: 99999 !important; |
| | | } |
| | | </style> |
| | | <style> |
| | |
| | | border-color: transparent; |
| | | cursor: pointer; |
| | | } |
| | | |
| | | #luckysheet .returnView { |
| | | width: 50px; |
| | | height: 26px; |
| | |
| | | #luckysheet .save:active { |
| | | opacity: 0.7; |
| | | } |
| | | |
| | | /* #luckysheet-postil-overshow { |
| | | z-index: 9999 !important; |
| | | } */ |
| | | </style> |
| | | <template> |
| | | <div id="luckysheet"></div> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog v-loading="diaLoading" :close-on-click-modal="false" :close-on-press-escape="false" |
| | | :visible.sync="formDia" title="ä¸ç¬¦å项çåå¸" width="90%" @close="closeDia"> |
| | | <table border="1" cellspacing="10" class="table"> |
| | | <tr> |
| | | <td>ç« èå·</td> |
| | | <th class="div-with-line"> |
| | | <span style="float: left;">è¦ç´ </span> |
| | | <span style="float: right;">é¨é¨</span> |
| | | </th> |
| | | <th>主任</th> |
| | | <th>ææ¯è´è´£äºº</th> |
| | | <th>è´¨éè´è´£äºº</th> |
| | | <th>综å室</th> |
| | | <th>è¯éªå®¤</th> |
| | | <th>å计</th> |
| | | <th>å %</th> |
| | | </tr> |
| | | <tr v-for="(item, index) in distributionDetailList" :key="item.value"> |
| | | <td>{{ item.chapterNumber }}</td> |
| | | <th>{{ item.essentials }}</th> |
| | | <th> |
| | | <el-input-number v-model="item.director" :precision="0" clearable size="small"></el-input-number> |
| | | </th> |
| | | <th> |
| | | <el-input-number v-model="item.technology" :precision="0" clearable size="small"></el-input-number> |
| | | </th> |
| | | <th> |
| | | <el-input-number v-model="item.quality" :precision="0" clearable size="small"></el-input-number> |
| | | </th> |
| | | <th> |
| | | <el-input-number v-model="item.comprehensive" :precision="0" clearable size="small"></el-input-number> |
| | | </th> |
| | | <th> |
| | | <el-input-number v-model="item.testing" :precision="0" clearable size="small"></el-input-number> |
| | | </th> |
| | | <th> |
| | | {{ item.total }} |
| | | </th> |
| | | <th> |
| | | {{ (item.proportion ? item.proportion : 0) + '%' }} |
| | | </th> |
| | | </tr> |
| | | <tr> |
| | | <td> </td> |
| | | <th> |
| | | å æ¯ |
| | | </th> |
| | | <th> |
| | | {{ (distributionProportion.director ? distributionProportion.director : 0) + '%' }} |
| | | </th> |
| | | <th> |
| | | {{ (distributionProportion.technology ? distributionProportion.technology : 0) + '%' }} |
| | | </th> |
| | | <th> |
| | | {{ (distributionProportion.quality ? distributionProportion.quality : 0) + '%' }} |
| | | </th> |
| | | <th> |
| | | {{ (distributionProportion.comprehensive ? distributionProportion.comprehensive : 0) + '%' }} |
| | | </th> |
| | | <th> |
| | | {{ (distributionProportion.testing ? distributionProportion.testing : 0) + '%' }} |
| | | </th> |
| | | <th> |
| | | {{ distributionProportion.total ? distributionProportion.total : 0 }} |
| | | </th> |
| | | <th> </th> |
| | | </tr> |
| | | </table> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="closeDia">å æ¶</el-button> |
| | | <el-button :loading="loading" type="primary" @click="handleEdit">æ 交</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getInconsistentDistributionOne, |
| | | addInconsistentDistribution, |
| | | updateInconsistentDistribution |
| | | } from '@/api/cnas/process/nonconformingWork.js' |
| | | export default { |
| | | name: 'formDia', |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: {}, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | formDia: false, |
| | | diaLoading: false, |
| | | loading: false, |
| | | distributionDetailList: [], |
| | | form: { |
| | | |
| | | }, |
| | | distributionProportion: {} |
| | | }; |
| | | }, |
| | | mounted() { |
| | | |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | // æå¼å¼¹æ¡ |
| | | openDia(type, row) { |
| | | this.formDia = true |
| | | this.operationType = type |
| | | if (type !== 'add') { |
| | | this.searchInfo(row) |
| | | } else { |
| | | this.selectEnumByCategory() |
| | | } |
| | | }, |
| | | // æ¥è¯¢è¯¦æ
|
| | | searchInfo(row) { |
| | | this.diaLoading = true |
| | | getInconsistentDistributionOne({ distributionId: row.distributionId }).then(res => { |
| | | this.diaLoading = false |
| | | if (res.code === 201) return |
| | | this.form = res.data |
| | | this.distributionDetailList = this.form.distributionDetailList |
| | | this.distributionProportion = this.form.distributionProportion |
| | | }).catch(err => { |
| | | console.log(err) |
| | | this.diaLoading = false |
| | | }) |
| | | }, |
| | | // æäº¤å¼¹æ¡æ°æ® |
| | | handleEdit() { |
| | | const date = new Date(); |
| | | const year = date.getFullYear(); |
| | | this.loading = true |
| | | const internalPlan = this.HaveJson(this.form) |
| | | internalPlan.distributionYear = year |
| | | internalPlan.distributionDetailList = this.HaveJson(this.distributionDetailList) |
| | | if (this.operationType === 'add') { |
| | | addInconsistentDistribution(internalPlan).then(res => { |
| | | this.loading = false |
| | | if (res.code === 201) return |
| | | this.$message.success('æä½æå') |
| | | this.closeDia() |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | this.loading = false |
| | | }) |
| | | } else if (this.operationType === 'edit') { |
| | | updateInconsistentDistribution(internalPlan).then(res => { |
| | | this.loading = false |
| | | if (res.code === 201) return |
| | | this.$message.success('æä½æå') |
| | | this.closeDia() |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | this.loading = false |
| | | }) |
| | | } |
| | | }, |
| | | closeDia() { |
| | | this.formDia = false |
| | | this.$emit('closeDia') |
| | | }, |
| | | selectEnumByCategory() { |
| | | this.distributionDetailList = [] |
| | | // è¦ç´ |
| | | this.getDicts("essential").then((response) => { |
| | | let arr = this.dictToValue(response.data) |
| | | arr.map((item) => { |
| | | const obj = Object.assign({ |
| | | essentials: item.label, |
| | | chapterNumber: item.value, |
| | | }) |
| | | this.distributionDetailList.push(obj) |
| | | }) |
| | | }); |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | >>>.el-dialog { |
| | | margin: 6vh auto 50px !important; |
| | | } |
| | | |
| | | >>>.el-dialog__body { |
| | | max-height: 68vh; |
| | | overflow-y: auto; |
| | | } |
| | | |
| | | >>>.is-required { |
| | | margin-bottom: 6px; |
| | | } |
| | | |
| | | .table { |
| | | width: 100%; |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .table td { |
| | | width: 30px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .table th { |
| | | width: 70px; |
| | | height: 70px; |
| | | text-align: center; |
| | | } |
| | | |
| | | .div-with-line { |
| | | width: 70px; |
| | | height: 70px; |
| | | position: relative; |
| | | /*overflow: hidden; /* éèæº¢åºå
容 */ |
| | | } |
| | | |
| | | .div-with-line::after { |
| | | content: ''; |
| | | position: absolute; |
| | | bottom: 0; |
| | | height: 1px; |
| | | background-color: #000000; |
| | | left: 50%; |
| | | transform: translateX(-50%) rotate(45deg); |
| | | transform-origin: center 50%; |
| | | top: 50%; |
| | | width: 100px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <div> |
| | | <!-- <div class="view-title"> |
| | | <span>ä¸ç¬¦å项çåå¸</span> |
| | | <span> |
| | | <el-button size="medium" type="primary" @click="openFormDia('add')">æ° å¢</el-button> |
| | | </span> |
| | | </div> --> |
| | | <div class="search-background"> |
| | | <span class="search-group"> |
| | | <span style="width: 120px">年份ï¼</span> |
| | | <el-input v-model="searchForm.distributionYear" clearable size="small"></el-input> |
| | | </span> |
| | | <span class="search-group"> |
| | | <el-button size="medium" @click="resetSearchForm">é ç½®</el-button> |
| | | <el-button size="medium" type="primary" @click="searchList">æ¥ è¯¢</el-button> |
| | | </span> |
| | | <div class="btn"> |
| | | <el-button size="medium" type="primary" @click="openFormDia('add')">æ° å¢</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | | <div> |
| | | <TableCard :showForm="false" :showTitle="false"> |
| | | <template v-slot:table> |
| | | <limsTable :column="tableColumn" :height="'calc(100vh - 19em)'" :table-data="tableData" |
| | | :table-loading="tableLoading" style="padding: 0 15px;margin-bottom: 16px" :page="page" |
| | | @pagination="pagination"> |
| | | </limsTable> |
| | | </template> |
| | | </TableCard> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <form-dia v-if="formDia" ref="formDia" @closeDia="closeDia"></form-dia> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import TableCard from '@/components/TableCard/index.vue'; |
| | | import FormDia from './components/formDia.vue'; |
| | | import { |
| | | pageInconsistentDistribution, |
| | | delInconsistentDistribution, |
| | | exportInconsistentDistribution, |
| | | } from '@/api/cnas/process/nonconformingWork.js' |
| | | |
| | | export default { |
| | | name: 'a7-distribution-of-nonconforming', |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { FormDia, TableCard, limsTable }, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | searchForm: { |
| | | distributionYear: '', |
| | | }, |
| | | tableColumn: [ |
| | | { |
| | | label: '年份', |
| | | prop: 'distributionYear', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | label: 'å建人', |
| | | prop: 'createUserName', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | label: 'å建æ¶é´', |
| | | prop: 'createTime', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | label: 'ä¿®æ¹äºº', |
| | | prop: 'updateUserName', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | label: 'ä¿®æ¹æ¶é´', |
| | | prop: 'updateTime', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | dataType: 'action', |
| | | minWidth: '220', |
| | | label: 'æä½', |
| | | operation: [ |
| | | { |
| | | name: 'ç¼è¾', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.openFormDia('edit', row); |
| | | }, |
| | | }, |
| | | { |
| | | name: '导åº', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.handleDown(row) |
| | | } |
| | | }, |
| | | { |
| | | name: 'å é¤', |
| | | type: 'text', |
| | | color: '#f56c6c', |
| | | clickFun: (row) => { |
| | | this.delPlan(row) |
| | | }, |
| | | } |
| | | ] |
| | | } |
| | | ], |
| | | tableData: [], |
| | | tableLoading: false, |
| | | page: { |
| | | size: 20, |
| | | current: 1, |
| | | total: 0, |
| | | }, |
| | | formDia: false, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.searchList() |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | // æ¥è¯¢å表 |
| | | searchList() { |
| | | const entity = this.searchForm |
| | | const page = this.page |
| | | this.tableLoading = true |
| | | pageInconsistentDistribution({ ...entity, ...page }).then(res => { |
| | | this.tableLoading = false |
| | | if (res.code === 201) return |
| | | this.tableData = res.data.records |
| | | this.page.total = res.data.total |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | this.tableLoading = false |
| | | }) |
| | | }, |
| | | // å é¤ |
| | | delPlan(row) { |
| | | this.$confirm('æ¤æä½å°æ°¸ä¹
å é¤è¯¥æ°æ®, æ¯å¦ç»§ç»?', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.tableLoading = true |
| | | delInconsistentDistribution({ distributionId: row.distributionId }).then(res => { |
| | | this.tableLoading = false |
| | | if (res.code === 201) return |
| | | this.$message.success('å 餿å') |
| | | this.searchList() |
| | | }).catch(err => { |
| | | this.tableLoading = false |
| | | console.log('err---', err); |
| | | }) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | // æ°å¢ï¼ç¼è¾ï¼æ¹åå¼¹æ¡ |
| | | openFormDia(type, row) { |
| | | this.formDia = true |
| | | this.$nextTick(() => { |
| | | this.$refs.formDia.openDia(type, row) |
| | | }) |
| | | }, |
| | | // å¯¼åº |
| | | handleDown(row) { |
| | | exportInconsistentDistribution({ distributionId: row.distributionId }).then(res => { |
| | | this.outLoading = false |
| | | this.$message.success('å¯¼åºæå') |
| | | const blob = new Blob([res], { type: 'application/msword' }); |
| | | this.$download.saveAs(blob, 'ä¸ç¬¦å项çåå¸' + '.docx'); |
| | | }) |
| | | }, |
| | | closeDia() { |
| | | this.formDia = false |
| | | this.searchList() |
| | | }, |
| | | // éç½®æ¥è¯¢æ¡ä»¶ |
| | | resetSearchForm() { |
| | | this.searchForm.distributionYear = ''; |
| | | this.searchList() |
| | | }, |
| | | // å页 |
| | | pagination({ page, limit }) { |
| | | this.page.current = page; |
| | | this.page.size = limit; |
| | | this.searchList(); |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .view-title { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | height: 60px; |
| | | padding-left: 20px; |
| | | } |
| | | |
| | | .search-background { |
| | | width: 100%; |
| | | height: 80px; |
| | | line-height: 80px; |
| | | background-color: #ffffff; |
| | | display: flex; |
| | | position: relative; |
| | | } |
| | | |
| | | .search-group { |
| | | display: flex; |
| | | align-items: center; |
| | | margin: 0 20px; |
| | | } |
| | | |
| | | .table { |
| | | background-color: #ffffff; |
| | | } |
| | | |
| | | .btn { |
| | | position: absolute; |
| | | right: 20px; |
| | | top: 16px; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="formDia" title="ä¸ç¬¦å工使§å¶å" |
| | | width="80%" @close="closeProcessingDia"> |
| | | <div style="height: 660px; overflow-y: auto"> |
| | | <table border="1" cellspacing="10" class="tables"> |
| | | <tr> |
| | | <td class="first-title" rowspan="8"> |
| | | <p>ä¸ç¬¦å工使
åµè®°å½</p> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>åçé¨é¨ï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | <span class="td-info1"> {{ form.occurrenceDepartment }}</span> |
| | | </td> |
| | | <td class="td-title"> |
| | | <p>é¨é¨è´è´£äººï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | <span class="td-info1"> {{ form.headDepartment }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>ä¸ç¬¦åå·¥ä½åç°éå¾ï¼</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <el-radio-group v-model="form.findWay" v-removeAriaHidden disabled> |
| | | <el-radio :label="0">管çè¯å®¡</el-radio> |
| | | <el-radio :label="1">å
é¨å®¡æ ¸</el-radio> |
| | | <el-radio :label="2">æ£æµè¿ç¨æ§å¶</el-radio> |
| | | <el-radio :label="3">å
é¨è´¨éæ§å¶</el-radio> |
| | | <el-radio :label="4">å
é¨çç£</el-radio> |
| | | <el-radio :label="5">å¤é¨è¯å®¡</el-radio> |
| | | <el-radio :label="6">å¤é¨æè¯</el-radio> |
| | | <el-radio :label="7">å
¶ä»</el-radio> |
| | | </el-radio-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>ä¸ç¬¦åå·¥ä½ç详ç»è®°å½ï¼</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <span class="td-info1"> {{ form.recordDetail }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>ä¸ç¬¦åå·¥ä½ç以ååæ¡æ¬¾å·ï¼</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <span class="td-info1"> {{ form.recordAccording }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>被çç£äººï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | <span class="td-info1"> {{ form.supervisedUserName }}</span> |
| | | </td> |
| | | <td class="td-title"> |
| | | <p>被çç£æ¥æï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | <span class="td-info1"> {{ form.supervisedTime }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>åç°é¨é¨ï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{ form.foundDepartment }} |
| | | </td> |
| | | <td class="td-title"> |
| | | <p>æ¶é´ï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{ form.recordTime }} |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>è®°å½äººï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{ form.recordUserName }} |
| | | </td> |
| | | <td class="td-title"> |
| | | <p>è®°å½æ¶é´ï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{ form.recordTime }} |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="first-title" rowspan="3"> |
| | | <p>å¤çæªæ½</p> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>æ¶é¤ä¸ç¬¦å工使éåçæªæ½ï¼</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <span class="td-info1"> {{ form.eliminateMeasure }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>è´è´£äººï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{ form.actionsUserName }} |
| | | </td> |
| | | <td class="td-title"> |
| | | <p>å¤çæ¶é´ï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{ form.actionsTime }} |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="first-title" rowspan="4"> |
| | | <p>çº æ£æªæ½</p> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>æ¯å¦éè¦éåçº æ£æªæ½ï¼</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <el-radio-group v-model="form.isCorrect" v-removeAriaHidden disabled> |
| | | <el-radio :label="0">å¦</el-radio> |
| | | <el-radio :label="1">æ¯</el-radio> |
| | | </el-radio-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>çº æ£æªæ½å¤çåè·è¸ªï¼</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <span class="td-info1"> {{ form.correctContent }}</span> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>è´è´£äººï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{ form.correctUserName }} |
| | | </td> |
| | | <td class="td-title"> |
| | | <p>å¤çæ¶é´ï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{ form.correctTime }} |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="first-title" rowspan="4"> |
| | | <p>æ¯å¦éç¥å®¢æ·å坿¢å¤å·¥ä½</p> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>éç¥å®¢æ·ï¼</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <el-radio-group v-model="form.notifyCustomer" v-removeAriaHidden disabled> |
| | | <el-radio :label="0">å¦</el-radio> |
| | | <el-radio :label="1">æ¯</el-radio> |
| | | </el-radio-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>æ¢å¤å·¥ä½ï¼</p> |
| | | </td> |
| | | <td class="td-info" colspan="3"> |
| | | <el-radio-group v-model="form.backToWork" v-removeAriaHidden disabled> |
| | | <el-radio :label="0">å¦</el-radio> |
| | | <el-radio :label="1">æ¯</el-radio> |
| | | </el-radio-group> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td class="td-title"> |
| | | <p>è´è´£äººï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{ form.qualityManagerUserName }} |
| | | </td> |
| | | <td class="td-title"> |
| | | <p>å¤çæ¶é´ï¼</p> |
| | | </td> |
| | | <td class="td-info"> |
| | | {{ form.qualityManagerTime }} |
| | | </td> |
| | | </tr> |
| | | </table> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getSuperviseDetailAccording |
| | | } from '@/api/cnas/process/nonconformingWork.js' |
| | | export default { |
| | | name: 'qualityInfo', |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: {}, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | formDia: false, |
| | | form: { |
| | | occurrenceDepartment: '', |
| | | headDepartment: '', |
| | | findWay: '', |
| | | recordDetail: '', |
| | | recordAccording: '', |
| | | supervisedUserName: '', |
| | | supervisedTime: '', |
| | | actionsUserName: '', |
| | | eliminateMeasure: '', |
| | | correctUserName: '', |
| | | isCorrect: '', |
| | | correctContent: '', |
| | | recordUserName: '', |
| | | recordTime: '', |
| | | foundDepartment: '', |
| | | actionsTime: '', |
| | | correctTime: '', |
| | | notifyCustomer: '', |
| | | backToWork: '', |
| | | qualityManagerUserName: '', |
| | | qualityManagerTime: '', |
| | | }, |
| | | }; |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | openDia(row) { |
| | | this.formDia = true |
| | | this.searchInfo(row) |
| | | }, |
| | | // æ¥è¯¢çæ§è®¡å详æ
宿½ä¿¡æ¯ |
| | | searchInfo(row) { |
| | | this.form.qualityMonitorDetailsId = row.qualityMonitorDetailsId |
| | | getSuperviseDetailAccording({ superviseDetailsId: row.superviseDetailsId }).then(res => { |
| | | if (res.code === 201) return |
| | | this.form = res.data |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | }) |
| | | }, |
| | | // å
³éå¼¹æ¡ |
| | | closeProcessingDia() { |
| | | this.formDia = false |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | >>>.el-dialog { |
| | | margin: 5vh auto 50px !important; |
| | | } |
| | | |
| | | .tables { |
| | | table-layout: fixed; |
| | | width: 100%; |
| | | margin-top: 10px; |
| | | } |
| | | |
| | | .first-title { |
| | | display: table-cell; |
| | | width: 100px; |
| | | /* 设置ä¸ä¸ªåºå®å®½åº¦ */ |
| | | height: 200px; |
| | | /* 设置ä¸ä¸ªåºå®é«åº¦ */ |
| | | text-align: center; |
| | | /* æ°´å¹³å±
ä¸ */ |
| | | vertical-align: middle; |
| | | /* åç´å±
ä¸ */ |
| | | writing-mode: vertical-rl; |
| | | /* æåç«ç´æå */ |
| | | padding: 10px 0; |
| | | } |
| | | |
| | | .td-title { |
| | | height: 40px; |
| | | width: 170px; |
| | | text-align: center; |
| | | font-size: 14px; |
| | | word-wrap: break-word; |
| | | white-space: normal; |
| | | padding: 6px; |
| | | } |
| | | |
| | | .td-info { |
| | | padding: 10px; |
| | | } |
| | | |
| | | .td-info1 { |
| | | display: inline-block; |
| | | width: 100%; |
| | | text-align: left; |
| | | font-size: 14px; |
| | | word-wrap: break-word; |
| | | white-space: normal; |
| | | } |
| | | </style> |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <template> |
| | | <div> |
| | | <div> |
| | | <div class="search-background"> |
| | | <span class="search-group"> |
| | | <span style="width: 120px">åçé¨é¨ï¼</span> |
| | | <el-input v-model="searchForm.occurrenceDepartment" clearable size="small"></el-input> |
| | | </span> |
| | | <span class="search-group"> |
| | | <el-button size="medium" @click="resetSearchForm">é ç½®</el-button> |
| | | <el-button size="medium" type="primary" @click="searchList">æ¥ è¯¢</el-button> |
| | | </span> |
| | | </div> |
| | | <div class="table"> |
| | | <div> |
| | | <TableCard :showForm="false" :showTitle="false"> |
| | | <template v-slot:table> |
| | | <limsTable :column="tableColumn" :height="'calc(100vh - 19em)'" :table-data="tableData" |
| | | :table-loading="tableLoading" style="padding: 0 15px;margin-bottom: 16px" :page="page" |
| | | @pagination="pagination"> |
| | | </limsTable> |
| | | </template> |
| | | </TableCard> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <quality-info v-if="qualityInfo" ref="qualityInfo"></quality-info> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import limsTable from "@/components/Table/lims-table.vue"; |
| | | import TableCard from '@/components/TableCard/index.vue'; |
| | | import QualityInfo from './components/qualityInfo.vue'; |
| | | import { |
| | | pageSuperviseDetailAccording, |
| | | superviseDetailAccordingExport |
| | | } from '@/api/cnas/process/nonconformingWork.js' |
| | | |
| | | export default { |
| | | name: 'a7-nonconforming-item', |
| | | // import å¼å
¥çç»ä»¶éè¦æ³¨å
¥å°å¯¹è±¡ä¸æè½ä½¿ç¨ |
| | | components: { QualityInfo, TableCard, limsTable }, |
| | | data() { |
| | | // è¿éåæ¾æ°æ® |
| | | return { |
| | | searchForm: { |
| | | occurrenceDepartment: '', |
| | | }, |
| | | tableColumn: [ |
| | | { |
| | | label: 'åçé¨é¨', |
| | | prop: 'occurrenceDepartment', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | label: 'é¨é¨è´è´£äºº', |
| | | prop: 'headDepartment', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | label: 'åç°éå¾', |
| | | prop: 'findWay', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | label: '详ç»è®°å½', |
| | | prop: 'recordDetail', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | label: '便®åæ¡æ¬¾å·', |
| | | prop: 'recordAccording', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | label: 'åç°é¨é¨', |
| | | prop: 'foundDepartment', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | label: '被çç£äºº', |
| | | prop: 'supervisedUserName', |
| | | minWidth: '100' |
| | | }, |
| | | { |
| | | dataType: 'action', |
| | | minWidth: '60', |
| | | label: 'æä½', |
| | | operation: [ |
| | | { |
| | | name: 'æ¥ç', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.viewInfo(row); |
| | | }, |
| | | }, |
| | | { |
| | | name: '导åº', |
| | | type: 'text', |
| | | clickFun: (row) => { |
| | | this.openDownloadDia(row); |
| | | }, |
| | | }, |
| | | ] |
| | | } |
| | | ], |
| | | tableData: [], |
| | | tableLoading: false, |
| | | page: { |
| | | size: 20, |
| | | current: 1, |
| | | total: 0, |
| | | }, |
| | | qualityInfo: false, |
| | | }; |
| | | }, |
| | | mounted() { |
| | | this.searchList() |
| | | }, |
| | | // æ¹æ³éå |
| | | methods: { |
| | | // æ¥è¯¢å表 |
| | | searchList() { |
| | | const entity = { |
| | | occurrenceDepartment: this.searchForm.occurrenceDepartment, |
| | | } |
| | | const page = this.page |
| | | this.tableLoading = true |
| | | pageSuperviseDetailAccording({ ...entity, ...page }).then(res => { |
| | | this.tableLoading = false |
| | | if (res.code === 201) return |
| | | this.tableData = res.data.records |
| | | this.page.total = res.data.total |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | this.tableLoading = false |
| | | }) |
| | | }, |
| | | // éç½®æ¥è¯¢æ¡ä»¶ |
| | | resetSearchForm() { |
| | | this.searchForm.occurrenceDepartment = ''; |
| | | this.searchList() |
| | | }, |
| | | viewInfo(row) { |
| | | this.qualityInfo = true |
| | | this.$nextTick(() => { |
| | | this.$refs.qualityInfo.openDia(row) |
| | | }) |
| | | }, |
| | | // å¯¼åº |
| | | openDownloadDia(row) { |
| | | superviseDetailAccordingExport({ superviseDetailsId: row.superviseDetailsId }).then(res => { |
| | | this.$message.success('å¯¼åºæå') |
| | | const blob = new Blob([res], { type: 'application/msword' }); |
| | | this.$download.saveAs(blob, 'ä¸ç¬¦å项导åº' + '.docx'); |
| | | }).catch(err => { |
| | | console.log('err---', err); |
| | | }) |
| | | }, |
| | | // å页 |
| | | pagination({ page, limit }) { |
| | | this.page.current = page; |
| | | this.page.size = limit; |
| | | this.searchList(); |
| | | }, |
| | | } |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .view-title { |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | height: 60px; |
| | | padding-left: 20px; |
| | | } |
| | | |
| | | .search-background { |
| | | width: 100%; |
| | | height: 80px; |
| | | line-height: 80px; |
| | | background-color: #ffffff; |
| | | display: flex; |
| | | } |
| | | |
| | | .search-group { |
| | | display: flex; |
| | | align-items: center; |
| | | margin: 0 20px; |
| | | } |
| | | |
| | | .table { |
| | | background-color: #ffffff; |
| | | } |
| | | </style> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getFeLightningProtection, |
| | | deviceScopeSearch, |
| | | selectUserCondition, |
| | | treeDevice, |
| | | addFeLightningProtection, |
| | | deleteFeLightningProtection, |
| | | getFeIlluminationDetectionArea, |
| | | deleteFeIlluminationDetectionArea, |
| | | exportFeIllumination |
| | | } from '@/api/cnas/resourceDemand/facilitiesEnvironment/facilitiesAndEnvironment' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | search: { |
| | | size: 20, |
| | | size: 10, |
| | | current: 1, |
| | | total: 0 |
| | | }, |
| | |
| | | } |
| | | }, |
| | | edit(row) { |
| | | this.$axios.get(this.$api.facilitiesAndEnvironment.getFeIlluminationDetectionArea + "?intensityIlluminationId=" + row.intensityIlluminationId).then(res => { |
| | | getFeIlluminationDetectionArea({intensityIlluminationId:row.intensityIlluminationId}).then(res => { |
| | | this.form = {...row} |
| | | this.form.illuminationDetectionAreaList = res.data; |
| | | this.dialogVisible = true |
| | | }); |
| | | }, |
| | | initData() { |
| | | this.$axios.get(this.$api.facilitiesAndEnvironment.getFeLightningProtection + '?size=' + this.search.size + '¤t=' + this.search.current).then(res => { |
| | | if (res.code === 201) return; |
| | | this.tableData = res.data.records; |
| | | this.search.total = res.data.total; |
| | | getFeLightningProtection({...this.search}).then(res => { |
| | | if (res.code === 200){ |
| | | this.tableData = res.data.records; |
| | | this.search.total = res.data.total; |
| | | } |
| | | }); |
| | | }, |
| | | handleSizeChange(val) { |
| | |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.$axios.delete(this.$api.facilitiesAndEnvironment.deleteFeLightningProtection + '?intensityIlluminationId=' + row.intensityIlluminationId).then(res => { |
| | | deleteFeLightningProtection({intensityIlluminationId: row.intensityIlluminationId}).then(res => { |
| | | this.$message.success('å 餿åï¼') |
| | | this.initData() |
| | | }) |
| | |
| | | }, |
| | | feMeasuredQuantityListDelete(row, index) { |
| | | if (row.detectionAreaId) { |
| | | this.$axios.delete(this.$api.facilitiesAndEnvironment.deleteFeIlluminationDetectionArea + '?detectionAreaId=' + row.detectionAreaId).then(res => { |
| | | if (res.code === 201) return |
| | | this.form.illuminationDetectionAreaList.splice(index, 1) |
| | | this.$message.success('å 餿åï¼') |
| | | deleteFeIlluminationDetectionArea({detectionAreaId:row.detectionAreaId}).then(res => { |
| | | if (res.code === 200){ |
| | | this.form.illuminationDetectionAreaList.splice(index, 1) |
| | | this.$message.success('å 餿åï¼') |
| | | } |
| | | }) |
| | | } else { |
| | | this.form.illuminationDetectionAreaList.splice(index, 1) |
| | |
| | | } |
| | | }, |
| | | openDialog() { |
| | | this.$axios.get(this.$api.deviceScope.treeDevice).then(res => { |
| | | treeDevice().then(res => { |
| | | this.cascaderList = res.data; |
| | | }); |
| | | this.$nextTick(() => { |
| | |
| | | // è·åææè®¾å¤ |
| | | getEquipOptions() { |
| | | this.equipOptions = [] |
| | | this.$axios.get(this.$api.deviceScope.deviceScopeSearch+'?status=0').then(res => { |
| | | deviceScopeSearch({status:'0'}).then(res => { |
| | | if (res.code === 200 && res.data) { |
| | | this.equipOptions = res.data |
| | | } |
| | |
| | | this.submitLoading = true |
| | | this.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | this.$axios.post(this.$api.facilitiesAndEnvironment.addFeLightningProtection, this.form, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | addFeLightningProtection(this.form).then(res => { |
| | | this.submitLoading = false |
| | | if (res.code === 200) { |
| | | this.initData() |
| | |
| | | }, |
| | | // è·åè´è´£äººä¿¡æ¯æ¥å£ |
| | | getUserList() { |
| | | this.$axios.get(this.$api.deviceScope.selectUserList).then(res => { |
| | | selectUserCondition().then(res => { |
| | | if (res.code == 200) { |
| | | this.responsibleOptions = res.data |
| | | } |
| | |
| | | }, |
| | | // å¯¼åº |
| | | downLoadPost(row) { |
| | | this.$axios.get(this.$api.facilitiesAndEnvironment.exportFeIllumination + '?intensityIlluminationId=' + row.intensityIlluminationId,{responseType: "blob"}).then(res => { |
| | | exportFeIllumination({intensityIlluminationId: row.intensityIlluminationId}).then(res => { |
| | | this.outLoading = false |
| | | const blob = new Blob([res],{ type: 'application/msword' }); |
| | | //å°Blob å¯¹è±¡è½¬æ¢æå符串 |
| | | let reader = new FileReader(); |
| | | reader.readAsText(blob, 'utf-8'); |
| | | reader.onload = () => { |
| | | try { |
| | | let result = JSON.parse(reader.result); |
| | | if (result.message) { |
| | | this.$message.error(result.message); |
| | | } else { |
| | | const url = URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = 'ç
§åº¦è®°å½' + '.docx'; |
| | | link.click(); |
| | | this.$message.success('å¯¼åºæå') |
| | | } |
| | | } catch (err) { |
| | | console.log(err); |
| | | const url = URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = 'ç
§åº¦è®°å½' + '.docx'; |
| | | link.click(); |
| | | this.$message.success('å¯¼åºæå') |
| | | } |
| | | } |
| | | this.$download.saveAs(blob, 'ç
§åº¦è®°å½.docx') |
| | | this.$message.success('å¯¼åºæå') |
| | | }) |
| | | }, |
| | | } |
| | |
| | | |
| | | <script> |
| | | |
| | | import { |
| | | getLightningProtectionDetection, |
| | | addLightningProtectionDetection, |
| | | deleteLightningProtectionDetection, |
| | | exportOfLightningProtectionDetection |
| | | } from '@/api/cnas/resourceDemand/facilitiesEnvironment/facilitiesAndEnvironment' |
| | | |
| | | import axios from 'axios'; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | search: { |
| | | size: 20, |
| | | size: 10, |
| | | current: 1, |
| | | total: 0 |
| | | }, |
| | |
| | | methods: { |
| | | // å¯¼åº |
| | | downLoadPost() { |
| | | this.$axios.get(this.$api.facilitiesAndEnvironment.exportOfLightningProtectionDetection,{responseType: "blob"}).then(res => { |
| | | exportOfLightningProtectionDetection().then(res => { |
| | | this.outLoading = false |
| | | const blob = new Blob([res],{ type: 'application/msword' }); |
| | | //å°Blob å¯¹è±¡è½¬æ¢æå符串 |
| | | let reader = new FileReader(); |
| | | reader.readAsText(blob, 'utf-8'); |
| | | reader.onload = () => { |
| | | try { |
| | | let result = JSON.parse(reader.result); |
| | | if (result.message) { |
| | | this.$message.error(result.message); |
| | | } else { |
| | | const url = URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = 'é²é·æ£æµå¯¼åº' + '.xlsx'; |
| | | link.click(); |
| | | this.$message.success('å¯¼åºæå') |
| | | } |
| | | } catch (err) { |
| | | console.log(err); |
| | | const url = URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = 'é²é·æ£æµå¯¼åº' + '.xlsx'; |
| | | link.click(); |
| | | this.$message.success('å¯¼åºæå') |
| | | } |
| | | } |
| | | this.$download.saveAs(blob,'é²é·æ£æµå¯¼åº.xlsx') |
| | | }) |
| | | }, |
| | | initData() { |
| | | this.$axios.get(this.$api.facilitiesAndEnvironment.getLightningProtectionDetection + '?size=' + this.search.size + '¤t=' + this.search.current).then(res => { |
| | | if (res.code === 201) return; |
| | | this.tableData = res.data.records; |
| | | this.search.total = res.data.total; |
| | | getLightningProtectionDetection({...this.search}).then(res => { |
| | | if (res.code === 200){ |
| | | this.tableData = res.data.records; |
| | | this.search.total = res.data.total; |
| | | } |
| | | |
| | | }); |
| | | }, |
| | | handleSizeChange(val) { |
| | |
| | | if (this.form.fileData.length > 0) { |
| | | params.append("file", this.form.fileData[0].file) |
| | | } |
| | | this.$axios.post(this.$api.facilitiesAndEnvironment.addLightningProtectionDetection, params, { |
| | | headers: {'Content-Type': 'multipart/form-data;'}, |
| | | noQs: true |
| | | }).then(res => { |
| | | if (res.code === 201) return; |
| | | this.dialogVisible = false |
| | | this.initData() |
| | | addLightningProtectionDetection(params).then(res => { |
| | | if (res.code === 200){ |
| | | this.dialogVisible = false |
| | | this.initData() |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.$axios.delete(this.$api.facilitiesAndEnvironment.deleteLightningProtectionDetection + '?lightningProtectionId=' + row.lightningProtectionId).then(res => { |
| | | deleteLightningProtectionDetection({lightningProtectionId:row.lightningProtectionId}).then(res => { |
| | | this.$message.success('å 餿åï¼') |
| | | this.initData() |
| | | }) |
| | |
| | | }, |
| | | download(row) { |
| | | let url = ''; |
| | | |
| | | // fileDownload.downloadIamge(url, row.fileName) |
| | | url = this.javaApi + 'img/' + row.systemFileName |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = row.fileName; |
| | | link.click(); |
| | | url = this.javaApi + '/img/' + row.systemFileName |
| | | this.$download.saveAs(url, row.fileName) |
| | | } |
| | | } |
| | | } |
| | |
| | | treeDevice, |
| | | selectUserCondition, |
| | | addLaboratoryFacilityPowerStable, |
| | | deleteFeMeasuredQuantity |
| | | deleteFeMeasuredQuantity, |
| | | getFeMeasuredQuantityService, |
| | | deleteLaboratoryFacilityPowerStable, |
| | | exportFePowerStable |
| | | } from '@/api/cnas/resourceDemand/facilitiesEnvironment/facilitiesAndEnvironment' |
| | | |
| | | export default { |
| | |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.$axios.delete(this.$api.facilitiesAndEnvironment.deleteLaboratoryFacilityPowerStable + '?powerStableId=' + row.powerStableId).then(res => { |
| | | deleteLaboratoryFacilityPowerStable({powerStableId:row.powerStableId}).then(res => { |
| | | this.$message.success('å 餿åï¼') |
| | | this.initData() |
| | | }) |
| | |
| | | // çµæºç¨³å®æ§-æµå®éå¼¹æ¡ä¸è¡¨æ ¼çå é¤è¡ |
| | | feMeasuredQuantityListDelete(row, index) { |
| | | if (row.measuredQuantityId) { |
| | | this.$axios.delete(this.$api.facilitiesAndEnvironment.deleteFeMeasuredQuantity + '?measuredQuantityId=' + row.measuredQuantityId).then(res => { |
| | | deleteFeMeasuredQuantity({measuredQuantityId:row.measuredQuantityId}).then(res => { |
| | | if (res.code === 201) return |
| | | this.form.feMeasuredQuantityList.splice(index, 1) |
| | | this.$message.success('å 餿åï¼') |
| | |
| | | }, |
| | | // å¯¼åº |
| | | downLoadPost(row) { |
| | | this.$axios.get(this.$api.facilitiesAndEnvironment.exportFePowerStable + '?powerStableId=' + row.powerStableId,{responseType: "blob"}).then(res => { |
| | | exportFePowerStable({powerStableId: row.powerStableId}).then(res => { |
| | | this.outLoading = false |
| | | const blob = new Blob([res],{ type: 'application/msword' }); |
| | | //å°Blob å¯¹è±¡è½¬æ¢æå符串 |
| | | let reader = new FileReader(); |
| | | reader.readAsText(blob, 'utf-8'); |
| | | reader.onload = () => { |
| | | try { |
| | | let result = JSON.parse(reader.result); |
| | | if (result.message) { |
| | | this.$message.error(result.message); |
| | | } else { |
| | | const url = URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = 'çµæºç¨³å®æ§' + '.docx'; |
| | | link.click(); |
| | | this.$message.success('å¯¼åºæå') |
| | | } |
| | | } catch (err) { |
| | | console.log(err); |
| | | const url = URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = 'çµæºç¨³å®æ§' + '.docx'; |
| | | link.click(); |
| | | this.$message.success('å¯¼åºæå') |
| | | } |
| | | } |
| | | this.$download.saveAs(blob, 'çµæºç¨³å®æ§.docx') |
| | | this.$message.success('å¯¼åºæå') |
| | | }) |
| | | }, |
| | | // çµæºç¨³å®æ§ ç¹å»è¡ç¼è¾è§¦å |
| | | edit(row) { |
| | | this.$axios.get(this.$api.facilitiesAndEnvironment.getFeMeasuredQuantityService + "?powerStableId=" + row.powerStableId).then(res => { |
| | | getFeMeasuredQuantityService({powerStableId: row.powerStableId}).then((res => { |
| | | this.form = {...row} |
| | | this.form.feMeasuredQuantityList = res.data; |
| | | this.dialogVisible = true |
| | | }); |
| | | })) |
| | | }, |
| | | // è·åè´è´£äººä¿¡æ¯æ¥å£ |
| | | getUserList() { |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getFeTempHumDate, |
| | | addFeTempHumDate, |
| | | getFeTempHumRecordPage, |
| | | addFeTempHumRecord, |
| | | selectUserCondition, |
| | | deleteFeTempHumRecord, |
| | | deleteFeTempHumDate, |
| | | exportTemperatureAndHumidityRecords, |
| | | affirmFeTempHumDate |
| | | } from '@/api/cnas/resourceDemand/facilitiesEnvironment/facilitiesAndEnvironment' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | dateId: this.approvalRow.dateId, |
| | | subjoin: this.subjoin, |
| | | } |
| | | this.$axios.post(this.$api.facilitiesAndEnvironment.affirmFeTempHumDate, params, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | }, |
| | | noQs: true |
| | | }).then(res => { |
| | | affirmFeTempHumDate(params).then(res => { |
| | | this.approvalLoading = false |
| | | if (res.code === 200) { |
| | | this.$message.success('确认æåï¼') |
| | |
| | | }) |
| | | }, |
| | | openDialog() { |
| | | this.$axios.get(this.$api.deviceScope.selectUserList).then(res => { |
| | | selectUserCondition().then(res => { |
| | | if (res.code == 200) { |
| | | this.responsibleOptions = res.data |
| | | } |
| | |
| | | this.$refs.form.validate((valid) => { |
| | | if (valid) { |
| | | this.submitLoading = true |
| | | this.$axios.post(this.$api.facilitiesAndEnvironment.addFeTempHumDate, this.form, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | addFeTempHumDate(this.form).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success('æ°å¢æå!') |
| | | this.submitLoading = false |
| | |
| | | this.submitLoading = true |
| | | if (valid) { |
| | | this.form1.dateId = this.saveRow.dateId |
| | | this.$axios.post(this.$api.facilitiesAndEnvironment.addFeTempHumRecord, this.form1, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | addFeTempHumRecord(this.form1).then(res => { |
| | | if (res.code === 200) { |
| | | this.$message.success('æ°å¢æå!') |
| | | this.submitLoading = false |
| | |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.$axios.delete(this.$api.facilitiesAndEnvironment.deleteFeTempHumDate + '?dateId=' + row.dateId).then(res => { |
| | | deleteFeTempHumDate({dateId:row.dateId}).then(res => { |
| | | this.$message.success('å 餿åï¼') |
| | | this.initData() |
| | | }) |
| | |
| | | }, |
| | | // å¯¼åº |
| | | downLoadPost(row) { |
| | | this.$axios.get(this.$api.facilitiesAndEnvironment.exportTemperatureAndHumidityRecords + '?dateId=' + row.dateId,{responseType: "blob"}).then(res => { |
| | | exportTemperatureAndHumidityRecords({dateId:row.dateId}).then(res => { |
| | | this.outLoading = false |
| | | const blob = new Blob([res],{ type: 'application/msword' }); |
| | | //å°Blob å¯¹è±¡è½¬æ¢æå符串 |
| | | let reader = new FileReader(); |
| | | reader.readAsText(blob, 'utf-8'); |
| | | reader.onload = () => { |
| | | try { |
| | | let result = JSON.parse(reader.result); |
| | | if (result.message) { |
| | | this.$message.error(result.message); |
| | | } else { |
| | | const url = URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = '温湿度记å½' + '.docx'; |
| | | link.click(); |
| | | this.$message.success('å¯¼åºæå') |
| | | } |
| | | } catch (err) { |
| | | console.log(err); |
| | | const url = URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = '温湿度记å½' + '.docx'; |
| | | link.click(); |
| | | this.$message.success('å¯¼åºæå') |
| | | } |
| | | } |
| | | this.$download.saveAs(blob, '温湿度记å½.docx') |
| | | this.$message.success('å¯¼åºæå') |
| | | }) |
| | | }, |
| | | deleteRowFun1(row) { |
| | |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | this.$axios.delete(this.$api.facilitiesAndEnvironment.deleteFeTempHumRecord + '?tempHumId=' + row.tempHumId).then(res => { |
| | | deleteFeTempHumRecord({tempHumId:row.tempHumId}).then(res => { |
| | | this.$message.success('å 餿åï¼') |
| | | this.initData1(this.saveRow.dateId) |
| | | }) |
| | | }) |
| | | }, |
| | | initData() { |
| | | this.$axios.get(this.$api.facilitiesAndEnvironment.getFeTempHumDate + '?size=' + this.search.size + '¤t=' + this.search.current + '&testAreaName=' + this.search.testAreaName).then(res => { |
| | | if (res.code === 201) return; |
| | | this.tableData = res.data.records; |
| | | this.search.total = res.data.total; |
| | | if (res.data.records.length === 0) { |
| | | this.tableData1 = [] |
| | | this.saveRow.monthDate = '' |
| | | getFeTempHumDate({ |
| | | ...this.search, |
| | | ...this.search}).then(res => { |
| | | if (res.code === 200){ |
| | | this.tableData = res.data.records; |
| | | this.search.total = res.data.total; |
| | | if (res.data.records.length === 0) { |
| | | this.tableData1 = [] |
| | | this.saveRow.monthDate = '' |
| | | } |
| | | } |
| | | }); |
| | | |
| | | }) |
| | | }, |
| | | initData1(dateId) { |
| | | this.$axios.get(this.$api.facilitiesAndEnvironment.getFeTempHumRecordPage + '?size=' + this.search1.size + '¤t=' + this.search1.current + '&dateId=' + dateId).then(res => { |
| | | if (res.code === 201) return; |
| | | this.tableData1 = res.data.records; |
| | | this.search1.total = res.data.total; |
| | | let form = {dateId: dateId} |
| | | getFeTempHumRecordPage({ |
| | | ...this.search1, |
| | | ...form |
| | | }).then(res => { |
| | | if (res.code === 200){ |
| | | this.tableData1 = res.data.records; |
| | | this.search1.total = res.data.total; |
| | | } |
| | | }); |
| | | }, |
| | | handleSizeChange(val) { |
| | |
| | | </div> |
| | | </el-dialog> |
| | | <el-dialog :before-close="closeCopyTem" :close-on-click-modal="false" :close-on-press-escape="false" |
| | | :visible.sync="isShowCopyTem" :title="title" width="35%"> |
| | | :visible.sync="isShowCopyTem" :title="title" width="35%" :modal-append-to-body="false"> |
| | | <el-form ref="copyForm" :model="copyForm" :rules="copyFormRules" label-position="right" label-width="80px"> |
| | | <el-form-item label="模çç¼å·" prop="number"> |
| | | <el-input v-model="copyForm.number" clearable size="small"></el-input> |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | /* >>>.el-dialog__wrapper { |
| | | z-index: 100 !important; |
| | | } */ |
| | | |
| | | .search { |
| | | background-color: #fff; |
| | | height: 80px; |