瀏覽代碼

上传素材审核批准

zhuxinbo 5 年之前
父節點
當前提交
ddf7edc6d0

+ 42 - 42
src/App.vue

@@ -1,43 +1,43 @@
-<template>
-  <a-locale-provider :locale="locale">
-    <div id="app">
-      <router-view/>
-    </div>
-  </a-locale-provider>
-</template>
-<script>
-  import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
-  import enquireScreen from '@/utils/device'
-
-  export default {
-    data() {
-      return {
-        locale: zhCN,
-      }
-    },
-    created() {
-      let that = this
-      enquireScreen(deviceType => {
-        // tablet
-        if (deviceType === 0) {
-          that.$store.commit('TOGGLE_DEVICE', 'mobile')
-          that.$store.dispatch('setSidebar', false)
-        }
-        // mobile
-        else if (deviceType === 1) {
-          that.$store.commit('TOGGLE_DEVICE', 'mobile')
-          that.$store.dispatch('setSidebar', false)
-        } else {
-          that.$store.commit('TOGGLE_DEVICE', 'desktop')
-          that.$store.dispatch('setSidebar', true)
-        }
-
-      })
-    }
-  }
-</script>
-<style>
-  #app {
-    height: 100%;
-  }
+<template>
+  <a-locale-provider :locale="locale">
+    <div id="app">
+      <router-view/>
+    </div>
+  </a-locale-provider>
+</template>
+<script>
+  import zhCN from 'ant-design-vue/lib/locale-provider/zh_CN'
+  import enquireScreen from '@/utils/device'
+
+  export default {
+    data() {
+      return {
+        locale: zhCN,
+      }
+    },
+    created() {
+      let that = this
+      enquireScreen(deviceType => {
+        // tablet
+        if (deviceType === 0) {
+          that.$store.commit('TOGGLE_DEVICE', 'mobile')
+          that.$store.dispatch('setSidebar', false)
+        }
+        // mobile
+        else if (deviceType === 1) {
+          that.$store.commit('TOGGLE_DEVICE', 'mobile')
+          that.$store.dispatch('setSidebar', false)
+        } else {
+          that.$store.commit('TOGGLE_DEVICE', 'desktop')
+          that.$store.dispatch('setSidebar', true)
+        }
+
+      })
+    }
+  }
+</script>
+<style>
+  #app {
+    height: 100%;
+  }
 </style>

+ 8 - 0
src/api/actor.js

@@ -105,4 +105,12 @@ export function fileInsert(parameter) {
         method: 'post',
         data: parameter
     })
+}
+
+export function fileEdit(parameter) {
+    return axios({
+        url: "/ctop/materialInfo/edit",
+        method: 'put',
+        data: parameter
+    })
 }

+ 141 - 130
src/api/manage.js

@@ -1,130 +1,141 @@
-import {axios} from '@/utils/request'
-
-const api = {
-  user: '/api/user',
-  role: '/api/role',
-  service: '/api/service',
-  permission: '/api/permission',
-  permissionNoPager: '/api/permission/no-pager'
-}
-
-export default api
-
-//post
-export function postAction(url, parameter) {
-  return axios({
-    url: url,
-    method: 'post',
-    data: parameter
-  })
-}
-
-//post method= {post | put}
-export function httpAction(url, parameter, method) {
-  return axios({
-    url: url,
-    method: method,
-    data: parameter
-  })
-}
-
-//put
-export function putAction(url, parameter) {
-  return axios({
-    url: url,
-    method: 'put',
-    data: parameter
-  })
-}
-
-//get
-export function getAction(url, parameter) {
-  return axios({
-    url: url,
-    method: 'get',
-    params: parameter
-  })
-}
-
-//deleteAction
-export function deleteAction(url, parameter) {
-  return axios({
-    url: url,
-    method: 'delete',
-    params: parameter
-  })
-}
-
-export function getUserList(parameter) {
-  return axios({
-    url: api.user,
-    method: 'get',
-    params: parameter
-  })
-}
-
-export function getRoleList(parameter) {
-  return axios({
-    url: api.role,
-    method: 'get',
-    params: parameter
-  })
-}
-
-export function getServiceList(parameter) {
-  return axios({
-    url: api.service,
-    method: 'get',
-    params: parameter
-  })
-}
-
-export function getPermissions(parameter) {
-  return axios({
-    url: api.permissionNoPager,
-    method: 'get',
-    params: parameter
-  })
-}
-
-// id == 0 add     post
-// id != 0 update  put
-export function saveService(parameter) {
-  return axios({
-    url: api.service,
-    method: parameter.id == 0 ? 'post' : 'put',
-    data: parameter
-  })
-}
-
-/**
- * 下载文件 用于excel导出
- * @param url
- * @param parameter
- * @returns {*}
- */
-export function downFile(url, parameter) {
-  return axios({
-    url: url,
-    params: parameter,
-    method: 'get',
-    responseType: 'blob'
-  })
-}
-
-export function getProvince(url, parameter) {
-    return axios({
-      url: url,
-      method: 'get',
-      params: parameter
-    })
-  }
-
-export function getPackage(parameter) {
-    return axios({
-        url: "/template/creative/words/get",
-        method: 'get',
-        params: parameter
-    })
-}
-
+import {axios} from '@/utils/request'
+
+const api = {
+  user: '/api/user',
+  role: '/api/role',
+  service: '/api/service',
+  permission: '/api/permission',
+  permissionNoPager: '/api/permission/no-pager'
+}
+
+export default api
+
+//post
+export function postAction(url, parameter) {
+  return axios({
+    url: url,
+    method: 'post',
+    data: parameter
+  })
+}
+
+//post method= {post | put}
+export function httpAction(url, parameter, method) {
+  return axios({
+    url: url,
+    method: method,
+    data: parameter
+  })
+}
+
+//put
+export function putAction(url, parameter) {
+  return axios({
+    url: url,
+    method: 'put',
+    data: parameter
+  })
+}
+
+//get
+export function getAction(url, parameter) {
+  return axios({
+    url: url,
+    method: 'get',
+    params: parameter
+  })
+}
+
+//deleteAction
+export function deleteAction(url, parameter) {
+  return axios({
+    url: url,
+    method: 'delete',
+    params: parameter
+  })
+}
+
+export function getUserList(parameter) {
+  return axios({
+    url: api.user,
+    method: 'get',
+    params: parameter
+  })
+}
+
+export function getRoleList(parameter) {
+  return axios({
+    url: api.role,
+    method: 'get',
+    params: parameter
+  })
+}
+
+export function getServiceList(parameter) {
+  return axios({
+    url: api.service,
+    method: 'get',
+    params: parameter
+  })
+}
+
+export function getPermissions(parameter) {
+  return axios({
+    url: api.permissionNoPager,
+    method: 'get',
+    params: parameter
+  })
+}
+
+// id == 0 add     post
+// id != 0 update  put
+export function saveService(parameter) {
+  return axios({
+    url: api.service,
+    method: parameter.id == 0 ? 'post' : 'put',
+    data: parameter
+  })
+}
+
+/**
+ * 下载文件 用于excel导出
+ * @param url
+ * @param parameter
+ * @returns {*}
+ */
+export function downFile(url, parameter) {
+  return axios({
+    url: url,
+    params: parameter,
+    method: 'get',
+    responseType: 'blob'
+  })
+}
+
+export function getProvince(url, parameter) {
+    return axios({
+      url: url,
+      method: 'get',
+      params: parameter
+    })
+  }
+
+export function getPackage(parameter) {
+    return axios({
+        url: "/template/creative/words/get",
+        method: 'get',
+        params: parameter
+    })
+}
+
+
+export function postFile(URL,parameter) {
+    return axios({
+        url: URL,
+        method: 'post',
+        headers: {
+            'Content-Type': 'multipart/form-data;charset=utf-8',
+        },
+        data: parameter
+    })
+}

+ 3 - 1
src/components/layouts/TabLayout.vue

@@ -138,7 +138,9 @@
             localStorage.removeItem("originality")
             localStorage.removeItem("originalityKey")
         }
-        
+        if(key == "/modules/material/materialList"){
+            localStorage.removeItem("key")
+        }
         this.pageList = this.pageList.filter(item => item.fullPath !== key)
         let index = this.linkList.indexOf(key)
         this.linkList = this.linkList.filter(item => item !== key)

+ 14 - 5
src/mixins/JeecgListMixin.js

@@ -103,14 +103,11 @@ export const JeecgListMixin = {
             this.dataSource = res.result.records.map(item=>{
                 return {
                     ...item,
-                    innerData:[]
+                    innerData:[],
+                    showVideo:false
                 }
             })
             this.ipagination.total = res.result.total;
-
-            
-            
-          console.log(this.dataSource,12312321312)
         }
         if (res.code === 510) {
           this.$message.warning(res.message)
@@ -132,6 +129,15 @@ export const JeecgListMixin = {
       }
       this.loadData()
     },
+    editDate(value) {
+      let date = new Date(value)
+      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 y + '-' + MM + '-' + d + " " + '00:00:00'
+    },
     getQueryParams() {
       //获取查询条件
       let sqp = {}
@@ -142,6 +148,9 @@ export const JeecgListMixin = {
       param.field = this.getQueryField();
       param.pageNo = this.ipagination.current;
       param.pageSize = this.ipagination.pageSize;
+      if(param.createTime){
+        param.createTime = this.editDate(param.createTime)
+      }
       return filterObj(param);
     },
     getQueryField() {

+ 10 - 16
src/views/dashboard/Analysis.vue

@@ -73,13 +73,9 @@
         </a-col>
       </a-row>
 
-      <a-card :loading="loading" :bordered="false" :body-style="{padding: '0'}">
+      <a-card :loading="loading" :bordered="false" :body-style="{ padding: '0' }">
         <div class="salesCard">
-          <a-tabs
-            default-active-key="1"
-            size="large"
-            :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}"
-          >
+          <a-tabs default-active-key="1" size="large" :tab-bar-style="{ marginBottom: '24px', paddingLeft: '16px' }">
             <div class="extra-wrapper" slot="tabBarExtraContent">
               <div class="extra-item">
                 <a>今日</a>
@@ -87,7 +83,7 @@
                 <a>本月</a>
                 <a>本年</a>
               </div>
-              <a-range-picker :style="{width: '256px'}" />
+              <a-range-picker :style="{ width: '256px' }" />
             </div>
             <a-tab-pane loading="true" tab="销售额" key="1">
               <a-row>
@@ -115,12 +111,7 @@
 
       <a-row>
         <a-col :span="24">
-          <a-card
-            :loading="loading"
-            :bordered="false"
-            title="最近一周访问次数统计"
-            :style="{ marginTop: '24px' }"
-          >
+          <a-card :loading="loading" :bordered="false" title="最近一周访问次数统计" :style="{ marginTop: '24px' }">
             <a-row>
               <a-col :span="6">
                 <head-info title="今日访问IP数" :content="loginfo.todayIp"></head-info>
@@ -155,6 +146,8 @@
 
     <statistics v-else-if="roleCode == 'kuaishouOperationManager'" />
     <statistics v-else-if="roleCode == 'admin'" />
+    <Workbench v-else-if="roleCode == 'clip'" />
+    <statistics v-else-if="roleCode == 'plane'" />
   </div>
 </template>
 
@@ -173,7 +166,7 @@ import HeadInfo from '@/components/tools/HeadInfo.vue'
 import Trend from '@/components/Trend'
 import { getLoginfo, getVisitInfo } from '@/api/api'
 import statistics from '@/views/modules/Statistics/Statistics.vue'
-
+import Workbench from '@/views/dashboard/Workbench.vue'
 const rankList = []
 for (let i = 0; i < 7; i++) {
   rankList.push({
@@ -202,7 +195,8 @@ export default {
     Trend,
     LineChartMultid,
     HeadInfo,
-    statistics
+    statistics,
+    Workbench
   },
   data() {
     return {
@@ -295,4 +289,4 @@ export default {
     }
   }
 }
-</style>
+</style>

+ 214 - 0
src/views/dashboard/Workbench.vue

@@ -0,0 +1,214 @@
+<style></style>
+<template>
+  <div class="Workbench">
+    <a-row class="image-list-heading vm-panel">
+      <a-row>
+        <div class="panel-heading">{{ title }}</div>
+      </a-row>
+    </a-row>
+    <a-row :gutter="24" style="margin-top:15px">
+      <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
+        <chart-card :loading="loading" title="未审核数量" :total="dataCount.waitAudit + ''">
+          <a-tooltip title="指标说明" slot="action">
+            <a-icon type="info-circle-o" />
+          </a-tooltip>
+          <!-- <div>
+            <trend flag="up" style="margin-right: 16px;">
+              <span slot="term">周同比</span>
+              12%
+            </trend>
+            <trend flag="down">
+              <span slot="term">日同比</span>
+              11%
+            </trend>
+          </div> -->
+          <template slot="footer">
+            <a href="javascript:;" @click="toList('0')">查看详情</a>
+          </template>
+        </chart-card>
+      </a-col>
+      <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
+        <chart-card :loading="loading" title="审核通过" :total="dataCount.passAudit + ''">
+          <a-tooltip title="指标说明" slot="action">
+            <a-icon type="info-circle-o" />
+          </a-tooltip>
+          <!-- <div>
+            <mini-area />
+          </div> -->
+          <template slot="footer">
+            <a href="javascript:;" @click="toList('1')">查看详情</a>
+          </template>
+        </chart-card>
+      </a-col>
+      <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
+        <chart-card :loading="loading" title="待修改" :total="dataCount.refuseAudit + ''">
+          <a-tooltip title="指标说明" slot="action">
+            <a-icon type="info-circle-o" />
+          </a-tooltip>
+          <!-- <div>
+            <mini-bar :height="40" />
+          </div> -->
+          <template slot="footer">
+            <a href="javascript:;" @click="toList('2')">查看详情</a>
+          </template>
+        </chart-card>
+      </a-col>
+      <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">
+        <chart-card
+          :loading="loading"
+          title="运营审核通过率"
+          :total="((dataCount.passAudit / (dataCount.refuseAudit + dataCount.passAudit)) * 100).toFixed(2) + '%'"
+        >
+          <a-tooltip title="指标说明" slot="action">
+            <a-icon type="info-circle-o" />
+          </a-tooltip>
+          <!-- <div>
+            <mini-progress color="rgb(19, 194, 194)" :target="80" :percentage="78" :height="8" />
+          </div> -->
+          <template slot="footer">
+            <span> 通过率涨幅</span>
+          </template>
+        </chart-card>
+      </a-col>
+    </a-row>
+
+    <!-- <a-card :loading="loading" :bordered="false" :body-style="{ padding: '0' }">
+      <div class="salesCard">
+        <a-tabs default-active-key="1" size="large" :tab-bar-style="{ marginBottom: '24px', paddingLeft: '16px' }">
+          <div class="extra-wrapper" slot="tabBarExtraContent">
+            <div class="extra-item">
+              <a>今日</a>
+              <a>本周</a>
+              <a>本月</a>
+              <a>本年</a>
+            </div>
+            <a-range-picker :style="{ width: '256px' }" />
+          </div>
+          <a-tab-pane loading="true" tab="销售额" key="1">
+            <a-row>
+              <a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24">
+                <bar title="销售额排行" :dataSource="barData" />
+              </a-col>
+              <a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24">
+                <rank-list title="门店销售排行榜" :list="rankList" />
+              </a-col>
+            </a-row>
+          </a-tab-pane>
+          <a-tab-pane tab="访问量" key="2">
+            <a-row>
+              <a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24">
+                <bar title="销售额趋势" :dataSource="barData" />
+              </a-col>
+              <a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24">
+                <rank-list title="门店销售排行榜" :list="rankList" />
+              </a-col>
+            </a-row>
+          </a-tab-pane>
+        </a-tabs>
+      </div>
+    </a-card>
+
+    <a-row>
+      <a-col :span="24">
+        <a-card :loading="loading" :bordered="false" title="最近一周访问次数统计" :style="{ marginTop: '24px' }">
+          <a-row>
+            <a-col :span="6">
+              <head-info title="今日访问IP数" :content="loginfo.todayIp"></head-info>
+            </a-col>
+            <a-col :span="2">
+              <a-spin class="circle-cust">
+                <a-icon slot="indicator" type="environment" style="font-size: 24px" />
+              </a-spin>
+            </a-col>
+            <a-col :span="6">
+              <head-info title="今日访问次数" :content="loginfo.todayVisitCount"></head-info>
+            </a-col>
+            <a-col :span="2">
+              <a-spin class="circle-cust">
+                <a-icon slot="indicator" type="team" style="font-size: 24px" />
+              </a-spin>
+            </a-col>
+            <a-col :span="6">
+              <head-info title="访问总次数" :content="loginfo.totalVisitCount"></head-info>
+            </a-col>
+            <a-col :span="2">
+              <a-spin class="circle-cust">
+                <a-icon slot="indicator" type="rise" style="font-size: 24px" />
+              </a-spin>
+            </a-col>
+          </a-row>
+          <line-chart-multid :fields="visitFields" :dataSource="visitInfo"></line-chart-multid>
+        </a-card>
+      </a-col>
+    </a-row> -->
+  </div>
+</template>
+
+<script>
+import ChartCard from '@/components/ChartCard'
+import ACol from 'ant-design-vue/es/grid/Col'
+import ATooltip from 'ant-design-vue/es/tooltip/Tooltip'
+import MiniArea from '@/components/chart/MiniArea'
+import MiniBar from '@/components/chart/MiniBar'
+import MiniProgress from '@/components/chart/MiniProgress'
+import RankList from '@/components/chart/RankList'
+import Bar from '@/components/chart/Bar'
+import LineChartMultid from '@/components/chart/LineChartMultid'
+import HeadInfo from '@/components/tools/HeadInfo.vue'
+
+import Trend from '@/components/Trend'
+
+import { getAction } from '@/api/manage'
+import { mapGetters } from 'vuex'
+const barData = []
+for (let i = 0; i < 12; i += 1) {
+  barData.push({
+    x: `${i + 1}月`,
+    y: Math.floor(Math.random() * 1000) + 200
+  })
+}
+
+export default {
+  name: 'Workbench',
+  components: {
+    ATooltip,
+    ACol,
+    ChartCard,
+    MiniArea,
+    MiniBar,
+    MiniProgress,
+    RankList,
+    Bar,
+    Trend,
+    LineChartMultid,
+    HeadInfo
+  },
+
+  data: function() {
+    return {
+      title: '工作台',
+      loginfo: {},
+      barData,
+      visitInfo: [],
+      visitFields: ['ip', 'visit'],
+      loading: false,
+      rankList: [],
+      dataCount: {},
+      a: ''
+    }
+  },
+  methods: {
+    ...mapGetters(['nickname', 'avatar', 'userInfo']),
+    toList(key) {
+      localStorage.setItem('key', key)
+      this.$router.replace({ path: '/modules/material/materialList' })
+    }
+  },
+  created() {
+    getAction('/ctop/materialInfo/report', { userId: this.userInfo().id }).then(res => {
+      this.dataCount = res
+    })
+    //   /ctop/materialInfo/report
+  }
+}
+</script>

+ 50 - 65
src/views/modules/Statistics/Statistics.vue

@@ -1,20 +1,4 @@
 <style>
-.statistics .ant-col-6 {
-  margin: 10px 0;
-}
-.statistics .ant-col-6 .ant-card-body {
-  display: flex;
-  justify-content: center;
-}
-.statistics .ant-col-6 p,
-.statistics .ant-col-6 span {
-  text-align: center;
-  line-height: 40px;
-  font-size: 30px;
-  font-weight: 600;
-  color: red;
-  margin: 0;
-}
 .search-box .ant-card-body {
   padding: 5px 15px;
 }
@@ -71,7 +55,7 @@
       </a-col>
     </a-row>
     <a-row :gutter="16" v-if="kuaishou">
-      <a-col :span="6">
+      <a-col :sm="24" :md="12" :xl="12" :xxl="6">
         <lifting
           :kuaishou.sync="kuaishou"
           :active.sync="active"
@@ -80,7 +64,7 @@
           typeThan="costProportion"
         ></lifting>
       </a-col>
-      <a-col :span="6">
+      <a-col :sm="24" :md="12" :xl="12" :xxl="6">
         <lifting
           :kuaishou.sync="kuaishou"
           :active.sync="active"
@@ -89,7 +73,7 @@
           typeThan="photoClickProportion"
         ></lifting>
       </a-col>
-      <a-col :span="6">
+      <a-col :sm="24" :md="12" :xl="12" :xxl="6">
         <lifting
           :kuaishou.sync="kuaishou"
           :active.sync="active"
@@ -98,7 +82,7 @@
           typeThan="showProportion"
         ></lifting>
       </a-col>
-      <a-col :span="6">
+      <a-col :sm="24" :md="12" :xl="12" :xxl="6">
         <lifting
           :kuaishou.sync="kuaishou"
           :active.sync="active"
@@ -136,8 +120,8 @@
           style="width:400px"
           :disabledDate="disabledDate"
           :showTime="{
-                hideDisabledOptions: true,
-            }"
+            hideDisabledOptions: true
+          }"
           format="YYYY-MM-DD"
           v-model="contrastValue"
         />
@@ -146,125 +130,129 @@
       <a-row :gutter="15" style="margin-bottom:15px;margin-top:15px" v-if="contrastDataAll">
         <a-col :span="6">
           <a-card title="总消耗对比">
-            <p>{{contrastDataAll.beCompared.statDate}}:{{contrastDataAll.beCompared.cost}}</p>
+            <p>{{ contrastDataAll.beCompared.statDate }}:{{ contrastDataAll.beCompared.cost }}</p>
             <p>
-              {{contrastDataAll.compared.statDate}}:{{contrastDataAll.compared.cost}}
+              {{ contrastDataAll.compared.statDate }}:{{ contrastDataAll.compared.cost }}
               <a-icon
-                v-if="contrastDataAll.compared.costProportion>0"
+                v-if="contrastDataAll.compared.costProportion > 0"
                 type="rise"
                 class="styleElse"
                 style="color:red;"
               />
               <a-icon
-                v-else-if="contrastDataAll.compared.costProportion<0"
+                v-else-if="contrastDataAll.compared.costProportion < 0"
                 type="fall"
                 class="styleElse"
                 style="color:#0bcd74;"
               />
               <a-icon
-                v-else-if="contrastDataAll.compared.costProportion==0"
+                v-else-if="contrastDataAll.compared.costProportion == 0"
                 type="minus"
                 class="styleElse"
                 style="color:#0bcd74"
               />
               <span
-                :style="contrastDataAll.compared.costProportion>0?'color:red':'color:#0bcd74'"
+                :style="contrastDataAll.compared.costProportion > 0 ? 'color:red' : 'color:#0bcd74'"
                 class="styleElse"
                 style="  margin-left:0"
-              >{{Math.abs(contrastDataAll.compared.costProportion).toFixed(2)+'%'}}</span>
+                >{{ Math.abs(contrastDataAll.compared.costProportion).toFixed(2) + '%' }}</span
+              >
             </p>
           </a-card>
         </a-col>
         <a-col :span="6">
           <a-card title="封面点击数对比">
-            <p>{{contrastDataAll.beCompared.statDate}}:{{contrastDataAll.beCompared.photoClick}}</p>
+            <p>{{ contrastDataAll.beCompared.statDate }}:{{ contrastDataAll.beCompared.photoClick }}</p>
             <p>
-              {{contrastDataAll.compared.statDate}}:{{contrastDataAll.compared.photoClick}}
+              {{ contrastDataAll.compared.statDate }}:{{ contrastDataAll.compared.photoClick }}
               <a-icon
-                v-if="contrastDataAll.compared.photoClickProportion>0"
+                v-if="contrastDataAll.compared.photoClickProportion > 0"
                 type="rise"
                 class="styleElse"
                 style="color:red;"
               />
               <a-icon
-                v-else-if="contrastDataAll.compared.photoClickProportion<0"
+                v-else-if="contrastDataAll.compared.photoClickProportion < 0"
                 type="fall"
                 class="styleElse"
                 style="color:#0bcd74;"
               />
               <a-icon
-                v-else-if="contrastDataAll.compared.photoClickProportion==0"
+                v-else-if="contrastDataAll.compared.photoClickProportion == 0"
                 type="minus"
                 class="styleElse"
                 style="color:#0bcd74"
               />
               <span
-                :style="contrastDataAll.compared.photoClickProportion>0?'color:red':'color:#0bcd74'"
+                :style="contrastDataAll.compared.photoClickProportion > 0 ? 'color:red' : 'color:#0bcd74'"
                 class="styleElse"
                 style="  margin-left:0"
-              >{{Math.abs(contrastDataAll.compared.photoClickProportion).toFixed(2)+'%'}}</span>
+                >{{ Math.abs(contrastDataAll.compared.photoClickProportion).toFixed(2) + '%' }}</span
+              >
             </p>
           </a-card>
         </a-col>
         <a-col :span="6">
           <a-card title="封面曝光数对比">
-            <p>{{contrastDataAll.beCompared.statDate}}:{{contrastDataAll.beCompared.photoShow}}</p>
+            <p>{{ contrastDataAll.beCompared.statDate }}:{{ contrastDataAll.beCompared.photoShow }}</p>
             <p>
-              {{contrastDataAll.compared.statDate}}:{{contrastDataAll.compared.photoShow}}
+              {{ contrastDataAll.compared.statDate }}:{{ contrastDataAll.compared.photoShow }}
               <a-icon
-                v-if="contrastDataAll.compared.showProportion>0"
+                v-if="contrastDataAll.compared.showProportion > 0"
                 type="rise"
                 class="styleElse"
                 style="color:red;"
               />
               <a-icon
-                v-else-if="contrastDataAll.compared.showProportion<0"
+                v-else-if="contrastDataAll.compared.showProportion < 0"
                 type="fall"
                 class="styleElse"
                 style="color:#0bcd74;"
               />
               <a-icon
-                v-else-if="contrastDataAll.compared.showProportion==0"
+                v-else-if="contrastDataAll.compared.showProportion == 0"
                 type="minus"
                 class="styleElse"
                 style="color:#0bcd74"
               />
               <span
-                :style="contrastDataAll.compared.showProportion>0?'color:red':'color:#0bcd74'"
+                :style="contrastDataAll.compared.showProportion > 0 ? 'color:red' : 'color:#0bcd74'"
                 class="styleElse"
                 style="  margin-left:0"
-              >{{Math.abs(contrastDataAll.compared.showProportion).toFixed(2)+'%'}}</span>
+                >{{ Math.abs(contrastDataAll.compared.showProportion).toFixed(2) + '%' }}</span
+              >
             </p>
           </a-card>
         </a-col>
         <a-col :span="6">
           <a-card title="素材曝光数对比">
-            <p>{{contrastDataAll.beCompared.statDate}}:{{contrastDataAll.beCompared.aclick}}</p>
+            <p>{{ contrastDataAll.beCompared.statDate }}:{{ contrastDataAll.beCompared.aclick }}</p>
             <p>
-              {{contrastDataAll.compared.statDate}}:{{contrastDataAll.compared.aclick}}
+              {{ contrastDataAll.compared.statDate }}:{{ contrastDataAll.compared.aclick }}
               <a-icon
-                v-if="contrastDataAll.compared.comparedAclick>0"
+                v-if="contrastDataAll.compared.comparedAclick > 0"
                 type="rise"
                 class="styleElse"
                 style="color:red;"
               />
               <a-icon
-                v-else-if="contrastDataAll.compared.comparedAclick<0"
+                v-else-if="contrastDataAll.compared.comparedAclick < 0"
                 type="fall"
                 class="styleElse"
                 style="color:#0bcd74;"
               />
               <a-icon
-                v-else-if="contrastDataAll.compared.comparedAclick==0"
+                v-else-if="contrastDataAll.compared.comparedAclick == 0"
                 type="minus"
                 class="styleElse"
                 style="color:#0bcd74"
               />
               <span
-                :style="contrastDataAll.compared.comparedAclick>0?'color:red':'color:#0bcd74'"
+                :style="contrastDataAll.compared.comparedAclick > 0 ? 'color:red' : 'color:#0bcd74'"
                 class="styleElse"
                 style="  margin-left:0"
-              >{{Math.abs(contrastDataAll.compared.comparedAclick).toFixed(2)+'%'}}</span>
+                >{{ Math.abs(contrastDataAll.compared.comparedAclick).toFixed(2) + '%' }}</span
+              >
             </p>
           </a-card>
         </a-col>
@@ -284,7 +272,7 @@
           </a-card>
         </a-col>
       </a-row>
-      <a-row style="margin-bottom:15px;margin-top:15px" v-if="dataTableTwo.length>0">
+      <a-row style="margin-bottom:15px;margin-top:15px" v-if="dataTableTwo.length > 0">
         <a-col :span="24">
           <a-card
             :tabList="tableCard"
@@ -303,13 +291,7 @@
           :activeTabKey="noTitleKeyTable"
           @tabChange="key => onTabChange(key, 'noTitleKeyTable')"
         >
-          <a-table
-            :columns="columns"
-            :dataSource="dataTable"
-            :pagination="false"
-            :loading="loading"
-            bordered
-          ></a-table>
+          <a-table :columns="columns" :dataSource="dataTable" :pagination="false" :loading="loading" bordered></a-table>
         </a-card>
       </a-col>
     </a-row>
@@ -542,11 +524,11 @@ export default {
           })
         } else {
           this.dataAllTableTwo = res[0]
-          this.dataTableTwo = res[0].beComparedDetail.map((item,index)=>{
-              return {
-                  ...item,
-                  key:index
-              }
+          this.dataTableTwo = res[0].beComparedDetail.map((item, index) => {
+            return {
+              ...item,
+              key: index
+            }
           })
         }
       })
@@ -639,7 +621,10 @@ export default {
             type: 'pie',
             radius: '35%',
             center: ['50%', '50%'],
-            data: [{ value: 944332, name: '2019-09' }, { value: 6839241.89, name: '2019-10' }],
+            data: [
+              { value: 944332, name: '2019-09' },
+              { value: 6839241.89, name: '2019-10' }
+            ],
             itemStyle: {
               normal: {
                 color: function(params) {
@@ -1497,7 +1482,7 @@ export default {
       that.getReportList(1, that.allValue)
       upDate = window.setInterval(() => {
         setTimeout(() => {
-          that.drawLine(1)
+          that.drawLine(that.active)
           that.getKsDetail(that.active).then(res => {
             that.drawPie('cost', res)
           })

+ 1 - 27
src/views/modules/Statistics/accountMaterStatistics.vue

@@ -13,35 +13,9 @@
 }
 </style>
 <style>
-/* .data-display-statistics .ant-card-body {
-  padding: 0 15px;
-} */
-.data-display-statistics .ant-col-6 {
-  margin: 10px 0;
-}
-.data-display-statistics .ant-col-6 .ant-card-body {
-  display: flex;
-  justify-content: center;
-}
-.data-display-statistics .ant-col-6 p,
-.data-display-statistics .ant-col-6 span {
-  text-align: center;
-  line-height: 40px;
-  font-size: 30px;
-  font-weight: 600;
-  color: red;
-  margin: 0;
-}
 .search-box .ant-card-body {
   padding: 5px 15px;
 }
-.data-display-statistics .ant-col-6 .ant-card-body .styleElse {
-  line-height: 60px;
-  height: 40px;
-  font-size: 16px;
-  font-weight: 400;
-  margin-left: 10px;
-}
 .ant-modal-wrap .yincang .ant-modal-content .ant-modal-footer {
   display: none !important;
 }
@@ -64,7 +38,7 @@ th div {
 }
 </style>
 <template>
-  <div class="data-display-statistics">
+  <div class="data-account-statistics">
     <a-row class="image-list-heading vm-panel">
       <div class="panel-heading" style="display:flex;justify-content: space-between;">
         {{ title }}

+ 5 - 5
src/views/modules/Statistics/components/lifting.vue

@@ -13,15 +13,15 @@
 }
 </style>
 <style>
-.data-display-statistics .ant-col-6 {
+.data-display-statistics{
   margin: 10px 0;
 }
-.data-display-statistics .ant-col-6 .ant-card-body {
+.data-display-statistics .ant-card-body {
   display: flex;
   justify-content: center;
 }
-.data-display-statistics .ant-col-6 p,
-.data-display-statistics .ant-col-6 span {
+.data-display-statistics p,
+.data-display-statistics span {
   text-align: center;
   line-height: 40px;
   font-size: 30px;
@@ -32,7 +32,7 @@
 .search-box .ant-card-body {
   padding: 5px 15px;
 }
-.data-display-statistics .ant-col-6 .ant-card-body .styleElse {
+.data-display-statistics .ant-card-body .styleElse {
   line-height: 60px;
   height: 40px;
   font-size: 16px;

+ 15 - 11
src/views/modules/Statistics/dataDisplayStatistics.vue

@@ -64,7 +64,7 @@ th div {
 }
 </style>
 <template>
-  <div class="data-display-statistics">
+  <div class="data-statistics">
     <a-row class="image-list-heading vm-panel">
       <div class="panel-heading">{{ title }}</div>
       <a-row type="flex" align="middle" justify="space-between" class="panel-body">
@@ -87,9 +87,12 @@ th div {
           >
             <a-select-option
               v-for="appModel in options"
-              :key="appModel.id+new Date().getTime()"
+              :key="appModel.id + new Date().getTime()"
               :value="appModel.accountId"
-            >{{appModel.advertiserName}}&#12288;&#12288;{{appModel.accountId}}&#12288;&nbsp;&#12288;{{appModel.authName}}&#12288;&#12288;{{appModel.operationName}}</a-select-option>
+              >{{ appModel.advertiserName }}&#12288;&#12288;{{ appModel.accountId }}&#12288;&nbsp;&#12288;{{
+                appModel.authName
+              }}&#12288;&#12288;{{ appModel.operationName }}</a-select-option
+            >
           </a-select>
           <span style="margin-left:10px">返点比例:</span>
           <a-input-number
@@ -106,7 +109,8 @@ th div {
             icon="reload"
             @click="getDataReset"
             style="background-color:#67c23a;border-color:#67c23a"
-          >刷新</a-button>
+            >刷新</a-button
+          >
         </div>
       </a-row>
       <a-row>
@@ -118,7 +122,7 @@ th div {
       </a-row>
     </a-row>
     <a-row :gutter="16" v-if="kuaishou">
-      <a-col :span="6" style="width:20%">
+      <a-col :sm="24" :md="12" :xl="12" :xxl="5">
         <lifting
           :kuaishou.sync="kuaishou"
           :active.sync="active"
@@ -127,7 +131,7 @@ th div {
           typeThan="costProportion"
         ></lifting>
       </a-col>
-      <a-col :span="6" style="width:20%">
+      <a-col :sm="24" :md="12" :xl="12" :xxl="5">
         <lifting
           :kuaishou.sync="kuaishou"
           :active.sync="active"
@@ -136,7 +140,7 @@ th div {
           typeThan="discountCostProportion"
         ></lifting>
       </a-col>
-      <a-col :span="6" style="width:20%">
+      <a-col  :sm="24" :md="12" :xl="12" :xxl="5">
         <lifting
           :kuaishou.sync="kuaishou"
           :active.sync="active"
@@ -145,7 +149,7 @@ th div {
           typeThan="photoClickProportion"
         ></lifting>
       </a-col>
-      <a-col :span="6" style="width:20%">
+      <a-col  :sm="24" :md="12" :xl="12" :xxl="5">
         <lifting
           :kuaishou.sync="kuaishou"
           :active.sync="active"
@@ -154,7 +158,7 @@ th div {
           typeThan="showProportion"
         ></lifting>
       </a-col>
-      <a-col :span="6" style="width:20%">
+      <a-col :sm="24" :md="12" :xl="12" :xxl="4">
         <lifting
           :kuaishou.sync="kuaishou"
           :active.sync="active"
@@ -179,9 +183,9 @@ th div {
     <a-row :gutter="10" style="margin-top:10px">
       <a-col :span="24">
         <a-card style="width:100%;">
-          <div style="display:flex;margin-bottom:15px" v-show="active==1||active==2">
+          <div style="display:flex;margin-bottom:15px" v-show="active == 1 || active == 2">
             <a-select style="width: 120px" v-model="statHour" @change="getElseData" allowClear>
-              <a-select-option v-for="item of 24" :key="item-1" :value="item-1">{{item-1}}</a-select-option>
+              <a-select-option v-for="item of 24" :key="item - 1" :value="item - 1">{{ item - 1 }}</a-select-option>
             </a-select>
             <a-button type="primary" @click="exportExcel" style="margin-left:15px">导出</a-button>
           </div>

+ 1 - 1
src/views/modules/Statistics/materialStatistics.vue

@@ -67,7 +67,7 @@
 } */
 </style>
 <template>
-  <div class="data-display-statistics">
+  <div class="data-material-statistics">
     <a-row class="image-list-heading vm-panel">
       <div class="panel-heading" style="display:flex;justify-content: space-between;">
         {{ title }}

+ 3 - 3
src/views/modules/Statistics/refuseData.vue

@@ -1,6 +1,6 @@
 
 <style>
-.data-display-statistics .ant-col-6 {
+/* .data-display-statistics .ant-col-6 {
   margin: 10px 0;
 }
 .data-display-statistics .ant-col-6 .ant-card-body {
@@ -48,10 +48,10 @@ th div {
 }
 .data-display-statistics th {
   text-align: center !important;
-}
+} */
 </style>
 <template>
-  <div class="data-display-statistics">
+  <div class="data-refuse-statistics">
     <a-row class="image-list-heading vm-panel">
       <div class="panel-heading" style="display:flex;justify-content: space-between;">{{ title }}</div>
       <a-row type="flex" align="middle" justify="space-between" class="panel-body">

+ 8 - 17
src/views/modules/advertiser/modules/ProjectModal.vue

@@ -17,27 +17,18 @@
           </a-radio-group>
         </a-form-item>
         <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="项目名称">
-          <a-input
-            placeholder="请输入项目名称"
-            v-decorator="['projectName',  validatorRules.projectName]"
-          />
+          <a-input placeholder="请输入项目名称" v-decorator="['projectName', validatorRules.projectName]" />
         </a-form-item>
         <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="广告主名称">
-          <a-select
-            @change="handleChange"
-            labelInValue
-            v-decorator="['advertiserId',  validatorRules.advertiserId]"
-          >
-            <a-select-option
-              :value="item.id"
-              v-for="(item,index) of list"
-              :key="index"
-            >{{item.name}}</a-select-option>
+          <a-select @change="handleChange" labelInValue v-decorator="['advertiserId', validatorRules.advertiserId]">
+            <a-select-option :value="item.id" v-for="(item, index) of list" :key="index">{{
+              item.name
+            }}</a-select-option>
           </a-select>
         </a-form-item>
         <a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="负责人">
           <j-select-user-by-dep
-            v-decorator="['responsibleName',  validatorRules.responsibleName]"
+            v-decorator="['responsibleName', validatorRules.responsibleName]"
             @change="get"
           ></j-select-user-by-dep>
         </a-form-item>
@@ -157,6 +148,7 @@ export default {
           formData.advertiserId = data.key
           formData.advertiserName = data.label
           formData.responsibleId = that.resId
+          formData.userId = that.userInfo().id
           httpAction(httpurl, formData, method)
             .then(res => {
               if (res.success) {
@@ -187,5 +179,4 @@ export default {
 }
 </script>
 
-<style lang="less" scoped>
-</style>
+<style lang="less" scoped></style>

+ 86 - 0
src/views/modules/material/accountCheck.vue

@@ -0,0 +1,86 @@
+<style>
+.checked .ant-checkbox-wrapper {
+  width: 20%;
+}
+</style>
+<template>
+  <div>
+    <a-modal title="列表项筛选" v-model="showEdit" @ok="handleOk" @cancel="close" width="60%">
+      <a-checkbox :indeterminate="indeterminate" @change="onCheckAllChange" :checked="checkAll">全选</a-checkbox>
+      <br />
+      <a-checkbox-group :options="showList" v-model="dataValue" class="checked" @change="onChange" />
+    </a-modal>
+  </div>
+</template>
+
+<script>
+import { deleteAction, getAction } from '@/api/manage'
+// import lifting from './components/lifting'
+
+export default {
+  name: 'modules',
+  components: {},
+
+  data: function() {
+    return {
+      showEdit: false,
+      dataList: [],
+      showList: null,
+      dataValue: [],
+      indeterminate: false,
+      checkAll: false
+    }
+  },
+  methods: {
+    handleOk(e) {
+      console.log(e)
+      this.showEdit = false
+      this.$emit("synchro",this.dataValue)
+    },
+    close() {
+      this.showEdit = false
+      this.dataList = []
+      this.showList = null
+      this.dataValue = []
+      this.indeterminate = false
+      this.checkAll = false
+    },
+    onCheckAllChange(e) {
+      Object.assign(this, {
+        dataValue: e.target.checked
+          ? this.showList.map(item => {
+              return item.value
+            })
+          : [],
+        indeterminate: false,
+        checkAll: e.target.checked
+      })
+    },
+    onChange(checkedList) {
+      this.indeterminate = !!this.dataValue.length && this.dataValue.length < this.showList.length
+      this.checkAll = this.dataValue.length === this.showList.length
+    },
+    getData(url, item) {
+      this.showEdit = true
+      this.dataList = []
+      this.showList = null
+      this.dataValue = []
+      this.indeterminate = false
+      this.checkAll = false
+      console.log(url, item)
+      getAction(url, item).then(res => {
+        if (res.code == 0) {
+          this.showList = res.result.map(item => {
+            return {
+              label: item.authName,
+              value: item.accountId
+            }
+          })
+        }
+        console.log(res)
+      })
+    }
+  },
+  computed: {}
+}
+</script>

文件差異過大導致無法顯示
+ 619 - 164
src/views/modules/material/materialList.vue