cc4a7e3a5f16828d2064219fe4b59938.json 8.9 KB

1
  1. {"remainingRequest":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\style-vw-loader\\index.js??ref--0-2!C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\src\\components\\common\\XKModal.vue?vue&type=script&lang=js&","dependencies":[{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\src\\components\\common\\XKModal.vue","mtime":1663828782923},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\babel-loader\\lib\\index.js","mtime":315532800000},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000},{"path":"C:\\Users\\100zone\\Desktop\\baizong\\community\\SmartCommunity\\videoSurveillance\\node_modules\\style-vw-loader\\index.js","mtime":1540864632000}],"contextDependencies":[],"result":["//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\r\nconst preventBrowserBack = () => {\r\n history.pushState(null, null, document.URL);\r\n};\r\n/* \r\n 使用vuex this.$store.dispatch(\"openModal\", {})打开弹窗,具体参数去store查看\r\n*/\r\nexport default {\r\n name: 'xk-modal',\r\n props: {\r\n params: {\r\n type: Object,\r\n default() {\r\n return {};\r\n }\r\n }\r\n },\r\n data() {\r\n return {};\r\n },\r\n computed: {\r\n modal() {\r\n const obj = this.$store.getters['getModalParams'];\r\n if (obj && obj.height) {\r\n this.$nextTick(() => {\r\n if (this.$refs.xkModal && this.$refs.xkModal.$el && this.$refs.xkModal.$el.childNodes) {\r\n this.$refs.xkModal.$el.childNodes[0].style.height = obj.height;\r\n }\r\n });\r\n }\r\n if (obj.show) {\r\n history.pushState(null, null, document.URL);\r\n window.addEventListener('popstate', preventBrowserBack, false);\r\n } else {\r\n window.removeEventListener('popstate', preventBrowserBack);\r\n }\r\n return obj;\r\n }\r\n },\r\n methods: {\r\n close() {\r\n this.$store.dispatch('closeModal');\r\n \r\n },\r\n submit(id) {\r\n const component = this.$refs[id];\r\n component.submit && component.submit();\r\n }\r\n }\r\n};\r\n",{"version":3,"sources":["XKModal.vue"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA","file":"XKModal.vue","sourceRoot":"src/components/common","sourcesContent":["/*\r\n * @Author: wf \r\n * @Date: 2021-09-Tu 05:49:30 \r\n * @Last Modified by: wf \r\n * @Last Modified time: 2021-09-Tu 05:49:30 \r\n */\r\n\r\n<template>\r\n <!-- <transition name=\"el-zoom-in-center\"> -->\r\n <el-dialog\r\n v-if=\"modal.show\"\r\n :visible.sync=\"modal.show\"\r\n class=\"xk-modal\"\r\n :width=\"modal.width\"\r\n :fullscreen=\"modal.fullscreen\"\r\n :custom-class=\"modal.customClass || 'xk-el-modal'\"\r\n :class=\"{ 'is-modal': !modal.fullscreen,'newpop':modal.class }\"\r\n :append-to-body=\"true\"\r\n :lock-scroll=\"true\"\r\n @closed=\"close\"\r\n ref=\"xkModal\"\r\n top=\"0\"\r\n :close-on-click-modal=\"false\"\r\n :close-on-press-escape=\"false\"\r\n >\r\n <div slot=\"title\">\r\n <span class=\"title\">{{ modal.title }}</span>\r\n <span v-if=\"modal.title && !modal.notip\">\r\n (\r\n <span class=\"color-danger\">*为必填项</span>)\r\n </span>\r\n </div>\r\n <component\r\n :id=\"modal.id\"\r\n :is=\"modal.component\"\r\n :params=\"modal.props\"\r\n :ref=\"modal.id\"\r\n @close=\"$store.dispatch('closeModal')\"\r\n ></component>\r\n <span slot=\"footer\" class=\"dialog-footer\" v-if=\"!modal.fullscreen||showFooter\">\r\n <el-button @click=\"close()\" v-if=\"!modal.showCancelButton\">{{ modal.cancelButtonText || '取消' }}</el-button>\r\n <el-button type=\"primary\" v-if=\"!modal.showConfirmButton\" @click=\"submit(modal.id)\">{{ modal.confirmButtonText || '确认' }}</el-button>\r\n </span>\r\n </el-dialog>\r\n <!-- </transition> -->\r\n</template>\r\n\r\n<script>\r\nconst preventBrowserBack = () => {\r\n history.pushState(null, null, document.URL);\r\n};\r\n/* \r\n 使用vuex this.$store.dispatch(\"openModal\", {})打开弹窗,具体参数去store查看\r\n*/\r\nexport default {\r\n name: 'xk-modal',\r\n props: {\r\n params: {\r\n type: Object,\r\n default() {\r\n return {};\r\n }\r\n }\r\n },\r\n data() {\r\n return {};\r\n },\r\n computed: {\r\n modal() {\r\n const obj = this.$store.getters['getModalParams'];\r\n if (obj && obj.height) {\r\n this.$nextTick(() => {\r\n if (this.$refs.xkModal && this.$refs.xkModal.$el && this.$refs.xkModal.$el.childNodes) {\r\n this.$refs.xkModal.$el.childNodes[0].style.height = obj.height;\r\n }\r\n });\r\n }\r\n if (obj.show) {\r\n history.pushState(null, null, document.URL);\r\n window.addEventListener('popstate', preventBrowserBack, false);\r\n } else {\r\n window.removeEventListener('popstate', preventBrowserBack);\r\n }\r\n return obj;\r\n }\r\n },\r\n methods: {\r\n close() {\r\n this.$store.dispatch('closeModal');\r\n \r\n },\r\n submit(id) {\r\n const component = this.$refs[id];\r\n component.submit && component.submit();\r\n }\r\n }\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.xk-modal {\r\n overflow: hidden;\r\n .el-dialog {\r\n .el-dialog__header {\r\n height: 54px;\r\n border-radius: 6px 6px 0 0;\r\n border-bottom: 1px solid #eaedf3;\r\n padding: 0 25px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n font-size: 16px; \r\n background: #F7FBFF;\r\n }\r\n .el-dialog__body {\r\n padding: 20px;\r\n overflow: auto;\r\n .el-form {\r\n .el-select,\r\n .el-cascader {\r\n width: 100%;\r\n }\r\n }\r\n &::-webkit-scrollbar{\r\n display: none;\r\n }\r\n }\r\n .el-dialog__footer {\r\n border-top: 1px solid #eaedf3;\r\n }\r\n &.is-fullscreen {\r\n height: 100% !important;\r\n border-radius: 0;\r\n .el-dialog__body {\r\n position: absolute;\r\n left: 0;\r\n bottom: 0;\r\n top: 54px;\r\n right: 0;\r\n display: flex;\r\n justify-content: center;\r\n }\r\n }\r\n }\r\n}\r\n.is-modal {\r\n .el-dialog {\r\n border-radius: 8px;\r\n width: auto;\r\n max-height: 80%;\r\n min-height: 210px;\r\n position: absolute;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n background: #fff;\r\n .el-dialog__body {\r\n height: calc(100% - 110px);\r\n }\r\n }\r\n}\r\n\r\n.newpop .el-dialog {\r\n background:transparent;\r\n}\r\n.newpop .el-dialog .el-dialog__header {\r\n height: 50px;\r\n background:rgba(13, 21, 41, 0.3);\r\n \r\n}\r\n.newpop .el-dialog .el-dialog__body {\r\n height: 100%;\r\n padding:0;\r\n}\r\n.newpop .el-dialog .el-dialog__footer {\r\n display: none;\r\n}\r\n.newpop .title{\r\n color:#fff;\r\n}\r\n.color-danger{\r\n color: red;\r\n}\r\n</style>"]}]}