|
@@ -1,25 +1,47 @@
|
|
|
<template>
|
|
|
<el-row v-loading="dataListLoading">
|
|
|
<el-col>
|
|
|
- <el-form :model="dataForm" :rules="rules" label-width="120px" @keyup.enter.native="getDataList()" ref="dataForm">
|
|
|
- <el-form-item label="搜索关键词:" prop="title">
|
|
|
- <el-input v-model="dataForm.title" placeholder="请输入宝贝标题中包含的关键词" clearable></el-input>
|
|
|
+ <el-form :model="dataForm" :rules="formConfig.rules" label-width="120px" @keyup.enter.native="getDataList()"
|
|
|
+ ref="dataForm">
|
|
|
+ <el-form-item :label="formConfig.label.title" prop="title" v-show="formConfig.label.title">
|
|
|
+ <el-input v-model="dataForm.title" :placeholder="formConfig.placeholder.title" clearable></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="商品链接:" prop="productId">
|
|
|
- <el-input v-model="dataForm.productId" placeholder="请输入您的宝贝链接或宝贝ID" clearable></el-input>
|
|
|
+ <el-form-item :label="formConfig.label.productId" prop="productId">
|
|
|
+ <el-input v-model="dataForm.productId" :placeholder="formConfig.placeholder.productId" clearable></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" size="medium" @click="getDataList()">生成</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</el-col>
|
|
|
+ <el-col>
|
|
|
+ <div class="qr-code" ref="myQrCode"></div>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import QRCode from 'qrcodejs2'
|
|
|
+
|
|
|
export default {
|
|
|
name: 'commonform',
|
|
|
props: {
|
|
|
+ formConfig: {
|
|
|
+ type: Object,
|
|
|
+ default: function () {
|
|
|
+ return {
|
|
|
+ label: {
|
|
|
+ title: '',
|
|
|
+ productId: ''
|
|
|
+ },
|
|
|
+ placeholder: {
|
|
|
+ title: '',
|
|
|
+ productId: ''
|
|
|
+ },
|
|
|
+ rules: {}
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
promoteType: {
|
|
|
type: Number,
|
|
|
default: 0 // 卡首屏类型(0关键词1找相似入口2洋淘秀3猜你喜欢)
|
|
@@ -28,18 +50,11 @@ export default {
|
|
|
data () {
|
|
|
return {
|
|
|
dataForm: {
|
|
|
- title: '',
|
|
|
- productId: '' // 602950702411
|
|
|
- },
|
|
|
- rules: {
|
|
|
- title: [
|
|
|
- { required: true, message: '请输入宝贝标题中包含的关键词', trigger: 'blur' }
|
|
|
- ],
|
|
|
- productId: [
|
|
|
- { required: true, message: '请输入您的宝贝链接或宝贝ID', trigger: 'blur' }
|
|
|
- ]
|
|
|
+ title: '', // 单鞋
|
|
|
+ productId: '' // 562665685690
|
|
|
},
|
|
|
- dataListLoading: false
|
|
|
+ dataListLoading: false,
|
|
|
+ qrcode: null
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
@@ -60,12 +75,25 @@ export default {
|
|
|
})
|
|
|
}).then(({ data }) => {
|
|
|
if (data.status) {
|
|
|
+ const { url } = data.data
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.createQRCode(decodeURIComponent(url))
|
|
|
+ })
|
|
|
} else {
|
|
|
this.$message.error(data.msg)
|
|
|
}
|
|
|
this.dataListLoading = false
|
|
|
})
|
|
|
})
|
|
|
+ },
|
|
|
+ createQRCode (link) {
|
|
|
+ this.qrcode = new QRCode(this.$refs.myQrCode, {
|
|
|
+ width: 140,
|
|
|
+ height: 140,
|
|
|
+ text: link,
|
|
|
+ colorDark: '#000',
|
|
|
+ colorLight: '#fff'
|
|
|
+ })
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -80,4 +108,10 @@ $--color-primary: #3E8EF7;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+.qr-code {
|
|
|
+ /deep/ img {
|
|
|
+ margin: 0 auto;
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|