src/pages/cameraAccess/components/DataStackInfo.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/pages/cameraAccess/components/TimeSlider.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/pages/cameraAccess/index/App.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/pages/cameraAccess/index/VideoManage.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/pages/settings/views/clusterManagement.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/pages/syslog/views/pollingLog.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/pages/systemMonitor/index/App.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/pages/systemSettings/components/ClusterManagement.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/pages/vindicate/views/sysInfo.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/pages/vindicate/views/updateSettings.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
vue.config.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/pages/cameraAccess/components/DataStackInfo.vue
@@ -278,9 +278,18 @@ show-overflow-tooltip align="center" > <template slot-scope="scope">{{ scope.row.status | statusFormat }}</template> <template slot-scope="scope"> <div class="lowHash" v-if=" !PollData.stackChannelCount && (scope.row.status == '处理中' || scope.row.status == '2') " > 数据栈算力不足 </div> <div class="normal" v-else>{{ scope.row.status | statusFormat }}</div> </template> </el-table-column> <el-table-column label="操作" show-overflow-tooltip align="center"> <template slot-scope="scope"> src/pages/cameraAccess/components/TimeSlider.vue
@@ -79,6 +79,7 @@ { day: 6, time_range: [{ start: "00:00", end: "24:00" }] }, { day: 7, time_range: [{ start: "00:00", end: "24:00" }] }, ], isAdding: false, }; }, mounted() { @@ -88,16 +89,19 @@ handleTabsEdit(tabId, action) { let tabs = this.VideoManageData.TimeRules; if (action === "add") { let newRule = { id: "", name: "时间段" + this.VideoManageData.TimeRules.length, time_rule: this.allDay, }; this.updateTimeRule(newRule); if (this.isAdding) { return; } else { this.isAdding = true; let newRule = { id: "", name: "时间段" + this.VideoManageData.TimeRules.length, time_rule: this.allDay, }; this.updateTimeRule(newRule); } } if (action === "remove") { console.log(); if (this.VideoManageData.TimeRules.length == 1) { this.$notify({ title: "警告", @@ -144,12 +148,19 @@ console.log("时间组件宽度:", timeSlideWidth); }, updateTimeRule(rule) { saveTimeRule(rule).then((rsp) => { if (rsp && rsp.success) { this.VideoManageData.getTimeRule(); this.activeTab = rsp.data.id; } }); saveTimeRule(rule) .then(async (rsp) => { if (rsp && rsp.success) { await this.VideoManageData.getTimeRule(); this.isAdding = false; this.activeTab = rsp.data.id; } else { this.isAdding = false; } }) .catch(() => { this.isAdding = false; }); }, tabClick(item) { if (this.activeTab === item.id) { src/pages/cameraAccess/index/App.vue
@@ -92,7 +92,7 @@ padding: 16px; padding-top: 8px; overflow-x: hidden; overflow-y: hidden; overflow-y: auto; } .resize-bar { width: 338px; src/pages/cameraAccess/index/VideoManage.vue
@@ -244,6 +244,7 @@ min-width: 1599px; float: left; box-sizing: border-box; user-select: none; .el-tabs--border-card { box-shadow: none; -webkit-box-shadow: none; src/pages/settings/views/clusterManagement.vue
@@ -566,7 +566,15 @@ // this.showCurCluster = false; // } async () => { let res = await leave(); try { res = await leave(); } catch (err) { console.log(err); this.$notify.error({ title: "失败", message: err.msg, }); } this.$notify({ title: res.success ? "成功" : "失败", message: res.msg, src/pages/syslog/views/pollingLog.vue
@@ -1,5 +1,9 @@ <template> <div class="polling-log" v-loading="loading" :element-loading-text="loadingText"> <div class="polling-log" v-loading="loading" :element-loading-text="loadingText" > <div class="top"> <div class="first"> <div class="time-option"> @@ -17,10 +21,19 @@ class="input-with-select" @keyup.enter.native="getScheduleLog(1)" > <span class="icon iconfont icon_clear" @click="clearSearch" slot="append" v-if="fuzzySearch"> <span class="icon iconfont icon_clear" @click="clearSearch" slot="append" v-if="fuzzySearch" >  </span> <span class="icon iconfont icon_search" @click="getScheduleLog(1)" slot="append"> <span class="icon iconfont icon_search" @click="getScheduleLog(1)" slot="append" >  </span> @@ -63,7 +76,8 @@ <template slot="empty"> <img :src="png" class="empty_img" alt="" /> </template> <el-table-column :align="'center'" label="序号" type="index" width="50"> </el-table-column> <el-table-column :align="'center'" label="序号" type="index" width="50"> </el-table-column> <el-table-column :align="'center'" sortable @@ -78,8 +92,17 @@ prop="schedule_end_time" label="轮询结束时间" ></el-table-column> <el-table-column :align="'center'" sortable prop="info" label="摄像机"></el-table-column> <el-table-column :align="'center'" prop="minute" label="轮询时长(分)"></el-table-column> <el-table-column :align="'center'" sortable prop="info" label="摄像机" ></el-table-column> <el-table-column :align="'center'" prop="minute" label="轮询时长(分)" ></el-table-column> </el-table> </div> @@ -94,7 +117,12 @@ > </el-pagination> <el-dialog title="选择摄像机" :visible.sync="dialogVisible" width="50%" :before-close="handleClose"> <el-dialog title="选择摄像机" :visible.sync="dialogVisible" width="50%" :before-close="handleClose" > <el-tree ref="cameraTree" :data="cameraTree" @@ -109,16 +137,18 @@ <el-button size="small" @click="pickAllNot">取消全选</el-button> <el-button @click="pickAllCam" size="small">全选</el-button> <el-button size="small" @click="cancelShow">取消</el-button> <el-button size="small" type="primary" @click="confirmCamera">确定</el-button> <el-button size="small" type="primary" @click="confirmCamera" >确定</el-button > </span> </el-dialog> </div> </template> <script> import { pad0 } from "@/api/utils" import { getLocalCameraTree } from "@/api/area" import { getOperations, getModules, queryScheduleLog } from "@/api/log" import { pad0 } from "@/api/utils"; import { getLocalCameraTree } from "@/api/area"; import { getOperations, getModules, queryScheduleLog } from "@/api/log"; export default { data() { @@ -132,7 +162,7 @@ dateRange: [], cameraTree: [], props: { label: "name" label: "name", }, value: "", page: 1, @@ -153,91 +183,91 @@ { text: "最近一周", onClick(picker) { const end = new Date() const start = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 7) picker.$emit("pick", [start, end]) } const end = new Date(); const start = new Date(); start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); picker.$emit("pick", [start, end]); }, }, { text: "最近一个月", onClick(picker) { const end = new Date() const start = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 30) picker.$emit("pick", [start, end]) } const end = new Date(); const start = new Date(); start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); picker.$emit("pick", [start, end]); }, }, { text: "最近三个月", onClick(picker) { const end = new Date() const start = new Date() start.setTime(start.getTime() - 3600 * 1000 * 24 * 90) picker.$emit("pick", [start, end]) } } ] } } const end = new Date(); const start = new Date(); start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); picker.$emit("pick", [start, end]); }, }, ], }, }; }, mounted() { this.getTimeRange(24 * 60 * 60 * 1000 * 30) this.getScheduleLog() this.getOptions() this.getTimeRange(24 * 60 * 60 * 1000 * 30); this.getScheduleLog(); this.getOptions(); }, methods: { handleSizeChange(val) { this.pageSize = val this.getScheduleLog() this.pageSize = val; this.getScheduleLog(); }, handleCurrentChange(val) { this.page = val this.getScheduleLog() this.page = val; this.getScheduleLog(); }, cancelShow() { this.dialogVisible = false this.pickAllNot() this.dialogVisible = false; this.pickAllNot(); }, pickAllCam() { this.$refs.cameraTree.setCheckedNodes(this.cameraTree) this.$refs.cameraTree.setCheckedNodes(this.cameraTree); }, pickAllNot() { this.$refs.cameraTree.setCheckedKeys([]) this.$refs.cameraTree.setCheckedKeys([]); }, confirmCamera() { const selectedIDs = this.$refs.cameraTree.getCheckedKeys() this.pickNum = selectedIDs.length this.procID = selectedIDs.join(",") this.getScheduleLog() this.dialogVisible = false const selectedIDs = this.$refs.cameraTree.getCheckedKeys(); this.pickNum = selectedIDs.length; this.procID = selectedIDs.join(","); this.getScheduleLog(); this.dialogVisible = false; }, openDialog() { this.dialogVisible = true this.dialogVisible = true; getLocalCameraTree({ cameraName: "", searchType: 0 searchType: 0, }).then((res) => { this.cameraTree = res.data }) this.cameraTree = res.data; }); }, moduleChange(val) { this.getScheduleLog() this.gongneng = "" this.getScheduleLog(); this.gongneng = ""; getOperations({ module: this.curModule module: this.curModule, }).then((res) => { this.gongnengOptions = res.data }) this.gongnengOptions = res.data; }); }, getOptions() { getModules().then((res) => { this.moduleOptions = res.data }) this.moduleOptions = res.data; }); }, getScheduleLog(typ) { if (typ == 1) { this.page = 1 this.page = 1; } const data = { @@ -247,40 +277,40 @@ pageSize: this.pageSize, fuzzySearch: this.fuzzySearch, procID: this.procID, procName: this.procName } procName: this.procName, }; queryScheduleLog(data).then((res) => { this.tableData = res.data.logs this.total = res.data.total }) this.tableData = res.data.logs; this.total = res.data.total; }); }, dateChange(val) { ;[this.timeStart, this.timeEnd] = val this.getScheduleLog() [this.timeStart, this.timeEnd] = val; this.getScheduleLog(); }, getTimeStr(date) { var month = pad0(date.getMonth() + 1) //月 var day = pad0(date.getDate()) //日 var hour = pad0(date.getHours()) //时 var minute = pad0(date.getMinutes()) //分 var second = pad0(date.getSeconds()) //秒 return `${date.getFullYear()}-${month}-${day} ${hour}:${minute}:${second}` var month = pad0(date.getMonth() + 1); //月 var day = pad0(date.getDate()); //日 var hour = pad0(date.getHours()); //时 var minute = pad0(date.getMinutes()); //分 var second = pad0(date.getSeconds()); //秒 return `${date.getFullYear()}-${month}-${day} ${hour}:${minute}:${second}`; }, getTimeRange(gap) { var date = new Date() //当前时间 var preDay = new Date(new Date().getTime() - gap) this.timeStart = this.getTimeStr(preDay) this.timeEnd = this.getTimeStr(date) this.dateRange = [this.timeStart, this.timeEnd] var date = new Date(); //当前时间 var preDay = new Date(new Date().getTime() - gap); this.timeStart = this.getTimeStr(preDay); this.timeEnd = this.getTimeStr(date); this.dateRange = [this.timeStart, this.timeEnd]; }, handleSelectionChange() {}, handleClose() {}, clearSearch() { this.fuzzySearch = "" this.getScheduleLog(1) } } } this.fuzzySearch = ""; this.getScheduleLog(1); }, }, }; </script> <style lang="scss"> .polling-log { src/pages/systemMonitor/index/App.vue
@@ -57,31 +57,26 @@ <span>{{ scope.row.desc }} </span> </template> </el-table-column> <el-table-column label="CPU" width="150"> <el-table-column label="CPU"> <template slot-scope="scope"> <span>{{ scope.row.cpu.toFixed(2) }} %</span> </template> </el-table-column> <el-table-column label="内存" width="150"> <el-table-column label="内存"> <template slot-scope="scope"> <span>{{ scope.row.mem.toFixed(2) }} %</span> </template> </el-table-column> <el-table-column <!-- <el-table-column prop="disk" label="硬盘" width="150" ></el-table-column> <el-table-column label="算力" width="150"> ></el-table-column> --> <el-table-column label="算力"> <template slot-scope="scope"> <span>{{ scope.row.gpu }} M</span> </template> </el-table-column> <el-table-column prop="net" label="网络" width="150" ></el-table-column> </el-table> </div> src/pages/systemSettings/components/ClusterManagement.vue
@@ -292,7 +292,7 @@ }, data() { const checkPwd = (rule, value, callback) => { debugger debugger; if (!value) { return callback(new Error("密码不能为空")); } src/pages/vindicate/views/sysInfo.vue
@@ -7,7 +7,7 @@ <div class="title">Smart AIOS</div> <div class="desc">Copyright © 贝思科技术有限公司</div> </div> <div class="bar" style="background-color: #F2F2F7;"> <div class="bar" style="background-color: #f2f2f7"> <div class="name">版本:</div> <div class="desc"> {{ @@ -31,12 +31,12 @@ </div> </div> <div class="bar"> <div class="name" style="min-width: 65px;">请求码:</div> <div class="name" style="min-width: 65px">请求码:</div> <div class="desc code" style="font-size: 12px">{{ q }}</div> </div> <div class="bar"> <div class="name">产品密钥:</div> <div class="desc" > <div class="desc"> {{ authorization || "-" }} </div> </div> @@ -155,10 +155,10 @@ passwd: this.password, down: 1, }).then((res) => { if (res.type=="application/json") { if (res.type == "application/json") { var reader = new FileReader(); reader.readAsText(res,"utf-8"); let that = this reader.readAsText(res, "utf-8"); let that = this; reader.onload = function () { var receive_data = JSON.parse(this.result); //这个就是解析出来的数据 that.$notify.error(receive_data.msg); @@ -183,15 +183,20 @@ }; </script> <style lang="scss"> div{ div { color: #333; } .v-sys-info { width: 100%; background-color: #FBFAFF; background-color: #fbfaff; border-top: 4px solid #f2f2f7; border-left: 4px solid #f2f2f7; .el-dialog { width: 625px; } .el-dialog__header { padding: 15px 20px 10px; text-align: left; @@ -307,7 +312,7 @@ line-height: 33.6px; } .desc { margin-top:10px ; margin-top: 10px; font-size: 12px; line-height: 16.8px; font-weight: 700; @@ -343,12 +348,12 @@ word-wrap: break-word; text-align: left; } .activation{ .activation { width: 90px; height: 28px; background: rgba(78,148,255,0.1); border: 1px solid #4E94FF; border-radius:20px ; background: rgba(78, 148, 255, 0.1); border: 1px solid #4e94ff; border-radius: 20px; text-align: center; line-height: 28px; color: #333; src/pages/vindicate/views/updateSettings.vue
@@ -318,6 +318,13 @@ }); }, upgrade() { if (!this.pkgID) { this.$notify.error({ title: "失败", message: "请先上传更新包", }); return; } this.shengjiing = true; upgradePkg({ id: this.pkgID, vue.config.js
@@ -40,9 +40,9 @@ // } }); //const serverUrl = "http://192.168.20.189:7009"; // 羊五// const serverUrl = "http://192.168.20.189:7009"; // 羊五// // const serverUrl = "http://192.168.8.10:7009"; const serverUrl = "http://192.168.8.118:7009"; //const serverUrl = "http://192.168.8.118:7009"; const serverUrl2 = "http://192.168.8.10:9000"; // const serverUrl = "http://192.168.20.10:7009";