Bladeren bron

提交,切换分支

zhuxinbo 5 jaren geleden
bovenliggende
commit
72f5bffde7

BIN
dist.zip


+ 205 - 3
src/views/modules/Statistics/dataDisplayStatistics.vue

@@ -340,6 +340,17 @@ const columns = [
     dataIndex: 'costY',
     align: 'center'
   },
+    {
+    title: '次留数',
+    dataIndex: 'eventNextDayStay',
+    scopedSlots: { customRender: 'eventNextDayStay' },
+    align: 'center'
+  },
+  {
+    title: '次留率',
+    dataIndex: 'eventNextDayStayRatio',
+    align: 'center'
+  },
   {
     title: '封面展示',
     dataIndex: 'photoShow',
@@ -424,6 +435,178 @@ const columns = [
   }
 ]
 
+
+const columnsWu = [
+  {
+    title: '时间',
+    dataIndex: 'date',
+    align: 'center',
+    width: 150,
+    customRender: function(text, record, index) {
+      const obj = {
+        children: text,
+        attrs: {}
+      }
+      for (let i = 0; i < length; i++) {
+        if (index == 0 && i == 0) {
+          obj.attrs.rowSpan = length
+        } else {
+          if (index == i) {
+            obj.attrs.rowSpan = 0
+          }
+        }
+      }
+      return obj
+    }
+  },
+  {
+    title: '账户Id',
+    dataIndex: 'accountId',
+    align: 'center',
+    width: 150,
+    customRender: function(text, record, index) {
+      const obj = {
+        children: text,
+        attrs: {}
+      }
+      if (active == 1) {
+        for (let i = 0; i < length; i++) {
+          if (index >= length - 3) {
+            obj.attrs.colSpan = 2
+          }
+        }
+      } else {
+        for (let i = 0; i < length; i++) {
+          if (index >= length - 1) {
+            obj.attrs.colSpan = 2
+          }
+        }
+      }
+      return obj
+    }
+  },
+  {
+    title: '账户昵称',
+    dataIndex: 'accountName',
+    scopedSlots: { customRender: 'cost' },
+    align: 'center',
+    width: 150,
+    customRender: function(text, record, index) {
+      const obj = {
+        children: text,
+        attrs: {}
+      }
+      if (active == 1) {
+        for (let i = 0; i < length; i++) {
+          if (index >= length - 3) {
+            obj.attrs.colSpan = 0
+          }
+        }
+      } else {
+        for (let i = 0; i < length; i++) {
+          if (index >= length - 1) {
+            obj.attrs.colSpan = 0
+          }
+        }
+      }
+
+      return obj
+    }
+  },
+  {
+    title: '消耗(¥)',
+    dataIndex: 'cost',
+    scopedSlots: { customRender: 'cost' },
+    align: 'center'
+  },
+  {
+    title: '折后消耗(¥)',
+    dataIndex: 'costY',
+    align: 'center'
+  },
+  {
+    title: '封面展示',
+    dataIndex: 'photoShow',
+    align: 'center'
+  },
+  {
+    title: '封面点击',
+    dataIndex: 'photoClick',
+    align: 'center'
+  },
+  {
+    title: '素材曝光数',
+    dataIndex: 'aclick',
+    align: 'center'
+  },
+  {
+    title: '封面点击率',
+    dataIndex: 'photoClickRatio',
+    align: 'center'
+  },
+  {
+    title: 'cvr',
+    dataIndex: 'cvr',
+    align: 'center'
+  },
+  {
+    title: 'cpm(¥)',
+    dataIndex: 'cpm',
+    align: 'center'
+  },
+  {
+    title: '行为数',
+    dataIndex: 'bClick',
+    align: 'center'
+  },
+  {
+    title: '转化数',
+    dataIndex: 'formCount',
+    align: 'center'
+  },
+  {
+    title: '折前转化单价(¥)',
+    dataIndex: 'beforeFormPrice',
+    align: 'center'
+  },
+  {
+    title: '折后转化单价(¥)',
+    dataIndex: 'afterFormPrice',
+    align: 'center'
+  },
+
+  {
+    title: '注册数',
+    dataIndex: 'eventRegister',
+    align: 'center'
+  },
+  {
+    title: '注册成本(¥)',
+    dataIndex: 'eventRegisterCost',
+    align: 'center'
+  },
+  {
+    title: '单价区间',
+    dataIndex: 'price',
+    align: 'center',
+    customRender: function(text, record, index) {
+      const obj = {
+        children: text,
+        attrs: {}
+      }
+      for (let i = 0; i < length; i++) {
+        if (index == 0 && i == 0) {
+          obj.attrs.rowSpan = length
+        } else {
+          if (index == i) {
+            obj.attrs.rowSpan = 0
+          }
+        }
+      }
+      return obj
+    }
+  }
+]
 export default {
   name: 'data-display-statistics',
   components: {
@@ -440,7 +623,7 @@ export default {
       title: '账户数据展示',
       show: true,
       data: [],
-      columns,
+      columns:columnsWu,
       options: [],
       list: [],
       appId: [],
@@ -530,6 +713,11 @@ export default {
       //   this.appId = value
     },
     getElseData(value) {
+      if(value){
+        this.columns = columnsWu
+      }else{
+        this.columns = columns
+      }
       this.getStatistics()
     },
     handleBlur() {
@@ -598,6 +786,11 @@ export default {
     addUser() {
       var that = this
       if (this.appId.length > 0) {
+          if(that.active == 1){
+            that.columns = columnsWu
+          }else{
+            that.columns = columns
+          }
         var params = {}
         params.accountIds = JSON.stringify(that.appId)
         params.type = that.active
@@ -637,10 +830,12 @@ export default {
         params.startDate = this.allValue[0]
         params.endDate = this.allValue[1]
       }
+            
       this.data = []
       getStatistics(params).then(res => {
         console.log(res)
         if (res.success) {
+
           if (res.result.accountDetail) {
             this.statDate = res.result.statDate
             this.data = res.result.accountDetail.map((item, index) => {
@@ -665,7 +860,8 @@ export default {
                 date: this.statHour ? res.result.statDate + '  ' + this.statHour : res.result.statDate,
                 formCount: item.formCount > 0 ? item.formCount : item.activationCount,
                 eventRegister: item.eventRegister,
-                eventRegisterCost: item.eventRegisterCost.toFixed(2)
+                eventRegisterCost: item.eventRegisterCost.toFixed(2),
+                eventNextDayStayRatio:item.eventNextDayStayRatio?item.eventNextDayStayRatio.toFixed(2) + '%' : 0 + '%'
               }
             })
             var index = this.data.length
@@ -784,7 +980,8 @@ export default {
                 beforeFormPrice: res.result.ratioJson.conversionPrice.toFixed(2),
                 afterFormPrice: res.result.ratioJson.discountConversionPrice.toFixed(2),
                 eventRegister: res.result.ratioJson.eventRegister,
-                eventRegisterCost: res.result.ratioJson.eventRegisterCost.toFixed(2)
+                eventRegisterCost: res.result.ratioJson.eventRegisterCost.toFixed(2),
+                eventNextDayStayRatio:item.eventNextDayStayRatio?item.eventNextDayStayRatio.toFixed(2) + '%' : 0 + '%'
               }
               this.data.push(allNow)
               this.statDate = res.result.statDate
@@ -809,6 +1006,11 @@ export default {
       }
       this.active = checked
       active = checked
+      if(this.active == 1){
+        this.columns = columnsWu
+      }else{
+        this.columns = columns
+      }
       this.addUser(checked)
     },
     onTabChange(key, type) {

+ 30 - 97
src/views/modules/kuaishouapp/account/advertisingGroup.vue

@@ -54,7 +54,7 @@
             </a-modal>
 
             <a-table size="middle" :columns="columns" :dataSource="dataList" bordered :customRow="rowClick"
-              :pagination="ipagination" :scroll="{ x: 3000 }" :rowSelection="{
+              :pagination="ipagination" :scroll="{ x: 3500 }" :rowSelection="{
                 selectedRowKeys: selectedRowKeys,
                 onChange: onSelectChange
               }">
@@ -132,8 +132,8 @@
       </div>
     </a-modal>
     <a-modal title="批量复制" v-model="visibleBatch" :width="900">
-      <div style="width:100%;display:flex;margin-bottom:30px">
-        <span style="width:100px">广告计划名称:</span>
+      <div style="width:100%;display:flex;margin:20px 0">
+        <span style="width:100px;line-height:32px">广告计划名称:</span>
         <a-select style="width:100%" v-model="campaignId" optionFilterProp="children" showSearch
           :filterOption="filterOption">
           <a-select-option v-for="item in campaignList" :key="item.value" :value="item.value+''">{{
@@ -149,97 +149,28 @@
     </a-modal>
     <a-modal title="拷贝" v-model="visibleCopy" :width="900">
 
-      <div style="width:100%;">
-        <div style="width:100%;display:flex;margin-bottom:30px">
-          <span style="width:100px">广告计划名称:</span>
-          <a-select style="width:100%" v-model="campaignId" optionFilterProp="children" showSearch
-            :filterOption="filterOption">
+      <a-form>
+        <a-form-item label="广告计划名称" :labelCol="{ lg: { span: 6 }, sm: { span: 6 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }">
+          <a-select style="width:100%" optionFilterProp="children" showSearch :filterOption="filterOption" v-decorator="[
+          'campaignId'
+        ]">
             <a-select-option v-for="item in campaignList" :key="item.value" :value="item.value+''">{{
             item.label
           }}</a-select-option>
           </a-select>
-        </div>
-        <a-layout>
-          <a-layout-content style="padding:10px;">
-            <div :style="{ marginBottom: '16px' }">
-              <a-button @click="addGroup" :disabled="allForm.group.length > 10">添加广告组</a-button>
-            </div>
-            <a-row>
-              <a-col :sm="24" :md="24" :xl="24" :xxl="12" v-for="(item, index) of allForm.group" :key="index">
-                <a-card title :ref="item" style="height:435px">
-                  {{ index + 1 }}
-                  <a-icon type="close" style="float:right;cursor: pointer;" @click="removeGroup(index)" />
-                  <div style="clear:both"></div>
-                  <a-form-item label="优化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
-                    :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
-                    <a-radio-group buttonStyle="solid" v-model="item.bidType" @change="resData(index)">
-                      <a-radio-button value="1">点击数</a-radio-button>
-                      <a-radio-button value="2">行为数</a-radio-button>
-                      <a-radio-button value="180" v-if="campaignType == '2' && allForm.groupTypeData.isActivate == '1'">
-                        激活</a-radio-button>
-                      <a-radio-button value="53" v-if="
-                            (campaignType == '4' || campaignType == '5') && allForm.groupTypeData.isFormSubmit == '1'
-                          ">表单提交</a-radio-button>
-                    </a-radio-group>
-                  </a-form-item>
-                  <a-form-item label="深度转化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
-                    :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
-                        (item.bidType == '180' || item.bidType == '53') &&
-                          allForm.groupTypeData.deepConversionTypes.length > 0
-                      ">
-                    <a-select v-model="item.deepConversionType" allowClear>
-                      <a-select-option :value="items.deepConversionType"
-                        v-for="(items, index) of allForm.groupTypeData.deepConversionTypes" :key="index">
-                        {{ items.desc }}</a-select-option>
-                    </a-select>
-                  </a-form-item>
-
-                  <a-form-item label="计费方式" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
-                    :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
-                    <a-radio-group defaultValue="1">
-                      <a-radio value="1">点击计费</a-radio>
-                    </a-radio-group>
-                  </a-form-item>
-                  <a-form-item label="出价" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
-                    :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="item.bidType == '1'">
-                    <a-input-number v-model="item.bid" @change="showTip(index)"
-                      :style="{ borderColor: item.showTipCheck ? 'red' : '#d9d9d9' }" style="width:100%">
-                    </a-input-number>
-                    <span style="color:red" v-if="item.showTipCheck">不得低于0.2元,不得高于项目最高出价{{ maxBid }}元</span>
-                  </a-form-item>
-                  <a-form-item label="目标成本" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
-                    :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-else>
-                    <a-input-number v-model="item.cpaBid" @change="showTip(index)"
-                      :style="{ borderColor: item.showTipCheck ? 'red' : '#d9d9d9' }" style="width:100%">
-                    </a-input-number>
-                    <span style="color:red" v-if="item.showTipCheck">{{
-                        item.bidType == '2'
-                          ? '不得低于1元,不得高于项目最高出价' + maxBid + '元'
-                          : '不得低于5元,不得高于项目最高出价' + maxBid + '元'
-                      }}</span>
-                  </a-form-item>
-                  <a-form-item label="深度转化出价" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
-                    :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
-                        (item.bidType == '180' || item.bidType == '53') &&
-                          allForm.groupTypeData.deepConversionTypes.length > 0 &&
-                          item.deepConversionType != ''
-                      ">
-                    <a-input-number v-model="item.deepConversionBid" @change="deep_conversion_bidTip(index)"
-                      :style="{ borderColor: item.deepConversionBidCheck ? 'red' : '#d9d9d9' }" style="width:100%"
-                      :disabled="item.cpaBid == ''"></a-input-number>
-                    <span style="color:red" v-if="item.deepConversionBidCheck">深度转化目标成本必须高于优化目标成本,且不得高于3000元</span>
-                  </a-form-item>
-                  <a-form-item label="广告组名称" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
-                    :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
-                    <a-input v-model="item.unitName" @change="checkGroup($event, index)"></a-input>
-                    <span style="color:red" v-if="item.unitNameCheck">广告组名称重复</span>
-                  </a-form-item>
-                </a-card>
-              </a-col>
-            </a-row>
-          </a-layout-content>
-        </a-layout>
-      </div>
+        </a-form-item>
+        <a-form-item label="迭代次数" :labelCol="{ lg: { span: 6 }, sm: { span: 6 } }"
+          :wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }">
+          <a-input-number v-decorator="[
+          'createCount',
+          {
+            initialValue: 1
+          }
+        ]" :max="10" style="width:100%">
+          </a-input-number>
+        </a-form-item>
+      </a-form>
       <template slot="footer">
         <a-button key="submit" type="primary" @click="handleSubmitCopy" :loading='loading'>
           确定
@@ -480,6 +411,7 @@
         visibleBatch: false,
         campaignType: '2',
         campaignId: localStorage.getItem('advertisingGroupKey'),
+        createCount: 1,
         campaignList: [],
         showEdit: false,
         visibleCopy: false,
@@ -732,11 +664,12 @@
       },
       copyDetail(item) {
         this.visibleCopy = true
-
+        this.campaignId = localStorage.getItem('advertisingGroupKey')
         this.getCampaignList()
         var params = {}
         params.accountId = item.accountId
         params.unitId = item.unitId
+        // copyUnit
         getAction('/kuaishou/batch/getUnitDetail', params).then(res => {
           if (res.success) {
             this.copyData = {
@@ -1045,9 +978,9 @@
           console.log(res)
           if (res.success) {
             if (res.result.failInfo.length > 0) {
-            //   for (let i = 0; i < res.result.failInfo.length; i++) {
-                this.$message.error("复制广告组出错")
-            //   }
+              //   for (let i = 0; i < res.result.failInfo.length; i++) {
+              this.$message.error("复制广告组出错")
+              //   }
 
             } else {
               this.loading = false
@@ -1055,8 +988,8 @@
               this.selectedRowKeys = []
               this.getDataList(localStorage.getItem('advertisingGroupKey'))
             }
-          }else{
-             this.$message.error(res.message) 
+          } else {
+            this.$message.error(res.message)
           }
 
         })
@@ -1086,7 +1019,7 @@
             this.loading = false
             this.visibleCopy = false
             this.getDataList(localStorage.getItem('advertisingGroupKey'))
-            this.campaignId = localStorage.getItem('advertisingGroupKey')
+
             this.allForm.group = []
           }
         })

+ 381 - 371
src/views/modules/kuaishouapp/account/stepForm/Step3.vue

@@ -1,28 +1,20 @@
-<style scoped></style>
+<style scoped lang="scss">
 
+</style>
 <template>
-  <a-card :body-style="{ padding: '24px 32px' }" :bordered="false">
+  <a-card :body-style="{ padding: '24px 32px' }" :bordered="false" class="only-step3">
     <a-tabs style="width:50%;margin:0 auto" type="editable-card" hideAdd @edit="remove">
-      <a-tab-pane
-        v-for="(pane, bestIndex) in pans"
-        :tab="pane.tab"
-        :key="pane.key"
-        v-model="pansKey"
-        disabled
-        :closable="pane.closable"
-      >
+      <a-tab-pane v-for="(pane, bestIndex) in pans" :tab="pane.tab" :key="pane.key" v-model="pansKey" disabled
+        :closable="pane.closable">
         <a-form @submit="handleSubmit" :form="form" style="margin-top:20px" :hideRequiredMark="true">
-          <a-form-item
-            label="素材类型"
-            :labelCol="{ lg: { span: 2 }, sm: { span: 4 } }"
-            :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }"
-          >
+          <a-form-item label="素材类型" :labelCol="labelCol"
+            :wrapperCol="wrapperCol">
             <a-radio-group buttonStyle="solid" v-decorator="['creativeMaterialType', { initialValue: '1' }]">
               <a-radio-button value="1">竖版视频</a-radio-button>
               <a-radio-button value="2">横版视频</a-radio-button>
             </a-radio-group>
           </a-form-item>
-          <a-form-item label="创意内容">
+          <a-form-item label="创意内容" :labelCol="labelCol">
             <a-layout>
               <a-layout-content style="padding:10px;">
                 <div :style="{ marginBottom: '16px' }">
@@ -31,40 +23,25 @@
                 <a-row>
                   <a-col :span="24" v-for="(item, index) of pane.list" :key="index">
                     <a-card title :ref="item">
-                      <a-icon
-                        type="close"
-                        style="float:right;cursor: pointer;"
-                        @click="deleteCreative(bestIndex, index)"
-                      />
+                      <a-icon type="close" style="float:right;cursor: pointer;"
+                        @click="deleteCreative(bestIndex, index)" />
                       <div style="clear:both"></div>
                       <div class="dynamically_add_form_item">
                         <a-form-item label="">
                           <a @click="getVideoList('video', index, item, bestIndex)">选择视频</a>
                           <br />
-                          <video
-                            :src="item.videoList.url"
-                            controls="controls"
-                            style="width:25%"
-                            v-if="item.videoList"
-                          ></video>
+                          <video :src="item.videoList.url" controls="controls" style="width:25%"
+                            v-if="item.videoList"></video>
                         </a-form-item>
                         <a-form-item label="">
                           <a @click="getVideoList('image', index, item, bestIndex)">选择封面</a>
                           <br />
-                          <img
-                            :src="item.url"
-                            style="width:18%;margin:1%;"
-                            v-for="item of item.imageList"
-                            :key="item.url"
-                          />
+                          <img :src="item.url" style="width:18%;margin:1%;" v-for="item of item.imageList"
+                            :key="item.url" />
                         </a-form-item>
                         <a-form-item label="广告语">
-                          <a-textarea
-                            class="rending"
-                            placeholder="请输入广告语"
-                            v-model="item.description"
-                            :autosize="{ minRows: 2, maxRows: 6 }"
-                          ></a-textarea>
+                          <a-textarea class="rending" placeholder="请输入广告语" v-model="item.description"
+                            :autosize="{ minRows: 2, maxRows: 6 }"></a-textarea>
                         </a-form-item>
                         <a-form-item label="创意标题">
                           <a-input class="rending" v-model="item.name"></a-input>
@@ -76,35 +53,20 @@
               </a-layout-content>
             </a-layout>
           </a-form-item>
-          <a-form-item
-            label="行动号召"
-            :labelCol="{ lg: { span: 2 }, sm: { span: 4 } }"
-            :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }"
-          >
+          <a-form-item label="行动号召" :labelCol="labelCol" :wrapperCol="wrapperCol">
             <!-- <a-radio-group buttonStyle="solid" v-decorator="['action_bar_text', { initialValue: '1' }]">
               <a-radio-button value="1">竖版视频</a-radio-button>
               <a-radio-button value="2">横版视频</a-radio-button>
             </a-radio-group> -->
-            <a-select
-              v-decorator="['actionBarText', { rules: [{ required: true, message: '行动号召按钮文案' }] }]"
-              showSearch
-              allowClear
-              placeholder="选择行动号召按钮文案"
-              optionFilterProp="children"
-              :filterOption="filterOption"
-            >
+            <a-select v-decorator="['actionBarText', { rules: [{ required: true, message: '行动号召按钮文案' }] }]" showSearch
+              allowClear placeholder="选择行动号召按钮文案" optionFilterProp="children" :filterOption="filterOption">
               <a-select-option v-for="appModel in appList" :key="appModel.id" :value="appModel.actionBarText">
                 {{ appModel.actionBarText }}
               </a-select-option>x
             </a-select>
           </a-form-item>
-          <a-form-item
-            label="监测链接"
-            :labelCol="{ lg: { span: 2 }, sm: { span: 2 } }"
-            :wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }"
-          >
-            <a-input
-              v-decorator="[
+          <a-form-item label="监测链接" :labelCol="labelCol" :wrapperCol="wrapperCol">
+            <a-input v-decorator="[
                 'clickTrackUrl',
                 {
                   rules: [
@@ -112,9 +74,7 @@
                     { validator: handleConfirmValue }
                   ]
                 }
-              ]"
-              placeholder="请输入第三方检测链接"
-            >
+              ]" placeholder="请输入第三方检测链接">
             </a-input>
           </a-form-item>
         </a-form>
@@ -136,8 +96,7 @@
         创建失败:{{ allForm.fail.length }}条
         <div style="margin-top:20px">
           <p v-for="(item, index) of allForm.fail" :key="index">
-            <span>名称:{{ item.creativeName }}</span
-            ><br />
+            <span>名称:{{ item.creativeName }}</span><br />
             <span>错误信息:{{ item.failMessage }}</span>
           </p>
         </div>
@@ -153,368 +112,419 @@
 </template>
 
 <script>
-import { getAction, postAction } from '@/api/manage'
-import { mapGetters } from 'vuex'
-import UploadToAli from '@femessage/upload-to-ali'
-import moment from 'moment'
-import VuePreview from 'vue-preview'
-import jq from 'jquery'
-import { stopOtherVideo, closeAllVideoFun } from '@/utils/videoControl' // 停止除当前外的其他视频播放,及停止所有视频播放的方法
-import checkMatemal from './stepModule/checkMatemal'
-export default {
-  name: 'BaseForm',
-  components: {
-    UploadToAli,
-    VuePreview,
-    checkMatemal
-  },
-  data() {
-    return {
-      pans: [],
-      pansKey: '',
-      allForm: { videoList: '', imageList: [], fail: [], success: [] },
-      form: this.$form.createForm(this),
-      list: [],
-      vertical: 'vertical',
-      appList: [],
-      visible: false,
-      loading: false
-    }
-  },
-  methods: {
-    handleConfirmValue(rule, value, callback) {
-      if (/(http|https):\/\/([\w.]+\/?)\S*/.test(value) && value.length < 10000) {
-        callback()
-      } else {
-        callback('链接不能为空且开头为http://或https://,并且长度小于10000')
-      }
+  import {
+    getAction,
+    postAction
+  } from '@/api/manage'
+  import {
+    mapGetters
+  } from 'vuex'
+  import UploadToAli from '@femessage/upload-to-ali'
+  import moment from 'moment'
+  import VuePreview from 'vue-preview'
+  import jq from 'jquery'
+  import {
+    stopOtherVideo,
+    closeAllVideoFun
+  } from '@/utils/videoControl' // 停止除当前外的其他视频播放,及停止所有视频播放的方法
+  import checkMatemal from './stepModule/checkMatemal'
+  export default {
+    name: 'BaseForm',
+    components: {
+      UploadToAli,
+      VuePreview,
+      checkMatemal
     },
-    showData(item, type) {
-      var index = this.pans.findIndex(item => item.key === this.pansKey)
-      this.pans[index].list[item.key].imageList = []
-      if (type == 'video') {
-        this.pans[index].list[item.key].videoList = item.video
-        getAction('/kuaishou/batch/getCreativeCopywriter', { code: item.video.signature }).then(res => {
-          console.log(res)
-          if (res.success) {
-            this.pans[index].list[item.key].description = res.result.creativeCopywriter
+    data() {
+      return {
+        pans: [],
+        pansKey: '',
+        allForm: {
+          videoList: '',
+          imageList: [],
+          fail: [],
+          success: []
+        },
+        form: this.$form.createForm(this),
+        list: [],
+        vertical: 'vertical',
+        appList: [],
+        labelCol: {
+          lg: {
+            span: 4
+          },
+          sm: {
+            span: 6
+          },
+          xs: {
+            span: 4
+          },
+          md: {
+            span: 4
           }
-        })
-      } else {
-        this.pans[index].list[item.key].imageList.push(...item.image)
-      }
-    },
-    getData(className) {
-      return this.form.getFieldValue(className)
-    },
-    getVideoList(type, index, item, bestIndex) {
-      if (type == 'video') {
-        this.$refs.check.showCheck(
-          this.getData('creativeMaterialType'),
-          '/kuaishou/batch/getVideoList',
-          item.videoList,
-          type,
-          index
-        )
-      } else {
-        this.$refs.check.showCheck(
-          this.getData('creativeMaterialType'),
-          '/kuaishou/batch/getImageList',
-          item.imageList,
-          type,
-          index
-        )
+        },
+        wrapperCol: {
+          lg: {
+            span: 18
+          },
+          sm: {
+            span: 18
+          },
+          xs: {
+            span: 14
+          },
+          md: {
+            span: 14
+          }
+        },
+        visible: false,
+        loading: false
       }
     },
-    remove(targetKey) {
-      let activeKey = this.pansKey
-      let lastIndex
-      this.pans.forEach((pane, i) => {
-        if (pane.key === targetKey) {
-          lastIndex = i - 1
-        }
-      })
-      const panes = this.pans.filter(pane => pane.key !== targetKey)
-      if (panes.length && activeKey === targetKey) {
-        if (lastIndex >= 0) {
-          activeKey = panes[lastIndex].key
+    methods: {
+      handleConfirmValue(rule, value, callback) {
+        if (/(http|https):\/\/([\w.]+\/?)\S*/.test(value) && value.length < 10000) {
+          callback()
         } else {
-          activeKey = panes[0].key
+          callback('链接不能为空且开头为http://或https://,并且长度小于10000')
         }
-      }
-      this.pans = panes
-      this.pansKey = activeKey
-      this.form.resetFields()
-      if (this.pans.length == 0) {
-        this.$bus.$emit('remove', '/account/stepForm')
-      }
-    },
-    handleOk() {
-      if (this.allForm.fail.length == 0) {
-        this.remove(this.pansKey)
-        this.visible = false
-      } else {
-        this.visible = false
-      }
-    },
-    handleCancel(e) {
-      this.visible = false
-    },
-    handleSubmit(e) {
-      //   e.preventDefault()
-      //   this.nextStep()
-      e.preventDefault()
-      var index = this.pans.findIndex(item => item.key === this.pansKey)
-      var data = this.pans[index].list.map(item => {
-        return item.imageList.length
-      })
-      console.log(eval(data.join('+')), data)
-      if (eval(data.join('+')) > 15) {
-        this.$message.error('封面最多15张')
-        return
-      }
-      this.form.validateFields((err, values) => {
-        if (!err) {
-          this.loading = true
-          var dataJson = this.pans[index].list.map(item => {
-            return {
-              description: item.description,
-              imageTokens: item.imageList.map((ele, index) => {
-                return { image: ele.imageToken, name: index + 1 + '-' + item.name }
-              }),
-              photoId: item.videoList.photoId
-            }
-          })
-          var params = { dataJson, ...values, unitId: this.pansKey, accountId: localStorage.getItem('accountId') }
-          console.log(params)
-          postAction('/kuaishou/batch/createCreative', params).then(res => {
+      },
+      showData(item, type) {
+        var index = this.pans.findIndex(item => item.key === this.pansKey)
+        this.pans[index].list[item.key].imageList = []
+        if (type == 'video') {
+          this.pans[index].list[item.key].videoList = item.video
+          getAction('/kuaishou/batch/getCreativeCopywriter', {
+            code: item.video.signature
+          }).then(res => {
             console.log(res)
             if (res.success) {
-              this.visible = true
-              this.allForm.fail = res.result.fail
-              this.allForm.success = res.result.success
-              this.loading = false
-            } else {
-              this.loading = false
+              this.pans[index].list[item.key].description = res.result.creativeCopywriter
             }
           })
+        } else {
+          this.pans[index].list[item.key].imageList.push(...item.image)
         }
-      })
-    },
-    nextStep() {
-      var that = this
-      setTimeout(function() {
-        that.$emit('nextStep')
-      }, 1500)
-    },
-    prevStep() {
-      this.$emit('prevStep')
-    },
-    addCreative(index) {
-      this.pans[index].list.push({
-        videoList: '',
-        imageList: [],
-        name:
-          this.getData('creativeMaterialType') == '1'
-            ? '自定义创意_竖版视频_' +
-              Math.random()
-                .toString(36)
-                .substr(2, 4)
-            : '自定义创意_横版视频_' +
-              Math.random()
-                .toString(36)
-                .substr(2, 4),
-        description: '',
-        creativeMaterialType: '1',
-        actionBarText: ''
-      })
-    },
-    deleteCreative(bestIndex, index) {
-      this.pans[bestIndex].list.splice(index, 1)
+      },
+      getData(className) {
+        return this.form.getFieldValue(className)
+      },
+      getVideoList(type, index, item, bestIndex) {
+        if (type == 'video') {
+          this.$refs.check.showCheck(
+            this.getData('creativeMaterialType'),
+            '/kuaishou/batch/getVideoList',
+            item.videoList,
+            type,
+            index
+          )
+        } else {
+          this.$refs.check.showCheck(
+            this.getData('creativeMaterialType'),
+            '/kuaishou/batch/getImageList',
+            item.imageList,
+            type,
+            index
+          )
+        }
+      },
+      remove(targetKey) {
+        let activeKey = this.pansKey
+        let lastIndex
+        this.pans.forEach((pane, i) => {
+          if (pane.key === targetKey) {
+            lastIndex = i - 1
+          }
+        })
+        const panes = this.pans.filter(pane => pane.key !== targetKey)
+        if (panes.length && activeKey === targetKey) {
+          if (lastIndex >= 0) {
+            activeKey = panes[lastIndex].key
+          } else {
+            activeKey = panes[0].key
+          }
+        }
+        this.pans = panes
+        this.pansKey = activeKey
+        this.form.resetFields()
+        if (this.pans.length == 0) {
+          this.$bus.$emit('remove', '/account/stepForm')
+        }
+      },
+      handleOk() {
+        if (this.allForm.fail.length == 0) {
+          this.remove(this.pansKey)
+          this.visible = false
+        } else {
+          this.visible = false
+        }
+      },
+      handleCancel(e) {
+        this.visible = false
+      },
+      handleSubmit(e) {
+        //   e.preventDefault()
+        //   this.nextStep()
+        e.preventDefault()
+        var index = this.pans.findIndex(item => item.key === this.pansKey)
+        var data = this.pans[index].list.map(item => {
+          return item.imageList.length
+        })
+        console.log(eval(data.join('+')), data)
+        if (eval(data.join('+')) > 15) {
+          this.$message.error('封面最多15张')
+          return
+        }
+        this.form.validateFields((err, values) => {
+          if (!err) {
+            this.loading = true
+            var dataJson = this.pans[index].list.map(item => {
+              return {
+                description: item.description,
+                imageTokens: item.imageList.map((ele, index) => {
+                  return {
+                    image: ele.imageToken,
+                    name: index + 1 + '-' + item.name
+                  }
+                }),
+                photoId: item.videoList.photoId
+              }
+            })
+            var params = {
+              dataJson,
+              ...values,
+              unitId: this.pansKey,
+              accountId: localStorage.getItem('accountId')
+            }
+            console.log(params)
+            postAction('/kuaishou/batch/createCreative', params).then(res => {
+              console.log(res)
+              if (res.success) {
+                this.visible = true
+                this.allForm.fail = res.result.fail
+                this.allForm.success = res.result.success
+                this.loading = false
+              } else {
+                this.loading = false
+              }
+            })
+          }
+        })
+      },
+      nextStep() {
+        var that = this
+        setTimeout(function () {
+          that.$emit('nextStep')
+        }, 1500)
+      },
+      prevStep() {
+        this.$emit('prevStep')
+      },
+      addCreative(index) {
+        this.pans[index].list.push({
+          videoList: '',
+          imageList: [],
+          name: this.getData('creativeMaterialType') == '1' ?
+            '自定义创意_竖版视频_' +
+            Math.random()
+            .toString(36)
+            .substr(2, 4) : '自定义创意_横版视频_' +
+            Math.random()
+            .toString(36)
+            .substr(2, 4),
+          description: '',
+          creativeMaterialType: '1',
+          actionBarText: ''
+        })
+      },
+      deleteCreative(bestIndex, index) {
+        this.pans[bestIndex].list.splice(index, 1)
+      },
+      filterOption(input, option) {
+        return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
+      }
     },
-    filterOption(input, option) {
-      return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0
-    }
-  },
-  computed: {
-    dirImg() {
-      let date = new Date()
-      let y = date.getFullYear()
-      let MM = date.getMonth() + 1
-      MM = MM < 10 ? '0' + MM : MM
-      let d = date.getDate()
-      d = d < 10 ? '0' + d : d
+    computed: {
+      dirImg() {
+        let date = new Date()
+        let y = date.getFullYear()
+        let MM = date.getMonth() + 1
+        MM = MM < 10 ? '0' + MM : MM
+        let d = date.getDate()
+        d = d < 10 ? '0' + d : d
 
-      return 'image/' + y + '-' + MM + '-' + d + '/'
-    },
-    dirVideo() {
-      let date = new Date()
-      let y = date.getFullYear()
-      let MM = date.getMonth() + 1
-      MM = MM < 10 ? '0' + MM : MM
-      let d = date.getDate()
-      d = d < 10 ? '0' + d : d
+        return 'image/' + y + '-' + MM + '-' + d + '/'
+      },
+      dirVideo() {
+        let date = new Date()
+        let y = date.getFullYear()
+        let MM = date.getMonth() + 1
+        MM = MM < 10 ? '0' + MM : MM
+        let d = date.getDate()
+        d = d < 10 ? '0' + d : d
 
-      return 'video/' + y + '-' + MM + '-' + d + '/'
-    }
-  },
-  watch: {},
-  mounted: function() {
-    if (localStorage.getItem('pans')) {
-      this.pans = JSON.parse(localStorage.getItem('pans')).map(item => {
-        return {
-          ...item,
-          list: []
-        }
-      })
-      console.log(this.pans)
-      this.pansKey = this.pans[0].key
-      getAction('/kuaishou/batch/getActionBarText', { campaignId: localStorage.getItem('campaignId') }).then(res => {
-        if (res.success) {
-          this.appList = res.result
-        }
-      })
+        return 'video/' + y + '-' + MM + '-' + d + '/'
+      }
+    },
+    watch: {},
+    mounted: function () {
+      if (localStorage.getItem('pans')) {
+        this.pans = JSON.parse(localStorage.getItem('pans')).map(item => {
+          return {
+            ...item,
+            list: []
+          }
+        })
+        console.log(this.pans)
+        this.pansKey = this.pans[0].key
+        getAction('/kuaishou/batch/getActionBarText', {
+          campaignId: localStorage.getItem('campaignId')
+        }).then(res => {
+          if (res.success) {
+            this.appList = res.result
+          }
+        })
+      }
     }
   }
-}
 </script>
 <style lang="scss">
-.select_all {
-  margin-bottom: 10px;
-}
+  .select_all {
+    margin-bottom: 10px;
+  }
 
-.ant_modal_body_container {
-  .ant-modal-body {
-    max-height: 650px;
-    overflow-y: scroll;
+  .ant_modal_body_container {
+    .ant-modal-body {
+      max-height: 650px;
+      overflow-y: scroll;
 
-    .image_item_container {
-      margin: 0 -10px;
-      width: 100%;
+      .image_item_container {
+        margin: 0 -10px;
+        width: 100%;
 
-      .image_item {
-        display: inline-block;
-        width: 20%;
-        padding: 0 10px;
-        box-sizing: border-box;
-        margin-bottom: 20px;
+        .image_item {
+          display: inline-block;
+          width: 20%;
+          padding: 0 10px;
+          box-sizing: border-box;
+          margin-bottom: 20px;
 
-        .label_item {
-          display: block;
-          cursor: pointer;
-        }
+          .label_item {
+            display: block;
+            cursor: pointer;
+          }
 
-        .item_img {
-          width: 100%;
-          margin-bottom: 10px;
-        }
+          .item_img {
+            width: 100%;
+            margin-bottom: 10px;
+          }
 
-        .item_text {
-          height: 42px;
-          overflow: hidden;
-          margin-bottom: 0;
-        }
+          .item_text {
+            height: 42px;
+            overflow: hidden;
+            margin-bottom: 0;
+          }
 
-        .item_checkbox {
-          margin-bottom: 0;
-        }
+          .item_checkbox {
+            margin-bottom: 0;
+          }
 
-        .video {
-          width: 100%;
+          .video {
+            width: 100%;
+          }
         }
       }
     }
-  }
 
-  .video_item_container {
-    .video {
-      width: 100%;
+    .video_item_container {
+      .video {
+        width: 100%;
+      }
     }
   }
-}
-
-//   多选框
-.checkbox_item_container {
-  .item_ul {
-    margin: 0 -10px;
 
-    .item_li {
-      width: 20%;
-      float: left;
-      padding: 0 10px;
-      box-sizing: border-box;
-
-      .item:hover i {
-        display: block;
-        cursor: pointer;
-      }
+  //   多选框
+  .checkbox_item_container {
+    .item_ul {
+      margin: 0 -10px;
 
-      .item {
-        position: relative;
+      .item_li {
+        width: 20%;
+        float: left;
+        padding: 0 10px;
+        box-sizing: border-box;
 
-        i {
-          display: none;
+        .item:hover i {
+          display: block;
+          cursor: pointer;
         }
 
-        video {
-          width: 100%;
-          min-height: 255px;
-        }
+        .item {
+          position: relative;
 
-        .checkbox_item {
-          display: block;
+          i {
+            display: none;
+          }
 
-          .ant-checkbox {
-            display: inline-block;
+          video {
+            width: 100%;
+            min-height: 255px;
           }
 
-          span {
+          .checkbox_item {
             display: block;
-            padding: 0;
 
-            .item_txt {
-              text-align: left;
-              height: 42px;
-              overflow: hidden;
+            .ant-checkbox {
+              display: inline-block;
+            }
+
+            span {
+              display: block;
+              padding: 0;
+
+              .item_txt {
+                text-align: left;
+                height: 42px;
+                overflow: hidden;
+              }
             }
           }
         }
       }
     }
   }
-}
 
-// @media (min-width: 1024px){
-//     .checkbox_item_container {
-//         width:70%
-//     }
-// } /*>=1024的设备*/
+  // @media (min-width: 1024px){
+  //     .checkbox_item_container {
+  //         width:70%
+  //     }
+  // } /*>=1024的设备*/
 
-// @media (min-width: 1100px) {
-//     .checkbox_item_container {
-//         width:70%
-//     }
-// } /*>=1100的设备*/
-@media (min-width: 1280px) {
-  .checkbox_item_container_size {
-    width: 70%;
+  // @media (min-width: 1100px) {
+  //     .checkbox_item_container {
+  //         width:70%
+  //     }
+  // } /*>=1100的设备*/
+  @media (min-width: 1280px) {
+    .checkbox_item_container_size {
+      width: 70%;
+    }
   }
-}
 
-/*>=1280的设备*/
+  /*>=1280的设备*/
 
-// @media (min-width: 1366px) {
-// }
+  // @media (min-width: 1366px) {
+  // }
 
-// @media (min-width: 1440px) {
-// }
+  // @media (min-width: 1440px) {
+  // }
 
-// @media (min-width: 1680px) {
+  // @media (min-width: 1680px) {
 
-// }
-@media (min-width: 1920px) {
-  .checkbox_item_container_size {
-    width: 50%;
+  // }
+  @media (min-width: 1920px) {
+    .checkbox_item_container_size {
+      width: 50%;
+    }
   }
-}
-</style>
+</style>

+ 14 - 13
src/views/modules/kuaishouapp/account/stepForm/stepModule/selectRegion.vue

@@ -174,8 +174,8 @@
     mounted() {
       this.$nextTick(() => {
         this.getData().then(() => {
-          console.log(2)
-          if (this.dataValue.length > 0) {
+            console.log(2)
+        //   if (this.dataValue.length > 0) {
             this.checkData = this.dataValue
             this.checkMatched = this.dataValue.map(item => {
               return item.value
@@ -184,7 +184,7 @@
               return item.value
             })
             this.$emit('update:checkData', this.checkData)
-          }
+        //   }
         })
 
       })
@@ -193,19 +193,20 @@
       dataValue: {
         immediate: true, // immediate选项可以开启首次赋值监听
         handler(n, o) {
-            console.log(n)
           if (n.length > 0) {
             // this.getData().then(() => {
-            //   console.log(1)
+              console.log(1)
             //   if (n.length > 0) {
-                this.checkData = n
-                this.checkMatched = n.map(item => {
-                  return item.value
-                })
-                this.checkMatchedCity = n.map(item => {
-                  return item.value
-                })
-                this.$emit('update:checkData', this.checkData)
+            this.$nextTick(() => {
+              this.checkData = n
+              this.checkMatched = n.map(item => {
+                return item.value
+              })
+              this.checkMatchedCity = n.map(item => {
+                return item.value
+              })
+              this.$emit('update:checkData', this.checkData)
+            })
             //   }
             // })
 

+ 2 - 19
src/views/modules/material/scriptMaterial.vue

@@ -64,12 +64,12 @@
 //         width:70%
 //     }
 // } /*>=1100的设备*/
-@media (min-width: 1600px) {
+@media (min-width: 1650px) {
   .home-item {
     border-style: solid;
     border-width: 1px;
     border-color: #e4e4e4;
-    width: calc(50% - 10px);
+    width: calc(25% - 10px);
     padding: 10px;
     margin-right: 10px;
     margin-bottom: 10px;
@@ -92,23 +92,6 @@
 // @media (min-width: 1680px) {
 
 // }
-@media (min-width: 1920px) {
-  .home-item {
-    border-style: solid;
-    border-width: 1px;
-    border-color: #e4e4e4;
-    width: calc(25% - 10px);
-    padding: 10px;
-    margin-right: 10px;
-    margin-bottom: 10px;
-    display: flex;
-    align-items: center;
-    background: #fff;
-    position: relative;
-    z-index: 99;
-    cursor: pointer;
-  }
-}
 
 .actor-photo-list {
   display: flex;

+ 28 - 25
src/views/modules/material/videoMaterial.vue

@@ -89,7 +89,9 @@
   overflow: hidden;
 }
 
-@media (min-width: 1024px) {
+
+
+@media only screen and (min-width: 1200px) {
   .home-item {
     border-style: solid;
     border-width: 1px;
@@ -113,7 +115,7 @@
 //         width:70%
 //     }
 // } /*>=1100的设备*/
-@media (min-width: 1600px) {
+@media only screen and (min-width: 1250px) {
   .home-item {
     border-style: solid;
     border-width: 1px;
@@ -141,23 +143,23 @@
 // @media (min-width: 1680px) {
 
 // }
-@media (min-width: 1920px) {
-  .home-item {
-    border-style: solid;
-    border-width: 1px;
-    border-color: #e4e4e4;
-    width: calc(25% - 10px);
-    padding: 10px;
-    margin-right: 10px;
-    margin-bottom: 10px;
-    display: flex;
-    align-items: center;
-    background: #fff;
-    position: relative;
-    z-index: 99;
-    cursor: pointer;
-  }
-}
+// @media (min-width: 1920px) {
+//   .home-item {
+//     border-style: solid;
+//     border-width: 1px;
+//     border-color: #e4e4e4;
+//     width: calc(25% - 10px);
+//     padding: 10px;
+//     margin-right: 10px;
+//     margin-bottom: 10px;
+//     display: flex;
+//     align-items: center;
+//     background: #fff;
+//     position: relative;
+//     z-index: 99;
+//     cursor: pointer;
+//   }
+// }
 
 .actor-photo-list {
   display: flex;
@@ -450,10 +452,9 @@ a {
                   v-if="active != '0'"
                 ></div>
                 <span style="color: black; fontSize: 16px;padding-top:10px;display:block;width:100%" @click.stop>
-                  {{ items.createTime | getDate }}
                   <a
                     href="javascript:;"
-                    style="margin-left:20px"
+                    style="margin-right:20px"
                     @click="edit(items, '2')"
                     v-show="active == '2'"
                     v-if="items.userId == userInfo().id"
@@ -462,7 +463,7 @@ a {
                   >
                   <a
                     href="javascript:;"
-                    style="margin-left:20px"
+                    style="margin-right:20px"
                     v-show="active !='3'"
                     @click="personEdit(items, '2')"
                     v-if="items.userId == userInfo().id"
@@ -507,7 +508,7 @@ a {
                         ></upload-to-ali>
                       </div>
                     </div>
-                    <a href="javascript:;" style="margin-left:20px">驳回</a>
+                    <a href="javascript:;" style="margin-right:20px">驳回</a>
                   </a-popconfirm>
 
                   <a-popconfirm
@@ -533,7 +534,7 @@ a {
                     </div>
                     <a
                       href="javascript:;"
-                      style="margin-left:20px"
+                      style="margin-right:20px"
                       v-show="active != '1'"
                       v-if="
                         role.roleCode == 'operator' ||
@@ -549,11 +550,13 @@ a {
                   <a
                     v-show="active!='3'"
                     v-if="role.roleCode == 'plane' || role.roleCode == 'admin'"
-                    style="margin-left:20px"
+                    style="margin-right:20px"
                     @click="addImage(items)"
                     >添加封面</a
                   >
                   <a-checkbox :value="items.id" style="float:right" v-show="active == '1'"></a-checkbox>
+                  <br>
+                  {{ items.createTime | getDate }}
                 </span>
               </div>
             </div>

+ 1 - 18
src/views/modules/material/videoTemList.vue

@@ -32,7 +32,7 @@
   //         width:70%
   //     }
   // } /*>=1100的设备*/
-  @media (min-width: 1600px) {
+  @media (min-width: 1200px) {
     .home-item {
       border-style: solid;
       border-width: 1px;
@@ -60,23 +60,6 @@
   // @media (min-width: 1680px) {
 
   // }
-  @media (min-width: 1920px) {
-    .home-item {
-      border-style: solid;
-      border-width: 1px;
-      border-color: #e4e4e4;
-      width: calc(25% - 10px);
-      padding: 10px;
-      margin-right: 10px;
-      margin-bottom: 10px;
-      display: flex;
-      align-items: center;
-      background: #fff;
-      position: relative;
-      z-index: 99;
-      cursor: pointer;
-    }
-  }
 
   .bhShow {
     height: 100px;

+ 4 - 18
src/views/modules/material/videoTemplate.vue

@@ -8,6 +8,9 @@
     margin-right: -10px;
   }
 
+
+
+
   @media (min-width: 1024px) {
     .home-item {
       border-style: solid;
@@ -32,7 +35,7 @@
   //         width:70%
   //     }
   // } /*>=1100的设备*/
-  @media (min-width: 1600px) {
+  @media (min-width: 1200px) {
     .home-item {
       border-style: solid;
       border-width: 1px;
@@ -60,23 +63,6 @@
   // @media (min-width: 1680px) {
 
   // }
-  @media (min-width: 1920px) {
-    .home-item {
-      border-style: solid;
-      border-width: 1px;
-      border-color: #e4e4e4;
-      width: calc(25% - 10px);
-      padding: 10px;
-      margin-right: 10px;
-      margin-bottom: 10px;
-      display: flex;
-      align-items: center;
-      background: #fff;
-      position: relative;
-      z-index: 99;
-      cursor: pointer;
-    }
-  }
 
   .bhShow {
     height: 100px;

+ 2 - 2
vue.config.js

@@ -65,8 +65,8 @@ module.exports = {
        },*/
       '/jeecg-boot': {
         // target: 'http://39.97.120.42:8080', //请求本地 需要jeecg-boot后台项目  生产环境
-        target: 'http://39.106.184.70:8080', //请求本地 需要jeecg-boot后台项目
-        // target: 'http://192.168.1.13:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
+        // target: 'http://39.106.184.70:8080', //请求本地 需要jeecg-boot后台项目
+        target: 'http://192.168.1.13:8080', //请求本地 需要jeecg-boot后台项目  蒙蒙
         // target: 'http://192.168.1.90:8080', //请求本地 需要jeecg-boot后台项目  英豪
         // target: 'http://192.168.1.103:8080', //请求本地 需要jeecg-boot后台项目
         // target: 'http://192.168.2.115:8080', //请求本地 需要jeecg-boot后台项目  祚云