diff --git a/package-lock.json b/package-lock.json index 875f9ed..eaf09bd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,6 +14,7 @@ "element-ui": "^2.15.13", "moment": "^2.29.4", "update-element-ui-theme": "^1.0.0", + "v-viewer": "^1.6.4", "vue": "^2.6.14", "vue-router": "^3.5.1", "vuex": "^3.6.2" @@ -10830,6 +10831,27 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v-viewer": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/v-viewer/-/v-viewer-1.6.4.tgz", + "integrity": "sha512-LVkiUHpmsbsZXebeNXnu8krRCi5i2n07FeLFxoIVGhw8lVvTBO0ffpbDC6mLEuacCjrIh09HjIqpciwUtWE8lQ==", + "dependencies": { + "throttle-debounce": "^2.0.1", + "viewerjs": "^1.5.0" + }, + "engines": { + "node": ">=4", + "npm": ">=3" + } + }, + "node_modules/v-viewer/node_modules/throttle-debounce": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz", + "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", @@ -10855,6 +10877,11 @@ "node": ">= 0.8" } }, + "node_modules/viewerjs": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/viewerjs/-/viewerjs-1.11.3.tgz", + "integrity": "sha512-efG3U61Umuj/1x6JAtdvnY9m407C/RkrkFilsMcLEWKDivpjNU3/FeL+feCY1Vkur9aQeBJ+z6K4CCPP7hv6vA==" + }, "node_modules/vue": { "version": "2.7.14", "resolved": "https://registry.npmmirror.com/vue/-/vue-2.7.14.tgz", @@ -19954,6 +19981,22 @@ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true }, + "v-viewer": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/v-viewer/-/v-viewer-1.6.4.tgz", + "integrity": "sha512-LVkiUHpmsbsZXebeNXnu8krRCi5i2n07FeLFxoIVGhw8lVvTBO0ffpbDC6mLEuacCjrIh09HjIqpciwUtWE8lQ==", + "requires": { + "throttle-debounce": "^2.0.1", + "viewerjs": "^1.5.0" + }, + "dependencies": { + "throttle-debounce": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz", + "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==" + } + } + }, "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", @@ -19976,6 +20019,11 @@ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "dev": true }, + "viewerjs": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/viewerjs/-/viewerjs-1.11.3.tgz", + "integrity": "sha512-efG3U61Umuj/1x6JAtdvnY9m407C/RkrkFilsMcLEWKDivpjNU3/FeL+feCY1Vkur9aQeBJ+z6K4CCPP7hv6vA==" + }, "vue": { "version": "2.7.14", "resolved": "https://registry.npmmirror.com/vue/-/vue-2.7.14.tgz", diff --git a/package.json b/package.json index 2d8a5f0..84e2f03 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "element-ui": "^2.15.13", "moment": "^2.29.4", "update-element-ui-theme": "^1.0.0", + "v-viewer": "^1.6.4", "vue": "^2.6.14", "vue-router": "^3.5.1", "vuex": "^3.6.2" diff --git a/public/favicon.ico b/public/favicon.ico index d5afe8d..a6dd726 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/src/assets/img/logo.png b/src/assets/img/logo.png index 9257133..be005a2 100644 Binary files a/src/assets/img/logo.png and b/src/assets/img/logo.png differ diff --git a/src/assets/img/logomain.jpg b/src/assets/img/logomain.jpg new file mode 100644 index 0000000..4bfc538 Binary files /dev/null and b/src/assets/img/logomain.jpg differ diff --git a/src/assets/img/noPhoto.png b/src/assets/img/noPhoto.png new file mode 100644 index 0000000..13d4ab0 Binary files /dev/null and b/src/assets/img/noPhoto.png differ diff --git a/src/assets/img/noPhoto.jpg b/src/assets/img/noPhoto1.jpg similarity index 100% rename from src/assets/img/noPhoto.jpg rename to src/assets/img/noPhoto1.jpg diff --git a/src/components/common/Header.vue b/src/components/common/Header.vue index 9f02cf1..138aa37 100644 --- a/src/components/common/Header.vue +++ b/src/components/common/Header.vue @@ -1,11 +1,13 @@ @@ -101,15 +144,15 @@ export default { width: 100%; height: 100%; //background: #86b7ff; - -webkit-backdrop-filter: blur(30px); - backdrop-filter: blur(30px); + + //backdrop-filter: blur(12px); } .loginFilter { width: 420px; - height: 454px; - background: transparent; + height: 450px; + background: rgba(255, 255, 255, 0.6); box-shadow: 0px 4px 12px 0px rgba(51, 51, 51, 0.15); - border-radius: 4px; + border-radius: 10px; left: 50%; top: 50%; transform: translate(-50%;-50%); @@ -127,10 +170,7 @@ export default { text-align: center; border-bottom: 1px solid #dcdfe6; padding: 40px 16px; - img { - margin-bottom: 8px; - //width: 160px; - } + h3 { font-size: 30px; //background: linear-gradient(0deg, #86b7ff, #4293fd 99.46289%); @@ -144,6 +184,13 @@ export default { .el-form-item { margin-bottom: 30px; } + .verifyItem { + .el-form-item__content { + display: flex; + align-items: center; + justify-content: space-between; + } + } .login-btn { text-align: center; button { diff --git a/src/views/components/SIdentify.vue b/src/views/components/SIdentify.vue new file mode 100644 index 0000000..cf54bb0 --- /dev/null +++ b/src/views/components/SIdentify.vue @@ -0,0 +1,165 @@ + + + + + diff --git a/src/views/components/carouselChart.vue b/src/views/components/carouselChart.vue index 2abc0dd..60f4f87 100644 --- a/src/views/components/carouselChart.vue +++ b/src/views/components/carouselChart.vue @@ -11,7 +11,9 @@ v-for="item in terminalPhoto" :key="item.id" > - + + +

- {{ $moment(item.photoTime).format("YYYY-MM-DD HH:mm:ss") }} + {{ $moment(item.photoTime).format("YYYY-MM-DD ") }}

-
+ >
--> @@ -74,8 +78,8 @@ export default { loop: true, loopedSlides: 5, // looped slides should be the same //spaceBetween: 10, - //observer: true, //修改swiper自己或子元素时,自动初始化swiper - //observeParents: true, //修改swiper的父元素时,自动初始化swiper + observer: true, //修改swiper自己或子元素时,自动初始化swiper + observeParents: true, //修改swiper的父元素时,自动初始化swiper // autoplay: { // //自动轮播 // delay: 2000, @@ -121,11 +125,14 @@ export default { .slide-1 { width: 100%; overflow: hidden; - + .bigimg { + width: 100%; + height: 100%; + } img { - width: 1360px; - height: auto; - object-fit: cover; + width: 100%; + height: 100%; + // object-fit: cover; } } } @@ -137,10 +144,14 @@ export default { border: 3px solid transparent; overflow: hidden; box-sizing: border-box; + display: flex; + align-items: center; + img { - width: 320px; - height: auto; - object-fit: cover; + width: 100%; + height: 100%; + + //object-fit: cover; } } @@ -155,14 +166,38 @@ export default { color: @color-text-primary; } } - .nopic { + + .swiper-button-next.swiper-button-white, + .swiper-container-rtl .swiper-button-prev.swiper-button-white, + .swiper-button-prev.swiper-button-white, + .swiper-container-rtl .swiper-button-next.swiper-button-white { + width: 40px; + height: 40px; + border-radius: 30px; + position: absolute; + top: 50%; + transform: translateY(-50%); + background-color: rgba(0, 0, 0, 0.5); display: flex; - align-items: center; justify-content: center; - img { - object-fit: fill; - width: 100% !important; - height: 100% !important; + align-items: center; + font-size: 30px; + color: #fff; + text-align: center; + line-height: 60px; + } + .swiper-button-next.swiper-button-white, + .swiper-container-rtl .swiper-button-prev.swiper-button-white, + .swiper-button-prev.swiper-button-white, + .swiper-container-rtl .swiper-button-next.swiper-button-white { + background-size: 45% 45%; + } + .gallery-thumbs { + .swiper-button-next.swiper-button-white, + .swiper-container-rtl .swiper-button-prev.swiper-button-white, + .swiper-button-prev.swiper-button-white, + .swiper-container-rtl .swiper-button-next.swiper-button-white { + top: 60%; } } } diff --git a/src/views/components/carouselChart2.vue b/src/views/components/carouselChart2.vue new file mode 100644 index 0000000..e81aa47 --- /dev/null +++ b/src/views/components/carouselChart2.vue @@ -0,0 +1,134 @@ + + + diff --git a/src/views/devicePhotoSchedule/components/adddeviceDialog.vue b/src/views/devicePhotoSchedule/components/adddeviceDialog.vue index 7dffdc4..765b46b 100644 --- a/src/views/devicePhotoSchedule/components/adddeviceDialog.vue +++ b/src/views/devicePhotoSchedule/components/adddeviceDialog.vue @@ -4,20 +4,17 @@ :title="title" :visible.sync="isShow" :close-on-click-modal="false" - width="40%" + width="470px" > - + + value-format="HH:mm:ss" + > - + @@ -47,53 +45,45 @@ import { addScheduleRulel, updateScheduleRulel } from "@/utils/api/index"; export default { props: { - title:String + title: String, }, data() { return { isShow: false, formdata: {}, rules: { - name: [ - { required: true, message: "请输入名称", trigger: "blur" }, - ], - time: [ - { required: true, message: "请选择时间", trigger: "blur" }, - ], - span: [ - { required: true, message: "请输入间隔", trigger: "blur", }, - ], - remark: [ - { required: true, message: "请输入备注", trigger: "blur", }, - ], - } + name: [{ required: true, message: "请输入名称", trigger: "blur" }], + time: [{ required: true, message: "请选择时间", trigger: "blur" }], + span: [{ required: true, message: "请输入间隔", trigger: "blur" }], + remark: [{ required: true, message: "请输入备注", trigger: "blur" }], + }, }; }, methods: { //判断 - getdataform(val){ - console.log(val) - if (val==null) { - return this.formdata = {} - } - this.formdata = val - this.$set(this.formdata,'time',[val.startTime, val.endTime]) + getdataform(val) { + console.log(val); + if (val == null) { + return (this.formdata = {}); + } + this.formdata = val; + this.$set(this.formdata, "time", [val.startTime, val.endTime]); }, // 保存确定操作 submitForm() { this.$refs.formInfo.validate((valid) => { if (valid) { - this.formdata.startTime=this.formdata.time[0] - this.formdata.endTime=this.formdata.time[1] - delete this.formdata.time + this.formdata.startTime = this.formdata.time[0]; + this.formdata.endTime = this.formdata.time[1]; + delete this.formdata.time; if (this.title == "新增") { - let formArr=[] - formArr.push(this.formdata) + let formArr = []; + formArr.push(this.formdata); addScheduleRulel({ list: formArr }) .then((res) => { - this.isShow = false + this.isShow = false; this.$message.success("添加成功"); - this.$parent.deviceList() + this.$parent.deviceList(); }) .catch((err) => { this.$message.error("添加失败"); @@ -101,9 +91,9 @@ export default { } else { updateScheduleRulel(this.formdata) .then((res) => { - this.isShow = false + this.isShow = false; this.$message.success("修改成功"); - this.$parent.deviceList() + this.$parent.deviceList(); }) .catch((err) => { this.$message.error("修改失败"); @@ -116,15 +106,12 @@ export default { }); }, display() { - this.isShow = true + this.isShow = true; }, hide() { - this.isShow = false - } - - }, - mounted() { - + this.isShow = false; + }, }, + mounted() {}, }; diff --git a/src/views/management/userEquipment/lineInformation/components/addLineDialog.vue b/src/views/management/userEquipment/lineInformation/components/addLineDialog.vue index 7fd761f..7074bca 100644 --- a/src/views/management/userEquipment/lineInformation/components/addLineDialog.vue +++ b/src/views/management/userEquipment/lineInformation/components/addLineDialog.vue @@ -2,7 +2,8 @@ - + - + @@ -47,24 +48,13 @@ import { export default { props: { - lineDialog: { - type: Boolean, - }, - lineDialogTitle: { - type: String, - default: "新增", - }, - formItem: { - type: Object, - default: function () { - return {}; - }, - }, + lineDialogTitle: String, }, data() { return { - lineForm: {}, + isShow: false, + formdata: {}, dyOptions: "", rules: { bsManufacturer: [ @@ -72,7 +62,6 @@ export default { ], dyLevelid: [ { required: true, message: "请选择DY等级", trigger: "blur" }, - { type: "number", message: "DY等级数字值" }, ], name: [ { @@ -82,52 +71,45 @@ export default { }, ], }, - //表单数组,对象 - formArr: [], }; }, methods: { + //判断 + getdataform(val) { + console.log(val); + if (val == null) { + return (this.formdata = {}); + } + this.formdata = val; + this.$set(this.formdata); + }, // 保存确定操作 submitForm() { this.$refs.formLineInfo.validate((valid) => { if (valid) { - console.log(this.lineForm); - let formObj = { - bsManufacturer: this.lineForm.bsManufacturer, - dyLevelid: this.lineForm.dyLevelid, - name: this.lineForm.name, - }; - this.formArr.push(formObj); - console.log(this.formArr); - // 走保存请求 if (this.lineDialogTitle == "新增") { - addLineJoggle({ list: this.formArr }) + let formArr = []; + formArr.push(this.formdata); + console.log(formArr); + addLineJoggle({ list: formArr }) .then((res) => { - console.log(res); - this.$emit("lineDialogClose", 1); //关闭弹窗 - this.formArr = []; + this.isShow = false; this.$message.success("添加成功"); + this.$parent.lineList(); }) .catch((err) => { console.log(err); //代码错误、请求失败捕获 this.$message.error("添加失败"); }); - } else if (this.lineDialogTitle == "修改") { - let changeformObj = { - bsManufacturer: this.lineForm.bsManufacturer, - dyLevelid: this.lineForm.dyLevelid, - name: this.lineForm.name, - id: this.lineForm.id, - }; - updateLineJoggle(changeformObj) + } else { + updateLineJoggle(this.formdata) .then((res) => { - console.log(res); - this.$emit("lineDialogClose", 1); //关闭弹窗 + this.isShow = false; this.$message.success("修改成功"); + this.$parent.lineList(); }) .catch((err) => { - console.log(err); //代码错误、请求失败捕获 this.$message.error("修改失败"); }); } @@ -137,29 +119,14 @@ export default { } }); }, - //取消关闭弹窗 - closeDialog(flag) { - this.$refs.formLineInfo.resetFields(); - this.$emit("lineDialogClose", flag); + display() { + this.isShow = true; }, - }, - mounted() { - console.log("打印传过来的对象", this.formItem); - console.log("打印传过来的对象", this.formItem.bsManufacturer); - this.lineForm = JSON.parse(JSON.stringify(this.formItem)); - }, - watch: { - formItem: { - handler(newVal, oldVal) { - // 调用函数 - this.$nextTick(() => { - this.lineForm = JSON.parse(JSON.stringify(this.formItem)); - }); - }, - immediate: true, - deep: true, + hide() { + this.isShow = false; }, }, + created() { getdyListJoggle().then((res) => { console.log(res); diff --git a/src/views/management/userEquipment/lineInformation/index.vue b/src/views/management/userEquipment/lineInformation/index.vue index 461f652..317c616 100644 --- a/src/views/management/userEquipment/lineInformation/index.vue +++ b/src/views/management/userEquipment/lineInformation/index.vue @@ -5,9 +5,6 @@ 新增 - -
@@ -103,37 +98,32 @@ export default { data() { return { lineDialogTitle: "", //弹窗标题 - lineDialog: false, - formLineInfo: {}, //弹窗传值 lineTableData: [], //multipleSelection: [], //获取当前选中 - //删除数组 - deleteArr: [], page: 1, // 当前页数 pageSize: 10, // 每页数量 total: 0, //总条数 }; }, + created() { + this.lineList(); + }, methods: { //获取线路列表数据 - lineList(page, pageSize) { + lineList() { getLineListJoggle({ - pageindex: page, - pagesize: pageSize, + pageindex: this.page, + pagesize: this.pageSize, }) .then((res) => { - console.log(res); this.lineTableData = res.data.list; this.total = res.data.total; }) - .catch((err) => { - console.log(err); //代码错误、请求失败捕获 - }); + .catch((err) => {}); }, //点击行选中 handleRowClick(row, column, event) { this.$refs.multipleTable.toggleRowSelection(row); - // console.log(column, row, event); }, //获取选中的行 handleSelectionChange(val) { @@ -142,66 +132,45 @@ export default { // 新建弹窗 handleAddLine() { - this.lineDialog = true; this.lineDialogTitle = "新增"; + this.$refs.addlineDialogref.display(); + this.$refs.addlineDialogref.getdataform(null); }, //handleResive 修改线路数据 handleResive(data) { - console.log(data); this.lineDialogTitle = "修改"; - this.formLineInfo = Object.assign({}, data); - this.lineDialog = true; - }, - //新建弹窗取消按钮 关闭弹窗 - lineDialogClose(flag) { - if (flag) { - //更新列表 - this.lineList(this.page, this.pageSize); - } - this.lineDialog = false; - this.formLineInfo = {}; + this.$refs.addlineDialogref.display(); + this.$refs.addlineDialogref.getdataform(data); }, + //删除数据 handleDelete(data) { - console.log(data); - this.deleteArr.push({ + let deleteArr = []; + deleteArr.push({ id: data.id, }); - console.log(this.deleteArr); this.$confirm("确定要删除记录吗,同时删除关联关系?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { - // 行设置向后台请求删除数据 - deleteLineJoggle({ list: this.deleteArr }).then((res) => { - console.log(res); - this.lineList(this.page, this.pageSize); - }); - this.$message({ - type: "success", - message: "删除成功!", + deleteLineJoggle({ list: deleteArr }).then((res) => { + this.lineList(); //刷新 }); + this.$message({ type: "success", message: "删除成功!" }); }) .catch(() => { - this.$message({ - type: "info", - message: "已取消删除", - }); + this.$message({ type: "info", message: "已取消删除" }); }); }, //点击分页 handleCurrentChange(val) { - console.log(`当前页: ${val}`); this.page = val; - this.lineList(val, this.pageSize); + this.lineList(); }, }, - created() { - this.lineList(this.page, this.pageSize); - }, };