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