| 1 |
- {"remainingRequest":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!D:\\front\\item\\zyAdmin\\src\\layout\\navBars\\breadcrumb\\userNews.vue?vue&type=style&index=0&id=6817c01c&scoped=true&lang=scss","dependencies":[{"path":"D:\\front\\item\\zyAdmin\\src\\layout\\navBars\\breadcrumb\\userNews.vue","mtime":1761614938999},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\css-loader\\index.js","mtime":1761614929364},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\loaders\\stylePostLoader.js","mtime":1761614937403},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\postcss-loader\\src\\index.js","mtime":1761614935133},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\sass-loader\\dist\\cjs.js","mtime":1761614936391},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":1761614927801},{"path":"D:\\front\\item\\zyAdmin\\node_modules\\vue-loader\\lib\\index.js","mtime":1761614937402}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQoubGF5b3V0LW5hdmJhcnMtYnJlYWRjcnVtYi11c2VyLW5ld3Mgew0KICB3aWR0aDogMzIwcHg7DQogIHBhZGRpbmc6IDhweCAxNHB4IDE0cHg7DQogIC5oZWFkLWJveCB7DQogICAgZGlzcGxheTogZmxleDsNCiAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tcHJldi1ib3JkZXItY29sb3ItbGlnaHRlcik7DQogICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICBjb2xvcjogdmFyKC0tcHJldi1jb2xvci10ZXh0LXByaW1hcnkpOw0KICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsNCiAgICAvLyBoZWlnaHQ6IDM1cHg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAuaGVhZC1ib3gtdGl0bGUgew0KICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgIGNvbG9yOiAjMzMzMzMzOw0KICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgfQ0KICAgIC5oZWFkLWJveC1idG4gew0KICAgICAgY29sb3I6IHZhcigtLXByZXYtY29sb3ItcHJpbWFyeSk7DQogICAgICBmb250LXNpemU6IDEzcHg7DQogICAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgICBvcGFjaXR5OiAwLjg7DQogICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgICAmOmhvdmVyIHsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICAgIH0NCiAgICB9DQogIH0NCiAgLmNvbnRlbnQtYm94IHsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgLmNvbnRlbnQtYm94LWl0ZW0gew0KICAgICAgcGFkZGluZy10b3A6IDI0cHg7DQogICAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgICY6bGFzdC1vZi10eXBlIHsNCiAgICAgICAgLy8gcGFkZGluZy1ib3R0b206IDEycHg7DQogICAgICB9DQogICAgICAuaWNvbiB7DQogICAgICAgIHdpZHRoOiAyNnB4Ow0KICAgICAgICBoZWlnaHQ6IDI2cHg7DQogICAgICAgIG1hcmdpbi1yaWdodDogMTBweDsNCiAgICAgIH0NCiAgICAgIC5jb250ZW50LWJveC1yaWdodCB7DQogICAgICB9DQogICAgICAuY29udGVudC1ib3gtdHlwZSB7DQogICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgY29sb3I6ICMzMzMzMzM7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4Ow0KICAgICAgfQ0KICAgICAgLmNvbnRlbnQtYm94LW1zZyB7DQogICAgICAgIG1hcmdpbi10b3A6IDZweDsNCiAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBjb2xvcjogIzY2NjY2NjsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgICB9DQogICAgICAuY29udGVudC1ib3gtdGltZSB7DQogICAgICAgIGNvbG9yOiB2YXIoLS1wcmV2LWNvbG9yLXRleHQtc2Vjb25kYXJ5KTsNCiAgICAgIH0NCiAgICB9DQogICAgLmNvbnRlbnQtYm94LWVtcHR5IHsNCiAgICAgIHdpZHRoOiAyOTJweDsNCiAgICAgIC8vIGhlaWdodDogMjAwcHg7DQogICAgICBkaXNwbGF5OiBmbGV4Ow0KICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOw0KICAgICAgLmNvbnRlbnQtYm94LWVtcHR5LW1hcmdpbiB7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgZm9udC1zaXplOiAxM3B4Ow0KICAgICAgICBjb2xvcjogIzk5OTk5OTsNCiAgICAgICAgaSB7DQogICAgICAgICAgY29sb3I6IHZhcigtLXByZXYtY29sb3ItcHJpbWFyeSk7DQogICAgICAgICAgZm9udC1zaXplOiA2MHB4Ow0KICAgICAgICB9DQogICAgICAgIC5uby1tc2cgew0KICAgICAgICAgIHdpZHRoOiAxODBweDsNCiAgICAgICAgICBoZWlnaHQ6IDEzOHB4Ow0KICAgICAgICB9DQogICAgICB9DQogICAgfQ0KICB9DQogIC5mb290LWJveCB7DQogICAgaGVpZ2h0OiAzNXB4Ow0KICAgIGNvbG9yOiB2YXIoLS1wcmV2LWNvbG9yLXByaW1hcnkpOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBjdXJzb3I6IHBvaW50ZXI7DQogICAgb3BhY2l0eTogMC44Ow0KICAgIGRpc3BsYXk6IGZsZXg7DQogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsNCiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsNCiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tcHJldi1ib3JkZXItY29sb3ItbGlnaHRlcik7DQogICAgJjpob3ZlciB7DQogICAgICBvcGFjaXR5OiAxOw0KICAgIH0NCiAgfQ0KICA6OnYtZGVlcCguZWwtZW1wdHlfX2Rlc2NyaXB0aW9uIHApIHsNCiAgICBmb250LXNpemU6IDEzcHg7DQogIH0NCn0NCg=="},{"version":3,"sources":["userNews.vue"],"names":[],"mappings":";AAuLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"userNews.vue","sourceRoot":"src/layout/navBars/breadcrumb","sourcesContent":["<template>\r\n <div class=\"layout-navbars-breadcrumb-user-news\">\r\n <div class=\"head-box\">\r\n <div class=\"head-box-title\">系统通知</div>\r\n <div class=\"head-box-btn\" v-if=\"newsList.length > 0\" v-db-click @click=\"onAllReadClick\">全部已读</div>\r\n </div>\r\n <div class=\"content-box\">\r\n <template v-if=\"newsList.length > 0\">\r\n <div class=\"content-box-item\" v-for=\"(v, k) in newsList\" :key=\"k\" v-db-click @click=\"jumpUrl(v.url)\">\r\n <img class=\"icon\" :src=\"icon(v.type)\" alt=\"\" />\r\n <div class=\"content-box-right\">\r\n <div class=\"content-box-type\">{{ v.type | msgType }}</div>\r\n <div class=\"content-box-msg\">\r\n {{ v.title }}\r\n </div>\r\n </div>\r\n\r\n <!-- <div class=\"content-box-time\">{{ v.time }}</div> -->\r\n </div>\r\n </template>\r\n <div class=\"content-box-empty\" v-else>\r\n <div class=\"content-box-empty-margin\">\r\n <img class=\"no-msg\" src=\"@/assets/images/no-msg.png\" alt=\"\" />\r\n <div class=\"mt15\">暂无通知</div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nlet newOrderAudioLink = new Audio(require('@/assets/video/newOrderAudioLink.mp3'));\r\nimport { jnoticeRequest } from '@/api/common';\r\nimport { adminSocket } from '@/libs/socket';\r\nimport { getCookies, removeCookies, setCookies } from '@/libs/util';\r\nexport default {\r\n name: 'layoutBreadcrumbUserNews',\r\n data() {\r\n return {\r\n newsList: [],\r\n newOrderAudioLink: null,\r\n messageList: [],\r\n };\r\n },\r\n mounted() {\r\n this.getNotict();\r\n this.newOrderAudioLink = newOrderAudioLink;\r\n adminSocket.then((ws) => {\r\n ws.send({\r\n type: 'login',\r\n data: getCookies('token'),\r\n });\r\n let that = this;\r\n ws.$on('ADMIN_NEW_PUSH', function (data) {\r\n that.getNotict();\r\n });\r\n\r\n ws.$on('NEW_ORDER', function (data) {\r\n that.$notify.info({\r\n title: '新订单',\r\n message: '您有一个新的订单,ID为(' + data.order_id + '),请注意查看',\r\n });\r\n if (newOrderAudioLink) newOrderAudioLink.play();\r\n that.messageList.push({\r\n title: '新订单提醒',\r\n icon: 'md-bulb',\r\n iconColor: '#87d068',\r\n time: 0,\r\n read: 0,\r\n });\r\n });\r\n ws.$on('NEW_REFUND_ORDER', function (data) {\r\n that.$notify.info({\r\n title: '退款订单提醒',\r\n message: '您有一个订单申请退款,ID为(' + data.order_id + '),请注意查看',\r\n });\r\n if (newOrderAudioLink) newOrderAudioLink.play();\r\n that.messageList.push({\r\n title: '退款订单提醒',\r\n icon: 'md-information',\r\n iconColor: '#fe5c57',\r\n time: 0,\r\n read: 0,\r\n });\r\n });\r\n ws.$on('WITHDRAW', function (data) {\r\n // that.$Notice.warning({\r\n // title: '提现提醒',\r\n // duration: 8,\r\n // desc: '有用户申请提现,编号为(' + data.id + '),请注意查看',\r\n // });\r\n that.$notify.info({\r\n title: '提现提醒',\r\n message: '有用户申请提现,编号为(' + data.id + '),请注意查看',\r\n });\r\n that.messageList.push({\r\n title: '退款订单提醒',\r\n icon: 'md-people',\r\n iconColor: '#f06292',\r\n time: 0,\r\n read: 0,\r\n });\r\n });\r\n ws.$on('STORE_STOCK', function (data) {\r\n that.$notify.info({\r\n title: '库存预警',\r\n message: '商品ID为(' + data.id + ')的库存不足啦,请注意查看~',\r\n });\r\n that.messageList.push({\r\n title: '库存预警',\r\n icon: 'md-information',\r\n iconColor: '#fe5c57',\r\n time: 0,\r\n read: 0,\r\n });\r\n });\r\n ws.$on('PAY_SMS_SUCCESS', function (data) {\r\n that.$notify.info({\r\n title: '短信充值成功',\r\n message: '恭喜您充值' + data.price + '元,获得' + data.number + '条短信',\r\n });\r\n that.messageList.push({\r\n title: '短信充值成功',\r\n icon: 'md-bulb',\r\n iconColor: '#87d068',\r\n time: 0,\r\n read: 0,\r\n });\r\n });\r\n });\r\n },\r\n filters: {\r\n // 1 待发货 2 库存报警 3评论回复 4提现申请\r\n msgType(type) {\r\n let typeName;\r\n switch (type) {\r\n case 1:\r\n typeName = '待发货订单提醒';\r\n break;\r\n case 2:\r\n typeName = '库存报警';\r\n break;\r\n case 3:\r\n typeName = '评论回复';\r\n break;\r\n case 4:\r\n typeName = '提现申请';\r\n break;\r\n default:\r\n typeName = '其它';\r\n }\r\n return typeName;\r\n },\r\n },\r\n methods: {\r\n // 全部已读点击\r\n onAllReadClick() {\r\n this.newsList = [];\r\n this.$emit('haveNews', !!this.newsList.length);\r\n },\r\n // 前往通知中心点击\r\n onGoToGiteeClick() {},\r\n getNotict() {\r\n jnoticeRequest()\r\n .then((res) => {\r\n this.newsList = res.data || [];\r\n this.$emit('haveNews', !!this.newsList.length);\r\n })\r\n .catch(() => {});\r\n },\r\n jumpUrl(path) {\r\n this.$router.push({\r\n path,\r\n });\r\n },\r\n icon(type) {\r\n return require(`@/assets/images/news-${type}.png`);\r\n },\r\n },\r\n};\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.layout-navbars-breadcrumb-user-news {\r\n width: 320px;\r\n padding: 8px 14px 14px;\r\n .head-box {\r\n display: flex;\r\n // border-bottom: 1px solid var(--prev-border-color-lighter);\r\n box-sizing: border-box;\r\n color: var(--prev-color-text-primary);\r\n justify-content: space-between;\r\n // height: 35px;\r\n align-items: center;\r\n .head-box-title {\r\n font-size: 13px;\r\n font-weight: 500;\r\n color: #333333;\r\n line-height: 13px;\r\n }\r\n .head-box-btn {\r\n color: var(--prev-color-primary);\r\n font-size: 13px;\r\n cursor: pointer;\r\n opacity: 0.8;\r\n font-weight: 400;\r\n line-height: 13px;\r\n &:hover {\r\n opacity: 1;\r\n }\r\n }\r\n }\r\n .content-box {\r\n font-size: 13px;\r\n .content-box-item {\r\n padding-top: 24px;\r\n cursor: pointer;\r\n display: flex;\r\n align-items: center;\r\n &:last-of-type {\r\n // padding-bottom: 12px;\r\n }\r\n .icon {\r\n width: 26px;\r\n height: 26px;\r\n margin-right: 10px;\r\n }\r\n .content-box-right {\r\n }\r\n .content-box-type {\r\n font-size: 13px;\r\n font-weight: 500;\r\n color: #333333;\r\n line-height: 13px;\r\n }\r\n .content-box-msg {\r\n margin-top: 6px;\r\n font-size: 13px;\r\n font-weight: 400;\r\n color: #666666;\r\n line-height: 13px;\r\n }\r\n .content-box-time {\r\n color: var(--prev-color-text-secondary);\r\n }\r\n }\r\n .content-box-empty {\r\n width: 292px;\r\n // height: 200px;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n .content-box-empty-margin {\r\n text-align: center;\r\n font-size: 13px;\r\n color: #999999;\r\n i {\r\n color: var(--prev-color-primary);\r\n font-size: 60px;\r\n }\r\n .no-msg {\r\n width: 180px;\r\n height: 138px;\r\n }\r\n }\r\n }\r\n }\r\n .foot-box {\r\n height: 35px;\r\n color: var(--prev-color-primary);\r\n font-size: 13px;\r\n cursor: pointer;\r\n opacity: 0.8;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border-top: 1px solid var(--prev-border-color-lighter);\r\n &:hover {\r\n opacity: 1;\r\n }\r\n }\r\n ::v-deep(.el-empty__description p) {\r\n font-size: 13px;\r\n }\r\n}\r\n</style>\r\n"]}]}
|