|
@@ -5,20 +5,77 @@
|
|
|
<div class="table-page-search-wrapper">
|
|
|
<a-form layout="inline">
|
|
|
<a-row :gutter="24">
|
|
|
-
|
|
|
- <a-col :md="6" :sm="8">
|
|
|
+ <a-col :md="6" :sm="6">
|
|
|
+ <a-form-item label="行业">
|
|
|
+ <j-tree-select
|
|
|
+ v-model="queryParam.industry"
|
|
|
+ ref="treeSelect"
|
|
|
+ placeholder="请选择行业"
|
|
|
+ dict="sys_category,name,id"
|
|
|
+ pidField="pid"
|
|
|
+ pidValue="67d69117968be1eecb1e705b399b9d93">
|
|
|
+ </j-tree-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="6">
|
|
|
+ <a-form-item label="广告主公司">
|
|
|
+ <a-select
|
|
|
+ showSearch
|
|
|
+ v-model="queryParam.company"
|
|
|
+ placeholder="请输入公司名称"
|
|
|
+ :defaultActiveFirstOption="false"
|
|
|
+ :showArrow="false"
|
|
|
+ :filterOption="false"
|
|
|
+ @search="handleCompanySearch"
|
|
|
+ @change="handleCompanyChange"
|
|
|
+ :notFoundContent="null"
|
|
|
+ >
|
|
|
+ <a-select-option v-for="d in companyData" :key="d.value">{{d.text}}</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="6">
|
|
|
+ <a-form-item label="推广产品">
|
|
|
+ <a-select
|
|
|
+ showSearch
|
|
|
+ v-model="queryParam.product"
|
|
|
+ placeholder="请输入产品名称"
|
|
|
+ :defaultActiveFirstOption="false"
|
|
|
+ :showArrow="false"
|
|
|
+ :filterOption="false"
|
|
|
+ @search="handleProductSearch"
|
|
|
+ @change="handleProductChange"
|
|
|
+ :notFoundContent="null"
|
|
|
+ >
|
|
|
+ <a-select-option v-for="d in productData" :key="d.value">{{d.text}}</a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row :gutter="24">
|
|
|
+ <a-col :md="6" :sm="6">
|
|
|
<a-form-item label="快手ID">
|
|
|
<a-input placeholder="请输入快手ID" v-model="queryParam.ksid"></a-input>
|
|
|
</a-form-item>
|
|
|
</a-col>
|
|
|
- <template>
|
|
|
- <a-col :md="6" :sm="8">
|
|
|
- <a-form-item label="快手昵称">
|
|
|
- <a-input placeholder="请输入快手昵称" v-model="queryParam.name"></a-input>
|
|
|
- </a-form-item>
|
|
|
- </a-col>
|
|
|
- </template>
|
|
|
- <a-col :md="6" :sm="8">
|
|
|
+ <a-col :md="6" :sm="6">
|
|
|
+ <a-form-item label="快手昵称">
|
|
|
+ <a-input placeholder="请输入快手昵称" v-model="queryParam.name"></a-input>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ <a-col :md="6" :sm="6">
|
|
|
+ <a-form-item label="完整度">
|
|
|
+ <a-radio-group v-model="queryParam.dataProcess">
|
|
|
+ <a-radio-button value="full">完整</a-radio-button>
|
|
|
+ <a-radio-button value="industry">缺失行业</a-radio-button>
|
|
|
+ <a-radio-button value="company">缺失企业</a-radio-button>
|
|
|
+ <a-radio-button value="product">缺失产品</a-radio-button>
|
|
|
+ </a-radio-group>
|
|
|
+ </a-form-item>
|
|
|
+ </a-col>
|
|
|
+ </a-row>
|
|
|
+ <a-row>
|
|
|
+ <a-col :md="6" :sm="6">
|
|
|
<span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
|
|
|
<a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
|
|
|
<a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
|
|
@@ -30,9 +87,9 @@
|
|
|
</div>
|
|
|
|
|
|
<!-- 操作按钮区域 -->
|
|
|
- <div class="table-operator">
|
|
|
- <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
|
|
|
- </div>
|
|
|
+<!-- <div class="table-operator">-->
|
|
|
+<!-- <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>-->
|
|
|
+<!-- </div>-->
|
|
|
|
|
|
<!-- table区域-begin -->
|
|
|
<div>
|
|
@@ -65,12 +122,30 @@
|
|
|
<script>
|
|
|
import KuaishouAdAccountModal from './modules/KuaishouAdAccountModal'
|
|
|
import {JeecgListMixin} from '@/mixins/JeecgListMixin'
|
|
|
+ import {getAction} from '@/api/manage'
|
|
|
+ import JTreeSelect from '@/components/jeecg/JTreeSelect'
|
|
|
+ import ARow from "ant-design-vue/es/grid/Row";
|
|
|
+ let timeout;
|
|
|
+ let currentValue;
|
|
|
+ function fetch(value, callback) {
|
|
|
+ if (timeout) {
|
|
|
+ clearTimeout(timeout);
|
|
|
+ timeout = null;
|
|
|
+ }
|
|
|
+ currentValue = value;
|
|
|
|
|
|
+ function fake() {
|
|
|
+ }
|
|
|
+
|
|
|
+ timeout = setTimeout(fake, 300);
|
|
|
+ }
|
|
|
export default {
|
|
|
name: "KuaishouAdAccountList",
|
|
|
mixins: [JeecgListMixin],
|
|
|
components: {
|
|
|
- KuaishouAdAccountModal
|
|
|
+ ARow,
|
|
|
+ KuaishouAdAccountModal,
|
|
|
+ JTreeSelect
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
@@ -140,7 +215,15 @@
|
|
|
deleteBatch: "/ctop/kuaishou/advertiser/deleteBatch",
|
|
|
exportXlsUrl: "/ctop/kuaishou/advertiser/exportXls",
|
|
|
importExcelUrl: "/ctop/kuaishou/advertiser/importExcel",
|
|
|
+ companySugestUrl: '/ctop/kuaishou/advertiser/companysugest',
|
|
|
+ productSugestUrl: '/ctop/kuaishou/advertiser/productsugest',
|
|
|
+ },
|
|
|
+ queryParam:{
|
|
|
+ dataProcess:'full'
|
|
|
},
|
|
|
+ companyData: [],
|
|
|
+ productData: [],
|
|
|
+ value: undefined,
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
@@ -148,7 +231,51 @@
|
|
|
return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
|
|
|
}
|
|
|
},
|
|
|
- methods: {}
|
|
|
+ methods: {
|
|
|
+ handleProductSearch(value) {
|
|
|
+ getAction(this.url.productSugestUrl, {product: value})
|
|
|
+ .then((res) => {
|
|
|
+ console.log(res)
|
|
|
+ if (currentValue === value) {
|
|
|
+ const result = res.result;
|
|
|
+ const data = [];
|
|
|
+ result.forEach((r) => {
|
|
|
+ data.push({
|
|
|
+ value: r,
|
|
|
+ text: r,
|
|
|
+ });
|
|
|
+ });
|
|
|
+ this.productData = data
|
|
|
+ }
|
|
|
+ });
|
|
|
+ fetch(value);
|
|
|
+ },
|
|
|
+ handleProductChange(value) {
|
|
|
+ this.value = value
|
|
|
+ fetch(value, data => this.productData = data);
|
|
|
+ },
|
|
|
+ handleCompanySearch(value) {
|
|
|
+ getAction(this.url.companySugestUrl, {company: value})
|
|
|
+ .then((res) => {
|
|
|
+ if (currentValue === value) {
|
|
|
+ const result = res.result;
|
|
|
+ const data = [];
|
|
|
+ result.forEach((r) => {
|
|
|
+ data.push({
|
|
|
+ value: r,
|
|
|
+ text: r,
|
|
|
+ });
|
|
|
+ });
|
|
|
+ this.companyData = data
|
|
|
+ }
|
|
|
+ });
|
|
|
+ fetch(value);
|
|
|
+ },
|
|
|
+ handleCompanyChange(value) {
|
|
|
+ this.value = value
|
|
|
+ fetch(value, data => this.companyData = data);
|
|
|
+ },
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
<style scoped>
|