This commit is contained in:
liushiwei
2023-10-16 10:18:31 +08:00
parent 0a1f6f1105
commit af84e9fca6
7 changed files with 22 additions and 30 deletions

View File

@@ -7,7 +7,7 @@
"build": "vue-cli-service build"
},
"dependencies": {
"@antv/g2plot": "^2.4.31",
"@antv/g2plot": "^2.4.25",
"axios": "^1.4.0",
"core-js": "^3.8.3",
"dayjs": "^1.11.9",

View File

@@ -80,7 +80,6 @@ export default {
}
},
created () {
console.log(this.params?.url)
if (this.params?.url) {
this.form.url = this.params.url
}

View File

@@ -16,7 +16,7 @@
</ai-card>
<ai-card title="趋势信息">
<template #content>
<div id="chart"></div>
<div id="dataChart"></div>
</template>
</ai-card>
</template>
@@ -39,19 +39,23 @@ export default {
},
computed: {
},
created() {
this.getInfo()
mounted() {
// this.info = this.params
this.$nextTick(() => {
this.init()
})
},
methods: {
getInfo() {
this.$http.post('/api/monitorDetail/queryDetail',null,{
init() {
this.$http.post('/api/monitorDetail/queryProductDetail',null,{
params: {
goodsId: this.params.goodsId
goodsId: this.params.goodsId,
monitorId: this.params.monitorId
}
}).then(res => {
this.info = res.data
const dualAxes = new DualAxes('chart', {
const dualAxes = new DualAxes('dataChart', {
data: [this.info.priceAndSale, this.info.priceAndSale],
xField: '日期',
yField: ['价格', '销量'],
@@ -65,14 +69,6 @@ export default {
color: '#5AD8A6',
}
],
smooth: true,
// @TODO 后续会换一种动画方式
animation: {
appear: {
animation: 'path-in',
duration: 5000,
},
},
});
dualAxes.render();

View File

@@ -6,7 +6,7 @@
</span>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item v-if="isShowDetail" :command="beforeGoDetail(params.goodsId)">查看详情</el-dropdown-item>
<el-dropdown-item divided :command="beforeCopy(params.url)">复制商品</el-dropdown-item>
<el-dropdown-item divided :command="beforeCopy(params.url)">商品采集</el-dropdown-item>
<el-dropdown-item divided :command="beforeGoWeb(params.url)">访问商品</el-dropdown-item>
<el-dropdown-item :command="beforeGoMal(params.mallId)">访问店铺</el-dropdown-item>
</el-dropdown-menu>
@@ -51,7 +51,6 @@ export default {
} else if (e.type == 'goMall') {
window.open('https://www.temu.com/mall.html?mall_id=' + e.mallId, '_blank');
} else if (e.type == 'goWeb') {
console.log(e.url)
window.open('https://www.temu.com/' + e.url, '_blank');
}
},

View File

@@ -16,7 +16,7 @@
<div style="display: inline; margin-left: 5px;">${{ item.priceAndSale[0].price }}<sub style="margin-left: 2px;" v-html="getPricePercent(item.priceAndSale)"></sub></div>
<div style="display: inline; margin-right: 5px; float: right;">{{ item.priceAndSale[0].sale_total }}<sub style="margin-left: 2px;" v-html="getSalePercent(item.priceAndSale)"></sub></div>
</div>
<ai-product-drop-down :params="item" :isShowDetail="true" @onGoDetail="goDetail(item.goodsId)" style="float: right;"></ai-product-drop-down>
<ai-product-drop-down :params="item" :isShowDetail="true" @onGoDetail="goDetail(item.goodsId, item.monitorId)" style="float: right;"></ai-product-drop-down>
</div>
</div>
</el-card>
@@ -124,8 +124,8 @@ import AiProductDropDown from '@/components/AiProductDropDown.vue';
handleClose() {
this.isShowDetailDlg = false
},
goDetail (goodsId) {
this.detailParams = {goodsId: goodsId}
goDetail (goodsId, monitorId) {
this.detailParams = {goodsId: goodsId, monitorId: monitorId}
this.isShowDetailDlg = true
}
}

View File

@@ -16,7 +16,7 @@
<div style="display: inline; margin-left: 5px;">${{ item.priceAndSale[0].price }}<sub style="margin-left: 2px;" v-html="getPricePercent(item.priceAndSale)"></sub></div>
<div style="display: inline; margin-right: 5px; float: right;">{{ item.priceAndSale[0].sale_total }}<sub style="margin-left: 2px;" v-html="getSalePercent(item.priceAndSale)"></sub></div>
</div>
<ai-product-drop-down :params="item" :isShowDetail="true" @onGoDetail="goDetail(item.goodsId)" style="float: right;"></ai-product-drop-down>
<ai-product-drop-down :params="item" :isShowDetail="true" @onGoDetail="goDetail(item.goodsId, item.monitorId)" style="float: right;"></ai-product-drop-down>
</div>
</div>
</el-card>
@@ -122,8 +122,8 @@ import AiProductDropDown from '@/components/AiProductDropDown.vue';
handleClose() {
this.isShowDetailDlg = false
},
goDetail (goodsId) {
this.detailParams = {goodsId: goodsId}
goDetail (goodsId, monitorId) {
this.detailParams = {goodsId: goodsId, monitorId: monitorId}
this.isShowDetailDlg = true
}
}

View File

@@ -1,6 +1,6 @@
const path = require('path')
const fs = require('fs')
const JavaScriptObfuscator = require('webpack-obfuscator')
// const JavaScriptObfuscator = require('webpack-obfuscator')
// Generate pages object
const pages = {}
@@ -47,9 +47,7 @@ module.exports = {
}, lintOnSave: false, configureWebpack: {
output: {
filename: `[name].js`, chunkFilename: `[name].js`
}, devtool: isDevMode ? 'inline-source-map' : false, plugins: isDevMode ? [] : [new JavaScriptObfuscator({
rotateStringArray: true,
}, [])]
}, devtool: isDevMode ? 'inline-source-map' : false
}, css: {
extract: false // Make sure the css is the same
}