diff --git a/src/assets/img/aiaf-design/cheliu.png b/src/assets/img/aiaf-design/cheliu.png
new file mode 100644
index 00000000..82b2a0ef
Binary files /dev/null and b/src/assets/img/aiaf-design/cheliu.png differ
diff --git a/src/assets/img/aiaf-design/gongdan.png b/src/assets/img/aiaf-design/gongdan.png
new file mode 100644
index 00000000..f3194a66
Binary files /dev/null and b/src/assets/img/aiaf-design/gongdan.png differ
diff --git a/src/assets/img/aiaf-design/index.png b/src/assets/img/aiaf-design/index.png
new file mode 100644
index 00000000..750bfd70
Binary files /dev/null and b/src/assets/img/aiaf-design/index.png differ
diff --git a/src/assets/img/aiaf-design/renliu.png b/src/assets/img/aiaf-design/renliu.png
new file mode 100644
index 00000000..a55cfcd3
Binary files /dev/null and b/src/assets/img/aiaf-design/renliu.png differ
diff --git a/src/assets/img/aiaf-design/shebei-chongdianzhuang.png b/src/assets/img/aiaf-design/shebei-chongdianzhuang.png
new file mode 100644
index 00000000..b3f75904
Binary files /dev/null and b/src/assets/img/aiaf-design/shebei-chongdianzhuang.png differ
diff --git a/src/assets/img/aiaf-design/shebei-denggan.png b/src/assets/img/aiaf-design/shebei-denggan.png
new file mode 100644
index 00000000..cd0ff822
Binary files /dev/null and b/src/assets/img/aiaf-design/shebei-denggan.png differ
diff --git a/src/assets/img/aiaf-design/shebei-fabu.png b/src/assets/img/aiaf-design/shebei-fabu.png
new file mode 100644
index 00000000..a3e83839
Binary files /dev/null and b/src/assets/img/aiaf-design/shebei-fabu.png differ
diff --git a/src/assets/img/aiaf-design/shebei-jiankong.png b/src/assets/img/aiaf-design/shebei-jiankong.png
new file mode 100644
index 00000000..681086d6
Binary files /dev/null and b/src/assets/img/aiaf-design/shebei-jiankong.png differ
diff --git a/src/assets/img/aiaf-design/shebei-jinggai.png b/src/assets/img/aiaf-design/shebei-jinggai.png
new file mode 100644
index 00000000..152b3031
Binary files /dev/null and b/src/assets/img/aiaf-design/shebei-jinggai.png differ
diff --git a/src/assets/img/aiaf-design/shebei-kakou.png b/src/assets/img/aiaf-design/shebei-kakou.png
new file mode 100644
index 00000000..3407f24c
Binary files /dev/null and b/src/assets/img/aiaf-design/shebei-kakou.png differ
diff --git a/src/assets/img/aiaf-design/shebei-laoren.png b/src/assets/img/aiaf-design/shebei-laoren.png
new file mode 100644
index 00000000..19ace841
Binary files /dev/null and b/src/assets/img/aiaf-design/shebei-laoren.png differ
diff --git a/src/assets/img/aiaf-design/shebei-menjin.png b/src/assets/img/aiaf-design/shebei-menjin.png
new file mode 100644
index 00000000..dbfd8b59
Binary files /dev/null and b/src/assets/img/aiaf-design/shebei-menjin.png differ
diff --git a/src/assets/img/aiaf-design/shebei.png b/src/assets/img/aiaf-design/shebei.png
new file mode 100644
index 00000000..a139b1df
Binary files /dev/null and b/src/assets/img/aiaf-design/shebei.png differ
diff --git a/src/assets/img/aiaf-design/yujing-alert.png b/src/assets/img/aiaf-design/yujing-alert.png
new file mode 100644
index 00000000..f32209f7
Binary files /dev/null and b/src/assets/img/aiaf-design/yujing-alert.png differ
diff --git a/src/assets/img/aiaf-design/yujing.png b/src/assets/img/aiaf-design/yujing.png
new file mode 100644
index 00000000..7c6769b3
Binary files /dev/null and b/src/assets/img/aiaf-design/yujing.png differ
diff --git a/src/assets/scss/modules/ai/index.scss b/src/assets/scss/modules/ai/index.scss
new file mode 100644
index 00000000..728f9b6d
--- /dev/null
+++ b/src/assets/scss/modules/ai/index.scss
@@ -0,0 +1,42 @@
+@import "../../c/config";
+@import "../../c/function";
+
+.m-design {
+ img {
+ display: block;
+ width: 100%;
+ }
+}
+
+.m-sidebar {
+ position: fixed;
+ right: 0;
+ top: 50%;
+ transform: translateY(-50%);
+ width: 100px;
+ .wrap {
+ background-color: rgba(#037, 0.6);
+ transform: translateX(50px);
+ transition: all ease 0.3s;
+ cursor: pointer;
+ border-radius: 4px;
+ box-shadow: 0 0 10px 1px #fff;
+ &:hover {
+ transform: translateX(0);
+ background-color: rgba(#037, 0.9);
+ }
+ .nav {
+ color: rgba(#fff, 0.8);
+ text-align: center;
+ font-size: 14px;
+ line-height: 40px;
+ &:hover {
+ color: #fff;
+ }
+ &.z-on {
+ color: #ffa;
+ font-weight: bold;
+ }
+ }
+ }
+}
diff --git a/src/router/index.js b/src/router/index.js
index 809d5ec8..e278ad84 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -282,6 +282,44 @@ router.beforeEach((to, from, next) => {
url: "visual/heart/index",
children: [],
},
+ // {
+ // icon: "icon-setting",
+ // id: "44rq22222q2222",
+ // name: "AI安防",
+ // // url: "visual/basicinfo/basicInfoMain",
+ // children: [
+ // {
+ // url: "/visual/ai/index",
+ // name: "AI安防",
+ // id: "5feawfwa111111efwa57",
+ // },
+ // {
+ // url: "/visual/ai/renliu",
+ // name: "人流数据",
+ // id: "5fwaefwae222112fawef58",
+ // },
+ // {
+ // url: "/visual/ai/cheliu",
+ // name: "车流数据",
+ // id: "erawerwecsxefwaw",
+ // },
+ // {
+ // url: "/visual/ai/shebei",
+ // name: "设备数据",
+ // id: "zfzffewaf",
+ // },
+ // {
+ // url: "/visual/ai/gongdan",
+ // name: "工单数据",
+ // id: "fewafwafewaefddd",
+ // },
+ // {
+ // url: "/visual/ai/yujing",
+ // name: "预警事件",
+ // id: "545345fdsfs",
+ // },
+ // ],
+ // },
];
fnAddDynamicMenuRoutes2(window.SITE_CONFIG["menuShujuList"]);
diff --git a/src/views/modules/base/community/communityTable.vue b/src/views/modules/base/community/communityTable.vue
index 04007c1e..6f79fe9f 100644
--- a/src/views/modules/base/community/communityTable.vue
+++ b/src/views/modules/base/community/communityTable.vue
@@ -109,12 +109,18 @@
-
-
+
@@ -240,6 +256,8 @@ export default {
btnLoading: false,
disabled: false,
pageLoading: false,
+ selAllFlag: false,
+ isIndeterminate: false,
dialogEditVisible: false,
dialogVisible: false,
uploadUlr: window.SITE_CONFIG['apiURL'] + '/epmetuser/icresiuser/importExcel',
@@ -262,6 +280,7 @@ export default {
formList: [],
tableHeader: [],
tabsList: [],
+ selection: [],
defaultCategotyKey: '',
@@ -336,6 +355,61 @@ export default {
const { user } = this.$store.state
return id === user.agencyId
},
+ selectionChange (selection) {
+ this.selection = selection
+
+ if (selection.length === this.tableData.length) {
+ this.selAllFlag = true
+ this.isIndeterminate = false
+ } else if (selection.length > 0) {
+ this.selAllFlag = false
+ this.isIndeterminate = true
+ } else {
+ this.selAllFlag = false
+ this.isIndeterminate = false
+ }
+ },
+ handleSelectAll (selectAllFlag) {
+ this.$refs.ref_table.clearSelection();
+ if (selectAllFlag) {
+ this.tableData.forEach(row => {
+ this.$refs.ref_table.toggleRowSelection(row);
+ });
+ }
+ },
+ selectAll (selection) {
+ this.selection = selection
+
+ if (selection.length > 0) {
+ this.selAllFlag = true
+ } else {
+ this.selAllFlag = false
+ }
+
+ },
+ deleteBatch () {
+ if (this.selection.length > 0) {
+ this.$confirm("删除之后无法恢复,确认删除?", "提示", {
+ confirmButtonText: "确定",
+ cancelButtonText: "取消",
+ type: "warning"
+ })
+ .then(() => {
+ this.deleteresiBatch()
+ })
+ .catch(err => {
+ if (err == "cancel") {
+ // this.$message({
+ // type: "info",
+ // message: "已取消删除"
+ // });
+ }
+
+ });
+ } else {
+ this.$message.warning('请先选择要删除的小区')
+ }
+ },
handleSizeChange (val) {
console.log(`每页 ${val} 条`)
this.pageSize = val
@@ -627,7 +701,7 @@ export default {
handleDel (row) {
let params = {
formCode: 'resi_base_info',
- icResiUserId: row.icResiUserId
+ userIds: [row.icResiUserId]
}
console.log('row1', row)
this.$http
@@ -926,7 +1000,29 @@ export default {
.catch(() => {
return this.$message.error('网络错误')
})
- }
+ },
+ async deleteresiBatch () {
+ if (this.selection.length === 0) return this.$message.error('请选择之后进行操作')
+ let userIds = this.selection.map(item => item.icResiUserId)
+ let params = {
+ formCode: 'resi_base_info',
+ userIds
+ }
+ this.$http
+ .post('/epmetuser/icresiuser/delete', params)
+ .then(({ data: res }) => {
+ if (res.code !== 0) {
+ return this.$message.error(res.msg)
+ } else {
+ this.$message.success('删除成功')
+ this.getTableData()
+ }
+ })
+ .catch((err) => {
+ console.log('row4', err)
+ return this.$message.error('网络错误')
+ })
+ },
}
}
@@ -1033,4 +1129,13 @@ export default {
margin-top: 20px;
text-align: center;
}
+.div-flex {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ width: 100%;
+ .div_del {
+ margin-top: 15px;
+ }
+}
diff --git a/src/views/modules/communityService/sqzzz/index.vue b/src/views/modules/communityService/sqzzz/index.vue
index c6e74ee5..0524e4f5 100644
--- a/src/views/modules/communityService/sqzzz/index.vue
+++ b/src/views/modules/communityService/sqzzz/index.vue
@@ -270,34 +270,53 @@ export default {
}
return fileType && isLt1M;
},
- uploadHttpRequest(file) {
+ async uploadHttpRequest(file) {
this.importLoading = true;
this.importBtnTitle = "正在上传中...";
+ this.$message({
+ showClose: true,
+ message: '导入中,请到系统管理-导入记录中查看进度',
+ duration: 0
+ })
const formData = new FormData(); //FormData对象,添加参数只能通过append('key', value)的形式添加
formData.append("file", file.file); //添加文件对象
- axios({
- url:
- window.SITE_CONFIG["apiURL"] +
- "/heart/iccommunityselforganization/importcommunityselforganization",
- method: "post",
- data: formData,
- // responseType: "blob",
- })
- .then((res) => {
- this.importLoading = false;
- this.importBtnTitle = "excel导入";
- console.log("resresresresresresres", res);
-
- this.getTableData();
- if (res.data.code == 0) {
- return this.$message.success(res.data.data || "导入成功");
- } else {
- return this.$message.error(res.data.msg);
- }
+ await this.$http
+ .post('/heart/iccommunityselforganization/importcommunityselforganization', formData).then(res => {
+ console.log('res-up', res)
+ if (res.data.code == 0 && res.data.msg == 'success') {
+ this.$message.success('导入成功')
+ this.getTableData()
+ } else this.$message.error(res.data.msg)
+ }).catch(err => {
+ console.log('失败', err)
+ file.onError() //上传失败的文件会从文件列表中删除
+ this.$message.error('导入失败')
})
- .catch((err) => {
- console.log("失败", err);
- });
+ // axios({
+ // url:
+ // window.SITE_CONFIG["apiURL"] +
+ // "/heart/iccommunityselforganization/importcommunityselforganization",
+ // method: "post",
+ // data: formData,
+ // // responseType: "blob",
+ // })
+ // .then((res) => {
+ // this.importLoading = false;
+ // this.importBtnTitle = "excel导入";
+ // console.log("resresresresresresres", res);
+
+ // this.getTableData();
+ // if (res.data.code == 0) {
+ // return this.$message.success(res.data.data || "导入成功");
+ // } else {
+ // return this.$message.error(res.data.msg);
+ // }
+ // })
+ // .catch((err) => {
+ // console.log("失败", err);
+ // });
+ this.importLoading = false
+ this.importBtnTitle = 'excel导入'
this.$refs.upload.clearFiles();
},
diff --git a/src/views/modules/visual/ai/cheliu.vue b/src/views/modules/visual/ai/cheliu.vue
new file mode 100644
index 00000000..2fb09d89
--- /dev/null
+++ b/src/views/modules/visual/ai/cheliu.vue
@@ -0,0 +1,22 @@
+
+
+

+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/modules/visual/ai/gongdan.vue b/src/views/modules/visual/ai/gongdan.vue
new file mode 100644
index 00000000..864149ed
--- /dev/null
+++ b/src/views/modules/visual/ai/gongdan.vue
@@ -0,0 +1,22 @@
+
+
+

+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/modules/visual/ai/index.vue b/src/views/modules/visual/ai/index.vue
new file mode 100644
index 00000000..132fac49
--- /dev/null
+++ b/src/views/modules/visual/ai/index.vue
@@ -0,0 +1,22 @@
+
+
+

+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/modules/visual/ai/renliu.vue b/src/views/modules/visual/ai/renliu.vue
new file mode 100644
index 00000000..334c6182
--- /dev/null
+++ b/src/views/modules/visual/ai/renliu.vue
@@ -0,0 +1,22 @@
+
+
+

+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/modules/visual/ai/shebei.vue b/src/views/modules/visual/ai/shebei.vue
new file mode 100644
index 00000000..3274ff82
--- /dev/null
+++ b/src/views/modules/visual/ai/shebei.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
diff --git a/src/views/modules/visual/ai/yujing.vue b/src/views/modules/visual/ai/yujing.vue
new file mode 100644
index 00000000..0238cc5b
--- /dev/null
+++ b/src/views/modules/visual/ai/yujing.vue
@@ -0,0 +1,22 @@
+
+
+

+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/modules/visual/communityParty/community.vue b/src/views/modules/visual/communityParty/community.vue
index b550259b..1146ca2d 100644
--- a/src/views/modules/visual/communityParty/community.vue
+++ b/src/views/modules/visual/communityParty/community.vue
@@ -36,7 +36,8 @@
prefix-icon="el-icon-caret-bottom"
value-format="yyyy-MM-dd HH:mm:ss"
:clearable="false"
- :default-time="['00:00:00', '23:59:59']">
+ :default-time="['00:00:00', '23:59:59']"
+ @change="handleTimeChange">
@@ -121,6 +122,7 @@