diff --git a/manager/README.md b/manager/README.md index b2b8dfc8..254a51de 100644 --- a/manager/README.md +++ b/manager/README.md @@ -31,7 +31,7 @@ npm run lint #### login.vue页面,测试时不走权限,直接return 318行 #### Main.vue 页面,241行,修改,避免报错 -#### main-components 头部,左侧所有内容 +#### main-parts 头部,左侧所有内容 -#### lili-floor-renovation 楼层装修模块 +#### decoration 楼层装修模块 diff --git a/manager/package.json b/manager/package.json index 66c45f0b..45dbf723 100644 --- a/manager/package.json +++ b/manager/package.json @@ -22,7 +22,7 @@ "sockjs-client": "^1.4.0", "swiper": "^6.3.5", "uuid": "^8.3.2", - "view-design": "^4.2.0", + "view-design": "^4.7.0", "vue": "^2.6.10", "vue-awesome-swiper": "^4.1.1", "vue-i18n": "^8.15.1", diff --git a/manager/src/views/lili-components/affix-time.vue b/manager/src/components/affix-time.vue similarity index 100% rename from manager/src/views/lili-components/affix-time.vue rename to manager/src/components/affix-time.vue diff --git a/manager/src/views/lili-components/editor/config.js b/manager/src/components/editor/config.js similarity index 100% rename from manager/src/views/lili-components/editor/config.js rename to manager/src/components/editor/config.js diff --git a/manager/src/views/lili-components/editor/plugins.js b/manager/src/components/editor/plugins.js similarity index 100% rename from manager/src/views/lili-components/editor/plugins.js rename to manager/src/components/editor/plugins.js diff --git a/manager/src/views/lili-components/editor/toolbar.js b/manager/src/components/editor/toolbar.js similarity index 100% rename from manager/src/views/lili-components/editor/toolbar.js rename to manager/src/components/editor/toolbar.js diff --git a/manager/src/components/hotzone/assets/styles/icons8-edit-64.png b/manager/src/components/hotzone/assets/styles/icons8-edit-64.png new file mode 100644 index 00000000..72d50088 Binary files /dev/null and b/manager/src/components/hotzone/assets/styles/icons8-edit-64.png differ diff --git a/manager/src/components/hotzone/assets/styles/main.css b/manager/src/components/hotzone/assets/styles/main.css new file mode 100644 index 00000000..d7216d11 --- /dev/null +++ b/manager/src/components/hotzone/assets/styles/main.css @@ -0,0 +1,657 @@ +.hz-m-wrap { + position: relative; + /*overflow: hidden;*/ +} + +.hz-m-wrap .hz-u-img { + display: block; + width: 100%; + max-width: 100%; + height: auto; + max-height: 100%; + user-select: none; +} + +.hz-m-wrap .hz-m-area { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + cursor: crosshair; +} + +.hz-m-wrap .hz-m-item { + position: absolute; + display: block; +} + +.hz-m-wrap .hz-m-box { + position: relative; + width: 100%; + height: 100%; + box-shadow: 0 0 6px #000; + background-color: #e31414; + font-size: 12px; + cursor: pointer; + color: #fff; + opacity: 0.8; +} +.hz-m-box{ + overflow: hidden; +} + +.hz-m-wrap .hz-m-box>li { + position: absolute; + text-align: center; + user-select: none; +} + +.hz-m-wrap .hz-m-box.hz-z-hidden>li { + display: none; +} + +.hz-m-wrap .hz-m-box.hz-m-hoverbox:hover { + box-shadow: 0 0 0 2px #373950; +} + +.hz-m-wrap .hz-m-box.hz-m-hoverbox .hz-icon:hover { + background-color: #373950; +} + +.hz-m-wrap .hz-m-box .hz-icon { + width: 24px; + height: 24px; + line-height: 24px; + font-size: 20px; + text-align: center; +} + +.hz-m-wrap .hz-m-box .hz-icon:hover { + background-color: #e31414; + opacity: 0.8; +} + +.hz-m-wrap .hz-m-box .hz-u-index { + top: 0; + left: 0; + width: 24px; + height: 24px; + line-height: 24px; + background-color: #000; + z-index: 100; +} + +.hz-m-wrap .hz-m-box .hz-u-close { + top: 0; + right: 0; + z-index: 10; +} + +.hz-m-wrap .hz-m-box .hz-m-copy { + display: inline-block; +} + +.hz-m-wrap .hz-m-box .hz-small-icon { + border: 0; + border-radius: 0; +} + +.hz-m-wrap .hz-m-box .hz-u-square { + width: 8px; + height: 8px; + opacity: 0.8; +} + +.hz-m-wrap .hz-m-box .hz-u-square:after { + content: ''; + position: absolute; + top: 2px; + left: 2px; + width: 4px; + height: 4px; + border-radius: 4px; + background-color: #fff; +} + +.hz-m-wrap .hz-m-box .hz-u-square-tl { + top: -4px; + left: -4px; + cursor: nw-resize; +} + +.hz-m-wrap .hz-m-box .hz-u-square-tc { + top: -4px; + left: 50%; + transform: translateX(-50%); + cursor: n-resize; +} + +.hz-m-wrap .hz-m-box .hz-u-square-tr { + top: -4px; + right: -4px; + cursor: ne-resize; +} + +.hz-m-wrap .hz-m-box .hz-u-square-cl { + top: 50%; + left: -4px; + transform: translateY(-50%); + cursor: w-resize; +} + +.hz-m-wrap .hz-m-box .hz-u-square-cr { + top: 50%; + right: -4px; + transform: translateY(-50%); + cursor: w-resize; +} + +.hz-m-wrap .hz-m-box .hz-u-square-bl { + bottom: -4px; + left: -4px; + cursor: sw-resize; +} + +.hz-m-wrap .hz-m-box .hz-u-square-bc { + bottom: -4px; + left: 50%; + transform: translateX(-50%); + cursor: s-resize; +} + +.hz-m-wrap .hz-m-box .hz-u-square-br { + bottom: -4px; + right: -4px; + cursor: se-resize; +} + +/* reset */ +.hz-m-modal, +.hz-m-wrap { + font-size: 12px; + /* 清除内外边距 */ + /* 重置列表元素 */ + /* 重置文本格式元素 */ + /* 初始化 input */ +} + +.hz-m-modal ul, +.hz-m-wrap ul, +.hz-m-modal ol, +.hz-m-wrap ol, +.hz-m-modal li, +.hz-m-wrap li { + margin: 0; + padding: 0; +} + +.hz-m-modal ul, +.hz-m-wrap ul, +.hz-m-modal ol, +.hz-m-wrap ol { + list-style: none; +} + +.hz-m-modal a, +.hz-m-wrap a { + text-decoration: none; +} + +.hz-m-modal a:hover, +.hz-m-wrap a:hover { + text-decoration: underline; +} + +.hz-m-modal p, +.hz-m-wrap p { + -webkit-margin-before: 0; + -webkit-margin-after: 0; +} + +.hz-m-modal input[type="checkbox"], +.hz-m-wrap input[type="checkbox"] { + cursor: pointer; +} + +/* basic */ +/* modal 样式 */ +.hz-m-modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1000; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + touch-action: cross-slide-y pinch-zoom double-tap-zoom; + text-align: center; + overflow: hidden; +} + +.hz-m-modal:before { + content: ""; + display: inline-block; + vertical-align: middle; + height: 100%; +} + +.hz-m-modal .hz-modal_dialog { + display: inline-block; + vertical-align: middle; + text-align: left; + border-radius: 3px; +} + +.hz-m-modal .hz-modal_title { + margin: 0; +} + +.hz-m-modal .hz-modal_close { + float: right; + margin: -6px -4px 0 0; +} + +@media (max-width: 767px) { + .hz-m-modal .hz-modal_dialog { + width: auto; + } +} + +html.z-modal, +html.z-modal body { + overflow: hidden; +} + +.hz-m-modal { + background: rgba(0, 0, 0, 0.6); +} + +.hz-m-modal .hz-modal_dialog { + width: 450px; + background: #fff; + -webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125); + box-shadow: 0 2px 3px rgba(0, 0, 0, 0.125); +} + +.hz-m-modal .hz-modal_hd { + padding: 15px; + border-bottom: 1px solid #f4f4f4; +} + +.hz-m-modal .hz-modal_title { + font-size: 18px; +} + +.hz-m-modal .hz-modal_close { + margin: -15px -15px 0 0; + padding: 6px; + color: #bbb; + cursor: pointer; +} + +.hz-m-modal .hz-modal_close:hover { + color: #888; +} + +.hz-m-modal .hz-modal_close .hz-u-icon-close { + font-size: 18px; + transition: transform 500ms ease-in-out; + transform: rotate(0deg); + width: 18px; + text-align: center; +} + +.hz-m-modal .hz-modal_close:hover .hz-u-icon-close { + transform: rotate(270deg); +} + +.hz-m-modal .hz-modal_bd { + padding: 15px 15px 0 15px; + min-height: 10px; +} + +.hz-m-modal .hz-modal_ft { + padding: 15px; + text-align: center; + border-top: 1px solid #f4f4f4; +} + +.hz-m-modal .hz-modal_ft .hz-u-btn { + margin: 0 10px; +} + +@media (max-width: 767px) { + .hz-m-modal .hz-modal_dialog { + margin: 10px; + } +} + +/* 基本按钮样式 btn */ +.hz-u-btn { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-appearance: none; + border: none; + overflow: visible; + font: inherit; + text-transform: none; + text-decoration: none; + cursor: pointer; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: none; + display: inline-block; + vertical-align: middle; + text-align: center; + font-size: 12px; +} + +.hz-u-btn:hover, +.hz-u-btn:focus { + outline: none; + text-decoration: none; +} + +.hz-u-btn:disabled { + cursor: not-allowed; +} + +.hz-u-btn-block { + display: block; + width: 100%; +} + +.hz-u-btn { + padding: 0 16px; + height: 28px; + line-height: 26px; + background: #f4f4f4; + color: #444; + border: 1px solid #ddd; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.hz-u-btn:hover, +.hz-u-btn:focus { + background: #e5e5e5; + border: 1px solid #adadad; +} + +.hz-u-btn:active { + background: #e5e5e5; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.hz-u-btn:disabled { + background: #fff; + border: 1px solid #ccc; + filter: alpha(opacity=65); + opacity: 0.65; + -webkit-box-shadow: none; + box-shadow: none; +} + +/* 按钮类型 */ +.hz-u-btn-primary { + background: #67739b; + color: #fff; + border: 1px solid #67739b; +} + +.hz-u-btn-primary:hover, +.hz-u-btn-primary:focus { + background: #31384b; + color: #fff; + border: 1px solid #31384b; +} + +.hz-u-btn-primary:active { + background: #367fa9; + color: #fff; + border: 1px solid #367fa9; +} + +.hz-u-btn-primary:disabled { + background: #444; + color: #fff; + border: 1px solid #444; +} + +/* input */ +.hz-u-input { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + margin: 0; + border: 0; + padding: 0; + border-radius: 0; + font: inherit; + color: inherit; + vertical-align: middle; +} + +.hz-u-input { + position: relative; + z-index: 0; + padding: 5px 6px; + border: 1px solid #d2d6de; + color: #555; + background: #fff; + -moz-border-radius: 3px; + border-radius: 3px; +} + +.hz-u-input::-webkit-input-placeholder { + color: #bbb; + filter: alpha(opacity=100); + opacity: 1; +} + +.hz-u-input::-moz-placeholder { + color: #bbb; + filter: alpha(opacity=100); + opacity: 1; +} + +.hz-u-input:-moz-placeholder { + color: #bbb; + filter: alpha(opacity=100); + opacity: 1; +} + +.hz-u-input:-ms-placeholder { + color: #bbb; + filter: alpha(opacity=100); + opacity: 1; +} + +.hz-u-input:focus { + outline: 0; + background: #fff; + color: #555; + border: 1px solid #3c8dbc; +} + +.hz-u-input:disabled { + cursor: not-allowed; + background: #eee; + color: #999; + border: 1px solid #d2d6de; +} + +.hz-u-input { + width: 280px; + height: 34px; +} + +.hz-u-input.hz-u-input-success { + color: #00a65a; + border-color: #00a65a; +} + +.hz-u-input.hz-u-input-warning { + color: #f39c12; + border-color: #f39c12; +} + +.hz-u-input.hz-u-input-error { + color: #dd4b39; + border-color: #dd4b39; +} + +.hz-u-input.hz-u-input-blank { + border-color: transparent; + border-style: dashed; + background: none; +} + +.hz-u-input.hz-u-input-blank:focus { + border-color: #ddd; +} + +/* formItem */ +.hz-u-formitem { + display: inline-block; + *zoom: 1; + margin-bottom: 1em; +} + +.hz-u-formitem:before, +.hz-u-formitem:after { + display: table; + content: ""; + line-height: 0; +} + +.hz-u-formitem:after { + clear: both; +} + +.hz-u-formitem .hz-formitem_tt { + display: block; + float: left; + text-align: right; +} + +.hz-u-formitem .hz-formitem_ct { + display: block; +} + +.hz-u-formitem .hz-formitem_rqr { + line-height: 28px; + color: #dd4b39; +} + +.hz-u-formitem .hz-formitem_tt { + line-height: 34px; + width: 100px; +} + +.hz-u-formitem .hz-formitem_ct { + line-height: 34px; + margin-left: 108px; +} + +/* icon */ +.hz-u-icon { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* label */ +.hz-u-label { + display: inline-block; + cursor: pointer; +} + +/* margin */ +.hz-f-ml0 { + margin-bottom: 0; +} + +/* replicator */ +.hz-u-copy input[data-for-copy] { + transform: translateZ(0); + position: fixed; + bottom: 0; + right: 0; + width: 1px; + height: 1px; + opacity: 0; + overflow: hidden; + z-index: -999; + color: transparent; + background-color: transparent; + border: none; + outline: none; +} + +@font-face { + font-family: 'iconfont'; + /* project id 525460 */ + src: url('//at.alicdn.com/t/font_525460_d0ysfwzacahsemi.eot'); + src: url('//at.alicdn.com/t/font_525460_d0ysfwzacahsemi.eot?#iefix') format('embedded-opentype'), url('//at.alicdn.com/t/font_525460_d0ysfwzacahsemi.woff') format('woff'), url('//at.alicdn.com/t/font_525460_d0ysfwzacahsemi.ttf') format('truetype'), url('//at.alicdn.com/t/font_525460_d0ysfwzacahsemi.svg#iconfont') format('svg'); +} + +.hz-icon { + font-family: "iconfont" !important; + font-size: 20px; + font-style: normal; + text-align: center; + user-select: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.hz-icon-edit { + position: absolute; + top: -4px; + left: 50%; + transform: translateX(-50%); +} + +.hz-flex-img { + display: flex; + align-items: center; + justify-content: center; +} + +.hz-flex-img img { + width: 100%; + height: 100%; +} + +.hz-icon-trash:before { + content: "\e605"; +} + +.hz-edit-img { + width: 100%; + display: flex; + justify-content: center; + +} + +.hz-edit-img img { + max-width: 300px; + max-height: 200px; + margin-bottom: 10px; +} + +.hz-edit-del { + width: 100%; + display: flex; + justify-content: flex-end; +} \ No newline at end of file diff --git a/manager/src/components/hotzone/components/Hotzone.vue b/manager/src/components/hotzone/components/Hotzone.vue new file mode 100644 index 00000000..2c340e19 --- /dev/null +++ b/manager/src/components/hotzone/components/Hotzone.vue @@ -0,0 +1,101 @@ + + + + + diff --git a/manager/src/components/hotzone/components/Zone.vue b/manager/src/components/hotzone/components/Zone.vue new file mode 100644 index 00000000..bb3894f9 --- /dev/null +++ b/manager/src/components/hotzone/components/Zone.vue @@ -0,0 +1,212 @@ + + + diff --git a/manager/src/components/hotzone/directives/addItem.js b/manager/src/components/hotzone/directives/addItem.js new file mode 100644 index 00000000..228def17 --- /dev/null +++ b/manager/src/components/hotzone/directives/addItem.js @@ -0,0 +1,100 @@ +import _ from '../utils' + +export default { + bind: function (el, binding, vnode) { + const MIN_LIMIT = _.MIN_LIMIT + + el.addEventListener('mousedown', handleMouseDown,{ passive: false }) + + function handleMouseDown (e) { + console.log('additem', e) + e && e.preventDefault() + + let itemInfo = { + top: _.getDistanceY(e, el), + left: _.getDistanceX(e, el), + width: 0, + height: 0 + } + let container = _.getOffset(el) + + // Only used once at the beginning of init + let setting = { + topPer: _.decimalPoint(itemInfo.top / container.height), + leftPer: _.decimalPoint(itemInfo.left / container.width), + widthPer: 0, + heightPer: 0 + } + let preX = _.getPageX(e) + let preY = _.getPageY(e) + + vnode.context.addItem(setting)// 这里去添加并发送了add通知,不应该发送通知 + + window.addEventListener('mousemove', handleChange,{ passive: false }) + window.addEventListener('mouseup', handleMouseUp,{ passive: false }) + + function handleChange (e) { + e && e.preventDefault() + + let moveX = _.getPageX(e) - preX + let moveY = _.getPageY(e) - preY + preX = _.getPageX(e) + preY = _.getPageY(e) + + // Not consider the direction of movement first, consider only the lower right drag point + let minLimit = 0 + // 添加热区时,判定鼠标释放时,满足(热区大于48*48时)条件时生效 + let styleInfo = _.dealBR(itemInfo, moveX, moveY, minLimit) + + // Boundary value processing 改变热区大小时边界条件的处理 + itemInfo = _.dealEdgeValue(itemInfo, styleInfo, container, vnode.context.zones) + + Object.assign(el.lastElementChild.style, { + top: `${itemInfo.top}px`, + left: `${itemInfo.left}px`, + width: `${itemInfo.width}px`, + height: `${itemInfo.height}px` + }) + } + + function handleMouseUp () { + let perInfo = { + topPer: _.decimalPoint(itemInfo.top / container.height), + leftPer: _.decimalPoint(itemInfo.left / container.width), + widthPer: _.decimalPoint(itemInfo.width / container.width), + heightPer: _.decimalPoint(itemInfo.height / container.height), + img: "", + link: "", + type: "", + } + + if (vnode.context.isOverRange()) { + vnode.context.overRange() // 判断超出个数限制,给overRange钩子抛回调 + } else if (container.height < MIN_LIMIT && itemInfo.width > MIN_LIMIT) { + vnode.context.changeItem(Object.assign(perInfo, { + topPer: 0, + heightPer: 1 + }), true) + } else if (container.width < MIN_LIMIT && itemInfo.height > MIN_LIMIT) { + vnode.context.changeItem(Object.assign(perInfo, { + leftper: 0, + widthPer: 1 + }), true) + } else if (itemInfo.width > MIN_LIMIT && itemInfo.height > MIN_LIMIT) { + vnode.context.changeItem(perInfo, true) + } else { + // 当添加区域超出范围或小于最小区域(48*48)时触发,删除当亲绘制的热区并发送erase事件通知 + vnode.context.eraseItem() + } + + window.removeEventListener('mousemove', handleChange) + window.removeEventListener('mouseup', handleMouseUp) + } + } + + el.$destroy = () => el.removeEventListener('mousedown', handleMouseDown) + }, + unbind: function (el) { + el.$destroy() + } +} diff --git a/manager/src/components/hotzone/directives/changeSize.js b/manager/src/components/hotzone/directives/changeSize.js new file mode 100644 index 00000000..a98c139c --- /dev/null +++ b/manager/src/components/hotzone/directives/changeSize.js @@ -0,0 +1,91 @@ +import _ from '../utils' + +export default { + bind: function (el, binding, vnode) { + el.addEventListener('mousedown', handleMouseDown,{ passive: false }) + + function handleMouseDown (e) { + let pointer = e.target.dataset.pointer //元素上绑定的方法名 + + if (!pointer) { + return + } + + e && e.stopPropagation() + + let zone = el.parentNode + let setting = vnode.context.setting + let currentIndex = vnode.context.index + let container = _.getOffset(zone.parentNode) + let itemInfo = { + width: _.getOffset(zone).width || 0, + height: _.getOffset(zone).height || 0, + top: setting.topPer * container.height || 0, + left: setting.leftPer * container.width || 0 + } + let preX = _.getPageX(e) + let preY = _.getPageY(e) + let flag + + // Hide the info displayed by hover + vnode.context.handlehideZone(true) + + window.addEventListener('mousemove', handleChange,{ passive: false }) + window.addEventListener('mouseup', handleMouseUp,{ passive: false }) + + function handleChange (e) { + e && e.preventDefault() + flag = true + + let moveX = _.getPageX(e) - preX + let moveY = _.getPageY(e) - preY + + preX = _.getPageX(e) + preY = _.getPageY(e) + + // Handling the situation when different dragging points are selected + let styleInfo = _[pointer](itemInfo, moveX, moveY)//调用对应的方法 + // Boundary value processing + itemInfo = _.dealEdgeValue(itemInfo, styleInfo, container, vnode.context.$parent.zones, currentIndex) + + Object.assign(zone.style, { + top: `${itemInfo.top}px`, + left: `${itemInfo.left}px`, + width: `${itemInfo.width}px`, + height: `${itemInfo.height}px` + }) + } + + function handleMouseUp () { + if (flag) { + flag = false + let perInfo = { + topPer: _.decimalPoint(itemInfo.top / container.height), + leftPer: _.decimalPoint(itemInfo.left / container.width), + widthPer: _.decimalPoint(itemInfo.width / container.width), + heightPer: _.decimalPoint(itemInfo.height / container.height) + } + vnode.context.changeInfo(perInfo) + + // 兼容数据无变更情况下导致 computed 不更新,数据仍为 px 时 resize 出现的问题 + Object.assign(zone.style, { + top: `${itemInfo.top}px`, + left: `${itemInfo.left}px`, + width: `${itemInfo.width}px`, + height: `${itemInfo.height}px` + }) + } + // Show the info + vnode.context.handlehideZone(false) + + window.removeEventListener('mousemove', handleChange) + window.removeEventListener('mouseup', handleMouseUp) + } + } + + el.$destroy = () => el.removeEventListener('mousedown', handleMouseDown) + }, + unbind: function (el) { + el.$destroy() + } +} diff --git a/manager/src/components/hotzone/directives/dragItem.js b/manager/src/components/hotzone/directives/dragItem.js new file mode 100644 index 00000000..5557d7a5 --- /dev/null +++ b/manager/src/components/hotzone/directives/dragItem.js @@ -0,0 +1,108 @@ +import _ from '../utils' + +export default { + bind: function (el, binding, vnode) { + el.addEventListener('mousedown', handleMouseDown) + let collision + function handleMouseDown (e) { + e && e.stopPropagation() + let container = _.getOffset(el.parentNode) + let preX = _.getPageX(e) + let preY = _.getPageY(e) + let topPer + let leftPer + let flag + + window.addEventListener('mousemove', handleChange,{ passive: false }) + window.addEventListener('mouseup', handleMouseUp,{ passive: false }) + + function handleChange (e) { + e && e.preventDefault() + flag = true + collision = false + // Hide the info displayed by hover + vnode.context.handlehideZone(true) + + let setting = vnode.context.setting + let currentIndex = vnode.context.index + let moveX = _.getPageX(e) - preX + let moveY = _.getPageY(e) - preY + + setting.topPer = setting.topPer || 0 + setting.leftPer = setting.leftPer || 0 + topPer = _.decimalPoint(moveY / container.height + setting.topPer) + leftPer = _.decimalPoint(moveX / container.width + setting.leftPer) + + // Hotzone moving boundary processing + if (topPer < 0) { + topPer = 0 + moveY = -container.height * setting.topPer + } + + if (leftPer < 0) { + leftPer = 0 + moveX = -container.width * setting.leftPer + } + + if (topPer + setting.heightPer > 1) { + topPer = 1 - setting.heightPer + moveY = container.height * (topPer - setting.topPer) + } + + if (leftPer + setting.widthPer > 1) { + leftPer = 1 - setting.widthPer + moveX = container.width * (leftPer - setting.leftPer) + } + // 拖拽碰撞检测 + if (vnode.context.$parent.zones.length > 1) { + let currentzones = JSON.parse(JSON.stringify(vnode.context.$parent.zones)).map((zone) => { + return { + left: (zone.leftPer || 0) * container.width, + top: (zone.topPer || 0) * container.height, + width: (zone.widthPer || 0) * container.width, + height: (zone.heightPer || 0) * container.height + } + }) + // 矫正 + let changeSetting = {} + changeSetting.left = setting.leftPer * container.width + moveX + changeSetting.top = setting.topPer * container.height + moveY + changeSetting.width = setting.widthPer * container.width + changeSetting.height = setting.heightPer * container.height + // 碰撞检测 + for (let i = 0, len = currentzones.length; i < len; i++) { + if (currentIndex !== i && _.handleEgdeCollisions(currentzones[i], changeSetting)) { + collision = true + break + } + } + } + el.style.transform = `translate(${moveX}px, ${moveY}px)` + } + + function handleMouseUp () { + if (flag) { + flag = false + el.style.transform = 'translate(0, 0)' + if (!collision) { + vnode.context.changeInfo({ + topPer, + leftPer + }) + } + } + + // Show the info + vnode.context.handlehideZone(false) + + window.removeEventListener('mousemove', handleChange) + window.removeEventListener('mouseup', handleMouseUp) + } + } + + el.$destroy = () => el.removeEventListener('mousedown', handleMouseDown) + }, + unbind: function (el) { + el.$destroy() + } +} diff --git a/manager/src/components/hotzone/index.js b/manager/src/components/hotzone/index.js new file mode 100644 index 00000000..050ab96a --- /dev/null +++ b/manager/src/components/hotzone/index.js @@ -0,0 +1,7 @@ +import hotzone from './components/Hotzone.vue' + +hotzone.install = (Vue) => { + Vue.component(hotzone.name, hotzone) +} + +export default hotzone diff --git a/manager/src/components/hotzone/utils/index.js b/manager/src/components/hotzone/utils/index.js new file mode 100644 index 00000000..91cd936d --- /dev/null +++ b/manager/src/components/hotzone/utils/index.js @@ -0,0 +1,274 @@ +let _ = { + MIN_LIMIT: 48, // Min size of zone + DECIMAL_PLACES: 4 // Hotzone positioning decimal point limit number of digits +} + +/** + * Get a power result of 10 for the power of the constant + * @return {Number} + */ +_.getMultiple = (decimalPlaces = _.DECIMAL_PLACES) => { + return Math.pow(10, decimalPlaces) +} + +/** + * Limit decimal places + * @param {Number} num + * @return {Number} + */ +_.decimalPoint = (val = 0) => { // 处理js小数点计算不精确问题,先放再缩小 + return Math.round(val * _.getMultiple()) / _.getMultiple() || 0 +} + +/** + * Get element width and height + * @param {Object} elem + * @return {Object} + */ +_.getOffset = (elem = {}) => ({ + width: elem.clientWidth || 0, + height: elem.clientHeight || 0 +}) + +/** + * Get pageX + * @param {Object} e + * @return {Number} + */ +_.getPageX = (e) => ('pageX' in e) ? e.pageX : e.touches[0].pageX + +/** + * Get pageY + * @param {Object} e + * @return {Number} + */ +_.getPageY = (e) => ('pageY' in e) ? e.pageY : e.touches[0].pageY + +/** + * Gets the abscissa value of the mouse click relative to the target node + * @param {Object} e + * @param {Object} container + * @return {Number} + */ +_.getDistanceX = (e, container) => + _.getPageX(e) - (container.getBoundingClientRect().left + window.pageXOffset) + +/** + * Gets the ordinate value of the mouse click relative to the target node + * @param {Object} e + * @param {Object} container + * @return {Number} + */ +_.getDistanceY = (e, container) => + _.getPageY(e) - (container.getBoundingClientRect().top + window.pageYOffset) + +// 检测区域是否有碰撞 true 有碰撞交集 ,false 无碰撞 +_.handleEgdeCollisions = (rect1, rect2) => { + const l1 = { left: rect1.left, top: rect1.top } + const r1 = { left: rect1.left + rect1.width, top: rect1.top + rect1.height } + const l2 = { left: rect2.left, top: rect2.top } + const r2 = { left: rect2.left + rect2.width, top: rect2.top + rect2.height } + return !( + l1.left > r2.left || + l2.left > r1.left || + l1.top > r2.top || + l2.top > r1.top + ) +} +/** + * Treatment of boundary conditions when changing the size of the hotzone 改变热区大小时边界条件的处理(如果要避免热区重叠,代码要加载这里) + * @param {Object} itemInfo + * @param {Object} styleInfo + * @param {Object} container + */ +_.dealEdgeValue = (itemInfo, styleInfo, container, zones, currentIndex = zones.length - 1) => { + + if (Object.prototype.hasOwnProperty.call(styleInfo, "left") && styleInfo.left < 0) { + styleInfo.left = 0 + styleInfo.width = itemInfo.width + itemInfo.left + } + + if (Object.prototype.hasOwnProperty.call(styleInfo, "top") && styleInfo.top < 0) { + styleInfo.top = 0 + styleInfo.height = itemInfo.height + itemInfo.top + } + + if (!Object.prototype.hasOwnProperty.call(styleInfo, "left") && Object.prototype.hasOwnProperty.call(styleInfo, "width")) { + if (itemInfo.left + styleInfo.width > container.width) { + styleInfo.width = container.width - itemInfo.left + } + } + + if (!Object.prototype.hasOwnProperty.call(styleInfo, "top") && Object.prototype.hasOwnProperty.call(styleInfo, "height")) { + if (itemInfo.top + styleInfo.height > container.height) { + styleInfo.height = container.height - itemInfo.top + } + } + // 与其他热区重叠,则修正 检测是否发生碰撞 + if (zones.length > 1) { + let currentzones = JSON.parse(JSON.stringify(zones)).map((zone) => { + return { + left: (zone.leftPer || 0) * container.width, + top: (zone.topPer || 0) * container.height, + width: (zone.widthPer || 0) * container.width, + height: (zone.heightPer || 0) * container.height + } + }) + let current = { ...itemInfo, ...styleInfo } + for (let i = 0, len = currentzones.length; i < len; i++) { + if (currentIndex !== i && _.handleEgdeCollisions(currentzones[i], current)) { + return itemInfo + } + } + } + + return Object.assign(itemInfo, styleInfo) +} + +/** + * Handle different drag points, capital letters mean: T-top,L-left,C-center,R-right,B-bottom + * @param {Object} itemInfo + * @param {Number} moveX + * @param {Number} moveY + * @return {Object} + */ +_.dealTL = (itemInfo, moveX, moveY, minLimit = _.MIN_LIMIT) => { + let styleInfo = {} + let width = itemInfo.width - moveX + let height = itemInfo.height - moveY + + if (width >= Math.min(minLimit, itemInfo.width)) { + Object.assign(styleInfo, { + width, + left: itemInfo.left + moveX + }) + } + + if (height >= Math.min(minLimit, itemInfo.height)) { + Object.assign(styleInfo, { + height, + top: itemInfo.top + moveY + }) + } + + return styleInfo +} + +_.dealTC = (itemInfo, moveX, moveY, minLimit = _.MIN_LIMIT) => { + let styleInfo = {} + let height = itemInfo.height - moveY + + if (height >= Math.min(minLimit, itemInfo.height)) { + styleInfo = { + height, + top: itemInfo.top + moveY + } + } + + return styleInfo +} + +_.dealTR = (itemInfo, moveX, moveY, minLimit = _.MIN_LIMIT) => { + let styleInfo = {} + let width = itemInfo.width + moveX + let height = itemInfo.height - moveY + + if (width >= Math.min(minLimit, itemInfo.width)) { + Object.assign(styleInfo, { + width + }) + } + + if (height >= Math.min(minLimit, itemInfo.height)) { + Object.assign(styleInfo, { + height, + top: itemInfo.top + moveY + }) + } + + return styleInfo +} + +_.dealCL = (itemInfo, moveX, moveY, minLimit = _.MIN_LIMIT) => { + let styleInfo = {} + let width = itemInfo.width - moveX + + if (width >= Math.min(minLimit, itemInfo.width)) { + Object.assign(styleInfo, { + width, + left: itemInfo.left + moveX + }) + } + + return styleInfo +} + +_.dealCR = (itemInfo, moveX, moveY, minLimit = _.MIN_LIMIT) => { + let styleInfo = {} + let width = itemInfo.width + moveX + + if (width >= Math.min(minLimit, itemInfo.width)) { + Object.assign(styleInfo, { + width + }) + } + + return styleInfo +} + +_.dealBL = (itemInfo, moveX, moveY, minLimit = _.MIN_LIMIT) => { + let styleInfo = {} + let width = itemInfo.width - moveX + let height = itemInfo.height + moveY + + if (width >= Math.min(minLimit, itemInfo.width)) { + Object.assign(styleInfo, { + width, + left: itemInfo.left + moveX + }) + } + + if (height >= Math.min(minLimit, itemInfo.height)) { + Object.assign(styleInfo, { + height + }) + } + + return styleInfo +} + +_.dealBC = (itemInfo, moveX, moveY, minLimit = _.MIN_LIMIT) => { + let styleInfo = {} + let height = itemInfo.height + moveY + + if (height >= Math.min(minLimit, itemInfo.height)) { + Object.assign(styleInfo, { + height + }) + } + + return styleInfo +} +// 添加热区时,判定鼠标释放点满足一下条件时生效 +_.dealBR = (itemInfo, moveX, moveY, minLimit = _.MIN_LIMIT) => { + let styleInfo = {} + let width = itemInfo.width + moveX + let height = itemInfo.height + moveY + if (width >= Math.min(minLimit, itemInfo.width)) { + // 改变后的宽度 >= min(之前宽度,内置的最小宽度标准),即生效 + Object.assign(styleInfo, { + width + }) + } + + if (height >= Math.min(minLimit, itemInfo.height)) { + // 改变后的高度 大于等于 Min(最小高度,之前高度)时,生效 + Object.assign(styleInfo, { + height + }) + } + + return styleInfo +} + +export default _ diff --git a/manager/src/views/lili-components/i18n-translate.vue b/manager/src/components/i18n-translate.vue similarity index 100% rename from manager/src/views/lili-components/i18n-translate.vue rename to manager/src/components/i18n-translate.vue diff --git a/manager/src/views/lili-components/languages.js b/manager/src/components/languages.js similarity index 100% rename from manager/src/views/lili-components/languages.js rename to manager/src/components/languages.js diff --git a/manager/src/views/lili-dialog/goods-dialog.vue b/manager/src/components/lili-dialog/goods-dialog.vue similarity index 100% rename from manager/src/views/lili-dialog/goods-dialog.vue rename to manager/src/components/lili-dialog/goods-dialog.vue diff --git a/manager/src/views/lili-dialog/index.vue b/manager/src/components/lili-dialog/index.vue similarity index 100% rename from manager/src/views/lili-dialog/index.vue rename to manager/src/components/lili-dialog/index.vue diff --git a/manager/src/views/lili-dialog/link-dialog.vue b/manager/src/components/lili-dialog/link-dialog.vue similarity index 100% rename from manager/src/views/lili-dialog/link-dialog.vue rename to manager/src/components/lili-dialog/link-dialog.vue diff --git a/manager/src/views/lili-dialog/style.scss b/manager/src/components/lili-dialog/style.scss similarity index 100% rename from manager/src/views/lili-dialog/style.scss rename to manager/src/components/lili-dialog/style.scss diff --git a/manager/src/views/lili-dialog/template/category.vue b/manager/src/components/lili-dialog/template/category.vue similarity index 100% rename from manager/src/views/lili-dialog/template/category.vue rename to manager/src/components/lili-dialog/template/category.vue diff --git a/manager/src/views/lili-dialog/template/index.js b/manager/src/components/lili-dialog/template/index.js similarity index 100% rename from manager/src/views/lili-dialog/template/index.js rename to manager/src/components/lili-dialog/template/index.js diff --git a/manager/src/views/lili-dialog/template/marketing.vue b/manager/src/components/lili-dialog/template/marketing.vue similarity index 100% rename from manager/src/views/lili-dialog/template/marketing.vue rename to manager/src/components/lili-dialog/template/marketing.vue diff --git a/manager/src/views/lili-dialog/template/other.vue b/manager/src/components/lili-dialog/template/other.vue similarity index 100% rename from manager/src/views/lili-dialog/template/other.vue rename to manager/src/components/lili-dialog/template/other.vue diff --git a/manager/src/views/lili-dialog/template/pages.vue b/manager/src/components/lili-dialog/template/pages.vue similarity index 100% rename from manager/src/views/lili-dialog/template/pages.vue rename to manager/src/components/lili-dialog/template/pages.vue diff --git a/manager/src/views/lili-dialog/template/shops.vue b/manager/src/components/lili-dialog/template/shops.vue similarity index 100% rename from manager/src/views/lili-dialog/template/shops.vue rename to manager/src/components/lili-dialog/template/shops.vue diff --git a/manager/src/views/lili-dialog/wap.js b/manager/src/components/lili-dialog/wap.js similarity index 100% rename from manager/src/views/lili-dialog/wap.js rename to manager/src/components/lili-dialog/wap.js diff --git a/manager/src/views/my-components/lili/circle-loading.vue b/manager/src/components/lili/circle-loading.vue similarity index 100% rename from manager/src/views/my-components/lili/circle-loading.vue rename to manager/src/components/lili/circle-loading.vue diff --git a/manager/src/views/my-components/lili/department-choose.vue b/manager/src/components/lili/department-choose.vue similarity index 100% rename from manager/src/views/my-components/lili/department-choose.vue rename to manager/src/components/lili/department-choose.vue diff --git a/manager/src/views/my-components/lili/department-tree-choose.vue b/manager/src/components/lili/department-tree-choose.vue similarity index 100% rename from manager/src/views/my-components/lili/department-tree-choose.vue rename to manager/src/components/lili/department-tree-choose.vue diff --git a/manager/src/views/my-components/lili/set-password.vue b/manager/src/components/lili/set-password.vue similarity index 100% rename from manager/src/views/my-components/lili/set-password.vue rename to manager/src/components/lili/set-password.vue diff --git a/manager/src/views/my-components/lili/upload-pic-input.vue b/manager/src/components/lili/upload-pic-input.vue similarity index 100% rename from manager/src/views/my-components/lili/upload-pic-input.vue rename to manager/src/components/lili/upload-pic-input.vue diff --git a/manager/src/views/my-components/lili/upload-pic-thumb.vue b/manager/src/components/lili/upload-pic-thumb.vue similarity index 100% rename from manager/src/views/my-components/lili/upload-pic-thumb.vue rename to manager/src/components/lili/upload-pic-thumb.vue diff --git a/manager/src/views/my-components/map/index.vue b/manager/src/components/map/index.vue similarity index 100% rename from manager/src/views/my-components/map/index.vue rename to manager/src/components/map/index.vue diff --git a/manager/src/views/lili-components/region.vue b/manager/src/components/region.vue similarity index 100% rename from manager/src/views/lili-components/region.vue rename to manager/src/components/region.vue diff --git a/manager/src/views/my-components/tree-table/Checkbox/Checkbox.less b/manager/src/components/tree-table/Checkbox/Checkbox.less similarity index 100% rename from manager/src/views/my-components/tree-table/Checkbox/Checkbox.less rename to manager/src/components/tree-table/Checkbox/Checkbox.less diff --git a/manager/src/views/my-components/tree-table/Checkbox/Checkbox.vue b/manager/src/components/tree-table/Checkbox/Checkbox.vue similarity index 100% rename from manager/src/views/my-components/tree-table/Checkbox/Checkbox.vue rename to manager/src/components/tree-table/Checkbox/Checkbox.vue diff --git a/manager/src/views/my-components/tree-table/Table/Table.less b/manager/src/components/tree-table/Table/Table.less similarity index 100% rename from manager/src/views/my-components/tree-table/Table/Table.less rename to manager/src/components/tree-table/Table/Table.less diff --git a/manager/src/views/my-components/tree-table/Table/Table.vue b/manager/src/components/tree-table/Table/Table.vue similarity index 100% rename from manager/src/views/my-components/tree-table/Table/Table.vue rename to manager/src/components/tree-table/Table/Table.vue diff --git a/manager/src/views/my-components/tree-table/Table/TableBody.js b/manager/src/components/tree-table/Table/TableBody.js similarity index 100% rename from manager/src/views/my-components/tree-table/Table/TableBody.js rename to manager/src/components/tree-table/Table/TableBody.js diff --git a/manager/src/views/my-components/tree-table/Table/TableFooter.js b/manager/src/components/tree-table/Table/TableFooter.js similarity index 100% rename from manager/src/views/my-components/tree-table/Table/TableFooter.js rename to manager/src/components/tree-table/Table/TableFooter.js diff --git a/manager/src/views/my-components/tree-table/Table/TableHeader.js b/manager/src/components/tree-table/Table/TableHeader.js similarity index 100% rename from manager/src/views/my-components/tree-table/Table/TableHeader.js rename to manager/src/components/tree-table/Table/TableHeader.js diff --git a/manager/src/views/my-components/tree-table/Table/font/iconfont.eot b/manager/src/components/tree-table/Table/font/iconfont.eot similarity index 100% rename from manager/src/views/my-components/tree-table/Table/font/iconfont.eot rename to manager/src/components/tree-table/Table/font/iconfont.eot diff --git a/manager/src/views/my-components/tree-table/Table/font/iconfont.less b/manager/src/components/tree-table/Table/font/iconfont.less similarity index 100% rename from manager/src/views/my-components/tree-table/Table/font/iconfont.less rename to manager/src/components/tree-table/Table/font/iconfont.less diff --git a/manager/src/views/my-components/tree-table/Table/font/iconfont.svg b/manager/src/components/tree-table/Table/font/iconfont.svg similarity index 100% rename from manager/src/views/my-components/tree-table/Table/font/iconfont.svg rename to manager/src/components/tree-table/Table/font/iconfont.svg diff --git a/manager/src/views/my-components/tree-table/Table/font/iconfont.ttf b/manager/src/components/tree-table/Table/font/iconfont.ttf similarity index 100% rename from manager/src/views/my-components/tree-table/Table/font/iconfont.ttf rename to manager/src/components/tree-table/Table/font/iconfont.ttf diff --git a/manager/src/views/my-components/tree-table/Table/font/iconfont.woff b/manager/src/components/tree-table/Table/font/iconfont.woff similarity index 100% rename from manager/src/views/my-components/tree-table/Table/font/iconfont.woff rename to manager/src/components/tree-table/Table/font/iconfont.woff diff --git a/manager/src/views/my-components/tree-table/Table/utils/index.js b/manager/src/components/tree-table/Table/utils/index.js similarity index 100% rename from manager/src/views/my-components/tree-table/Table/utils/index.js rename to manager/src/components/tree-table/Table/utils/index.js diff --git a/manager/src/views/my-components/tree-table/Table/utils/mixins.js b/manager/src/components/tree-table/Table/utils/mixins.js similarity index 100% rename from manager/src/views/my-components/tree-table/Table/utils/mixins.js rename to manager/src/components/tree-table/Table/utils/mixins.js diff --git a/manager/src/views/my-components/tree-table/Table/utils/scrollBarWidth.js b/manager/src/components/tree-table/Table/utils/scrollBarWidth.js similarity index 100% rename from manager/src/views/my-components/tree-table/Table/utils/scrollBarWidth.js rename to manager/src/components/tree-table/Table/utils/scrollBarWidth.js diff --git a/manager/src/views/my-components/verify/README.md b/manager/src/components/verify/README.md similarity index 100% rename from manager/src/views/my-components/verify/README.md rename to manager/src/components/verify/README.md diff --git a/manager/src/views/my-components/verify/index.vue b/manager/src/components/verify/index.vue similarity index 100% rename from manager/src/views/my-components/verify/index.vue rename to manager/src/components/verify/index.vue diff --git a/manager/src/views/my-components/verify/verify.js b/manager/src/components/verify/verify.js similarity index 100% rename from manager/src/views/my-components/verify/verify.js rename to manager/src/components/verify/verify.js diff --git a/manager/src/main.js b/manager/src/main.js index 249eb489..b62fae93 100644 --- a/manager/src/main.js +++ b/manager/src/main.js @@ -17,8 +17,8 @@ import { setStore, getStore, removeStore } from '@/libs/storage' import util from '@/libs/util' import * as filters from '@/utils/filters' // global filter -import liliDialog from '@/views/lili-dialog' -import i18nBox from '@/views/lili-components/i18n-translate' +import liliDialog from '@/components/lili-dialog' +import i18nBox from '@/components/i18n-translate' import {md5} from '@/utils/md5.js'; // 打印 diff --git a/manager/src/router/router.js b/manager/src/router/router.js index bbd13e62..68caf921 100644 --- a/manager/src/router/router.js +++ b/manager/src/router/router.js @@ -257,13 +257,13 @@ export const otherRouter = { path: "/floorList/renovation", title: "编辑模板", name: "renovation", - component: () => import("@/views/lili-floor-renovation/renovation.vue") + component: () => import("@/views/page-decoration/renovation.vue") }, { path: "/floorList/main", title: "编辑模板", name: "main", - component: () => import("@/views/lili-floor-renovation/wap/main.vue") + component: () => import("@/views/page-decoration/wap/main.vue") }, { path: "add-sms-sign", diff --git a/manager/src/views/Main.vue b/manager/src/views/Main.vue index 7f6cdeeb..a53a7dbc 100644 --- a/manager/src/views/Main.vue +++ b/manager/src/views/Main.vue @@ -77,10 +77,10 @@ + \ No newline at end of file diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_integral.vue b/manager/src/views/page-decoration/wap/template/tpl_integral.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_integral.vue rename to manager/src/views/page-decoration/wap/template/tpl_integral.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_join_group.vue b/manager/src/views/page-decoration/wap/template/tpl_join_group.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_join_group.vue rename to manager/src/views/page-decoration/wap/template/tpl_join_group.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_left_one_right_two.vue b/manager/src/views/page-decoration/wap/template/tpl_left_one_right_two.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_left_one_right_two.vue rename to manager/src/views/page-decoration/wap/template/tpl_left_one_right_two.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_left_two_right_one.vue b/manager/src/views/page-decoration/wap/template/tpl_left_two_right_one.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_left_two_right_one.vue rename to manager/src/views/page-decoration/wap/template/tpl_left_two_right_one.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_menu.vue b/manager/src/views/page-decoration/wap/template/tpl_menu.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_menu.vue rename to manager/src/views/page-decoration/wap/template/tpl_menu.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_notice.vue b/manager/src/views/page-decoration/wap/template/tpl_notice.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_notice.vue rename to manager/src/views/page-decoration/wap/template/tpl_notice.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_promotion_detail.vue b/manager/src/views/page-decoration/wap/template/tpl_promotion_detail.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_promotion_detail.vue rename to manager/src/views/page-decoration/wap/template/tpl_promotion_detail.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_promotions.vue b/manager/src/views/page-decoration/wap/template/tpl_promotions.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_promotions.vue rename to manager/src/views/page-decoration/wap/template/tpl_promotions.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_search.vue b/manager/src/views/page-decoration/wap/template/tpl_search.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_search.vue rename to manager/src/views/page-decoration/wap/template/tpl_search.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_spike.vue b/manager/src/views/page-decoration/wap/template/tpl_spike.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_spike.vue rename to manager/src/views/page-decoration/wap/template/tpl_spike.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_text_picture.vue b/manager/src/views/page-decoration/wap/template/tpl_text_picture.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_text_picture.vue rename to manager/src/views/page-decoration/wap/template/tpl_text_picture.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_title.vue b/manager/src/views/page-decoration/wap/template/tpl_title.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_title.vue rename to manager/src/views/page-decoration/wap/template/tpl_title.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_top_one_bottom_two.vue b/manager/src/views/page-decoration/wap/template/tpl_top_one_bottom_two.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_top_one_bottom_two.vue rename to manager/src/views/page-decoration/wap/template/tpl_top_one_bottom_two.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_top_two_bottom_one.vue b/manager/src/views/page-decoration/wap/template/tpl_top_two_bottom_one.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_top_two_bottom_one.vue rename to manager/src/views/page-decoration/wap/template/tpl_top_two_bottom_one.vue diff --git a/manager/src/views/lili-floor-renovation/wap/template/tpl_view_list.vue b/manager/src/views/page-decoration/wap/template/tpl_view_list.vue similarity index 100% rename from manager/src/views/lili-floor-renovation/wap/template/tpl_view_list.vue rename to manager/src/views/page-decoration/wap/template/tpl_view_list.vue diff --git a/manager/src/views/lili-floor-renovation/wap/wapList.vue b/manager/src/views/page-decoration/wap/wapList.vue similarity index 99% rename from manager/src/views/lili-floor-renovation/wap/wapList.vue rename to manager/src/views/page-decoration/wap/wapList.vue index 706caa21..8d811009 100644 --- a/manager/src/views/lili-floor-renovation/wap/wapList.vue +++ b/manager/src/views/page-decoration/wap/wapList.vue @@ -131,7 +131,6 @@ export default { } }); this.list = res.result.records; - console.log(this.list); this.total = res.result.total; }); }, diff --git a/manager/src/views/page/article-manage/ArticleCategory.vue b/manager/src/views/page/article-manage/ArticleCategory.vue index 0b5f9f6a..9b7bf625 100644 --- a/manager/src/views/page/article-manage/ArticleCategory.vue +++ b/manager/src/views/page/article-manage/ArticleCategory.vue @@ -94,8 +94,8 @@ import { delArticleCategory, updateArticleCategory, } from "@/api/pages"; -import TreeTable from "@/views/my-components/tree-table/Table/Table"; -import uploadPicInput from "@/views/my-components/lili/upload-pic-input"; +import TreeTable from "@/components/tree-table/Table/Table"; +import uploadPicInput from "@/components/lili/upload-pic-input"; import { regular } from "@/utils"; export default { name: "lili-components", diff --git a/manager/src/views/page/article-manage/articleList.vue b/manager/src/views/page/article-manage/articleList.vue index 904646d6..8d026a60 100644 --- a/manager/src/views/page/article-manage/articleList.vue +++ b/manager/src/views/page/article-manage/articleList.vue @@ -147,7 +147,7 @@ import { updateArticleStatus, } from "@/api/pages"; import Editor from "@tinymce/tinymce-vue"; -import { initEditor } from "@/views/lili-components/editor/config"; +import { initEditor } from "@/components/editor/config"; export default { name: "article", components: { diff --git a/manager/src/views/page/article-manage/template/historyHotWords.vue b/manager/src/views/page/article-manage/template/historyHotWords.vue index 09377c32..5b095484 100644 --- a/manager/src/views/page/article-manage/template/historyHotWords.vue +++ b/manager/src/views/page/article-manage/template/historyHotWords.vue @@ -24,7 +24,7 @@