| 1 |
- {"remainingRequest":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js??vue-loader-options!C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\kefu\\mobile\\goods\\list.vue?vue&type=script&lang=js","dependencies":[{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\src\\pages\\kefu\\mobile\\goods\\list.vue","mtime":1761185180099},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"C:\\Users\\Administrator\\Desktop\\crmeb5.0\\template\\admin\\node_modules\\vue-loader\\lib\\index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:DQppbXBvcnQgeyBTb2NrZXQgfSBmcm9tICdAL2xpYnMvc29ja2V0JzsNCmltcG9ydCB7IHByb2R1Y3RDYXJ0LCBwcm9kdWN0SG90LCBwcm9kdWN0VmlzaXQgfSBmcm9tICdAL2FwaS9rZWZ1LmpzJzsNCmltcG9ydCB7IHNlcnZpY2VJbmZvIH0gZnJvbSAnQC9hcGkva2VmdV9tb2JpbGUnOw0KaW1wb3J0IGVtcHR5IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvZW1wdHknOw0KZXhwb3J0IGRlZmF1bHQgew0KICBuYW1lOiAncHJvZHVjdF9pbmZvJywNCiAgY29tcG9uZW50czogew0KICAgIGVtcHR5LA0KICB9LA0KICBkYXRhKCkgew0KICAgIHJldHVybiB7DQogICAgICBvcHM6IHsNCiAgICAgICAgYmFyOiB7DQogICAgICAgICAgYmFja2dyb3VuZDogJyMzOTMyMzInLA0KICAgICAgICAgIG9wYWNpdHk6ICcuNScsDQogICAgICAgICAgc2l6ZTogJzJweCcsDQogICAgICAgIH0sDQogICAgICB9LA0KICAgICAgc2VhcmNoVHh0OiAnJywNCiAgICAgIHRhYkN1cjogMCwNCiAgICAgIHRhYkxpc3Q6IFsNCiAgICAgICAgew0KICAgICAgICAgIGtleTogMCwNCiAgICAgICAgICB0aXRsZTogJ+i0reS5sCcsDQogICAgICAgICAgYXBpOiAncHJvZHVjdENhcnQnLA0KICAgICAgICB9LA0KICAgICAgICB7DQogICAgICAgICAga2V5OiAxLA0KICAgICAgICAgIHRpdGxlOiAn6Laz6L+5JywNCiAgICAgICAgICBhcGk6ICdwcm9kdWN0SG90JywNCiAgICAgICAgfSwNCiAgICAgICAgew0KICAgICAgICAgIGtleTogMiwNCiAgICAgICAgICB0aXRsZTogJ+eDremUgCcsDQogICAgICAgICAgYXBpOiAncHJvZHVjdFZpc2l0JywNCiAgICAgICAgfSwNCiAgICAgIF0sDQogICAgICB0b1VpZDogJycsDQogICAgICBsaXN0OiBbXSwNCiAgICB9Ow0KICB9LA0KICB3YXRjaDogew0KICAgIHRhYkN1cihuVmFsLCBvVmFsKSB7DQogICAgICB0aGlzLmxpc3QgPSBbXTsNCiAgICAgIGlmIChuVmFsID09IDApIHJldHVybiB0aGlzLmdldEJ1eUxpc3QoKTsNCiAgICAgIGlmIChuVmFsID09IDEpIHJldHVybiB0aGlzLmdldFZpc2l0KCk7DQogICAgICBpZiAoblZhbCA9PSAyKSByZXR1cm4gdGhpcy5nZXRQcm9kdWN0SG90KCk7DQogICAgfSwNCiAgfSwNCiAgY3JlYXRlZCgpIHsNCiAgICBzZXJ2aWNlSW5mbygpLnRoZW4oKHJlcykgPT4gew0KICAgICAgd2luZG93LmRvY3VtZW50LnRpdGxlID0gYCR7cmVzLmRhdGEuc2l0ZV9uYW1lfSAtIOWVhuWTgeWIl+ihqGA7DQogICAgfSk7DQogICAgdGhpcy50b1VpZCA9IHRoaXMuJHJvdXRlLnF1ZXJ5LnRvVWlkOw0KICAgIHRoaXMuZ2V0QnV5TGlzdCgpOw0KICB9LA0KICBtZXRob2RzOiB7DQogICAgLy8g6LSt5Lmw6K6w5b2VDQogICAgZ2V0QnV5TGlzdCgpIHsNCiAgICAgIHByb2R1Y3RDYXJ0KHRoaXMudG9VaWQsIHsNCiAgICAgICAgc3RvcmVfbmFtZTogdGhpcy5zZWFyY2hUeHQsDQogICAgICB9KS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgdGhpcy5saXN0ID0gcmVzLmRhdGE7DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOeDremUgOWVhuWTgQ0KICAgIGdldFByb2R1Y3RIb3QoKSB7DQogICAgICBwcm9kdWN0SG90KHRoaXMudG9VaWQsIHsNCiAgICAgICAgc3RvcmVfbmFtZTogdGhpcy5zZWFyY2hUeHQsDQogICAgICB9KS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgdGhpcy5saXN0ID0gcmVzLmRhdGE7DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOi2s+i/uQ0KICAgIGdldFZpc2l0KCkgew0KICAgICAgcHJvZHVjdFZpc2l0KHRoaXMudG9VaWQsIHsNCiAgICAgICAgc3RvcmVfbmFtZTogdGhpcy5zZWFyY2hUeHQsDQogICAgICB9KS50aGVuKChyZXMpID0+IHsNCiAgICAgICAgdGhpcy5saXN0ID0gcmVzLmRhdGE7DQogICAgICB9KTsNCiAgICB9LA0KICAgIC8vIOaOqOmAgQ0KICAgIGJpbmdHb29kcyhpdGVtKSB7DQogICAgICBsZXQgb2JqID0gew0KICAgICAgICB0eXBlOiAnY2hhdCcsDQogICAgICAgIGRhdGE6IHsNCiAgICAgICAgICBtc246IGl0ZW0uaWQsDQogICAgICAgICAgdHlwZTogNSwNCiAgICAgICAgICB0b191aWQ6IHRoaXMudG9VaWQsDQogICAgICAgIH0sDQogICAgICB9Ow0KICAgICAgU29ja2V0LnRoZW4oKHdzKSA9PiB7DQogICAgICAgIHdzLnNlbmQob2JqKTsNCiAgICAgIH0pOw0KICAgICAgLy8gdGhpcy5idXMuJGVtaXQoJ3NlbGVjdEdvb2RzJyxpdGVtKQ0KICAgICAgdGhpcy4kcm91dGVyLmdvKC0xKTsNCiAgICB9LA0KICAgIC8vIOmhtumDqOmAiemhueWNoeWIh+aNog0KICAgIGJpbmRUYWIoaXRlbSkgew0KICAgICAgdGhpcy50YWJDdXIgPSBpdGVtLmtleTsNCiAgICB9LA0KICAgIC8vIOaQnOe0og0KICAgIGJpbmRTZWFyY2goKSB7DQogICAgICBpZiAodGhpcy50YWJDdXIgPT0gMCkgcmV0dXJuIHRoaXMuZ2V0QnV5TGlzdCgpOw0KICAgICAgaWYgKHRoaXMudGFiQ3VyID09IDEpIHJldHVybiB0aGlzLmdldFZpc2l0KCk7DQogICAgICBpZiAodGhpcy50YWJDdXIgPT0gMikgcmV0dXJuIHRoaXMuZ2V0UHJvZHVjdEhvdCgpOw0KICAgIH0sDQogIH0sDQp9Ow0K"},{"version":3,"sources":["list.vue"],"names":[],"mappings":";AAmDA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"list.vue","sourceRoot":"src/pages/kefu/mobile/goods","sourcesContent":["<template>\r\n <div class=\"product_info\">\r\n <div class=\"head\">\r\n <div class=\"tab-box\">\r\n <div\r\n class=\"tab-item\"\r\n :class=\"{ on: index == tabCur }\"\r\n v-for=\"(item, index) in tabList\"\r\n :key=\"index\"\r\n v-db-click\r\n @click=\"bindTab(item)\"\r\n >\r\n {{ item.title }}\r\n </div>\r\n </div>\r\n <div class=\"search-box\">\r\n <el-input\r\n type=\"text\"\r\n placeholder=\"搜索商品名称/ID\"\r\n v-model=\"searchTxt\"\r\n style=\"border-radius: 0.39rem; background: #f5f6f9\"\r\n :search=\"true\"\r\n @on-search=\"bindSearch\"\r\n />\r\n </div>\r\n </div>\r\n <div class=\"scroll-box\" v-if=\"list.length > 0\">\r\n <vue-scroll :ops=\"ops\">\r\n <div class=\"goods-item\" v-for=\"(item, index) in list\" :key=\"index\">\r\n <img :src=\"item.image\" mode=\"\" />\r\n <div class=\"info\">\r\n <div class=\"title line2 mb15\">{{ item.store_name }}</div>\r\n <div class=\"num\">\r\n <span class=\"mr15\">库存 {{ item.stock }}</span>\r\n <span>销量 {{ item.sales }}</span>\r\n </div>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"price\">¥{{ item.price }}</div>\r\n <div class=\"btn\" v-db-click @click=\"bingGoods(item)\">推送</div>\r\n </div>\r\n </div>\r\n <div class=\"slot-load\" slot=\"load-deactive\"></div>\r\n <div class=\"slot-load\" slot=\"load-active\">下滑加载更多</div>\r\n </vue-scroll>\r\n </div>\r\n <empty v-else msg=\"暂无商品信息\"></empty>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nimport { Socket } from '@/libs/socket';\r\nimport { productCart, productHot, productVisit } from '@/api/kefu.js';\r\nimport { serviceInfo } from '@/api/kefu_mobile';\r\nimport empty from '../../components/empty';\r\nexport default {\r\n name: 'product_info',\r\n components: {\r\n empty,\r\n },\r\n data() {\r\n return {\r\n ops: {\r\n bar: {\r\n background: '#393232',\r\n opacity: '.5',\r\n size: '2px',\r\n },\r\n },\r\n searchTxt: '',\r\n tabCur: 0,\r\n tabList: [\r\n {\r\n key: 0,\r\n title: '购买',\r\n api: 'productCart',\r\n },\r\n {\r\n key: 1,\r\n title: '足迹',\r\n api: 'productHot',\r\n },\r\n {\r\n key: 2,\r\n title: '热销',\r\n api: 'productVisit',\r\n },\r\n ],\r\n toUid: '',\r\n list: [],\r\n };\r\n },\r\n watch: {\r\n tabCur(nVal, oVal) {\r\n this.list = [];\r\n if (nVal == 0) return this.getBuyList();\r\n if (nVal == 1) return this.getVisit();\r\n if (nVal == 2) return this.getProductHot();\r\n },\r\n },\r\n created() {\r\n serviceInfo().then((res) => {\r\n window.document.title = `${res.data.site_name} - 商品列表`;\r\n });\r\n this.toUid = this.$route.query.toUid;\r\n this.getBuyList();\r\n },\r\n methods: {\r\n // 购买记录\r\n getBuyList() {\r\n productCart(this.toUid, {\r\n store_name: this.searchTxt,\r\n }).then((res) => {\r\n this.list = res.data;\r\n });\r\n },\r\n // 热销商品\r\n getProductHot() {\r\n productHot(this.toUid, {\r\n store_name: this.searchTxt,\r\n }).then((res) => {\r\n this.list = res.data;\r\n });\r\n },\r\n // 足迹\r\n getVisit() {\r\n productVisit(this.toUid, {\r\n store_name: this.searchTxt,\r\n }).then((res) => {\r\n this.list = res.data;\r\n });\r\n },\r\n // 推送\r\n bingGoods(item) {\r\n let obj = {\r\n type: 'chat',\r\n data: {\r\n msn: item.id,\r\n type: 5,\r\n to_uid: this.toUid,\r\n },\r\n };\r\n Socket.then((ws) => {\r\n ws.send(obj);\r\n });\r\n // this.bus.$emit('selectGoods',item)\r\n this.$router.go(-1);\r\n },\r\n // 顶部选项卡切换\r\n bindTab(item) {\r\n this.tabCur = item.key;\r\n },\r\n // 搜索\r\n bindSearch() {\r\n if (this.tabCur == 0) return this.getBuyList();\r\n if (this.tabCur == 1) return this.getVisit();\r\n if (this.tabCur == 2) return this.getProductHot();\r\n },\r\n },\r\n};\r\n</script>\r\n<style>\r\npage {\r\n height: 100%;\r\n}\r\n</style>\r\n<style lang=\"scss\" scoped>\r\n.product_info {\r\n display: flex;\r\n flex-direction: column;\r\n height: 100vh;\r\n .head {\r\n background: #fff;\r\n .tab-box {\r\n display: flex;\r\n align-items: center;\r\n justify-content: space-between;\r\n height: 0.8rem;\r\n padding: 0 1.46rem;\r\n .tab-item {\r\n height: 0.8rem;\r\n line-height: 0.8rem;\r\n padding: 0 0.15rem;\r\n font-size: 0.28rem;\r\n color: #282828;\r\n &.on {\r\n border-bottom: 1px solid #3875ea;\r\n }\r\n }\r\n }\r\n .search-box {\r\n display: flex;\r\n align-items: center;\r\n height: 1.28rem;\r\n padding: 0 0.3rem;\r\n input {\r\n display: block;\r\n width: 100%;\r\n height: 0.68rem;\r\n padding-left: 0.7rem;\r\n background: #f5f6f9;\r\n border-radius: 0.39rem;\r\n box-sizing: border-box;\r\n /*background-image: url(\"../static/search.png\");*/\r\n }\r\n }\r\n }\r\n .scroll-box {\r\n flex: 1;\r\n overflow: hidden;\r\n .goods-item {\r\n display: flex;\r\n padding: 0.3rem;\r\n margin-top: 0.15rem;\r\n background-color: #fff;\r\n img {\r\n width: 1.7rem;\r\n height: 1.7rem;\r\n border-radius: 0.06rem;\r\n }\r\n .info {\r\n width: 3.26rem;\r\n margin-left: 0.22rem;\r\n .title {\r\n font-size: 0.28rem;\r\n color: #282828;\r\n }\r\n .num {\r\n margin-top: 0.1rem;\r\n font-size: 0.24rem;\r\n color: #9f9f9f;\r\n }\r\n }\r\n .right {\r\n flex: 1;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: space-between;\r\n margin-left: 0.36rem;\r\n .price {\r\n color: #f74c31;\r\n }\r\n .btn {\r\n width: 100%;\r\n height: 0.6rem;\r\n line-height: 0.6rem;\r\n text-align: center;\r\n color: #fff;\r\n background: #3875ea;\r\n border-radius: 0.06rem;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n</style>\r\n"]}]}
|