Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

syh 5 gadi atpakaļ
vecāks
revīzija
7a5158a237

+ 4 - 0
package.json

@@ -11,10 +11,13 @@
   },
   "dependencies": {
     "@antv/data-set": "^0.10.2",
+    "@femessage/upload-to-ali": "^1.8.1",
     "@tinymce/tinymce-vue": "^2.0.0",
+    "ali-oss": "^6.1.1",
     "ant-design-vue": "^1.3.9",
     "apexcharts": "^3.6.5",
     "axios": "^0.18.0",
+    "blueimp-md5": "^2.11.0",
     "clipboard": "^2.0.4",
     "codemirror": "^5.46.0",
     "dayjs": "^1.8.0",
@@ -34,6 +37,7 @@
     "vue-i18n": "^8.7.0",
     "vue-loader": "^15.7.0",
     "vue-ls": "^3.2.0",
+    "vue-oss-uploader": "^0.1.10",
     "vue-photo-preview": "^1.1.3",
     "vue-print-nb-jeecg": "^1.0.8",
     "vue-property-decorator": "^7.3.0",

+ 7 - 0
src/components/oss/AliUpload.vue

@@ -0,0 +1,7 @@
+<template>
+  <vueOssUploader :path="path" :debug="true" :name-mode="nameMode" :keySet="keySet" :name="name" v-on:success="uploaded" @error="showError"></vueOssUploader>
+</template>
+<script src="https://gosspublic.alicdn.com/aliyun-oss-sdk-4.3.0.min.js"></script>
+<script>
+
+</script>

+ 203 - 48
src/views/modules/advertiser/AdvertiserList.vue

@@ -3,7 +3,8 @@
 
     <!-- 查询区域 -->
     <div class="table-page-search-wrapper">
-      <a-form layout="inline">
+      <a-form
+        layout="inline">
         <a-row :gutter="24">
 
           <a-col :md="6" :sm="8">
@@ -11,36 +12,22 @@
               <a-input placeholder="请输入广告主名称" v-model="queryParam.name"></a-input>
             </a-form-item>
           </a-col>
-          <a-col :md="6" :sm="8">
-            <a-form-item label="行业ID">
-              <a-input placeholder="请输入行业ID" v-model="queryParam.industryId"></a-input>
+          <a-col :md="6" :sm="6">
+            <a-form-item label="行业">
+              <j-tree-select
+                v-model="queryParam.industryId"
+                ref="treeSelect"
+                placeholder="请选择行业"
+                dict="sys_category,name,id"
+                pidField="pid"
+                pidValue="f5cb2d2d28417b3b65a6dd744bcb9a76">
+              </j-tree-select>
             </a-form-item>
           </a-col>
-          <template v-if="toggleSearchStatus">
-            <a-col :md="6" :sm="8">
-              <a-form-item label="联系人姓名">
-                <a-input placeholder="请输入联系人姓名" v-model="queryParam.contact"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :md="6" :sm="8">
-              <a-form-item label="联系人手机">
-                <a-input placeholder="请输入联系人手机" v-model="queryParam.mobile"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :md="6" :sm="8">
-              <a-form-item label="联系人邮箱">
-                <a-input placeholder="请输入联系人邮箱" v-model="queryParam.email"></a-input>
-              </a-form-item>
-            </a-col>
-          </template>
           <a-col :md="6" :sm="8">
             <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>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '收起' : '展开' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
             </span>
           </a-col>
 
@@ -51,11 +38,11 @@
     <!-- 操作按钮区域 -->
     <div class="table-operator">
       <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('广告主信息表')">导出</a-button>
-      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"
-                @change="handleImportExcel">
-        <a-button type="primary" icon="import">导入</a-button>
-      </a-upload>
+      <!--      <a-button type="primary" icon="download" @click="handleExportXls('广告主信息表')">导出</a-button>-->
+      <!--      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl"-->
+      <!--                @change="handleImportExcel">-->
+      <!--        <a-button type="primary" icon="import">导入</a-button>-->
+      <!--      </a-upload>-->
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
           <a-menu-item key="1" @click="batchDel">
@@ -88,7 +75,6 @@
         :loading="loading"
         :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
         @change="handleTableChange">
-
         <span slot="action" slot-scope="text, record">
           <a @click="handleEdit(record)">编辑</a>
 
@@ -102,13 +88,90 @@
                 </a-popconfirm>
               </a-menu-item>
               <a-menu-item>
-                  <a>账号绑定</a>
+                  <a @click="showModal(record)">账号绑定</a>
               </a-menu-item>
             </a-menu>
+
           </a-dropdown>
         </span>
 
       </a-table>
+      <a-modal
+        title="账号绑定"
+        v-model="visible"
+        @ok="handleOk"
+        :width="800"
+        :okButtonProps="{ props: {disabled: false} }"
+        :cancelButtonProps="{ props: {disabled: false} }"
+      >
+        <a-form>
+          <a-form-item
+            label="选择方式"
+            :labelCol="{xs: {span: 24},sm: {span: 5}}"
+            :wrapperCol="{xs: {span: 24},sm: {span: 16}}">
+            <a-radio-group buttonStyle="solid" @change="onChageLogin" v-model="mode">
+              <a-radio-button value="login">登录</a-radio-button>
+              <a-radio-button value="authorization">授权</a-radio-button>
+            </a-radio-group>
+          </a-form-item>
+
+          <a-form-item
+            v-if="showLogin"
+          >
+            <a-form
+              :form="form"
+              @submit="loginForm">
+              <a-form-item
+                label="账号:"
+                :label-col="{xs: {span: 24},sm: {span: 5}}"
+                :wrapper-col="{xs: {span: 24},sm: {span: 16}}">
+                <a-input v-model="accountName" placeholder="请输入账户名"/>
+              </a-form-item>
+              <a-form-item
+                label="密码:"
+                :label-col="{xs: {span: 24},sm: {span: 5}}"
+                :wrapper-col="{xs: {span: 24},sm: {span: 16}}">
+                <a-input type="password" v-model="password" placeholder="请输入密码"/>
+              </a-form-item>
+              <a-form-item
+                label="媒体:"
+                :label-col="{xs: {span: 24},sm: {span: 5}}"
+                :wrapper-col="{xs: {span: 24},sm: {span: 16}}">
+                <a-radio-group buttonStyle="outline" v-model="loginType">
+                  <a-radio-button value="kuaishou">快手</a-radio-button>
+                  <a-radio-button value="bytedance">头条</a-radio-button>
+                </a-radio-group>
+              </a-form-item>
+              <a-form-item :wrapperCol="{ span: 24 }"
+                           style="text-align: center">
+                <a-button htmlType="submit" type="primary">提交</a-button>
+              </a-form-item>
+            </a-form>
+          </a-form-item>
+          <a-form-item
+            v-if="showAuthorization"
+            :labelCol="{xs: {span: 24},sm: {span: 5}}"
+            :wrapperCol="{xs: {span: 24},sm: {span: 16}}">
+            <a-form
+              :form="form"
+              @submit="authorizationForm"
+            >
+              <a-form-item label="媒体:" :labelCol="{xs: {span: 24},sm: {span: 5}}"
+                           :wrapperCol="{xs: {span: 24},sm: {span: 16}}">
+                <a-radio-group buttonStyle="outline" v-model="authorizationType">
+                  <a-radio-button value="kuaishou">快手</a-radio-button>
+                  <a-radio-button value="bytedance">头条</a-radio-button>
+                </a-radio-group>
+              </a-form-item>
+              <a-form-item :wrapperCol="{ span: 24 }"
+                           style="text-align: center">
+                <a-button htmlType="submit" type="primary">提交</a-button>
+              </a-form-item>
+            </a-form>
+          </a-form-item>
+
+        </a-form>
+      </a-modal>
     </div>
     <!-- table区域-end -->
 
@@ -120,16 +183,31 @@
 <script>
   import AdvertiserModal from './modules/AdvertiserModal'
   import {JeecgListMixin} from '@/mixins/JeecgListMixin'
+  import JTreeSelect from '@/components/jeecg/JTreeSelect'
+  import {deleteAction, postAction, getAction} from '@/api/manage'
+  import AFormItem from "ant-design-vue/es/form/FormItem";
+
 
   export default {
-    name: "AdvertiserList",
+    name: 'AdvertiserList',
     mixins: [JeecgListMixin],
     components: {
-      AdvertiserModal
+      AFormItem,
+      AdvertiserModal,
+      JTreeSelect
     },
     data() {
       return {
         description: '广告主信息表管理页面',
+        visible: false,
+        accountName: '',
+        password: '',
+        mode: 'login',
+        showLogin: true,
+        showAuthorization: false,
+        authorizationType: 'kuaishou',
+        loginType: 'kuaishou',
+        form: this.$form.createForm(this),
         // 表头
         columns: [
           {
@@ -137,49 +215,51 @@
             dataIndex: '',
             key: 'rowIndex',
             width: 60,
-            align: "center",
+            align: 'center',
             customRender: function (t, r, index) {
               return parseInt(index) + 1;
             }
           },
           {
             title: '广告主名称',
-            align: "center",
+            align: 'center',
             dataIndex: 'name'
           },
           {
-            title: '行业ID',
-            align: "center",
+            title: '行业',
+            align: 'center',
             dataIndex: 'industryId'
           },
           {
             title: '联系人姓名',
-            align: "center",
+            align: 'center',
             dataIndex: 'contact'
           },
           {
             title: '联系人手机',
-            align: "center",
+            align: 'center',
             dataIndex: 'mobile'
           },
           {
             title: '联系人邮箱',
-            align: "center",
+            align: 'center',
             dataIndex: 'email'
           },
           {
             title: '操作',
             dataIndex: 'action',
-            align: "center",
+            align: 'center',
             scopedSlots: {customRender: 'action'},
           }
         ],
         url: {
-          list: "/ctop/advertiser/list",
-          delete: "/ctop/advertiser/delete",
-          deleteBatch: "/ctop/advertiser/deleteBatch",
-          exportXlsUrl: "ctop/advertiser/exportXls",
-          importExcelUrl: "ctop/advertiser/importExcel",
+          list: '/ctop/advertiser/list',
+          delete: '/ctop/advertiser/delete',
+          deleteBatch: '/ctop/advertiser/deleteBatch',
+          exportXlsUrl: 'ctop/advertiser/exportXls',
+          importExcelUrl: 'ctop/advertiser/importExcel',
+          bindAccountLoginUrl: '/ctop/bindAccount/login',
+          bindAuthorizationUrl: '/ctop/bindAccount/authorization',
         },
       }
     },
@@ -188,7 +268,82 @@
         return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
       }
     },
-    methods: {}
+    methods: {
+      loginForm(e) {
+        e.preventDefault()
+        this.form.validateFields((err, values) => {
+            if (!err) {
+              if (this.mode == 'login') {
+                let params = {};
+                params.advertiserId = this.record.id;
+                params.accountName = this.accountName;
+                params.password = this.password;
+                params.loginType = this.loginType;
+                console.log(this.loginType)
+                getAction(this.url.bindAccountLoginUrl, params).then((res) => {
+                  if (res.success) {
+                    alert("绑定成功");
+                    this.accountName = '';
+                    this.password = '';
+                    this.loginType = '';
+                  } else {
+                    alert("绑定失败");
+                  }
+                });
+              }
+            }
+          }
+        )
+      },
+
+      authorizationForm(e) {
+        e.preventDefault()
+        this.form.validateFields((err, values) => {
+            if (!err) {
+              if (this.mode == 'authorization') {
+                let params = {};
+                params.advertiserId = this.record.id;
+                params.authorizationType = this.authorizationType;
+                getAction(this.url.bindAuthorizationUrl, params).then((res) => {
+                  if (res.success) {
+                    alert("绑定成功");
+                    window.open(res.message, '_blank');
+                  } else {
+                    alert("绑定失败");
+                  }
+                });
+              }
+            }
+          }
+        )
+      },
+
+      showModal(record) {
+        this.record = record
+        this.visible = true
+      },
+      handleOk(e) {
+        console.log(e);
+        this.visible = false
+      },
+      handleCancel(e) {
+        console.log(e);
+        this.visible = false
+      },
+      onChageLogin() {
+        console.log(this.mode)
+        if (this.mode == 'login') {
+          this.showLogin = true;
+          this.showAuthorization = false;
+        } else {
+          this.showLogin = false;
+          this.showAuthorization = true;
+
+
+        }
+      }
+
+    }
   }
 </script>
 <style scoped>

+ 13 - 2
src/views/modules/advertiser/modules/AdvertiserModal.vue

@@ -20,8 +20,15 @@
         <a-form-item
           :labelCol="labelCol"
           :wrapperCol="wrapperCol"
-          label="行业ID">
-          <a-input placeholder="请输入行业ID" v-decorator="['industryId', validatorRules.industryId ]"/>
+          label="行业">
+          <j-tree-select
+            ref="treeSelect"
+            placeholder="请选择行业"
+            v-decorator="['industryId', validatorRules.pid]"
+            dict="sys_category,name,id"
+            pidField="pid"
+            pidValue="f5cb2d2d28417b3b65a6dd744bcb9a76">
+          </j-tree-select>
         </a-form-item>
         <a-form-item
           :labelCol="labelCol"
@@ -50,10 +57,14 @@
 <script>
   import {httpAction} from '@/api/manage'
   import pick from 'lodash.pick'
+  import JTreeSelect from '@/components/jeecg/JTreeSelect'
   import moment from "moment"
 
   export default {
     name: "AdvertiserModal",
+    components: {
+      JTreeSelect
+    },
     data() {
       return {
         title: "操作",

+ 12 - 7
src/views/modules/appad/AdList.vue

@@ -66,20 +66,25 @@
                   />
                 </a-form-item>
               </a-col>
-
+              <a-col :md="8" :sm="8">
+                <a-form-item label="发布人">
+                  <a-input placeholder="请输入发布人昵称" v-model="queryParam.userName"></a-input>
+                </a-form-item>
+              </a-col>
             </a-row>
             <a-row :gutter="24">
-              <a-col :md="8" :sm="8">
+              <a-col :md="10" :sm="10">
                 <a-form-item label="排序">
                   <a-radio-group v-model="queryParam.orderByColumn">
-                    <a-radio-button value="time">按时间</a-radio-button>
+                    <a-radio-button value="create_time">按抓取时间</a-radio-button>
+                    <a-radio-button value="time">按发布时间</a-radio-button>
                     <a-radio-button value="view_count">按展示数</a-radio-button>
                     <a-radio-button value="like_count">按喜欢数</a-radio-button>
                     <a-radio-button value="comment_count">按评论数</a-radio-button>
                   </a-radio-group>
                 </a-form-item>
               </a-col>
-              <a-col :md="8" :sm="8">
+              <a-col :md="6" :sm="6">
                 <a-form-item>
                   <a-radio-group v-model="queryParam.orderByType">
                     <a-radio-button value="asc">正序</a-radio-button>
@@ -87,7 +92,7 @@
                   </a-radio-group>
                 </a-form-item>
               </a-col>
-              <a-col :md="8" :sm="24">
+              <a-col :md="8" :sm="8">
                 <a-button type="primary" @click="searchQuery" icon="search">查询</a-button>
                 <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button>
               </a-col>
@@ -144,7 +149,7 @@
     data() {
       return {
         queryParam: {
-          orderByColumn: 'time',
+          orderByColumn: 'create_time',
           orderByType: 'desc',
           start: '',
           end: ''
@@ -191,7 +196,7 @@
       },
       searchReset() {
         this.queryParam = {
-          orderByColumn: 'time',
+          orderByColumn: 'create_time',
           orderByType: 'desc'
         }
         this.imgsArr = []

+ 142 - 15
src/views/modules/kuaishouapp/KuaishouAdAccountList.vue

@@ -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>

+ 38 - 9
src/views/modules/kuaishouapp/modules/KuaishouAdAccountModal.vue

@@ -15,7 +15,7 @@
           :labelCol="labelCol"
           :wrapperCol="wrapperCol"
           label="快手ID">
-          <a-input placeholder="请输入快手ID" v-decorator="['ksid', validatorRules.ksid ]"/>
+          <a-input placeholder="请输入快手ID" disabled v-decorator="['ksid', validatorRules.ksid ]"/>
         </a-form-item>
         <a-form-item
           :labelCol="labelCol"
@@ -29,7 +29,19 @@
           label="快手昵称">
           <a-input placeholder="请输入快手昵称" v-decorator="['name', {}]"/>
         </a-form-item>
-
+        <a-form-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="行业">
+          <j-tree-select
+            ref="treeSelect"
+            placeholder="请选择行业"
+            v-decorator="['industry', validatorRules.pid]"
+            dict="sys_category,name,id"
+            pidField="pid"
+            pidValue="67d69117968be1eecb1e705b399b9d93">
+          </j-tree-select>
+        </a-form-item>
         <a-form-item
           :labelCol="labelCol"
           :wrapperCol="wrapperCol"
@@ -48,12 +60,16 @@
 </template>
 
 <script>
-  import {httpAction} from '@/api/manage'
+  import {httpAction,getAction} from '@/api/manage'
   import pick from 'lodash.pick'
+  import JTreeSelect from '@/components/jeecg/JTreeSelect'
   import moment from "moment"
 
   export default {
     name: "KuaishouAdAccountModal",
+    components: {
+      JTreeSelect
+    },
     data() {
       return {
         title: "操作",
@@ -87,12 +103,25 @@
       },
       edit(record) {
         this.form.resetFields();
-        this.model = Object.assign({}, record);
+        let param = {
+          field:'name',
+          val:record.secondIndustry
+        }
         this.visible = true;
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model, 'ksid', 'kaid', 'name', 'industryCategory', 'firstIndustry', 'secondIndustry', 'company', 'product', 'status'))
-          //时间格式化
-        });
+        getAction('/sys/category/loadOne',param).then((res) => {
+          if (res.success) {
+            record.industry=res.result.id
+
+          }
+        }).finally(() => {
+          this.model = Object.assign({}, record);
+          this.$nextTick(() => {
+            this.form.setFieldsValue(pick(this.model, 'ksid', 'kaid', 'name', 'industry', 'company', 'product', 'status'))
+            //时间格式化
+          });
+          console.log(this.model)
+        })
+
 
       },
       close() {
@@ -107,7 +136,7 @@
             that.confirmLoading = true;
             let httpurl = '';
             let method = '';
-            if (!this.model.id) {
+            if (!this.model.ksid) {
               httpurl += this.url.add;
               method = 'post';
             } else {

+ 49 - 0
src/views/modules/test/Test.vue

@@ -0,0 +1,49 @@
+<template>
+  <upload-to-ali v-model="url" :customDomain="OSS_CUSTOMDOMAIN()"
+                 preview
+                 :region="OSS_REGION()"
+                 :bucket="OSS_BUCKET()"
+                 :multiple="true"
+                 :accept="OSS_ACCEPT()"
+                 :size="102400"
+                 :accessKeyId="OSS_ACCESSKEYID()"
+                 :accessKeySecret="OSS_ACCESSKEYSECRET()"></upload-to-ali>
+</template>
+<script>
+  import UploadToAli from '@femessage/upload-to-ali'
+
+  export default {
+    data(){
+      return {
+        url:'',
+        accessKeyId:'LTAIbNbqWzSOklQV',
+        accessKeySecret:'1rkPz7JNoXk8sJevPaeYHWqfkQXBGh',
+        bucket:'ctop-media',
+        region:'oss-cn-beijing'
+      }
+    },
+    components:{
+      UploadToAli
+    },
+    methods:{
+      OSS_CUSTOMDOMAIN(){
+        return ''
+      },
+      OSS_REGION(){
+        return this.region
+      },
+      OSS_BUCKET(){
+        return this.bucket
+      },
+      OSS_ACCESSKEYID(){
+        return this.accessKeyId
+      },
+      OSS_ACCESSKEYSECRET(){
+        return this.accessKeySecret
+      },
+      OSS_ACCEPT(){
+        return "image/jpeg,image/png,video/mpeg,video/mp4"
+      }
+    }
+  }
+</script>