| | |
| | | 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
|
| | |
| | | ></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"
|
| | | @blur="ceAQIhandleChange"
|
| | | />
|
| | | </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="AQIhandleChange"
|
| | | ></a-select>
|
| | | <a-input
|
| | | v-model="ceAQIvaluein"
|
| | | style="width: 100px; margin-left: 15px"
|
| | | @blur="ceAQIhandleChange"
|
| | | />
|
| | | </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
|
| | |
| | |
|
| | | <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";
|
| | |
| | |
|
| | | private visibleCreateModal: boolean = false;
|
| | |
|
| | | private visibleCreateModal1: boolean = false;
|
| | |
|
| | | private editTaskFormVisible: boolean = false;
|
| | |
|
| | | private distributionMenuVisible: boolean = false;
|
| | |
| | | };
|
| | |
|
| | | 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){
|
| | | this.handleChange2(this.reskey);
|
| | | }
|
| | | private ceAQIhandleChange(value: string){
|
| | | this.handleChange2(this.reskey);
|
| | | }
|
| | | 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[] = [
|
| | | {
|
| | |
| | | this.getGovPointByArea('')
|
| | | this.techFlag = false
|
| | | }
|
| | | private handleModalVisible1(isVisible: boolean): void {
|
| | | this.visibleCreateModal1=isVisible
|
| | | }
|
| | |
|
| | | private toggleForm(): void {
|
| | | this.expandForm = !this.expandForm;
|
| | |
| | |
|
| | | //下拉查询框方法
|
| | | private handleChange1(selectedItems:any) {
|
| | |
|
| | | if (selectedItems === undefined) {
|
| | | this.selectMt = null
|
| | | }else {
|
| | | this.selectMt = selectedItems;
|
| | | }
|
| | | this.loadRuleData(1)
|
| | | }
|
| | | private reskey:any=0
|
| | | private handleChange2(res:any){
|
| | | console.log(res.key);
|
| | | this.reskey=res
|
| | | console.log(this.reskey);
|
| | | 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(2)
|
| | | }else if(this.ceAQIvalue==='/'){
|
| | | this.datatable[i].cel=parseFloat(this.datatable[i].cel/Number(this.ceAQIvaluein)).toFixed(3)
|
| | | }
|
| | | 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(2)
|
| | | }else if(this.AQIvalue1==='/'){
|
| | | this.datatable[i].aqi=parseFloat(this.datatable[i].aqi / Number(this.AQIvalue)).toFixed(3)
|
| | | } |
| | | 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(2)
|
| | | }else if(this.ceAQIvalue==='/'){
|
| | | this.datatable[i].cel=parseFloat(this.datatable[i].cel / Number(this.ceAQIvaluein)).toFixed(3)
|
| | | }
|
| | | this.datatable[i].agehou='aqi*'+this.datatable[i].aqi+'+'+'ce1*'+this.datatable[i].cel
|
| | | }
|
| | | }
|
| | | |
| | | })
|
| | | }
|
| | |
|
| | |
|
| | |
| | |
|
| | | // 存放查询的组织id
|
| | | private selectMt: any = null
|
| | |
|
| | | |
| | | private loading: boolean=false
|
| | | |
| | | private handleCancel(){
|
| | | |
| | | }
|
| | | //新建保存
|
| | | private handleCreateModalOk() {
|
| | | this.form.validateFields((err: any, values: any) => {
|
| | |
| | | lat: ''
|
| | | }
|
| | | this.visibleCreateModal = false;
|
| | | }
|
| | |
|
| | | private handleCreateModalCancel1():any{
|
| | | this.visibleCreateModal1=false;
|
| | | this.datatable=[]
|
| | | this.selectvalue1='请选择因子'
|
| | | }
|
| | |
|
| | | private handlerSelectChange(arr1: any, arr2: any) {
|
| | |
| | | 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>
|