Parcourir la source

修改代码,一维定位列表可以输入,可以全局启用和停用基站

zhoutao il y a 1 semaine
Parent
commit
57711b4b64

+ 9 - 0
ipsomcadmin/src/api/bparam.js

@@ -17,6 +17,15 @@ export function updateBtsBaseParam(paramData) {
     })
 }
 
+//开启和停用基站
+export function enableBtsBaseParam(paramData) {
+    return request({
+        url: '/bparam/enableBtsBaseParam',
+        method: 'post',
+        data: paramData
+    })
+}
+
 //删除某项目
 export function deleteBtsBaseParam(paramData) {
     return request({

+ 35 - 1
ipsomcadmin/src/views/bparam/component/baseparamdlg.vue

@@ -61,13 +61,15 @@
         <div style="padding-top: 10px;text-align:right">
             <el-button type="success" @click="hSubmit">确定</el-button>
             <el-button type="warning" @click="hClose">取消</el-button>
+            <el-button type="primary" @click="hEnableBts">全部启用</el-button>
+            <el-button type="danger" @click="hDisableBts">全部停用</el-button>
         </div>
     </div>
 </template>
 
 
 <script>
-import { addBtsBaseParam, updateBtsBaseParam, getBtsBaseParamById } from "@/api/bparam"
+import { addBtsBaseParam, updateBtsBaseParam, getBtsBaseParamById, enableBtsBaseParam } from "@/api/bparam"
 
 export default {
     name: 'baseparamdlg',
@@ -209,6 +211,38 @@ export default {
             }).catch((err) => {
                 this.$message({ message: err, type: 'error' })
             })
+        },
+        async hEnableBts() {
+            const res = await this.$confirm("确定要全部启用吗", "提示", { type: "warning" }).catch(err => err)
+            if (res != 'confirm') {
+                return
+            }
+            this.enableBtsBaseParam(1)
+        },
+        async hDisableBts() {
+            const res = await this.$confirm("确定要全部停用吗", "提示", { type: "warning" }).catch(err => err)
+            if (res != 'confirm') {
+                return
+            }
+            this.enableBtsBaseParam(0)
+        },
+        enableBtsBaseParam(enable_flag) {
+
+
+
+            let paramData = {}
+            paramData.id = parseInt(this.dialogData.editData.data.id)
+            paramData.bts_type = parseInt(this.dialogData.editData.data.bts_type);
+            paramData.enable_flag = parseInt(enable_flag)
+
+            //修改基站基本参数
+            enableBtsBaseParam(paramData).then(() => {
+                this.$message.success('修改成功', '提示')
+                this.getData()
+                this.hClose()
+            }).catch((err) => {
+                this.$message({ message: err, type: 'error' })
+            })
         }
     }
 }

+ 29 - 10
ipsomcadmin/src/views/bparam/component/btsparamdlg.vue

@@ -84,12 +84,25 @@
                 </div>
             </el-form-item>
             <el-form-item label="两站定位基站列表" v-if="checkLctType && mainData.bts_type == 1">
-                <el-select v-model="dialogData.editData.twoBtsList" multiple clearable placeholder="请选择"
-                    style="width:100%">
-                    <el-option v-for="(item, index) in organizeBtsIdList" :key="index" :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
+                <div class="btsparamdlg__item">
+                    <div class="btsparamdlg__item-left">
+                        <el-select v-model="dialogData.editData.twoBtsList" multiple clearable placeholder="请选择"
+                            style="width:100%" @change="hUpdateTwoBtsList">
+                            <el-option v-for="(item, index) in organizeBtsIdList" :key="index" :label="item.label"
+                                :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </div>
+                    <div class="btsparamdlg__item-right"><span style="color:#FF0000">也可以在下面直接输入</span></div>
+                </div>
+            </el-form-item>
+            <el-form-item label="两站定位基站列表" v-if="checkLctType && mainData.bts_type == 1">
+                <div class="btsparamdlg__item">
+                    <div class="btsparamdlg__item-left">
+                        <el-input v-model="dialogData.editData.data.two_bts_list" auto-complete="off"></el-input>
+                    </div>
+                    <div class="btsparamdlg__item-right"><span style="color:#FF0000">基站ID以英文逗号分隔</span></div>
+                </div>
             </el-form-item>
         </el-form>
         <div style="padding-top: 10px;text-align:right">
@@ -380,7 +393,6 @@ export default {
 
             const locationType = parseInt(this.dialogData.editData.data.location_type)
             let twoBtsNum = parseInt(this.dialogData.editData.data.two_bts_num)
-            let twoBtsList = this.dialogData.editData.twoBtsList.join(",")
 
             //一维或者融合定位
             if (locationType === 1 || locationType === 3) {
@@ -389,8 +401,8 @@ export default {
                     return
                 }
 
-                if (twoBtsList.length <= 0 || twoBtsList.length > 48) {
-                    this.$message({ message: '两站定位基站列表字符长度错误', type: 'error' })
+                if (this.dialogData.editData.data.two_bts_list.length <= 0 || this.dialogData.editData.data.two_bts_list.length > 48) {
+                    this.$message({ message: '请重新选择两站定位基站列表或者直接输入', type: 'error' })
                     return
                 }
             } else {//二维定位
@@ -398,9 +410,10 @@ export default {
                 twoBtsList = ""
             }
 
+
             paramData['location_type'] = locationType
             paramData['two_bts_num'] = twoBtsNum
-            paramData['two_bts_list'] = twoBtsList
+            paramData['two_bts_list'] = this.dialogData.editData.data.two_bts_list
 
             updateBtsBaseParam(paramData).then((res) => {
                 this.getData()//刷新数据
@@ -408,6 +421,12 @@ export default {
             }).catch(() => {
                 this.$message({ message: '保存参数失败', type: 'error' })
             })
+        },
+        //更新两站列表
+        hUpdateTwoBtsList(item) {
+            this.$nextTick(function () {
+                this.dialogData.editData.data.two_bts_list = item.join(",")
+            })
         }
     }
 }

+ 1 - 1
ipsomcapi/config/config.toml

@@ -37,5 +37,5 @@ secret="20f51dcb2619fae0008202aad5efacad"
 grant_type="authorization_code"
 
 [socket]
-hostaddress="192.168.1.6" #socket服务器的IP地址,如果是本地可以写0.0.0.0
+hostaddress="192.168.1.5" #socket服务器的IP地址,如果是本地可以写0.0.0.0
 hostport=8972 #socket服务器的端口

+ 13 - 0
ipsomcapi/module/bparam/bparamapi/bparamapi.go

@@ -92,6 +92,19 @@ func (obj *BparamApi) UpdateBtsBaseParam(dataModel *bparammodel.BtsBaseParam, da
 	return nil
 }
 
+// 修改基站基本参数
+func (obj *BparamApi) EnableBtsBaseParam(dataModel *bparammodel.BtsBaseParam) error {
+	tmpMode := new(bparammodel.BtsBaseParam)
+
+	//查重
+	//将所有项目的基站的状态修改为离线
+	if err := obj.MySqlApi.GetDb().Model(tmpMode).Update("enable_flag", dataModel.EnableFlag).Where("project_id=?", dataModel.ProjectID).Error; err != nil {
+		return err
+	}
+
+	return nil
+}
+
 // 更新基站在线状态
 // heartMap:心跳map
 func (obj *BparamApi) UpdateBtsStatusByHeartMap(heartMap map[string]public.HeartMapValue) error {

+ 20 - 0
ipsomcapi/module/bparam/bparamhandler/bparamhandler.go

@@ -67,6 +67,26 @@ func (obj *BparamHan) UpdateBtsBaseParamHan(c *gin.Context) {
 	resp.RespOk(c)
 }
 
+// 启用和停用基站
+func (obj *BparamHan) EnableBtsBaseParamHan(c *gin.Context) {
+	dataModel := new(bparammodel.BtsBaseParam)
+
+	//把前端数据绑定到模型
+	if err := obj.bindApi.Bind2Model(c, dataModel); err != nil {
+		resp.RespFail(c, "数据错误")
+		return
+	}
+
+	//保存数据
+	if err := obj.bparamApi.EnableBtsBaseParam(dataModel); err != nil {
+		resp.RespFail(c, err.Error())
+		return
+	}
+
+	//返回数据
+	resp.RespOk(c)
+}
+
 // 删除
 func (obj *BparamHan) DeleteBtsBaseParamHan(c *gin.Context) {
 	dataModel := new(bparammodel.BtsBaseParam)

+ 1 - 0
ipsomcapi/module/bparam/bparamrouter/bparamrouter.go

@@ -31,6 +31,7 @@ func SetRouter(r *gin.RouterGroup) {
 	groupRouter.POST("/getBtsBaseParamById", groupHand.GetBtsBaseParamByIdHan)
 	groupRouter.POST("/getBtsBaseParamPageList", groupHand.GetBtsBaseParamPageListHan)
 	groupRouter.POST("/getBtsBaseParamList", groupHand.GetBtsBaseParamListHan)
+	groupRouter.POST("/enableBtsBaseParam", groupHand.EnableBtsBaseParamHan) //开起和停用基站
 
 	//UDP查询操作接口
 	groupRouter.POST("/getBtsOamParamDeviceHan", groupHand.GetBtsOamParamDeviceHan)