diff --git a/manager/package.json b/manager/package.json index e008e69ff..b61e13c6f 100644 --- a/manager/package.json +++ b/manager/package.json @@ -24,16 +24,13 @@ "hls.js": "^1.6.16", "js-cookie": "^2.2.1", "nprogress": "^0.2.0", - "price-color": "1.0.2", "sass": "^1.63.6", "sass-loader": "^10.4.1", "sockjs-client": "^1.4.0", "swiper": "^6.3.5", "uuid": "^8.3.2", "vue": "^3.5.35", - "vue-awesome-swiper": "^4.1.1", "vue-i18n": "^9.10.2", - "vue-json-excel": "^0.3.0", "vue-qr": "^5.0.3", "vue-router": "^4.6.4", "vuedraggable": "^4.1.0", diff --git a/manager/pnpm-lock.yaml b/manager/pnpm-lock.yaml index 850125599..b1e883c54 100644 --- a/manager/pnpm-lock.yaml +++ b/manager/pnpm-lock.yaml @@ -46,9 +46,6 @@ importers: nprogress: specifier: ^0.2.0 version: 0.2.0 - price-color: - specifier: 1.0.2 - version: 1.0.2 sass: specifier: ^1.63.6 version: 1.101.0 @@ -67,15 +64,9 @@ importers: vue: specifier: ^3.5.35 version: 3.5.39 - vue-awesome-swiper: - specifier: ^4.1.1 - version: 4.1.1(swiper@6.8.4)(vue@3.5.39) vue-i18n: specifier: ^9.10.2 version: 9.14.5(vue@3.5.39) - vue-json-excel: - specifier: ^0.3.0 - version: 0.3.0 vue-qr: specifier: ^5.0.3 version: 5.0.3(vue@3.5.39) @@ -1148,9 +1139,6 @@ packages: '@vue/compiler-dom@3.5.39': resolution: {integrity: sha512-oQPigALqYbNxTNPvNgSOe+czwVExfbVF02lz8jP0S3AXJiu3jxYDygNUiqSep4ezzW8XgnubqH63My2A7JR/vg==} - '@vue/compiler-sfc@2.7.16': - resolution: {integrity: sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==} - '@vue/compiler-sfc@3.5.39': resolution: {integrity: sha512-d0ki86iOyN8LoZPBmk5SJWNwHP19CnDDCfuo//+2WJa2g5Ke0Jay983PIBIcSSzldC68I8DrD5GrHV3OSDfodg==} @@ -2036,9 +2024,6 @@ packages: resolution: {integrity: sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==} engines: {node: '>=10'} - downloadjs@1.4.7: - resolution: {integrity: sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q==} - dplayer@1.27.1: resolution: {integrity: sha512-2laBMXs5V1B9zPwJ7eAIw/OBo+Xjvy03i4GHTk3Cg+IWbrq8rKMFO0fFr6ClAYotYOCcFGOvaJDkOZcgKllsCA==} @@ -2313,7 +2298,7 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + deprecated: Glob versions prior to v9 are no longer supported globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -3322,9 +3307,6 @@ packages: pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} - price-color@1.0.2: - resolution: {integrity: sha512-QkgrM0RxjAB+yxcRVuVTzgkxoYoGTAKbxIzJAZFFbActqKC4n9U4eDFWTpKQ+0FklRdZCnKenSPe+upfpe8+PQ==} - process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} @@ -3913,13 +3895,6 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - vue-awesome-swiper@4.1.1: - resolution: {integrity: sha512-50um10t6N+lJaORkpwSi1wWuMmBI1sgFc9Znsi5oUykw2cO5DzLaBHcO2JNX21R+Ue4TGoIJDhhxjBHtkFrTEQ==} - engines: {node: '>=8'} - peerDependencies: - swiper: ^5.2.0 - vue: 2.x - vue-cli-plugin-style-resources-loader@0.1.5: resolution: {integrity: sha512-LluhjWTZmpGl3tiXg51EciF+T70IN/9t6UvfmgluJBqxbrb6OV9i7L5lTd+OKtcTeghDkhcBmYhtTxxU4w/8sQ==} @@ -3936,9 +3911,6 @@ packages: peerDependencies: vue: ^3.0.0 - vue-json-excel@0.3.0: - resolution: {integrity: sha512-FrSh0tVUpw4K+ilLO8g0Qp52eFJw/hkk3rZPTEKo9qVkJgVfQtZwzj3UWc5ACYxA3jLk9HtjK+f9xKHCN4Kgag==} - vue-loader@15.11.1: resolution: {integrity: sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==} peerDependencies: @@ -3986,10 +3958,6 @@ packages: vue-template-es2015-compiler@1.9.1: resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==} - vue@2.7.16: - resolution: {integrity: sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==} - deprecated: Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details. - vue@3.5.39: resolution: {integrity: sha512-xmZCYabFGcirU8r0fTuvl/LICc1OU620rnqepaJDL/a141ZigkG7AyaxQLdqJ02ZRYzWe6YPaDHeQx7MfknQfA==} peerDependencies: @@ -5608,14 +5576,6 @@ snapshots: '@vue/compiler-core': 3.5.39 '@vue/shared': 3.5.39 - '@vue/compiler-sfc@2.7.16': - dependencies: - '@babel/parser': 7.29.7 - postcss: 8.5.15 - source-map: 0.6.1 - optionalDependencies: - prettier: 2.8.8 - '@vue/compiler-sfc@3.5.39': dependencies: '@babel/parser': 7.29.7 @@ -6486,8 +6446,6 @@ snapshots: dotenv@10.0.0: {} - downloadjs@1.4.7: {} - dplayer@1.27.1: dependencies: axios: 1.2.3 @@ -7694,11 +7652,6 @@ snapshots: lodash: 4.18.1 renderkid: 3.0.0 - price-color@1.0.2: - dependencies: - core-js: 3.49.0 - vue: 2.7.16 - process-nextick-args@2.0.1: {} progress-webpack-plugin@1.0.16(webpack@5.108.4(postcss@8.5.15)): @@ -8290,11 +8243,6 @@ snapshots: vary@1.1.2: {} - vue-awesome-swiper@4.1.1(swiper@6.8.4)(vue@3.5.39): - dependencies: - swiper: 6.8.4 - vue: 3.5.39 - vue-cli-plugin-style-resources-loader@0.1.5: {} vue-component-type-helpers@3.3.5: {} @@ -8308,10 +8256,6 @@ snapshots: '@vue/devtools-api': 6.6.4 vue: 3.5.39 - vue-json-excel@0.3.0: - dependencies: - downloadjs: 1.4.7 - vue-loader@15.11.1(@vue/compiler-sfc@3.5.39)(css-loader@6.11.0(webpack@5.108.4(postcss@8.5.15)))(lodash@4.18.1)(webpack@5.108.4(postcss@8.5.15)): dependencies: '@vue/component-compiler-utils': 3.3.0(lodash@4.18.1) @@ -8404,11 +8348,6 @@ snapshots: vue-template-es2015-compiler@1.9.1: {} - vue@2.7.16: - dependencies: - '@vue/compiler-sfc': 2.7.16 - csstype: 3.2.3 - vue@3.5.39: dependencies: '@vue/compiler-dom': 3.5.39 diff --git a/manager/src/components/lili-dialog/link-dialog.vue b/manager/src/components/lili-dialog/link-dialog.vue index af28b075d..997e607f3 100644 --- a/manager/src/components/lili-dialog/link-dialog.vue +++ b/manager/src/components/lili-dialog/link-dialog.vue @@ -43,7 +43,6 @@ export default { watch: { changed: { handler(val) { - console.log(val,'changed') this.$emit("selectedLink", val[0]); //因为是单选,所以直接返回第一个 }, deep: true diff --git a/manager/src/components/tree-table/Checkbox/Checkbox.less b/manager/src/components/tree-table/Checkbox/Checkbox.less deleted file mode 100644 index ff144fe4f..000000000 --- a/manager/src/components/tree-table/Checkbox/Checkbox.less +++ /dev/null @@ -1,117 +0,0 @@ -// text -@prefixCls: zk-checkbox; -// color -@border: #dddee1; -@hoverBorder: #bcbcbc; -@blue: #2d8cf0; - -.@{prefixCls}-wrapper { - display: flex; - justify-content: center; -} - -.@{prefixCls} { - display: inline-block; - position: relative; - line-height: 1; - white-space: nowrap; - vertical-align: middle; - cursor: pointer; - outline: none; - &:hover { - .@{prefixCls}__inner { - border-color: @hoverBorder; - } - } -} - -.@{prefixCls}__inner { - display: inline-block; - width: 14px; - height: 14px; - position: relative; - top: 0; - left: 0; - border: 1px solid @border; - border-radius: 2px; - background-color: #ffffff; - transition: border-color .2s ease-in-out,background-color .2s ease-in-out; - &::after { - content: ""; - display: table; - width: 4px; - height: 8px; - position: absolute; - top: 1px; - left: 4px; - border: 2px solid #fff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(0); - transition: all .2s ease-in-out; - } -} - -.@{prefixCls}--indeterminate { - .@{prefixCls}__inner { - background-color: @blue; - border-color: @blue; - &::after { - content: ""; - width: 8px; - height: 1px; - transform: scale(1); - position: absolute; - left: 2px; - top: 5px; - } - } - &:hover { - .@{prefixCls}__inner { - border-color: @blue; - } - } -} - -.@{prefixCls}--checked { - .@{prefixCls}__inner { - border-color: @blue; - background-color: @blue; - &::after { - content: ""; - display: table; - width: 4px; - height: 8px; - position: absolute; - top: 1px; - left: 4px; - border: 2px solid #ffffff; - border-top: 0; - border-left: 0; - transform: rotate(45deg) scale(1); - transition: all .2s ease-in-out; - } - } - &:hover { - .@{prefixCls}__inner { - border-color: @blue; - } - } -} - -.@{prefixCls}--disabled { - cursor: not-allowed; - .@{prefixCls}__inner { - background-color: #f3f3f3; - border-color: @border; - &::after { - animation-name: none; - border-color: #ccc; - } - } - &:hover { - .@{prefixCls}__inner { - border-color: @border; - } - } -} diff --git a/manager/src/components/tree-table/Checkbox/Checkbox.vue b/manager/src/components/tree-table/Checkbox/Checkbox.vue deleted file mode 100644 index 749743cab..000000000 --- a/manager/src/components/tree-table/Checkbox/Checkbox.vue +++ /dev/null @@ -1,58 +0,0 @@ - - - - - diff --git a/manager/src/components/tree-table/Table/Table.less b/manager/src/components/tree-table/Table/Table.less deleted file mode 100644 index 6fd20e920..000000000 --- a/manager/src/components/tree-table/Table/Table.less +++ /dev/null @@ -1,170 +0,0 @@ -@import "./font/iconfont"; - -// text -@prefixCls: zk-table; -// color -@black: #515a6e; -@white: #ffffff; -@border: #e9eaec; -@hoverRow: #ebf7ff; -@backgroundRow: #f8f8f9; - -.@{prefixCls} { - position: relative; - width: 100%; - box-sizing: border-box; - background-color: @white; - border: 1px solid @border; - font-size: 14px; - line-height: 26px; - color: @black; - overflow: hidden; -} - -.@{prefixCls}__header-cell { - font-weight: bold; -} - -.@{prefixCls}__cell-inner { - padding: 0px 18px; -} - -.@{prefixCls}-default { - font-size: 14px; - - .@{prefixCls}__header-row { - height: 40px !important; - } - - .@{prefixCls}__body-row { - height: 48px !important; - } -} - -.@{prefixCls}-small { - font-size: 12px; - - .@{prefixCls}__header-row { - height: 36px !important; - } - - .@{prefixCls}__body-row { - height: 40px !important; - } -} - -.@{prefixCls}-large { - font-size: 16px; - - .@{prefixCls}__header-row { - height: 43px !important; - } - - .@{prefixCls}__body-row { - height: 60px !important; - } -} - -.@{prefixCls}__header-wrapper, -.@{prefixCls}__footer-wrapper { - overflow: hidden; -} - -.@{prefixCls}__body-wrapper { - overflow: auto; -} - -.@{prefixCls}__header, -.@{prefixCls}__body, -.@{prefixCls}__footer { - width: 100%; - table-layout: fixed; - border-collapse: collapse; - border-spacing: 0; -} - -.@{prefixCls}__header-row { - height: 40px; - box-sizing: border-box; - background-color: @backgroundRow; - border-bottom: 1px solid @border; -} - -.@{prefixCls}__footer-row { - height: 40px; - box-sizing: border-box; - background-color: @white; - border-top: 1px solid @border; -} - -.@{prefixCls}__body-row { - height: 48px; - box-sizing: border-box; - - &:not(:first-of-type) { - border-top: 1px solid @border; - } -} - -.@{prefixCls}__header-cell, -.@{prefixCls}__body-cell, -.@{prefixCls}__footer-cell { - box-sizing: border-box; - text-align: left; - vertical-align: middle; - word-break: break-all; - overflow: hidden; -} - -.@{prefixCls}--firstProp-header-inner { - padding-left: 32px; -} - -.@{prefixCls}--empty-row { - height: 80px; -} - -.@{prefixCls}--empty-content { - text-align: center; -} - -.@{prefixCls}--center-cell { - text-align: center; -} - -.@{prefixCls}--right-cell { - text-align: right; -} - -.@{prefixCls}--stripe-row { - background-color: @backgroundRow; -} - -.@{prefixCls}--row-hover { - background-color: @hoverRow; -} - -.@{prefixCls}--border-cell { - &:not(:last-of-type) { - border-right: 1px solid @border; - } -} - -.@{prefixCls}--tree-icon { - margin-right: 6px; - cursor: pointer; -} - -.@{prefixCls}--expand-inner { - text-align: center; - cursor: pointer; - transition: transform .2s ease-in-out; -} - -.@{prefixCls}--expanded-inner { - transform: rotate(90deg); -} - -.@{prefixCls}--expand-content { - padding: 20px; -} \ No newline at end of file diff --git a/manager/src/components/tree-table/Table/Table.vue b/manager/src/components/tree-table/Table/Table.vue deleted file mode 100644 index 8fd408e09..000000000 --- a/manager/src/components/tree-table/Table/Table.vue +++ /dev/null @@ -1,401 +0,0 @@ - - - - - diff --git a/manager/src/components/tree-table/Table/TableBody.js b/manager/src/components/tree-table/Table/TableBody.js deleted file mode 100644 index d659d870f..000000000 --- a/manager/src/components/tree-table/Table/TableBody.js +++ /dev/null @@ -1,355 +0,0 @@ -import Checkbox from '../Checkbox/Checkbox'; // eslint-disable-line -// import Radio from '../Radio/Radio'; // eslint-disable-line -import { mixins } from './utils'; -/* eslint-disable no-underscore-dangle */ -export default { - name: 'TreeTable__body', - mixins: [mixins], - inject: { - treeTableRoot: { default: null }, - }, - data() { - return { - radioSelectedIndex: -1, - }; - }, - computed: { - table() { - if (this.treeTableRoot) return this.treeTableRoot; - let parent = this.$parent; - while (parent) { - if (parent.$options && parent.$options.name === 'TreeTable') return parent; - parent = parent.$parent; - } - return this.$parent; - }, - }, - methods: { - toggleStatus(type, row, rowIndex, value) { - this.validateType(type, ['Expanded', 'Checked', 'Hide', 'Fold'], 'toggleStatus', false); - const target = this.table.bodyData[rowIndex]; - this.table.bodyData.splice(rowIndex, 1, { - ...target, - [`_is${type}`]: typeof value === 'undefined' ? !row[`_is${type}`] : value, - }); - }, - getChildrenIndex(parentLevel, parentIndex, careFold = true) { - const data = this.table.bodyData; - let childrenIndex = []; - for (let i = parentIndex + 1; i < data.length; i++) { - if (data[i]._level <= parentLevel) break; - if (data[i]._level - 1 === parentLevel) { - childrenIndex.push(i); - } - } - const len = childrenIndex.length; // important!!! - if (len > 0) { - for (let i = 0; i < len; i++) { - const childData = data[childrenIndex[i]]; - if ( - childData._childrenLen && - (!careFold || (careFold && !childData._isFold)) - ) { - childrenIndex = childrenIndex.concat( - this.getChildrenIndex(childData._level, childrenIndex[i], careFold)); - } - } - } - return childrenIndex; - }, - handleEvent($event, type, data, others) { - const certainType = this.validateType(type, ['cell', 'row', 'checkbox', 'icon', 'radio'], 'handleEvent'); - const eventType = $event ? $event.type : ''; - const { row, rowIndex, column, columnIndex } = data; - const latestData = this.table.bodyData; - // Checkbox - if (certainType.checkbox) { - const { isChecked } = others; - this.toggleStatus('Checked', row, rowIndex, isChecked); - if (row._childrenLen > 0) { - const childrenIndex = this.getChildrenIndex(row._level, rowIndex, false); - for (let i = 0; i < childrenIndex.length; i++) { - this.toggleStatus('Checked', latestData[childrenIndex[i]], childrenIndex[i], isChecked); - } - } - return this.table.$emit('checkbox-click', latestData[rowIndex], column, columnIndex, $event); - } - // Radio - if (certainType.radio) { - this.radioSelectedIndex = rowIndex; - return this.table.$emit('radio-click', { row, rowIndex, column, columnIndex, $event }); - } - // Tree's icon - if (certainType.icon) { - $event.stopPropagation(); - this.toggleStatus('Fold', row, rowIndex); - const childrenIndex = this.getChildrenIndex(row._level, rowIndex); - for (let i = 0; i < childrenIndex.length; i++) { - this.toggleStatus('Hide', latestData[childrenIndex[i]], childrenIndex[i]); - } - return this.table.$emit('tree-icon-click', latestData[rowIndex], column, columnIndex, $event); - } - if (certainType.cell && eventType === 'click') { - // 点击扩展单元格 - if (this.isExpandCell(this.table, columnIndex)) { - this.toggleStatus('Expanded', row, rowIndex); - return this.table.$emit('expand-cell-click', latestData[rowIndex], column, columnIndex, $event); - } - } - // 行:Hover - if (certainType.row && (eventType === 'mouseenter' || eventType === 'mouseleave')) { - const { hover } = others; - const target = latestData[rowIndex]; - latestData.splice(rowIndex, 1, { - ...target, - _isHover: hover, - }); - } - if (certainType.row && others && others.clickRow && certainType.radio) { - this.radioSelectedIndex = rowIndex; - return this.table.$emit('radio-click', { row, rowIndex, column, columnIndex, $event }); - } - if (certainType.cell) { - return this.table.$emit(`${type}-${eventType}`, latestData[rowIndex], rowIndex, column, columnIndex, $event); - } - return this.table.$emit(`${type}-${eventType}`, latestData[rowIndex], rowIndex, $event); - }, - }, - render() { - // key - // function getKey(row, rowIndex) { - // const rowKey = this.table.rowKey; - // if (rowKey) { - // return rowKey.call(null, row, rowIndex); - // } - // return rowIndex; - // } - - // style - function getStyle(type, row, rowIndex, column, columnIndex) { - const certainType = this.validateType(type, ['cell', 'row'], 'getStyle'); - const style = this.table[`${type}Style`]; - if (typeof style === 'function') { - if (certainType.row) { - return style.call(null, row, rowIndex); - } - if (certainType.cell) { - return style.call(null, row, rowIndex, column, columnIndex); - } - } - return style; - } - - // className - function getClassName(type, row, rowIndex, column, columnIndex) { - const certainType = this.validateType(type, ['cell', 'row', 'inner'], 'getClassName'); - const classList = []; - if (column && column.key == "_normalIndex") { - classList.push(`${this.prefixCls}--center-cell`); - } - // console.log(certainType.inner) - if (certainType.row || certainType.cell) { - const className = this.table[`${type}ClassName`]; - if (typeof className === 'string') { - classList.push(className); - } else if (typeof className === 'function') { - if (certainType.row) { - classList.push(className.call(null, row, rowIndex) || ''); - } - if (certainType.cell) { - classList.push(className.call(null, row, rowIndex, column, columnIndex) || ''); - } - } - if (certainType.row) { - classList.push(`${this.prefixCls}__body-row`); - if (this.table.stripe && rowIndex % 2 !== 0) { - classList.push(`${this.prefixCls}--stripe-row`); - } - if (this.table.showRowHover && row._isHover) { - classList.push(`${this.prefixCls}--row-hover`); - } - } - if (certainType.cell) { - classList.push(`${this.prefixCls}__body-cell`); - if (this.table.border) { - classList.push(`${this.prefixCls}--border-cell`); - } - const align = column.align; - if (['center', 'right'].indexOf(align) > -1) { - classList.push(`${this.prefixCls}--${align}-cell`); - } - } - } - if (certainType.inner) { - classList.push(`${this.prefixCls}__cell-inner`); - if (this.isExpandCell(this.table, columnIndex)) { - classList.push(`${this.prefixCls}--expand-inner`); - if (row._isExpanded) { - classList.push(`${this.prefixCls}--expanded-inner`); - } - } - } - return classList.join(' '); - } - - // Vue 3:scoped slot 合并到 $slots - function renderTemplateSlot(table, slotName, scope) { - if (!table || !slotName) return ''; - const slots = table.$slots || {}; - let slot = slots[slotName]; - if (!slot && table.$scopedSlots && table.$scopedSlots[slotName]) { - slot = table.$scopedSlots[slotName]; - } - if (!slot) return ''; - return slot(scope); - } - - // 根据type渲染单元格Cell - function renderCell(row, rowIndex, column, columnIndex) { - if (!row || !column) return ''; - // ExpandType - if (this.isExpandCell(this.table, columnIndex)) { - return ; - } - // SelectionType's Checkbox - if (this.isSelectionCell(this.table, columnIndex)) { - let res = null; - if (this.table.selectType === 'checkbox') { - let allCheck; - let childrenIndex; - const hasChildren = row._childrenLen > 0; - if (hasChildren) { - childrenIndex = this.getChildrenIndex(row._level, rowIndex, false); - allCheck = true; - for (let i = 0; i < childrenIndex.length; i++) { - if (!this.table.bodyData[childrenIndex[i]]._isChecked) { - allCheck = false; - break; - } - } - } else { - allCheck = row._isChecked; - } - let indeterminate = false; - if (hasChildren && !allCheck) { - for (let i = 0; i < childrenIndex.length; i++) { - if (this.table.bodyData[childrenIndex[i]]._isChecked) { - indeterminate = true; - break; - } - } - } - // res = this.handleEvent(null, 'checkbox', { row, rowIndex, column, columnIndex }, { isChecked })}> - // ; - } else { - res = ( - - this.handleEvent(null, 'radio', { row, rowIndex, column, columnIndex }) - } - /> - ); - } - return res; - } - - // Tree's firstProp - if (this.table.treeType && this.table.firstProp === column.key) { - return - {row._childrenLen > 0 && - this.handleEvent($event, 'icon', { row, rowIndex, column, columnIndex }, { isFold: row._isFold })}> - } - {row[column.key] ? row[column.key] : ''} - ; - } - // TreeType children's index - if (this.table.showIndex && this.table.treeType && column.key === '_normalIndex' && row._level > 1) { - return ''; - } - if (column.type === undefined || column.type === 'custom') { - return row[column.key]; - } else if (column.type === 'template') { - return renderTemplateSlot.call(this, this.table, column.template, { - row, - rowIndex, - column, - columnIndex, - }); - } - return ''; - } - - // Template - return ( - - {/* - {this.table.tableColumns.map(column => - ) - } - */} - - { this.table.bodyData.length > 0 - ? this.table.bodyData.map((row, rowIndex) => - [ - this.handleEvent($event, 'row', { row, rowIndex }, { clickRow: true })} - on-dblclick={$event => this.handleEvent($event, 'row', { row, rowIndex })} - on-contextmenu={$event => this.handleEvent($event, 'row', { row, rowIndex })} - on-mouseenter={$event => this.handleEvent($event, 'row', { row, rowIndex }, { hover: true })} - on-mouseleave={$event => this.handleEvent($event, 'row', { row, rowIndex }, { hover: false })}> - { this.table.tableColumns.map((column, columnIndex) => - column.key ? :"") - } - , - this.table.expandType && row._isExpanded && - - - , - ]) - : - - - } - -
this.handleEvent($event, 'cell', { row, rowIndex, column, columnIndex })} - on-dblclick={$event => this.handleEvent($event, 'cell', { row, rowIndex, column, columnIndex })} - on-contextmenu={$event => this.handleEvent($event, 'cell', { row, rowIndex, column, columnIndex })} - on-mouseenter={$event => this.handleEvent($event, 'cell', { row, rowIndex, column, columnIndex })} - on-mouseleave={$event => this.handleEvent($event, 'cell', { row, rowIndex, column, columnIndex })}> -
- {renderCell.call(this, row, rowIndex, column, columnIndex)} -
-
- {renderTemplateSlot.call(this, this.table, 'expand', { row, rowIndex })} -
- {this.table.emptyText} -
- ); - }, -}; diff --git a/manager/src/components/tree-table/Table/TableFooter.js b/manager/src/components/tree-table/Table/TableFooter.js deleted file mode 100644 index b3eed8a60..000000000 --- a/manager/src/components/tree-table/Table/TableFooter.js +++ /dev/null @@ -1,84 +0,0 @@ -import { mixins } from './utils'; - -/* eslint-disable no-underscore-dangle */ -export default { - name: 'TreeTable__footer', - mixins: [mixins], - data() { - return { - - }; - }, - computed: { - table() { - return this.$parent; - }, - }, - methods: { - - }, - render() { - // 计算各列总和 - function renderCell({ key }, columnIndex) { - if (columnIndex === 0) { - return this.table.sumText; - } - const rows = this.table.bodyData; - const values = rows.map(row => Number(row[key])); - const precisions = []; - let notNumber = true; - values.forEach((value) => { - if (!isNaN(value)) { - notNumber = false; - const decimal = value.toString().split('.')[1]; - precisions.push(decimal ? decimal.length : 0); - } - }); - const precision = Math.max.apply(null, precisions); - if (!notNumber) { - return values.reduce((prev, curr) => { - const value = Number(curr); - if (!isNaN(value)) { - return parseFloat((prev + curr).toFixed(precision)); - } - return prev; - }, 0); - } - return ''; - } - - // className - function getClassName() { - const classList = []; - classList.push(`${this.prefixCls}__footer-cell`); - if (this.table.border) { - classList.push(`${this.prefixCls}--border-cell`); - } - return classList.join(' '); - } - - // Template - return ( - - - { this.table.tableColumns.map(column => - ) - } - - - - { this.table.tableColumns.map((column, columnIndex) => - ) - } - - -
-
- { this.table.summaryMethod - ? this.table.summaryMethod(this.table.bodyData, column, columnIndex) - : renderCell.call(this, column, columnIndex) } -
-
- ); - }, -}; diff --git a/manager/src/components/tree-table/Table/TableHeader.js b/manager/src/components/tree-table/Table/TableHeader.js deleted file mode 100644 index 23570dfa0..000000000 --- a/manager/src/components/tree-table/Table/TableHeader.js +++ /dev/null @@ -1,108 +0,0 @@ -import Checkbox from "../Checkbox/Checkbox"; // eslint-disable-line -import { mixins } from "./utils"; - -/* eslint-disable no-underscore-dangle */ -export default { - name: "TreeTable__header", - mixins: [mixins], - data() { - return {}; - }, - computed: { - table() { - return this.$parent; - } - }, - methods: { - toggleAllChecked(checked) { - this.table.bodyData = this.table.bodyData.map(row => ({ - ...row, - _isChecked: checked - })); - } - }, - render() { - // className - function getClassName(type, { headerAlign, key }) { - const certainType = this.validateType( - type, - ["cell", "inner"], - "getClassName" - ); - const classList = []; - if (key == "_normalIndex") { - classList.push(`${this.prefixCls}--center-cell`); - } - if (certainType.cell) { - classList.push(`${this.prefixCls}__header-cell`); - if (this.table.border) { - classList.push(`${this.prefixCls}--border-cell`); - } - if (["center", "right"].indexOf(headerAlign) > -1) { - classList.push(`${this.prefixCls}--${headerAlign}-cell`); - } - } - if (certainType.inner) { - classList.push(`${this.prefixCls}__cell-inner`); - if (this.table.treeType && this.table.firstProp === key) { - classList.push(`${this.prefixCls}--firstProp-header-inner`); - } - } - return classList.join(" "); - } - - // 根据type渲染单元格Label - function renderLabel(column, columnIndex) { - if ( - this.isSelectionCell(this.table, columnIndex) && - this.selectType === "checkbox" - ) { - const allCheck = this.table.bodyData.every(row => row._isChecked); - const indeterminate = - !allCheck && this.table.bodyData.some(row => row._isChecked); - return ( - this.toggleAllChecked(checked)} - > - ); - } - return column.title ? column.title : ""; - } - - // Template - return ( - - {/* - {this.table.tableColumns.map(column => ( - - ))} - */} - - - { - this.table.tableColumns.map((column, columnIndex) => - column.key ? ( - - ) : ( - "" - ) - )} - - -
-
- {renderLabel.call(this, column, columnIndex)} -
-
- ); - } -}; diff --git a/manager/src/components/tree-table/Table/font/iconfont.eot b/manager/src/components/tree-table/Table/font/iconfont.eot deleted file mode 100644 index 2b35d90c1..000000000 Binary files a/manager/src/components/tree-table/Table/font/iconfont.eot and /dev/null differ diff --git a/manager/src/components/tree-table/Table/font/iconfont.less b/manager/src/components/tree-table/Table/font/iconfont.less deleted file mode 100644 index ca06f860e..000000000 --- a/manager/src/components/tree-table/Table/font/iconfont.less +++ /dev/null @@ -1,22 +0,0 @@ -// icon -@font-face {font-family: "iconfont"; - src: url('iconfont.eot?t=1505310522875'); /* IE9*/ - src: url('iconfont.eot?t=1505310522875#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAW0AAsAAAAACOQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kggY21hcAAAAYAAAABuAAABojLtBtFnbHlmAAAB8AAAAa8AAAKA73SzT2hlYWQAAAOgAAAALwAAADYO3fRqaGhlYQAAA9AAAAAcAAAAJAfeA4ZobXR4AAAD7AAAABMAAAAUE+kAAGxvY2EAAAQAAAAADAAAAAwBbAHYbWF4cAAABAwAAAAeAAAAIAEUAF1uYW1lAAAELAAAAUUAAAJtPlT+fXBvc3QAAAV0AAAAQAAAAFryy5h0eJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/s04gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDwzZm7438AQw9zA0AAUZgTJAQAoHgyieJzFkcENwyAUQ98HyqHKKDmEZoEOklOnYOK/RmI+uXSCWDLG/pZAALyALK5iAfthDBxKLfLMO/LCJl+lRqL7fp7y3VuoKprV0KxO0qbyGOy5o/+xxPq9nV6YflNX9DY5fsA/k6Pj+yTpAn3jEO8AAHiclVDNitNQFD7n3slNE9vE5N7kpOn0J0mbKB3DGDMZRGw3bhQXA2LB5TyAbmfjohvBhQvfYEAEoc8wr+EDiK4KPkITU0EcXDmHw3fOgfN9fHygATTf+BUPQMIduA9P4AwAxRxjiw0xysqczdGLNI+UxbMki/QkzvljpFgov6jKlIQubLRwhA+iospyluFJuWCPsPCHiP1B+MKdHbr8I5pBNnpXP2Of0Bsnh/biXv30aKmKiexcdF2377ofOkLTOowd2Ba+Jt/QDFPUnzU79K7Gd9kYu/0sfP6qNxm45+/LN8MZGYjrNcrBxPqydEKn7behL92+frvXCcJeMlV48eNWILvD9Du0hXtgl+wSHIBZnJZLzNKyKgh9paPAdVca260hAxPBMBowz9t1uzUDuT8CswEDDtq8Gr7mADaM4QgetrKRhbozQooWeOrkKJVIojg9ccqqjcT3uBJ6lGNZnUYjnBU+ORbGaeYskM93m+kx4vGUrX5PQXK3kUSSrSS9JFWvFJHCjaIGJCFSugcOLeM6c7f6wyFZf/37+PO6AgD/x/vNnN/A7H8bhF86tmcbAHicY2BkYGAAYl/p/jnx/DZfGbhZGEDg6v0IKwT9/yELA7MEkMvBwAQSBQAZYgnZAHicY2BkYGBu+N/AEMPCAAJAkpEBFbACAEcLAm54nGNhYGBgfsnAwMKAwAAOmwD9AAAAAAAAdgCYAPYBQHicY2BkYGBgZQgEYhBgAmIuIGRg+A/mMwAAES0BcgAAeJxlj01OwzAQhV/6B6QSqqhgh+QFYgEo/RGrblhUavdddN+mTpsqiSPHrdQDcB6OwAk4AtyAO/BIJ5s2lsffvHljTwDc4Acejt8t95E9XDI7cg0XuBeuU38QbpBfhJto41W4Rf1N2MczpsJtdGF5g9e4YvaEd2EPHXwI13CNT+E69S/hBvlbuIk7/Aq30PHqwj7mXle4jUcv9sdWL5xeqeVBxaHJIpM5v4KZXu+Sha3S6pxrW8QmU4OgX0lTnWlb3VPs10PnIhVZk6oJqzpJjMqt2erQBRvn8lGvF4kehCblWGP+tsYCjnEFhSUOjDFCGGSIyujoO1Vm9K+xQ8Jee1Y9zed0WxTU/3OFAQL0z1xTurLSeTpPgT1fG1J1dCtuy56UNJFezUkSskJe1rZUQuoBNmVXjhF6XNGJPyhnSP8ACVpuyAAAAHicY2BigAAuBuyAlZGJkZmRhZGVkY2BsYI7MS89J1W3KDM9o4S3IKe0WLe4sDSxKFU3ny83Mw+Jy8AAAHSWD8A=') format('woff'), - url('iconfont.ttf?t=1505310522875') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ - url('iconfont.svg?t=1505310522875#iconfont') format('svg'); /* iOS 4.1- */ -} - -.zk-icon { - font-family: "iconfont" !important; - font-size: 14px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.zk-icon-plus-square-o:before { content: "\e631"; } - -.zk-icon-minus-square-o:before { content: "\e632"; } - -.zk-icon-angle-right:before { content: "\e633"; } diff --git a/manager/src/components/tree-table/Table/font/iconfont.svg b/manager/src/components/tree-table/Table/font/iconfont.svg deleted file mode 100644 index 085fd5625..000000000 --- a/manager/src/components/tree-table/Table/font/iconfont.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - - -Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/manager/src/components/tree-table/Table/font/iconfont.ttf b/manager/src/components/tree-table/Table/font/iconfont.ttf deleted file mode 100644 index 545bf911c..000000000 Binary files a/manager/src/components/tree-table/Table/font/iconfont.ttf and /dev/null differ diff --git a/manager/src/components/tree-table/Table/font/iconfont.woff b/manager/src/components/tree-table/Table/font/iconfont.woff deleted file mode 100644 index fe9b1d701..000000000 Binary files a/manager/src/components/tree-table/Table/font/iconfont.woff and /dev/null differ diff --git a/manager/src/components/tree-table/Table/utils/index.js b/manager/src/components/tree-table/Table/utils/index.js deleted file mode 100644 index dfbbb101d..000000000 --- a/manager/src/components/tree-table/Table/utils/index.js +++ /dev/null @@ -1,6 +0,0 @@ -import mixins from './mixins'; -import scrollBarWidth from './scrollBarWidth'; -export { - mixins, - scrollBarWidth -} diff --git a/manager/src/components/tree-table/Table/utils/mixins.js b/manager/src/components/tree-table/Table/utils/mixins.js deleted file mode 100644 index 5b9ee2516..000000000 --- a/manager/src/components/tree-table/Table/utils/mixins.js +++ /dev/null @@ -1,34 +0,0 @@ -export default { - data() { - return { - prefixCls: 'zk-table', - }; - }, - methods: { - validateType(type, validTypes, funcName, isReturn = true) { - if (validTypes.indexOf(type) < 0) throw new Error(`${funcName}'s type must is ${validTypes.join(' or ')}.`); - if (isReturn) { - const certainType = {}; - validTypes.forEach((item) => { - certainType[item] = item === type; - }); - return certainType; - } - return true; - }, - isExpandCell(table, columnIndex) { - return table.expandType && ( - (table.showIndex && columnIndex === 1) || - (!table.showIndex && columnIndex === 0) - ); - }, - isSelectionCell(table, columnIndex) { - return table.selectable && ( - (table.showIndex && table.expandType && columnIndex === 2) || - (!table.showIndex && table.expandType && columnIndex === 1) || - (table.showIndex && !table.expandType && columnIndex === 1) || - (!table.showIndex && !table.expandType && columnIndex === 0) - ); - }, - }, -}; diff --git a/manager/src/components/tree-table/Table/utils/scrollBarWidth.js b/manager/src/components/tree-table/Table/utils/scrollBarWidth.js deleted file mode 100644 index 9b8b2f78f..000000000 --- a/manager/src/components/tree-table/Table/utils/scrollBarWidth.js +++ /dev/null @@ -1,26 +0,0 @@ -let scrollBarWidth; - -export default function getScrollBarWidth() { - if (typeof document === "undefined") return 0; - if (scrollBarWidth !== undefined) return scrollBarWidth; - - const outer = document.createElement("div"); - outer.style.visibility = "hidden"; - outer.style.width = "100px"; - outer.style.position = "absolute"; - outer.style.top = "-9999px"; - document.body.appendChild(outer); - - const widthNoScroll = outer.offsetWidth; - outer.style.overflow = "scroll"; - - const inner = document.createElement("div"); - inner.style.width = "100%"; - outer.appendChild(inner); - - const widthWithScroll = inner.offsetWidth; - outer.parentNode.removeChild(outer); - scrollBarWidth = widthNoScroll - widthWithScroll; - - return scrollBarWidth; -} diff --git a/manager/src/libs/axios.js b/manager/src/libs/axios.js index 454bed34b..b3542dc4c 100644 --- a/manager/src/libs/axios.js +++ b/manager/src/libs/axios.js @@ -24,6 +24,7 @@ function refreshAccessToken(token) { return service({ method: "get", url: `/passport/user/refresh/${token}`, + _isRefreshRequest: true }); } @@ -40,8 +41,6 @@ function redirectToLogin(message) { router.push("/login"); } } -var isRefreshToken = 0; -const refreshToken = getTokenDebounce(); service.interceptors.request.use( config => { if (config.method == "get") { @@ -69,113 +68,86 @@ service.interceptors.response.use( response => { const data = response.data; // 根据返回的code值来做不同的处理(和后端约定) - if (!data.success && data.message) { - Message.error(data.message); - } switch (data.code) { - case 400: - if (data.message !== null) { - Message.error(data.message); - } else { - Message.error("系统异常"); - } - break; - case 20004: case 401: - redirectToLogin(data.message !== null ? data.message : null); + case 20004: + redirectToLogin(data.message || null); return data; - break; + case 400: case 500: - // 系统异常 - if (data.message !== null) { - Message.error(data.message); - } else { - Message.error("系统异常"); - } - break; + Message.error(data.message || "系统异常"); + return data; default: + if (!data.success && data.message) { + Message.error(data.message); + } return data; } }, async error => { - // 返回状态码不为200时候的错误处理 - if (error.response) { - if (error.response.status === 401) { + const response = error.response; + const config = error.config; + if (response) { + const code = response.data && response.data.code; + if (response.status === 401) { // 这种情况一般调到登录页 - } else if (error.response.status === 404) { - // 避免刷新token报错 - } else if (error.response.status === 403 || error.response.data.code === 20004) { - isRefreshToken++; - if (isRefreshToken === 1) { - const getTokenRes = await refreshToken(); - if (getTokenRes === "success") { - // 刷新token - if (isRefreshToken === 1) { - error.response.config.headers.accessToken = getStore( - "accessToken" - ); - return service(error.response.config); - } else { - const router = getRouter(); - if (router) router.go(0); - } - } else { - redirectToLogin(null); - } - isRefreshToken = 0; + redirectToLogin("登录状态已过期,请重新登录"); + } else if ( + (response.status === 403 || code === 20004) && + config && + !config._isRefreshRequest && + !config._retryAfterRefresh + ) { + // accessToken 过期:刷新 token 后重试原请求 + config._retryAfterRefresh = true; + const result = await refreshToken(); + if (result === "success") { + config.headers.accessToken = getStore("accessToken"); + return service(config); } + redirectToLogin(null); + } else if (response.status === 404) { + // 避免刷新token报错 + Message.error("请求的资源不存在"); } else { // 其他错误处理 - Message.error(error.response.data.message); + Message.error( + (response.data && response.data.message) || "系统异常,请稍后重试" + ); } + } else { + // 断网/超时等无响应的错误 + Message.error( + error.code === "ECONNABORTED" + ? "请求超时,请稍后重试" + : "网络异常,请检查网络连接" + ); } - /* router.push("/login") */ - return Promise.resolve(error); + return Promise.reject(error); } ); -// 防抖闭包来一波 -function getTokenDebounce() { - let lock = false; - let success = false; - return function() { - if (!lock) { - lock = true; - let oldRefreshToken = getStore("refreshToken"); - refreshAccessToken(oldRefreshToken) - .then(res => { - if (res.success) { - let { accessToken, refreshToken } = res.result; - setStore("accessToken", accessToken); - setStore("refreshToken", refreshToken); - - success = true; - lock = false; - } else { - success = false; - lock = false; - redirectToLogin(null); - } - }) - .catch(err => { - success = false; - lock = false; - }); - } - return new Promise(resolve => { - // 一直看lock,直到请求失败或者成功 - const timer = setInterval(() => { - if (!lock) { - clearInterval(timer); - if (success) { - resolve("success"); - } else { - resolve("fail"); - } +// 刷新 token 单例 Promise:并发 403 时共享同一次刷新,避免重复请求 +let refreshTokenPromise = null; +function refreshToken() { + if (!refreshTokenPromise) { + const oldRefreshToken = getStore("refreshToken"); + refreshTokenPromise = refreshAccessToken(oldRefreshToken) + .then(res => { + if (res.success) { + const { accessToken, refreshToken: newRefreshToken } = res.result; + setStore("accessToken", accessToken); + setStore("refreshToken", newRefreshToken); + return "success"; } - }, 500); // 轮询时间间隔 - }); - }; + return "fail"; + }) + .catch(() => "fail") + .finally(() => { + refreshTokenPromise = null; + }); + } + return refreshTokenPromise; } export const getRequest = (url, params, resBlob) => { diff --git a/manager/src/main.js b/manager/src/main.js index d39c49a78..c0fe3429c 100644 --- a/manager/src/main.js +++ b/manager/src/main.js @@ -1,6 +1,7 @@ import { createApp } from "vue"; import "core-js/stable"; import "./styles/theme.less"; +import "@/styles/common.scss"; import App from "./App.vue"; import { router } from "./router/index"; import store from "./store"; @@ -85,5 +86,12 @@ router.isReady().then(() => { app.mount("#app"); }); +// axios 错误已在拦截器统一 toast 提示,页面未写 .catch 时不再触发未捕获 rejection 浮层 +window.addEventListener("unhandledrejection", (event) => { + if (event.reason && event.reason.isAxiosError) { + event.preventDefault(); + } +}); + // 登录后由 App.vue 触发 initRouter 拉取/更新菜单 export { app, util }; diff --git a/manager/src/styles/common.scss b/manager/src/styles/common.scss index cfd3b7646..aca16d0e9 100644 --- a/manager/src/styles/common.scss +++ b/manager/src/styles/common.scss @@ -96,15 +96,11 @@ ul,li{ white-space: nowrap; } // 主题颜色 +@import "./variables.scss"; -$success_color: #68cabe; -$warning_color: #fa6419; -$error_color: #ff3c2a; -$theme_color: #FF5C58; .theme_color { color: $theme_color !important; } -$bg_color: #f1f6fa; .wes { /* 多出部分用省略号表示 , 用于一行 */ diff --git a/manager/src/styles/variables.scss b/manager/src/styles/variables.scss new file mode 100644 index 000000000..f414bc243 --- /dev/null +++ b/manager/src/styles/variables.scss @@ -0,0 +1,6 @@ +// 仅放变量:通过 style-resources-loader 注入到每个组件样式块,不会产生重复 CSS +$success_color: #68cabe; +$warning_color: #fa6419; +$error_color: #ff3c2a; +$theme_color: #FF5C58; +$bg_color: #f1f6fa; diff --git a/manager/src/utils/print.js b/manager/src/utils/print.js index 1337b24b7..49a0f0f12 100644 --- a/manager/src/utils/print.js +++ b/manager/src/utils/print.js @@ -4,7 +4,6 @@ export function printElement(elementId, title = "打印") { const el = document.getElementById(elementId); if (!el) { - console.warn(`[print] element #${elementId} not found`); return; } const iframe = document.createElement("iframe"); diff --git a/manager/src/views/distribution/distributionGradeHistory.vue b/manager/src/views/distribution/distributionGradeHistory.vue index 28f8d3af9..aa9e23d29 100644 --- a/manager/src/views/distribution/distributionGradeHistory.vue +++ b/manager/src/views/distribution/distributionGradeHistory.vue @@ -142,8 +142,7 @@ export default { value: String(item.sortOrder), label: item.gradeName || `等级值${item.sortOrder}`, })); - }) - .catch(() => {}); + }); }, formatGrade(name, gradeId) { if (name) { diff --git a/manager/src/views/live/composables/useChat.js b/manager/src/views/live/composables/useChat.js index 307e6f537..09f345c1e 100644 --- a/manager/src/views/live/composables/useChat.js +++ b/manager/src/views/live/composables/useChat.js @@ -60,7 +60,6 @@ export function useChat(liveId, userInfo, liveDetail) { } if (!groupID.value) { initError.value = "直播间群组 ID 不存在"; - console.warn("groupID 不存在,跳过 IM 初始化"); return; } @@ -160,18 +159,15 @@ export function useChat(liveId, userInfo, liveDetail) { } function onSdkNotReady() { - console.log("[SDK Not Ready]"); imReady.value = false; } function onSdkReady() { - console.log("[SDK Ready]"); imReady.value = true; updateUserInfo(); } function onKickedOut() { - console.log("[用户被踢下线]"); imReady.value = false; initError.value = "IM 已下线,请刷新页面"; } @@ -203,11 +199,10 @@ export function useChat(liveId, userInfo, liveDetail) { } try { - const imResponse = await chat.value.joinGroup({ + await chat.value.joinGroup({ groupID: groupID.value, type: TencentCloudChat.TYPES.GRP_AVCHATROOM, }); - console.log("[加群成功]", imResponse); } catch (imError) { console.warn("joinGroup error:", imError); throw imError; diff --git a/manager/src/views/live/composables/useLiveSetting.js b/manager/src/views/live/composables/useLiveSetting.js index 944fc50c9..166573b8f 100644 --- a/manager/src/views/live/composables/useLiveSetting.js +++ b/manager/src/views/live/composables/useLiveSetting.js @@ -21,7 +21,6 @@ export async function fetchLiveSetting(force = false) { cachedSetting = res.result; return cachedSetting; } - console.warn("获取直播配置失败", res); return null; } catch (error) { console.error("获取直播配置异常:", error); diff --git a/manager/src/views/live/list.vue b/manager/src/views/live/list.vue index e84f105ee..2b8210b28 100644 --- a/manager/src/views/live/list.vue +++ b/manager/src/views/live/list.vue @@ -327,8 +327,7 @@ export default { if (res.success && res.result?.buyerDomain) { this.wapUrl = res.result.buyerDomain; } - }) - .catch(() => {}); + }); }, }, }; diff --git a/manager/src/views/order/order/orderDetail.vue b/manager/src/views/order/order/orderDetail.vue index afce0f1c2..319a71bb0 100644 --- a/manager/src/views/order/order/orderDetail.vue +++ b/manager/src/views/order/order/orderDetail.vue @@ -759,9 +759,7 @@ export default { } } } - console.log(this.typeList) if (this.typeList.length >= 3) { - console.log(123123) this.getContentPrice() } }, diff --git a/manager/src/views/page-decoration/modelForm.vue b/manager/src/views/page-decoration/modelForm.vue index 4f145c846..705668d77 100644 --- a/manager/src/views/page-decoration/modelForm.vue +++ b/manager/src/views/page-decoration/modelForm.vue @@ -232,9 +232,7 @@ export default { handleAddNav() { this.navList.list.push({ name: "", url: "", title: "" }); }, - handleMoveEnd({ newIndex, oldIndex }) { - console.log("index", newIndex, oldIndex); - }, + handleMoveEnd({ newIndex, oldIndex }) {}, handleModel(type) { if (type == "topAdvert") { this.draftTopAdvert = JSON.parse(JSON.stringify(this.topAdvert)); diff --git a/manager/src/views/page-decoration/modelList/recommend.vue b/manager/src/views/page-decoration/modelList/recommend.vue index 0e3773095..bf653cd95 100644 --- a/manager/src/views/page-decoration/modelList/recommend.vue +++ b/manager/src/views/page-decoration/modelList/recommend.vue @@ -285,7 +285,6 @@ export default { }, // 选择商品回调 selectedGoodsData(val) { - console.log(val); let goods = val[0]; this.selected.img = goods.thumbnail; this.selected.price = goods.price; diff --git a/manager/src/views/page-decoration/renovation.vue b/manager/src/views/page-decoration/renovation.vue index b7520c50b..322592ddc 100644 --- a/manager/src/views/page-decoration/renovation.vue +++ b/manager/src/views/page-decoration/renovation.vue @@ -160,9 +160,7 @@ export default { watch: { modelForm: { deep: true, - handler: function (val) { - console.log(val); - }, + handler: function (val) {}, }, }, }; diff --git a/manager/src/views/page-decoration/wap/advertising.vue b/manager/src/views/page-decoration/wap/advertising.vue index 4c8c6d236..64b4b1034 100644 --- a/manager/src/views/page-decoration/wap/advertising.vue +++ b/manager/src/views/page-decoration/wap/advertising.vue @@ -116,10 +116,6 @@ export default { advertising: { handler(val) { this.$store.state.openStyleStore = val; - console.log( - "this.$store.state.openStyleStore", - this.$store.state.openStyleStore - ); }, deep: true, }, diff --git a/manager/src/views/page-decoration/wap/alertAdvertising.vue b/manager/src/views/page-decoration/wap/alertAdvertising.vue index c457e5a8b..b0cac7320 100644 --- a/manager/src/views/page-decoration/wap/alertAdvertising.vue +++ b/manager/src/views/page-decoration/wap/alertAdvertising.vue @@ -119,10 +119,6 @@ export default { advertising: { handler(val) { this.$store.state.openStyleStore = val; - console.log( - "this.$store.state.openStyleStore", - this.$store.state.openStyleStore - ); }, deep: true, }, diff --git a/manager/src/views/page-decoration/wap/config.js b/manager/src/views/page-decoration/wap/config.js index ce2c5b134..08002a64e 100644 --- a/manager/src/views/page-decoration/wap/config.js +++ b/manager/src/views/page-decoration/wap/config.js @@ -1,16 +1,3 @@ -import * as API_Other from "@/api/other"; - -// 获取楼层装修信息 -export function initData(id) { - API_Other.getHomeData(id).then(res => { - debugger - homeData = res; - console.log(res) - }); -} - -export let homeData = {}; - /** * drawer:true 广告右侧打开抽屉中显示 * drawerPromotions:true 广告右侧打开抽屉中显示 diff --git a/manager/src/views/page-decoration/wap/decorate.vue b/manager/src/views/page-decoration/wap/decorate.vue index 3fb841190..08dc33d49 100644 --- a/manager/src/views/page-decoration/wap/decorate.vue +++ b/manager/src/views/page-decoration/wap/decorate.vue @@ -621,8 +621,6 @@ export default { return item.___index != this.goodsSelectedIndex; }); this.res.options.list[0].titleWay[this.goodsSelectedIndex] = data; - - console.log(this.res.options.list[0]); }, // 商品排序 slotGoods(list, key, val) { @@ -659,7 +657,6 @@ export default { // 轮播图排序 slotBanner(val, key, index, down) { - console.log(val); if (down == "down") { this.downData(val.options.list, index); } else { diff --git a/manager/src/views/page-decoration/wap/navbar.vue b/manager/src/views/page-decoration/wap/navbar.vue index cfd6bb243..965688f5a 100644 --- a/manager/src/views/page-decoration/wap/navbar.vue +++ b/manager/src/views/page-decoration/wap/navbar.vue @@ -192,15 +192,12 @@ export default { this.saveDialog = false; this.$Message.error("修改失败,请稍后重试"); } - console.log(res); - }) - .catch(error => {}); + }); }, // 更新 update(submitWay) { - console.log(this.$store.state.openStyleStore[0], "123123123"); if (this.$store.state.openStyleStore == void 0) { this.$Message.error("请装修楼层!"); return false; @@ -209,7 +206,6 @@ export default { let id = this.$route.query.id; const pagetype = this.$route.query.pagetype; - console.log(this.$store.state.openStyleStore, submitWay); const pageType = { INDEX: "INDEX", ALERT: "OPEN_SCREEN_PAGE", @@ -239,9 +235,7 @@ export default { this.saveDialog = false; this.$Message.error("修改失败,请稍后重试"); } - console.log(res); - }) - .catch((error) => {}); + }); }, @@ -270,9 +264,7 @@ export default { this.saveDialog = false; this.$Message.error("保存失败,请稍后重试"); } - console.log(res); - }) - .catch(error => {}); + }); } } }; diff --git a/manager/src/views/page/article-manage/ArticleCategory.vue b/manager/src/views/page/article-manage/ArticleCategory.vue index a89baef6b..e6616eb66 100644 --- a/manager/src/views/page/article-manage/ArticleCategory.vue +++ b/manager/src/views/page/article-manage/ArticleCategory.vue @@ -16,7 +16,7 @@ > - +