瀏覽代碼

修改物联卡和在线日志

Xiahai 1 年之前
父節點
當前提交
ec7aef1c52

+ 10 - 10
src/api/iotCard/index.ts

@@ -12,21 +12,21 @@ import { get, post, del, put } from '/@/utils/request';
 export default {
   // 物联网卡列表
   simCard: {
-    getList: (params: object) => get('/sim_collect/list', params),
+    getList: (params: object) => get('/sim/collect/list', params),
     addItem: (data: object) => post('/device/add', data),
     editItem: (data: object) => put('/device/edit', data),
-    deleteItem: (data: object) => del('/sim_collect/delete', data),
-    detailItem: (params: object) => get('/sim_collect/one', params),
-    getFlowDataByDateRange: (data: object) => post('/sim_collect/flow_date', data),
+    deleteItem: (data: object) => del('/sim/collect/delete', data),
+    detailItem: (params: object) => get('/sim/collect/one', params),
+    getFlowDataByDateRange: (data: object) => post('/sim/collect/flow_date', data),
   },
   dashboard: {
-    getFlowDataByDateRange: (data: object) => post('/sim_history_traffic/date', data),
-    getTop10Data: (data: object) => post('/sim_traffic_statis/top_flow', data),
-    getFlowData: (data: object) => get('/sim_traffic_statis/get', data)
+    getFlowDataByDateRange: (data: object) => post('/sim/history_traffic/date', data), // 仪表盘折线接口
+    getTop10Data: (data: object) => post('/sim/traffic_statis/top_flow', data),
+    getFlowData: (data: object) => get('/sim/traffic_statis/get', data)
   },
   platform: {
-    getList: (params: object) => get('/sim_factory/list', params),
-    addItem: (data: object) => post('/sim_factory/add', data),
-    editItem: (data: object) => put('/sim_factory/edit', data),
+    getList: (params: object) => get('/sim/factory/list', params),
+    addItem: (data: object) => post('/sim/factory/add', data),
+    editItem: (data: object) => put('/sim/factory/edit', data),
   }
 }

+ 2 - 2
src/views/iot/iotmanager/dashboard.vue

@@ -470,8 +470,8 @@ export default defineComponent({
 			})
 			// 按告警级别统计 绘制饼图
 			api.iotManage.deviceAlarmLevelCount('year', dayjs().format('YYYY')).then((res: any) => {
-				const list = (res.data || []).sort((a: any, b: any) => b.Title - a.Title)
-				state.pieChartLegend = list.map((item: any) => alarmTypeMap[item.Title])
+        const list = (res.data || []).sort((a: any, b: any) => b.Title - a.Title)
+        state.pieChartLegend = list.map((item: any) => alarmTypeMap[item.Title])
 				state.pieChartLevel = list.map((item: any) => item.Title)
 				state.pieChartData = list.map((item: any) => item.Value)
 			})

+ 33 - 2
src/views/modules/iotCard/dashboard.vue

@@ -9,8 +9,8 @@
             <el-select v-model="types" placeholder="请选择" style="width: 120px" @change="typeChange()">
               <!-- 1电信,2联通,3移动 -->
               <el-option label="电信" :value="1" />
-              <el-option label="联通" :value="2" />
-              <el-option label="移动" :value="3" />
+<!--              <el-option label="联通" :value="2" disabled/>-->
+<!--              <el-option label="移动" :value="3" disabled/>-->
             </el-select>
           </div>
         </div>
@@ -63,6 +63,7 @@
 										format="YYYY-MM-DD HH:mm:ss"
 										date-format="YYYY/MM/DD"
 										time-format="hh:mm:ss"
+                    @change="handleDateChange"
 									/>
 							</div>
 					</div>
@@ -82,6 +83,7 @@
 							end-placeholder="结束日期"
 							format="YYYY-MM-DD"
 							date-format="YYYY/MM/DD"
+              @change="handleTop10DataChange"
 						/>
 					</div>
 					<div class="ranking-list">
@@ -171,6 +173,7 @@ const disabledDate = (time: Date) => {
   return time.getTime() > Date.now()
 }
 
+// 仪表盘折线
 const getFlowDataByDateRange = async (dateRangeData:any) => {
   const simFlowRes = await api.dashboard.getFlowDataByDateRange({
     sdate: dayjs(dateRangeData[0]).format('YYYY-MM-DD HH:mm:ss'),
@@ -180,6 +183,7 @@ const getFlowDataByDateRange = async (dateRangeData:any) => {
 	return simFlowRes.data;
 }
 
+// 昨日仪表盘折线
 const getYesterdayFlowData = async () => {
   const yesterday = dayjs(new Date()).subtract(1, 'day').format('YYYY-MM-DD')
   const res = await getFlowDataByDateRange([
@@ -189,6 +193,8 @@ const getYesterdayFlowData = async () => {
   yesterdayLineData.value = [res[0].value];
   initYesterdayLineChart();
 }
+
+// 近一月仪表盘折线
 const getMonthFlowData = async () => {
   monthLineXAxisData.value = [];
   monthLineData.value = [];
@@ -202,6 +208,8 @@ const getMonthFlowData = async () => {
 
   initMonthLineChart();
 }
+
+// 近一年仪表盘折线
 const getYearFlowData = async () => {
 	yearLineXAxisData.value = [];
 	yearLineData.value = [];
@@ -217,6 +225,7 @@ const getYearFlowData = async () => {
 	initYearLineChart();
 }
 
+// 按钮切换统一调用方法
 const getFlowData = async () => {
 	flowLineXAxisData.value = [];
   flowLineData.value = [];
@@ -228,6 +237,7 @@ const getFlowData = async () => {
 	iniFlowLineChart();
 }
 
+// 仪表盘折线按钮
 const changeDate = (key:number) => {
   // 1 昨天 2近一周 3近一月 4近一年
   activeIndex.value = key;
@@ -260,12 +270,33 @@ const changeDate = (key:number) => {
   getFlowData();
 }
 
+// 流量统计时间筛选
+const handleDateChange = async (value:any) => {
+  dateTimeRange.value = [
+    value[0],
+    value[1]
+  ]
+  // 这里可以添加相应的处理逻辑
+  getFlowData();
+}
+
+// 流量使用Top10时间筛选
+const handleTop10DataChange = async (value:any) => {
+  dateTimeRange.value = [
+    value[0],
+    value[1]
+  ]
+  getTop10Data();
+  // 这里可以添加相应的处理逻辑
+}
+
 const typeChange = () => {
 	getYesterdayFlowData();
 	getMonthFlowData();
 	getYearFlowData();
 	getFlowData();
 	getTop10Data();
+  getFlowAllData();
 }
 
 const getTop10Data = async () => {

+ 12 - 0
src/views/modules/iotCard/index/detail.vue

@@ -209,6 +209,7 @@
                   format="YYYY-MM-DD HH:mm:ss"
                   date-format="YYYY/MM/DD"
                   time-format="hh:mm:ss"
+                  @change="handleDateChange"
                 />
             </div>
         </div>
@@ -393,6 +394,17 @@ const changeDate = (key:number) => {
 
 }
 
+// 流量统计时间筛选
+const handleDateChange = async (value:any) => {
+  dateRange.value = [
+    value[0],
+    value[1]
+  ]
+  activeIndex.value == 2;
+  // 这里可以添加相应的处理逻辑
+  getFlowDataByDateRange();
+}
+
 const formatOperator = (val:number) => {
   // 1电信,2联通,3移动
   return ['', '电信', '联通', '移动'][val];

+ 21 - 21
src/views/modules/iotCard/index/index.vue

@@ -13,7 +13,7 @@
             </el-icon>
             查询
           </el-button>
-          <el-button @click="resetQuery()">
+          <el-button v-auth="'reset'" @click="resetQuery()">
             <el-icon>
               <ele-Refresh />
             </el-icon>
@@ -27,29 +27,29 @@
         v-loading="loading"
         style="width: 100%"
       >
-        <el-table-column fixed="left" min-width="130" label="卡号" prop="accNumber" align="center" />
-        <el-table-column min-width="180" label="ICCID" prop="iccid" align="center" />
-        <el-table-column label="绑定设备" prop="bindDeviceName" align="center" />
-        <el-table-column label="平台对接" prop="platName" align="center" />
-        <el-table-column label="运营商" prop="types" align="center">
+        <el-table-column v-col="'accNumber'" fixed="left" min-width="130" label="卡号" prop="accNumber" align="center" />
+        <el-table-column v-col="'ICCID'" min-width="180" label="ICCID" prop="iccid" align="center" />
+        <el-table-column v-col="'bindDeviceName'" label="绑定设备" prop="bindDeviceName" align="center" />
+        <el-table-column v-col="'platName'" label="平台对接" prop="platName" align="center" />
+        <el-table-column v-col="'types'" label="运营商" prop="types" align="center">
           <template #default="scope">{{ formatOperator(scope.row.types) }}</template>
-        </el-table-column> 
-        <el-table-column label="类型" prop="simTypes" align="center">
+        </el-table-column>
+        <el-table-column v-col="'simTypes'" label="类型" prop="simTypes" align="center">
           <template #default="scope">{{ formatType(scope.row.simTypes) }}</template>
         </el-table-column>
-        <el-table-column label="总流量" prop="totalFlow" align="center" />   
-        <el-table-column label="使用流量" prop="usedFlow" align="center" />    
-        <el-table-column label="剩余流量" prop="leaveFlow" align="center" />    
-        <el-table-column width="160" label="激活日期" prop="activationTime" align="center" />     
-        <el-table-column width="160" label="更新时间" prop="updatedAt" align="center" />    
-        <el-table-column label="状态" prop="simStatus" align="center">
+        <el-table-column v-col="'totalFlow'" label="总流量" prop="totalFlow" align="center" />
+        <el-table-column v-col="'usedFlow'" label="使用流量" prop="usedFlow" align="center" />
+        <el-table-column v-col="'leaveFlow'" label="剩余流量" prop="leaveFlow" align="center" />
+        <el-table-column v-col="'activationTime'" width="160" label="激活日期" prop="activationTime" align="center" />
+        <el-table-column v-col="'updatedAt'" width="160" label="更新时间" prop="updatedAt" align="center" />
+        <el-table-column v-col="'simStatus'" label="状态" prop="simStatus" align="center">
           <template #default="scope">{{ formatStatus(scope.row.simStatus) }}</template>
-        </el-table-column> 
-        <el-table-column width="110" label="操作" fixed="right" prop="handle" align="center">
-					<template #default="scope">
-						<el-button size="small" text type="primary" @click="onOpenDetail(scope.row)">详情</el-button>
-						<el-button size="small" text type="warning" @click="onDel(scope.row)">删除</el-button>
-					</template>
+        </el-table-column>
+        <el-table-column v-col="'handle'" width="110" label="操作" fixed="right" prop="handle" align="center">
+          <template #default="scope">
+            <el-button size="small" text type="primary" @click="onOpenDetail(scope.row)" v-auth="'detail'">详情</el-button>
+            <el-button size="small" text type="warning" @click="onDel(scope.row)" v-auth="'del'">删除</el-button>
+          </template>
         </el-table-column>
       </el-table>
       <pagination
@@ -87,7 +87,7 @@ const resetQuery = () => {
  * 单一删除
  */
 const onDel = (row: any) => {
-	ElMessageBox.confirm(`此操作将卡号为:“${row.accNumber}”,是否继续?`, '提示', {
+	ElMessageBox.confirm(`此操作将卡号为:“${row.accNumber}”进行删除,是否继续?`, '提示', {
 		confirmButtonText: '确认',
 		cancelButtonText: '取消',
 		type: 'warning',

+ 2 - 2
src/views/modules/iotCard/platformManage/addOrEditItem.vue

@@ -5,8 +5,8 @@
 				<el-form-item label="平台类型" prop="types">
           <el-select style="width: 100%;" v-model="ruleForm.types" placeholder="请选择">
             <el-option label="电信" value="1"></el-option>
-            <el-option disabled label="联通" value="2"></el-option>
-            <el-option label="移动" value="3"></el-option>
+<!--            <el-option disabled label="联通" value="2"></el-option>-->
+<!--            <el-option label="移动" value="3"></el-option>-->
           </el-select>
         </el-form-item>
         <el-form-item label="名称" prop="name">

+ 13 - 12
src/views/modules/iotCard/platformManage/index.vue

@@ -13,13 +13,13 @@
             </el-icon>
             查询
           </el-button>
-          <el-button @click="resetQuery()">
+          <el-button v-auth="'reset'" @click="resetQuery()">
             <el-icon>
               <ele-Refresh />
             </el-icon>
             重置
           </el-button>
-          <el-button type="primary" @click="toAddItemPage()">
+          <el-button v-auth="'add'" type="primary" @click="toAddItemPage()">
             <el-icon>
               <ele-FolderAdd />
             </el-icon>
@@ -33,20 +33,20 @@
         v-loading="loading"
         style="width: 100%"
       >
-        <el-table-column label="名称" prop="name" align="center" />
-        <el-table-column label="状态" prop="simStatus" align="center">
+        <el-table-column v-col="'name'" label="名称" prop="name" align="center" />
+        <el-table-column v-col="'simStatus'" label="状态" prop="simStatus" align="center">
           <template #default="scope">
             <el-tag type="primary" v-if="scope.row.status">{{ formatStatus(scope.row.status) }}</el-tag>
             <el-tag type="danger" v-else>{{ formatStatus(scope.row.status) }}</el-tag>
           </template>
-        </el-table-column> 
-        <el-table-column label="说明" prop="remark" align="center" />       
+        </el-table-column>
+        <el-table-column v-col="'remark'" label="说明" prop="remark" align="center" />
 
-        <el-table-column width="110" label="操作" fixed="right" prop="handle" align="center">
-					<template #default="scope">
-						<el-button size="small" text type="primary" @click="onOpenDetail(scope.row)">详情</el-button>
-						<el-button size="small" text type="warning" @click="onDel(scope.row)">删除</el-button>
-					</template>
+        <el-table-column v-col="'handle'" width="110" label="操作" fixed="right" prop="handle" align="center">
+          <template #default="scope">
+            <el-button v-auth="'detail'" size="small" text type="primary" @click="onOpenDetail(scope.row)">详情</el-button>
+            <el-button v-auth="'del'" size="small" text type="warning" @click="onDel(scope.row)">删除</el-button>
+          </template>
         </el-table-column>
       </el-table>
       <pagination
@@ -98,8 +98,9 @@ const onDel = (row: any) => {
 };
 
 const formatStatus = (val:any) => {
+  console.log(val);
   // 1:开启 0:禁用
-  return ['', '开启', '禁用'][val];
+  return ['禁用', '开启'][val];
 }
 
 const onOpenDetail = (item:any) => {

+ 1 - 1
src/views/system/monitor/lastLinesLog/index.vue

@@ -156,7 +156,7 @@ const handleClick = (tab: any, event: Event) => {
   } else if (tab.props.name == 3) {
     runLoading.value = true;
     types.value = 'run'
-    runLogName.value = 'sagoo-admin.log'
+    runLogName.value = ''
     params.type = types.value
     view(runLogName)
   }