From 648d11b8ea7df744c189dfc9f19202ff62a26345 Mon Sep 17 00:00:00 2001 From: guoshipeng <3194674006@qq.com> Date: Thu, 03 Aug 2023 11:38:35 +0800 Subject: [PATCH] 修改批量补偿 --- src/views/list/devicesBasic.vue | 400 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 399 insertions(+), 1 deletions(-) diff --git a/src/views/list/devicesBasic.vue b/src/views/list/devicesBasic.vue index ec7b793..0a554d1 100644 --- a/src/views/list/devicesBasic.vue +++ b/src/views/list/devicesBasic.vue @@ -13,6 +13,13 @@ style="margin-left: 25px" >������ </a-button> + <a-button + icon="plus" + type="primary" + @click="() => this.handleModalVisible1(true)" + style="margin-left: 25px" + >��������������������� + </a-button> </a-col> <a-col :span="4"> <a-form-model-item @@ -86,6 +93,125 @@ ></av-standard-table> </div> </a-card> + + <a-modal + title="���������������������" + :visible="visibleCreateModal1" + @cancel="handleCreateModalCancel1" + destroyOnClose + class="modalStylezhi" + okText="������" + > + <template #footer> + <a-button key="back" @click="handleCreateModalCancel1">������</a-button> + <a-button + key="submit" + type="primary" + :loading="loading" + @click="handleOk" + >������</a-button + > + </template> + <div class="modalone"> + <div class="theone"> + <a-select + ref="select" + v-model="selectvalue1" + allowClear + placeholder="���������������" + :options="selectoptions" + @change="handleChangevalue1" + style="margin-top: 40px; margin-left: 10px; width: 130px" + ></a-select> + </div> + <div class="thetwo"> + <div style="height: 50px"> + <div style="margin-top: 15px; margin-left: 20px"> + <span style="font-size: 17.5px; color: black">AQI��� :</span + ><a-select + ref="select" + v-model="AQIvalue1" + style="width: 100px; margin-left: 16px" + allowClear + :options="AQIoptions" + @change="AQIhandleChange" + ></a-select> + <a-input + v-model="AQIvalue" + style="width: 100px; margin-left: 15px" + /> + </div> + </div> + <div style="height: 50px"> + <div style="margin-left: 20px"> + <span style="font-size: 17.5px; color: black">��������� :</span + ><a-select + ref="select" + v-model="ceAQIvalue" + style="width: 100px; margin-left: 10px" + allowClear + :options="ceAQIoptions" + @change="ceAQIhandleChange" + ></a-select> + <a-input + v-model="ceAQIvaluein" + style="width: 100px; margin-left: 15px" + /> + </div> + </div> + </div> + <div class="thethree"> + <div style="margin-left: 20px; margin-top: 40px"> + <span style="font-size: 16px; color: black">������������:</span> + <span style="font-size: 17.5px; color: black"> + (���AQI������ {{ AQIvalue1 }} + <span style="color: #cbcb28">{{ AQIvalue }} </span>) + (��������������� + {{ ceAQIvalue + }}<span style="color: #cbcb28"> {{ ceAQIvaluein }}</span + >)</span + > + </div> + </div> + </div> + <div class="modaltwo"> + <a-select + placeholder="������������(������������������)" + allow-clear + show-search + style="width: 200px" + > + <a-select-option + v-for="(item, index) in MonitorPoints" + :key="index" + :value="item.id" + @click="handleChange2" + >{{ item.name }} + </a-select-option> + </a-select> + </div> + <div> + <a-table + :row-selection="{ + getCheckboxProps: this.rowSelection.getCheckboxProps, + onChange: this.rowSelectionChange, + }" + :columns="tablecolumns" + :data-source="datatable" + style="margin-top: 20px" + bordered + row-key="name" + :scroll="{ x: 900, y: 300 }" + :pagination="false" + > + <template #bodyCell="{ column, text }"> + <template v-if="column.dataIndex === 'name'"> + <a>{{ text }}</a> + </template> + </template> + </a-table> + </div> + </a-modal> + <a-modal title="������-������" destroyOnClose @@ -948,6 +1074,7 @@ <script lang="tsx"> import {Component, Prop, Vue, Model, Watch} from "vue-property-decorator"; +import type { TableProps, TableColumnType } from 'ant-design-vue'; import moment from "moment"; import { get, post } from "@/util/request"; import UpdateTaskForm from "./components/UpdateTaskFormRole.vue"; @@ -1068,6 +1195,8 @@ private visibleCreateModal: boolean = false; + private visibleCreateModal1: boolean = false; + private editTaskFormVisible: boolean = false; private distributionMenuVisible: boolean = false; @@ -1084,6 +1213,160 @@ }; private updateRecord1: any = {}; + private selectvalue1:any = '���������������'; + private selectoptions:any[]=[ + { + value: 'a34004', + label: 'PM2.5', + }, + { + value: 'a34002', + label: 'PM10', + }, + { + value: 'a05024', + label: '������', + }, + { + value: 'a21004', + label: '������������', + }, + { + value: 'a21026', + label: '������������', + }, + { + value: 'a21005', + label: '������������', + }, + { + value: 'a99054', + label: 'TVOC', + }, + ] + private AQIvalue1:any = '+'; + private ceAQIvalue:any = '+'; + private ceAQIvaluein:number = 0.01; + private AQIvalue:number = 0.01; + private AQIoptions:any[]=[ + { + value: '+', + label: '+', + }, + { + value: '-', + label: '-', + }, + { + value: '*', + label: '*', + }, + { + value: '/', + label: '/', + }, + ] + private ceAQIoptions:any[]=[ + { + value: '+', + label: '+', + }, + { + value: '-', + label: '-', + }, + { + value: '*', + label: '*', + }, + { + value: '/', + label: '/', + }, + ] + + private handleChangevalue1(value: string){ + console.log(value); + } + private AQIhandleChange(value: string){ + console.log(value); + } + private ceAQIhandleChange(value: string){ + console.log(value); + } + private tablecolumns:TableColumnType<datatable>=[ + { + title: "������", + dataIndex: "name" + }, + { + title: '���������', + dataIndex: 'value', + }, + { + title: '���������', + dataIndex: 'agehou', + }, + ] + private datatable:any[]=[ + // { + // key: '1', + // name: 'John Brown', + // age: 'aqi*0.93+cel*0.07', + // age1:0.93, + // age2:0.07, + // address: 'New York No. 1 Lake Park', + // agehou:'' + // }, + // { + // key: '2', + // name: 'Jim Green', + // age: 'aqi*0.93+cel*0.07', + // age1:0.93, + // age2:0.07, + // address: 'London No. 1 Lake Park', + // agehou:'' + // }, + // { + // key: '3', + // name: 'Joe Black', + // age: 'aqi*0.93+cel*0.07', + // age1:0.93, + // age2:0.07, + // address: 'Sidney No. 1 Lake Park', + // agehou:'' + // } + ] + private rowSelectionChange(selectedRowKeys: string[], selectedRows: DataType[]){ + // console.log(selectedRows); + this.selectedtable=selectedRows + } + private selectedtable:any[]=[] + private rowSelection:TableProps['rowSelection']={ + onChange: (selectedRowKeys: string[], selectedRows: DataType[]) => { + this.selectedtable=selectedRows + // console.log(this.selectedtable); + }, + getCheckboxProps: (record: DataType) => ({ + name: record.name, + }), + } + private handleOk(){ + // console.log(this.selectedtable); + post('deviceAdjustValue/updateAllAdjust',{ + AdjustForm:this.selectedtable + }).then((res:any)=>{ + console.log(res); + if(res.data.code == 0){ + this.$message.success('������������') + this.handleCreateModalCancel1() + } + }) + // this.loading = true; + // setTimeout(() => { + // this.loading = false; + // }, 2000); + } private columns: any[] = [ { @@ -1325,6 +1608,9 @@ this.getGovPointByArea('') this.techFlag = false } + private handleModalVisible1(isVisible: boolean): void { + this.visibleCreateModal1=isVisible + } private toggleForm(): void { this.expandForm = !this.expandForm; @@ -1362,12 +1648,68 @@ //��������������������� private handleChange1(selectedItems:any) { + if (selectedItems === undefined) { this.selectMt = null }else { this.selectMt = selectedItems; } this.loadRuleData(1) + } + private handleChange2(res:any){ + // console.log(res.key); + if(this.selectvalue1==='���������������'){ + this.$message.warning('������������������') + return + } + post('deviceAdjustValue/getAllAdjust',{ + code:this.selectvalue1, + id:res.key, + }).then((res:any)=>{ + this.datatable=[] + this.datatable=res.data.data + if(this.selectvalue1==='a99054'){ + for(var i=0;i<this.datatable.length;i++){ + if(this.ceAQIvalue==='+'){ + this.datatable[i].cel=parseFloat(this.datatable[i].cel+Number(this.ceAQIvaluein)).toFixed(2) + }else if(this.ceAQIvalue==='-'){ + this.datatable[i].cel=parseFloat(this.datatable[i].cel-Number(this.ceAQIvaluein)).toFixed(2) + }else if(this.ceAQIvalue==='*'){ + this.datatable[i].cel=parseFloat(this.datatable[i].cel*Number(this.ceAQIvaluein)).toFixed(3) + }else if(this.ceAQIvalue==='/'){ + this.datatable[i].cel=parseFloat(this.datatable[i].cel/Number(this.ceAQIvaluein)).toFixed(2) + } + this.datatable[i].agehou='ce1*'+this.datatable[i].cel + } + }else{ + for(var i=0;i<this.datatable.length;i++){ + // this.datatable[i].aqi=parseFloat(this.datatable[i].aqi+this.AQIvalue).toFixed(2) + // this.datatable[i].cel=parseFloat(this.datatable[i].cel+this.ceAQIvaluein).toFixed(2) + // this.datatable[i].agehou='aqi*'+this.datatable[i].aqi+'+'+'ce1*'+this.datatable[i].cel + if(this.AQIvalue1==='+'){ + // console.log(this,'+++'); + this.datatable[i].aqi=parseFloat((this.datatable[i].aqi) + Number(this.AQIvalue)).toFixed(2) + }else if(this.AQIvalue1==='-'){ + this.datatable[i].aqi=parseFloat(this.datatable[i].aqi - Number(this.AQIvalue)).toFixed(2) + } else if(this.AQIvalue1==='*'){ + this.datatable[i].aqi=parseFloat(this.datatable[i].aqi * Number(this.AQIvalue)).toFixed(3) + }else if(this.AQIvalue1==='/'){ + this.datatable[i].aqi=parseFloat(this.datatable[i].aqi / Number(this.AQIvalue)).toFixed(2) + } + if(this.ceAQIvalue==='+'){ + this.datatable[i].cel=parseFloat(this.datatable[i].cel + Number(this.ceAQIvaluein)).toFixed(2) + }else if(this.ceAQIvalue==='-'){ + this.datatable[i].cel=parseFloat(this.datatable[i].cel - Number(this.ceAQIvaluein)).toFixed(2) + }else if(this.ceAQIvalue==='*'){ + this.datatable[i].cel=parseFloat(this.datatable[i].cel * Number(this.ceAQIvaluein)).toFixed(3) + }else if(this.ceAQIvalue==='/'){ + this.datatable[i].cel=parseFloat(this.datatable[i].cel / Number(this.ceAQIvaluein)).toFixed(2) + } + this.datatable[i].agehou='aqi*'+this.datatable[i].aqi+'+'+'ce1*'+this.datatable[i].cel + } + } + + }) } @@ -1595,7 +1937,12 @@ // ���������������������id private selectMt: any = null - + + private loading: boolean=false + + private handleCancel(){ + + } //������������ private handleCreateModalOk() { this.form.validateFields((err: any, values: any) => { @@ -1687,6 +2034,12 @@ lat: '' } this.visibleCreateModal = false; + } + + private handleCreateModalCancel1():any{ + this.visibleCreateModal1=false; + this.datatable=[] + this.selectvalue1='���������������' } private handlerSelectChange(arr1: any, arr2: any) { @@ -1957,4 +2310,49 @@ min-height: 0; } } +.modalStylezhi { + .ant-modal-content { + width: 1000px; + margin-left: -250px; + } + .ant-modal-title { + font-size: 20px; + margin-left: -25px; + } + .ant-form-item { + margin-bottom: 0px; + } + + .ant-form-explain { + display: none; + min-height: 0; + } + .ant-modal-header { + width: 95%; + margin-left: 25px; + } +} +.modalone { + height: 120px; + border-bottom: 1px solid #e8e8e8; + display: flex; + .theone { + width: 20%; + border-right: 1px #e8e8e8 dashed; + height: 100px; + } + .thetwo { + width: 35%; + border-right: 1px #e8e8e8 dashed; + height: 100px; + } + .thethree { + width: 45%; + height: 100px; + } +} +.modaltwo { + margin-top: 20px; + margin-left: 10px; +} </style> -- Gitblit v1.8.0