fei.wang
7 天以前 645834e1c3efb3a8c50dcbda98d87caba04bd421
components/personBox.vue
@@ -8,18 +8,23 @@
            </view>
            <view class="userinfo-value-box" style="width: 80%;">
               <view class="user-nickname">{{perlist.personname}}</view>
               <view class="user-company">{{perlist.department}} |卡号: {{perlist.tagid}}
                   <tn-button v-if="perlist.type=='吊车'" size="sm" style="margin-left: 3%;" backgroundColor="#00aaff" @click="calibration(perlist.height)">校准</tn-button></view>
               <view class="user-company">{{perlist.department}} |编号: {{perlist.tagid}}
                  <tn-button v-if="perlist.type=='吊车' || perlist.type=='登高作业人'" size="sm" style="margin-left: 3%;"
                     backgroundColor="#00aaff" @click="calibration(perlist.height)">校准</tn-button>
               </view>
            
            </view>
            <span v-if="perlist.type=='吊车'" style="position: absolute;right:100px;top:10px;height:20px;">
               高度:{{ jisuan(perlist.height) }}m
            <span v-if="perlist.type=='吊车' || perlist.type=='登高作业人'"
               style="position: absolute;right:80px;top:10px;height:20px;">
               高度:{{ jisuan(perlist) }}m
            </span>
            <!-- <view style="position: absolute;right:10px;top:10px;"> -->
               <!-- <button plain @click="refresh" style="width:20px;"> -->
                  <image src="../static/refresh.png" class="icon-image" @click="refresh" style="position: absolute;right:40px;top:10px;width:20px;height:20px;"></image>
            <image src="../static/refresh.png" class="icon-image" @click="refresh"
               style="position: absolute;right:40px;top:10px;width:20px;height:20px;"></image>
               <!-- </button> -->
               <image src="../static/close.png" style="position: absolute;right:10px;top:10px;width:20px;height:20px;" @click="closeinfo">
            <image src="../static/close.png" style="position: absolute;right:10px;top:10px;width:20px;height:20px;"
               @click="closeinfo">
               </image>
            <!-- </view> -->
         </view>
@@ -38,19 +43,26 @@
            </view>
            <view style="margin-top: 3%;">
               <span style="margin-left: 3%;">
                  海拔:{{perlist.height}}
                  海拔:{{perlist.height}}m
                  
               </span>
               {{perlist.encryption}}
               <span v-if="perlist.encryption!=''" style="width: 47%; float: right;margin-right: 3%;">
                  加密
               <span style="width: 47%; float: right;margin-right: 3%;">
                  速度:无
                  <!-- 加密:{{perlist.encryption}} -->
               </span>
            </view>
            <view style="margin-top: 3%;">
               <span style="margin-left: 3%;">
                  电量:{{perlist.power}}%
               </span>
               <span style="width: 47%; float: right;margin-right: 3%;">
               <span v-if="perlist.encryption!=''" style="width: 20%;margin-left: 5%; ">
                  加密:{{perlist.encryption}}
               </span>
               <span style="width: 37%; float: right;margin-right: 3%;">
                  状态:{{ getGpsStatusText(perlist.gpsstatus) }}
               </span>
            </view>
@@ -60,17 +72,86 @@
            <button style="width: 80%;left: 5px;" type="primary" @click="copyInfo">复制</button>
         </view> -->
      </view>
      <u-modal style="position: absolute;z-index: 99999999999999;" buttonReverse confirmText="保存" cancelText="取消"
         :show="show" @cancel="cancelmodal" @confirm="startdraw" ref="uModal" :showCancelButton="true"
         :closeOnClickOverlay="true">
         <!-- <u-icon name="close" style="position: absolute;right: 10px;top:10px" @click="closemodal"></u-icon> -->
         <view style="max-height: 600px; overflow-y: auto;">
            <u--form style="" labelPosition="left" ref="uForm">
               <u-form-item required label="终端编号:" borderBottom ref="item1" labelWidth="80px"
                  @click="showtagid = true">
                  <!-- <u-badge v-if="tagonlie==1 && code!=''" :isDot="true" type="success"></u-badge>
                  <u-badge v-else-if="tagonlie==0 && code!=''" :isDot="true" type="info"></u-badge> -->
                  <!-- <u--input v-model="code" border="none" placeholder="请输入终端编号" @blur="seachcode"></u--input> -->
                  <!-- <tn-input v-model="code" type="select" @click="showtagid = true" placeholder="请选择终端编号" /> -->
                  <u-input v-model="code" disabled disabledColor="#ffffff" placeholder="请选择终端编号" border="none" />
                  <!-- <tn-action-sheet :list="bumenList" v-model="show1" @click="bymenCallback"></tn-action-sheet> -->
                  <u-icon slot="right" name="arrow-down"></u-icon>
                  <tn-select v-model="showtagid" mode="single" :list="tagidlist" @confirm="confirmtagid"
                     :searchShow="true"></tn-select>
               </u-form-item>
               <u-form-item required label="选择围栏:" borderBottom ref="item1" labelWidth="80px"
                  @click="showfname = true">
                  <!--    <tn-input v-model="fencename" type="select" @click="showfname = true" placeholder="请选择围栏" /> -->
                  <u-input v-model="fencename" disabled disabledColor="#ffffff" placeholder="请选择围栏"
                     border="none" />
                  <!-- <tn-action-sheet :list="bumenList" v-model="show1" @click="bymenCallback"></tn-action-sheet> -->
                  <u-icon slot="right" name="arrow-down"></u-icon>
                  <tn-select v-model="showfname" mode="single" :list="fencelist" @confirm="confirmfence"
                     :searchShow="true"></tn-select>
               </u-form-item>
               <u-form-item :label="'相对高度:'" borderBottom ref="item1" :labelWidth="labelWidth">
                  <tn-input v-show="xdgao!=''" v-model="xdgao" inputAlign="right"></tn-input>
                  <!-- <uni-tooltip :content="content" placement="top" style="width:100px"> -->
                  <u-button v-show="xdgao!=''" slot="right" type="warning" text="删除" size="mini"
                     @click="degao"></u-button>
                  <u-button style="width:100px" type="primary" v-show="xdgao==''" size="mini"
                     @click="acquisitionxy()">校准高度</u-button>
                  <!-- </uni-tooltip> -->
               </u-form-item>
            </u--form>
         </view>
      </u-modal>
      <successCom ref="refSuccess" style="position: absolute;z-index: 9999999999999999;"></successCom>
   </view>
</template>
<script>
   import successCom from '@/components/success.vue'
   import {
      updateperhe,
      findtagid,
      findAllFence,
      acquisition
   } from '@/config/api.js';
   import {
      minLogin
   } from '@/js/minLogin.js'
   export default {
      components: {
         successCom
      },
      mixins: [minLogin],
      data() {
         return {
            fencegao: '',
            fencename: '',
            showfname: false,
            tagid: '',
            xdgao: '',
            labelWidth: 100,
            tagonlie: '',
            tagidlist: [],
            fencelist: [],
            showtagid: false,
            code: '',
            show: false,
            jiaozhungao:0,
            gao:0,
         }
@@ -84,29 +165,174 @@
         }
      },
         mounted() {
            console.log(this.perlist);
         this.findtagidall()
         this.findfenceall()
         this.tagid = this.perlist.tagid
         if (this.perlist.baoliu4 != '' && this.perlist.baoliu4 != null) {
            this.xdgao = this.perlist.baoliu4
         }
            },
      methods: {
         calibration(e){
            this.jiaozhungao = e
            this.jisuan()
         degao() {
            this.xdgao = ''
         },
         jisuan(e){
            if (this.jiaozhungao=='') {
               this.gao =0
         findtagidall() {
            if (this.vuex_is_login) {
               const params = {
                  company: this.company,
                  juese: uni.getStorageSync('juese'),
               }
               findtagid(params).then((res) => {
                  if (res.code == 0) {
                     this.tagidlist = res.data.map(item => ({
                        value: item.online,
                        label: item.tagid,
                     }));
            } else{
               this.gao =(parseFloat(e) - parseFloat(this.jiaozhungao)).toFixed(2)
                     this.$refs.refSuccess.showBox({
                        type: 'error',
                        txt: res.msg
                     });
                  }
               })
            }
            
            return this.gao
            console.log(this.gao);
            // setTimeout(() => {
         },
         findfenceall() {
            if (this.vuex_is_login) {
               const params = {
                  company: this.company,
                  juese: uni.getStorageSync('juese'),
               }
               findAllFence(params).then((res) => {
                  console.log(res);
                  if (res.code == 0) {
                     this.fencelist = res.data.map(item => ({
                        value: item.baoliu4 == '0' ? '0.00' : item.baoliu4,
                        label: item.name,
                     }));
                     console.log(this.fencelist);
                  } else {
                     this.$refs.refSuccess.showBox({
                        type: 'error',
                        txt: res.msg
                     });
                  }
               })
            }
         },
         acquisitionxy() {
            if (this.code != '') {
               const params = {
                  baoliu3: this.code,
                  company: this.company,
                  juese: uni.getStorageSync('juese'),
               }
               if (this.vuex_is_login) {
                  acquisition(params).then((res) => {
                     if (res.code == 0) {
                        this.xdgao = res.data.height
                     } else {
                        this.$refs.refSuccess.showBox({
                           type: 'error',
                           txt: res.msg
                        });
                     }
                  })
               }
            } else {
               this.xdgao = this.fencegao
            }
         },
         confirmtagid(e) {
            this.code = e[0].label
            // this.tagonlie = e[0].value
            // this.seachcode()
         },
         confirmfence(e) {
            this.fencename = e[0].label
            this.fencegao = e[0].value
         },
         cancelmodal() {
            this.show = false
         },
         startdraw() {
            var json = {}
            json.tagid = this.tagid
            json.baoliu4 = this.xdgao
            updateperhe(json).then((res) => {
            })
            this.show = false
         },
         calibration(e) {
            this.show = true
            // this.jiaozhungao = e
            //    this.jisuan()
            // }, 1000)
         },
         jisuan(e) {
            // console.log(e);
            // console.log(e.baoliu4);
            // if (e.baoliu4 == '' || e.baoliu4 == null) {
            //    if (e.baoliu3 == '' || e.baoliu3 == null) {
            //       this.gao = 0
            //    } else {
            //       this.gao = (parseFloat(e.height) - parseFloat(e.baoliu3)).toFixed(2)
            //    }
            // } else {
            //    this.gao = (parseFloat(e.height) - parseFloat(e.baoliu4)).toFixed(2)
            // }
            // return this.gao
            // if (e.baoliu2.split(";")[1] == 0) {
            //    if (e.baoliu4 == '' || e.baoliu4==null) {
            //       this.gao = 0
            //    } else{
            //       this.gao = (parseFloat(e.height) -parseFloat(e.baoliu4)).toFixed(2)
            //    }
            // }else{
            //    console.log(111111);
            //    if (e.baoliu3) {
            //    } else{
            //    }
            // }
            // console.log(e.baoliu2);
            // console.log(e.baoliu2.split(";")[1]);
            if (e.baoliu2.split(";")[1] == '-1') {
               if (e.baoliu4 == '' || e.baoliu4 == null) {
                  // if (e.baoliu3 == '' || e.baoliu3 == null) {
                  this.gao = 0
                  // } else {
                  //    this.gao = (parseFloat(e.height) - parseFloat(e.baoliu3)).toFixed(2)
                  // }
               } else {
                  console.log(111111);
                  this.gao = (parseFloat(e.height) - parseFloat(e.baoliu4)).toFixed(2)
               }
            } else {
               this.gao = parseFloat(e.baoliu3).toFixed(2)
               // if (e.baoliu3 == '' || e.baoliu3 == null) {
               //    this.gao = 0
               // } else {
               //    this.gao = (parseFloat(e.height) - parseFloat(e.baoliu3)).toFixed(2)
               // }
            }
            return this.gao
         },
         getGpsStatusText(status) {
            console.log(status);
            switch (status) {
               case '4':
                  return '高精度';
@@ -178,7 +404,8 @@
   }
   .link-box {
      width: 100%;
      width: 90%;
      margin-left: 10%;
      background-color: #fff;
      border-radius: 8px;
      padding: 10px 0;