yumeng 1 год назад
Родитель
Сommit
43a5ce59bd

+ 2 - 2
src/components/uploadFile.vue

@@ -80,7 +80,7 @@ export default {
       //最大上传数量
       type: Number,
       default() {
-        return 10
+        return 20
       },
     },
     checkFile: {
@@ -109,7 +109,7 @@ export default {
           if (this.uploadType == 'image') {
             return 2048
           } else {
-            return 102400
+            return 1024000
           }
         
       },

+ 148 - 149
src/utils/request.js

@@ -1,149 +1,148 @@
-/**
- * @file reauest 配置
- * @author zhuxinbo
- */
-
-import Vue from 'vue';
-import axios from 'axios';
-import store from '@/store';
-import { VueAxios } from './axios';
-import { Modal, notification } from 'ant-design-vue';
-import { ACCESS_TOKEN } from '@/store/mutation-types';
-const key = '1';
-// 创建 axios 实例
-
-window.axiosCancel = []
-if (process.env.NODE_ENV === 'development') {
-	axios.defaults.baseURL = '/jeecg-boot';
-}
-else if (process.env.NODE_ENV === 'debug') {
-}
-else if (process.env.NODE_ENV === 'production') {
-	// axios.defaults.baseURL = 'http://apipre.tjyourong.com.cn/jeecg-boot'; // 预生产
-	// axios.defaults.baseURL = 'http://gateway.tjyourong.com.cn/jeecg-boot';//测试
-	axios.defaults.baseURL = 'http://api.tjyourong.com.cn/jeecg-boot'; // 生产环境
-	// axios.defaults.baseURL = 'http://gateway.tjyourong.com.cn/jeecg-boot'; // 测试环境
-	// axios.defaults.baseURL = 'http://192.168.0.195:9999/jeecg-boot'; // 测试环境
-	// axios.defaults.baseURL = 'http://192.168.1.134:9999/jeecg-boot'; // 泽宇环境
-
-}
-const service = axios.create({
-	// baseURL: '/jeecg-boot', // api base_url
-	timeout: 6000000, // 请求超时时间
-});
-
-
-
-
-const err = (error) => {
-	if (error.esponse) {
-		let data = error.response.data
-		const token = Vue.ls.get(ACCESS_TOKEN)
-		// console.log("------异常响应------", token)
-		// console.log("------异常响应------", error.response.status)
-		switch (error.response.status) {
-			case 403:
-				notification.error({ key, message: '系统提示', description: '拒绝访问', duration: 4 })
-				break
-			case 500:
-				//notification.error({ message: '系统提示', description:'Token失效,请重新登录!',duration: 4})
-				if (token && data.message == "Token失效,请重新登录") {
-					// update-begin- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转----
-					// store.dispatch('Logout').then(() => {
-					//     window.location.reload()
-					// })
-					Modal.error({
-						title: '登录已过期',
-						content: '很抱歉,登录已过期,请重新登录',
-						okText: '重新登录',
-						mask: false,
-						onOk: () => {
-							store.dispatch('Logout').then(() => {
-								Vue.ls.remove(ACCESS_TOKEN)
-								window.location.reload()
-							})
-						}
-					})
-					// update-end- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转----
-				}
-				break
-			case 404:
-				notification.error({ key, message: '系统提示', description: '很抱歉,资源未找到!', duration: 4 })
-				break
-			case 504:
-				notification.error({ key, message: '系统提示', description: '网络超时' })
-				break
-			case 401:
-				notification.error({ key, message: '系统提示', description: '未授权,请重新登录', duration: 4 })
-				if (token) {
-					store.dispatch('Logout').then(() => {
-						setTimeout(() => {
-							window.location.reload()
-						}, 1500)
-					})
-				}
-				break
-			default:
-				notification.error({
-					key,
-					message: '系统提示',
-					description: data.message,
-					duration: 4
-				})
-				break
-		}
-	}
-	return Promise.reject(error)
-};
-
-// request interceptor
-service.interceptors.request.use(config => {
-	const token = Vue.ls.get(ACCESS_TOKEN);
-	if (token) {
-		config.headers['X-Access-Token'] = token; // 让每个请求携带自定义 token 请根据实际情况自行修改
-	}
-	if (config.method === 'get') {
-		config.params = {
-			_t: Date.parse(new Date()) / 1000,
-			...config.params
-		};
-	}
-	config.cancelToken = new axios.CancelToken(cancel => {
-		window.axiosCancel.push({
-			cancel
-		})
-	})
-
-	return config;
-}, (error) => {
-	return Promise.reject(error);
-});
-
-// response interceptor
-service.interceptors.response.use((response) => {
-	return response.data;
-}, (error) => {
-	if (axios.isCancel(error)) {
-		
-	} else {
-		notification.error({
-			key,
-			message: '系统提示',
-			description: '网络超时,请刷新页面'
-		});
-	}
-
-	return;
-});
-
-const installer = {
-	vm: {},
-	install(Vue, router = {}) {
-		Vue.use(VueAxios, router, service);
-	}
-};
-
-export {
-	installer as VueAxios,
-	service as axios
-};
+/**
+ * @file reauest 配置
+ * @author zhuxinbo
+ */
+
+import Vue from 'vue';
+import axios from 'axios';
+import store from '@/store';
+import {VueAxios} from './axios';
+import {Modal, notification} from 'ant-design-vue';
+import {ACCESS_TOKEN} from '@/store/mutation-types';
+
+const key = '1';
+// 创建 axios 实例
+
+window.axiosCancel = []
+if (process.env.NODE_ENV === 'development') {
+	axios.defaults.baseURL = '/jeecg-boot';
+}
+else if (process.env.NODE_ENV === 'debug') {
+}
+else if (process.env.NODE_ENV === 'production') {
+	// axios.defaults.baseURL = 'http://apipre.tjyourong.com.cn/jeecg-boot'; // 预生产
+	// axios.defaults.baseURL = 'http://gateway.tjyourong.com.cn/jeecg-boot';//测试
+	axios.defaults.baseURL = 'http://api.tjyourong.com.cn/jeecg-boot'; // 生产环境
+	// axios.defaults.baseURL = 'http://gateway.tjyourong.com.cn/jeecg-boot'; // 测试环境
+	// axios.defaults.baseURL = 'http://192.168.0.195:9999/jeecg-boot'; // 测试环境
+	// axios.defaults.baseURL = 'http://192.168.1.134:9999/jeecg-boot'; // 泽宇环境
+
+}
+const service = axios.create({
+    // baseURL: '/jeecg-boot', // api base_url
+    timeout: 6000000, // 请求超时时间
+});
+
+
+const err = (error) => {
+    if (error.esponse) {
+        let data = error.response.data
+        const token = Vue.ls.get(ACCESS_TOKEN)
+        // console.log("------异常响应------", token)
+        // console.log("------异常响应------", error.response.status)
+        switch (error.response.status) {
+            case 403:
+                notification.error({key, message: '系统提示', description: '拒绝访问', duration: 4})
+                break
+            case 500:
+                //notification.error({ message: '系统提示', description:'Token失效,请重新登录!',duration: 4})
+                if (token && data.message == "Token失效,请重新登录") {
+                    // update-begin- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转----
+                    // store.dispatch('Logout').then(() => {
+                    //     window.location.reload()
+                    // })
+                    Modal.error({
+                        title: '登录已过期',
+                        content: '很抱歉,登录已过期,请重新登录',
+                        okText: '重新登录',
+                        mask: false,
+                        onOk: () => {
+                            store.dispatch('Logout').then(() => {
+                                Vue.ls.remove(ACCESS_TOKEN)
+                                window.location.reload()
+                            })
+                        }
+                    })
+                    // update-end- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转----
+                }
+                break
+            case 404:
+                notification.error({key, message: '系统提示', description: '很抱歉,资源未找到!', duration: 4})
+                break
+            case 504:
+                notification.error({key, message: '系统提示', description: '网络超时'})
+                break
+            case 401:
+                notification.error({key, message: '系统提示', description: '未授权,请重新登录', duration: 4})
+                if (token) {
+                    store.dispatch('Logout').then(() => {
+                        setTimeout(() => {
+                            window.location.reload()
+                        }, 1500)
+                    })
+                }
+                break
+            default:
+                notification.error({
+                    key,
+                    message: '系统提示',
+                    description: data.message,
+                    duration: 4
+                })
+                break
+        }
+    }
+    return Promise.reject(error)
+};
+
+// request interceptor
+service.interceptors.request.use(config => {
+    const token = Vue.ls.get(ACCESS_TOKEN);
+    if (token) {
+        config.headers['X-Access-Token'] = token; // 让每个请求携带自定义 token 请根据实际情况自行修改
+    }
+    if (config.method === 'get') {
+        config.params = {
+            _t: Date.parse(new Date()) / 1000,
+            ...config.params
+        };
+    }
+    config.cancelToken = new axios.CancelToken(cancel => {
+        window.axiosCancel.push({
+            cancel
+        })
+    })
+
+    return config;
+}, (error) => {
+    return Promise.reject(error);
+});
+
+// response interceptor
+service.interceptors.response.use((response) => {
+    return response.data;
+}, (error) => {
+    if (axios.isCancel(error)) {
+
+    } else {
+        notification.error({
+            key,
+            message: '系统提示',
+            description: '网络超时,请刷新页面'
+        });
+    }
+
+    return;
+});
+
+const installer = {
+    vm: {},
+    install(Vue, router = {}) {
+        Vue.use(VueAxios, router, service);
+    }
+};
+
+export {
+    installer as VueAxios,
+    service as axios
+};

+ 293 - 276
src/views/dashboard/Analysis.vue

@@ -1,352 +1,369 @@
 <style lang='scss'>
-    .only-there .ant-tabs-bar{
-        background: white;
-        padding: 0 24px;
-    }
-    .ant-card-head .ant-tabs-bar{
-      padding: 0;
-    }
-    #updateInfo .ant-modal-content,#updateInfo .ant-modal-body {
-      
-      width: 500px;
-      position: relative;
-      padding-top:10px;
-      .updateBOX{
-          height: 600px; 
-          overflow: auto;
-      }
-    }
-    .Updatecontent{       
-        padding: 0 20px 40px;
-        position: relative;
-        .Updateitem{
-          margin-bottom: 30px;
-        }
-    }
-    .Updatetitle{
-        text-align: center;
-        font-size: 22px;
-        font-weight: 500;
-        color: #1890ff;
-        margin-bottom: 20px;
-        /* margin-top: 20px; */
-      }
-    .Updatetime{
-      font-size: 16px;
-      font-weight: 700;
-      color: #000;
-      margin-bottom: 15px;
-    }
-    .updateicon{
-      font-size: 26px;
-      position: relative;
-      top: 4px;;
-    }
-    .updateSpan{
-      margin-left: 10px;
+.only-there .ant-tabs-bar {
+    background: white;
+    padding: 0 24px;
+}
+
+.ant-card-head .ant-tabs-bar {
+    padding: 0;
+}
+
+#updateInfo .ant-modal-content, #updateInfo .ant-modal-body {
+
+    width: 500px;
+    position: relative;
+    padding-top: 10px;
+
+    .updateBOX {
+        height: 600px;
+        overflow: auto;
     }
-    .textTitle{
-        font-weight: 600;
-        font-size: 1.17em;
-  
-        font-family:Helvetica,Arial,"\5b8b\4f53",sans-serif;
-
-      }
-    .okBtn{
-      position: absolute;
-      right: 3%;
-      bottom: 3%;
+}
+
+.Updatecontent {
+    padding: 0 20px 40px;
+    position: relative;
+
+    .Updateitem {
+        margin-bottom: 30px;
     }
-    .updatelist{
-      .circular{
+}
+
+.Updatetitle {
+    text-align: center;
+    font-size: 22px;
+    font-weight: 500;
+    color: #1890ff;
+    margin-bottom: 20px;
+    /* margin-top: 20px; */
+}
+
+.Updatetime {
+    font-size: 16px;
+    font-weight: 700;
+    color: #000;
+    margin-bottom: 15px;
+}
+
+.updateicon {
+    font-size: 26px;
+    position: relative;
+    top: 4px;;
+}
+
+.updateSpan {
+    margin-left: 10px;
+}
+
+.textTitle {
+    font-weight: 600;
+    font-size: 1.17em;
+
+    font-family: Helvetica, Arial, "\5b8b\4f53", sans-serif;
+
+}
+
+.okBtn {
+    position: absolute;
+    right: 3%;
+    bottom: 3%;
+}
+
+.updatelist {
+    .circular {
         display: inline-block;
         width: 3px;
         height: 3px;
         border-radius: 50%;
         color: #999;
-      }
     }
+}
 
 </style>
 <template>
-  <div class="page-header-index-wide analysis">
-    <!--  -->
-
-    <operateStatistics v-if="roleCode == 'operator' || roleCode == 'operationAssistant'"/>
-    <onlyOneDashboard v-else-if="userInfo().id == '228c45f913924639bf20c79ce5dadb16'||userInfo().id == 'b161b7d9793942f980dbfe8c931cd1b0'||userInfoId" />
-    <managerStatistics v-else-if="userInfoId || roleCode == 'CompanyManager'"/>
-    <groupKeepManage v-else-if="roleCode == 'kuaishouOperationManager'||roleCode == 'kuaishouDirector' || roleCode == 'touTiaoOperationManager'"/>
-    <newHome v-else-if=" roleCode == 'bytedanceDirector'" />
-    <!-- <newHome v-else-if=" roleCode == 'touTiaoOperationManager'" />
-    <statistics v-else-if="roleCode == 'kuaishouOperationManager'" /> -->
-    <statistics v-else-if="roleCode == 'sale'||roleCode=='saleDirector'" />
-
-    <!-- <Workbench v-else-if="roleCode == 'clip'" />
-    <Workbench v-else-if="roleCode == 'plane'" /> -->
-    <Design v-else-if="roleCode == 'designTeamLeader'||roleCode == 'plan'||roleCode == 'shot'||roleCode == 'clip'||userInfo().id == 'e9d527b2b6854a1ea0cc3167fc6a27d0'"/>
-    <a-tabs default-active-key="1" v-else-if="roleCode == 'salesSupportManager'||roleCode == 'saleAm'||roleCode == 'saleDirector'||
+    <div class="page-header-index-wide analysis">
+        <!--  -->
+
+        <operateStatistics v-if="roleCode == 'operator' || roleCode == 'operationAssistant'"/>
+        <onlyOneDashboard
+            v-else-if="userInfo().id == '228c45f913924639bf20c79ce5dadb16'||userInfo().id == 'b161b7d9793942f980dbfe8c931cd1b0' || userInfo().id == '16eab477cd7a43538c1049d9678753e0'|| userInfo().id == '1747433221403979778'   ||userInfoId"/>
+        <managerStatistics v-else-if="userInfoId || roleCode == 'CompanyManager'"/>
+        <groupKeepManage
+            v-else-if="roleCode == 'kuaishouOperationManager'||roleCode == 'kuaishouDirector' || roleCode == 'touTiaoOperationManager'"/>
+        <newHome v-else-if=" roleCode == 'bytedanceDirector'"/>
+        <!-- <newHome v-else-if=" roleCode == 'touTiaoOperationManager'" />
+        <statistics v-else-if="roleCode == 'kuaishouOperationManager'" /> -->
+        <statistics v-else-if="roleCode == 'sale'||roleCode=='saleDirector'"/>
+
+        <!-- <Workbench v-else-if="roleCode == 'clip'" />
+        <Workbench v-else-if="roleCode == 'plane'" /> -->
+        <Design
+            v-else-if="roleCode == 'designTeamLeader'||roleCode == 'plan'||roleCode == 'shot'||roleCode == 'clip'||userInfo().id == 'e9d527b2b6854a1ea0cc3167fc6a27d0'"/>
+        <a-tabs default-active-key="1" v-else-if="roleCode == 'salesSupportManager'||roleCode == 'saleAm'||roleCode == 'saleDirector'||
     roleCode == 'sale'" class="only-there">
-      <a-tab-pane key="1" tab="快手">
-        <statistics />
-      </a-tab-pane>
-      <a-tab-pane key="2" tab="头条">
-        <newHome />
-      </a-tab-pane>
-    </a-tabs>
-
-    <!-- 更新公告 -->
-    <a-modal v-model="visible" title="" @ok="handleOk" :closable='false' :footer="null" id="updateInfo">
-      <div class="updateBOX">
-      <div class="Updatetitle">
-         <a-icon type="notification" theme='twoTone'/> 更新通告
-      </div>
-      <div class="Updatecontent">
-        
-        <div class="Updateitem">
-            <div class="Updatetime">
-                 <a-icon type="dashboard" theme='twoTone' class="updateicon" />
-                 <span class="updateSpan">{{updateTime[0]}}</span>
-            </div>
-            <div class="updateText">
-              <div class="updateBox">
-                <h3 class="textTitle">1.新功能上线</h3>
-                <ul class="updatelist">
-                  <li><span class="circular"></span>组织架构;增加汇报上级、部门领导</li>
-                  <li><span class="circular"></span>自动投放账户配置回显问题;</li>
-                  <li><span class="circular"></span>批量创建-销售线索优化;</li>
-                  <li><span class="circular"></span>优化快手素材报表接口查询效率;</li>
-                </ul>
-              </div>
-              <!-- <div class="updateBox">
-                <h3 class="textTitle">2.功能优化:</h3>
-                <ul>
-                  <li><span class="circular"></span>修复了相关BUG;</li>
-                </ul>
-              </div> -->
+            <a-tab-pane key="1" tab="快手">
+                <statistics/>
+            </a-tab-pane>
+            <a-tab-pane key="2" tab="头条">
+                <newHome/>
+            </a-tab-pane>
+        </a-tabs>
 
+        <!-- 更新公告 -->
+        <a-modal v-model="visible" title="" @ok="handleOk" :closable='false' :footer="null" id="updateInfo">
+            <div class="updateBOX">
+                <div class="Updatetitle">
+                    <a-icon type="notification" theme='twoTone'/>
+                    更新通告
+                </div>
+                <div class="Updatecontent">
+
+                    <div class="Updateitem">
+                        <div class="Updatetime">
+                            <a-icon type="dashboard" theme='twoTone' class="updateicon"/>
+                            <span class="updateSpan">{{ updateTime[0] }}</span>
+                        </div>
+                        <div class="updateText">
+                            <div class="updateBox">
+                                <h3 class="textTitle">1.新功能上线</h3>
+                                <ul class="updatelist">
+                                    <li><span class="circular"></span>组织架构;增加汇报上级、部门领导</li>
+                                    <li><span class="circular"></span>自动投放账户配置回显问题;</li>
+                                    <li><span class="circular"></span>批量创建-销售线索优化;</li>
+                                    <li><span class="circular"></span>优化快手素材报表接口查询效率;</li>
+                                </ul>
+                            </div>
+                            <!-- <div class="updateBox">
+                              <h3 class="textTitle">2.功能优化:</h3>
+                              <ul>
+                                <li><span class="circular"></span>修复了相关BUG;</li>
+                              </ul>
+                            </div> -->
+
+                        </div>
+                    </div>
+
+                </div>
+                <a-button type='primary' class="okBtn" @click="handleOk">知道了</a-button>
             </div>
-        </div>
-         
-      </div>
-      <a-button type='primary' class="okBtn" @click="handleOk">知道了</a-button>
-       </div>
-    </a-modal>
-  </div>
+        </a-modal>
+    </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 { getAction, postAction, downFile, downFilePost } from '@/api/manage';
-  import { mapActions, mapGetters } from 'vuex'
-  import Trend from '@/components/Trend'
-  import managerStatistics from './managerStatistics'
-  import operateStatistics from '@/views/modules/stockWatch/modules/new-keepManage/personal-keepManage.vue'
-  import groupKeepManage from '@/views/modules/stockWatch/modules/new-keepManage/group-keepManage.vue'
-  import {
+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 {getAction, postAction, downFile, downFilePost} from '@/api/manage';
+import {mapActions, mapGetters} from 'vuex'
+import Trend from '@/components/Trend'
+import managerStatistics from './managerStatistics'
+import operateStatistics from '@/views/modules/stockWatch/modules/new-keepManage/personal-keepManage.vue'
+import groupKeepManage from '@/views/modules/stockWatch/modules/new-keepManage/group-keepManage.vue'
+import {
     getLoginfo,
     getVisitInfo
-  } from '@/api/api'
-  import newHome from '@/views/modules/Statistics/newHome.vue'
-  import Workbench from '@/views/dashboard/Workbench.vue'
-  import Statistics from '@/views/modules/Statistics/Statistics.vue'
-  import onlyOneDashboard from './onlyOneDashboard'
-  import Design from '@/views/modules/Statistics/designerReport/designIndex.vue'
-  const rankList = []
-  for (let i = 0; i < 7; i++) {
+} from '@/api/api'
+import newHome from '@/views/modules/Statistics/newHome.vue'
+import Workbench from '@/views/dashboard/Workbench.vue'
+import Statistics from '@/views/modules/Statistics/Statistics.vue'
+import onlyOneDashboard from './onlyOneDashboard'
+import Design from '@/views/modules/Statistics/designerReport/designIndex.vue'
+
+const rankList = []
+for (let i = 0; i < 7; i++) {
     rankList.push({
-      name: '白鹭岛 ' + (i + 1) + ' 号店',
-      total: 1234.56 - i * 100
+        name: '白鹭岛 ' + (i + 1) + ' 号店',
+        total: 1234.56 - i * 100
     })
-  }
-  const barData = []
-  for (let i = 0; i < 12; i += 1) {
+}
+const barData = []
+for (let i = 0; i < 12; i += 1) {
     barData.push({
-      x: `${i + 1}月`,
-      y: Math.floor(Math.random() * 1000) + 200
+        x: `${i + 1}月`,
+        y: Math.floor(Math.random() * 1000) + 200
     })
-  }
-  export default {
+}
+export default {
     name: 'Analysis',
     components: {
-      ATooltip,
-      ACol,
-      ChartCard,
-      MiniArea,
-      MiniBar,
-      MiniProgress,
-      RankList,
-      Bar,
-      Trend,
-      LineChartMultid,
-      HeadInfo,
-      newHome,
-      Workbench,
-      Design,
-      Statistics,
-      managerStatistics,
-      operateStatistics,
-      groupKeepManage,
-      onlyOneDashboard
+        ATooltip,
+        ACol,
+        ChartCard,
+        MiniArea,
+        MiniBar,
+        MiniProgress,
+        RankList,
+        Bar,
+        Trend,
+        LineChartMultid,
+        HeadInfo,
+        newHome,
+        Workbench,
+        Design,
+        Statistics,
+        managerStatistics,
+        operateStatistics,
+        groupKeepManage,
+        onlyOneDashboard
     },
     data() {
-      return {
-        loading: true,
-        center: null,
-        rankList,
-        barData,
-        loginfo: {},
-        visitFields: ['ip', 'visit'],
-        visitInfo: [],
-        indicator: <a-icon type="loading" style="font-size: 24px" spin />,
-        roleCode: localStorage.getItem('roleCode'),
-        visible:false,//更新通知消息提示框
-        updateTime:['2021-03-03'],
-        versionId:0,//存储版本号 判断通知什么时候显示
-        userInfoId:false,
-      }
+        return {
+            loading: true,
+            center: null,
+            rankList,
+            barData,
+            loginfo: {},
+            visitFields: ['ip', 'visit'],
+            visitInfo: [],
+            indicator: <a-icon type="loading" style="font-size: 24px" spin/>,
+            roleCode: localStorage.getItem('roleCode'),
+            visible: false,//更新通知消息提示框
+            updateTime: ['2021-03-03'],
+            versionId: 0,//存储版本号 判断通知什么时候显示
+            userInfoId: false,
+        }
     },
     created() {
-      setTimeout(() => {
-        this.loading = !this.loading
-      }, 1000)
-      this.initLogInfo()
-      if(this.roleCode == 'operator'||this.roleCode == 'operationAssistant'){
-        sessionStorage.setItem('personalUserId', this.userInfo().id)
-      }
+        setTimeout(() => {
+            this.loading = !this.loading
+        }, 1000)
+        this.initLogInfo()
+        if (this.roleCode == 'operator' || this.roleCode == 'operationAssistant') {
+            sessionStorage.setItem('personalUserId', this.userInfo().id)
+        }
     },
 
     methods: {
-      ...mapGetters(['userInfo']),
-      getUserId(){
-        if (this.userInfo().id == '4aba62011120ac565c7f2b9f8f4aa96b' || this.userInfo().id == 'e9ca23d68d884d4ebb19d07889727dae' || this.userInfo().id == 'db2d59e9b4a3b18629c838fd7f5b58d8'|| this.userInfo().id == '00d630a129e4487cba5427788a1f08ce') {
-          this.userInfoId = true;
-        }else{
-          this.userInfoId = false;
-        }
-      },
-      // 跳转数据看板
-      dataKanBan(){
-        const a = document.createElement('a');
-        document.body.appendChild(a);
-        a.style.display = 'none';
-        a.href = 'http://adsp.c-top.com.cn/boss-data-kanban';
-
-        a.target = '_blank'
-        a.click();
-        document.body.removeChild(a);
-      },
-      initLogInfo() {
-        getLoginfo(null).then(res => {
-          if (res.success) {
-            Object.keys(res.result).forEach(key => {
-              res.result[key] = res.result[key] + ''
+        ...mapGetters(['userInfo']),
+        getUserId() {
+            if (this.userInfo().id == '4aba62011120ac565c7f2b9f8f4aa96b' || this.userInfo().id == 'e9ca23d68d884d4ebb19d07889727dae' || this.userInfo().id == 'db2d59e9b4a3b18629c838fd7f5b58d8' || this.userInfo().id == '00d630a129e4487cba5427788a1f08ce') {
+                this.userInfoId = true;
+            } else {
+                this.userInfoId = false;
+            }
+        },
+        // 跳转数据看板
+        dataKanBan() {
+            const a = document.createElement('a');
+            document.body.appendChild(a);
+            a.style.display = 'none';
+            a.href = 'http://adsp.c-top.com.cn/boss-data-kanban';
+
+            a.target = '_blank'
+            a.click();
+            document.body.removeChild(a);
+        },
+        initLogInfo() {
+            getLoginfo(null).then(res => {
+                if (res.success) {
+                    Object.keys(res.result).forEach(key => {
+                        res.result[key] = res.result[key] + ''
+                    })
+                    this.loginfo = res.result
+                }
+            })
+            getVisitInfo().then(res => {
+                if (res.success) {
+                    console.log('aaaaaa', res.result)
+                    this.visitInfo = res.result
+                }
             })
-            this.loginfo = res.result
-          }
-        })
-        getVisitInfo().then(res => {
-          if (res.success) {
-            console.log('aaaaaa', res.result)
-            this.visitInfo = res.result
-          }
-        })
 
-      },
-      handleOk(e) {
-        // console.log(e);
-        this.visible = false;
-        postAction('/ctop/releaseViewRecord/view', {
-          versionId:this.versionId
-        }).then(res => {
-            console.log(res)
-            if(res.success){
-              //  this.visible=res.showPopup;
-            }
-           
-        })
-      },
+        },
+        handleOk(e) {
+            // console.log(e);
+            this.visible = false;
+            postAction('/ctop/releaseViewRecord/view', {
+                versionId: this.versionId
+            }).then(res => {
+                console.log(res)
+                if (res.success) {
+                    //  this.visible=res.showPopup;
+                }
+
+            })
+        },
 
     },
     mounted() {
-         postAction('/ctop/releaseViewRecord/check', {}).then(res => {
+        postAction('/ctop/releaseViewRecord/check', {}).then(res => {
             console.log(res)
-            if(res.success){
-               this.visible=res.showPopup;
-               if(res.data){
-                this.versionId=res.data.id;
-               }
-               
+            if (res.success) {
+                this.visible = res.showPopup;
+                if (res.data) {
+                    this.versionId = res.data.id;
+                }
+
             }
-           
+
         })
         this.getUserId();
     },
-  }
+}
 </script>
 
 <style lang="scss" scoped>
-  .circle-cust {
+.circle-cust {
     position: relative;
     top: 28px;
     left: -100%;
-  }
+}
 
-  .extra-wrapper {
+.extra-wrapper {
     line-height: 55px;
     padding-right: 24px;
 
     .extra-item {
-      display: inline-block;
-      margin-right: 24px;
+        display: inline-block;
+        margin-right: 24px;
 
-      a {
-        margin-left: 24px;
-      }
+        a {
+            margin-left: 24px;
+        }
     }
-  }
+}
 
-  /* 首页访问量统计 */
-  .head-info {
+/* 首页访问量统计 */
+.head-info {
     position: relative;
     text-align: left;
     padding: 0 32px 0 0;
     min-width: 125px;
 
     &.center {
-      text-align: center;
-      padding: 0 32px;
+        text-align: center;
+        padding: 0 32px;
     }
 
     span {
-      color: rgba(0, 0, 0, 0.45);
-      display: inline-block;
-      font-size: 0.95rem;
-      line-height: 42px;
-      margin-bottom: 4px;
+        color: rgba(0, 0, 0, 0.45);
+        display: inline-block;
+        font-size: 0.95rem;
+        line-height: 42px;
+        margin-bottom: 4px;
     }
 
     p {
-      line-height: 42px;
-      margin: 0;
+        line-height: 42px;
+        margin: 0;
 
-      a {
-        font-weight: 600;
-        font-size: 1rem;
-      }
+        a {
+            font-weight: 600;
+            font-size: 1rem;
+        }
     }
-  }
+}
 </style>
 <style lang="less">
-  .analysis .ant-tabs-bar {
+.analysis .ant-tabs-bar {
     margin: 0 0 12px 0;
     /* height: 55px; */
     border-bottom: 1px solid #e8e8e8;

+ 62 - 28
src/views/modules/Statistics/saleStatistics/index.vue

@@ -8,6 +8,7 @@
     width: 100%;
     height: 100%;
 }
+
 .bg:after {
     content: '';
     width: 110%;
@@ -20,10 +21,12 @@
     z-index: 2;
     background: rgba(0, 0, 0, 0.8);
 }
+
 .top-ul-style {
     width: 100%;
     padding-left: 0;
 }
+
 .top-ul-style li {
     height: 100px;
     border: 1px solid #f2f2f2;
@@ -32,12 +35,14 @@
     display: flex;
     justify-content: space-between;
 }
+
 .li-cost {
     display: flex;
     flex-flow: column;
     justify-content: center;
     align-content: flex-end;
 }
+
 .li-cost span {
     font-size: 16px;
     font-weight: 500;
@@ -101,7 +106,7 @@
                     </div> -->
                 </div>
                 <div class="item" style="float: right">
-                    <a-button :loading="searchLoading" type="primary" @click="handleSubmit"> 搜索 </a-button>
+                    <a-button :loading="searchLoading" type="primary" @click="handleSubmit"> 搜索</a-button>
                     <a-button
                         :disabled="spinning"
                         :loading="resetLoading"
@@ -173,7 +178,7 @@
                         <div class="report-card-line"></div>
                         <div class="report-card-radio">
                             <span
-                                >环比:{{
+                            >环比:{{
                                     accountIndexList.platformChargeRoi ? accountIndexList.platformChargeRoi : '-'
                                 }}</span
                             >
@@ -220,7 +225,7 @@
                             <div class="report-card-line"></div>
                             <div class="report-card-radio">
                                 <span
-                                    >消耗环比:{{
+                                >消耗环比:{{
                                         showElseTitle ? popularVideoList.chargeRoi : popularVideoList.oneChargeRoi
                                     }}</span
                                 >
@@ -273,13 +278,15 @@
                             </div>
                             <div class="report-card-line"></div>
 
-                            <div class="report-card-radio"  style="display: flex">
+                            <div class="report-card-radio" style="display: flex">
                                 <span style="flex:1"
-                                    >消耗环比:{{
+                                >消耗环比:{{
                                         showElseTitle ? popularVideoList.realChargedRoi : popularVideoList.twoChargeRoi
                                     }}</span
                                 >
-                                <span  style="flex:1" v-if="!showElseTitle">消耗环比:{{ popularVideoList.twoChargeRoi2 }}</span>
+                                <span style="flex:1" v-if="!showElseTitle">消耗环比:{{
+                                        popularVideoList.twoChargeRoi2
+                                    }}</span>
                             </div>
                         </a-card>
                     </a-spin>
@@ -327,7 +334,7 @@
                                 <div>
                                     <span>目标金额:</span>
                                     <span v-if="popularVideoList.monthlyGoalValueVisible"
-                                        >{{
+                                    >{{
                                             popularVideoList.monthlyGoalValue
                                                 ? popularVideoList.monthlyGoalValue
                                                 : '暂未填写'
@@ -338,9 +345,10 @@
                                         ></a-icon>
                                     </span>
                                     <a-space v-else>
-                                        <a-input-number v-model:value="popularVideoList.monthlyGoalValue" />
+                                        <a-input-number v-model:value="popularVideoList.monthlyGoalValue"/>
                                         <a-button type="primary" @click="okValue(popularVideoList, 'month')"
-                                            >确定</a-button
+                                        >确定
+                                        </a-button
                                         >
                                     </a-space>
                                 </div>
@@ -388,7 +396,7 @@
                                 <div>
                                     <span>目标金额:</span>
                                     <span v-if="popularVideoList.weeklyGoalValueVisible"
-                                        >{{
+                                    >{{
                                             popularVideoList.weeklyGoalValue
                                                 ? popularVideoList.weeklyGoalValue
                                                 : '暂未填写'
@@ -399,9 +407,10 @@
                                         ></a-icon>
                                     </span>
                                     <a-space v-else>
-                                        <a-input-number v-model:value="popularVideoList.weeklyGoalValue" />
+                                        <a-input-number v-model:value="popularVideoList.weeklyGoalValue"/>
                                         <a-button type="primary" @click="okValue(popularVideoList, 'week')"
-                                            >确定</a-button
+                                        >确定
+                                        </a-button
                                         >
                                     </a-space>
                                     <!-- <a-input
@@ -425,7 +434,8 @@
                 <a-spin :spinning="signatureStatus">
                     <a-card title="项目消耗排行榜" style="width: 100%" :bordered="false">
                         <a-button type="primary" @click="exportExcel" slot="extra" :loading="downloadLoading"
-                            >下载</a-button
+                        >下载
+                        </a-button
                         >
 
                         <a-table
@@ -453,9 +463,10 @@ import moment from 'moment'
 import YoutTable from '@/components/youtTable/YoutTable'
 import ChartCard from '@/components/ChartCard'
 import Trend from '@/components/Trend'
-import { mapGetters } from 'vuex'
-import { stopOtherVideo, closeAllVideoFun } from '@/utils/videoControl' // 停止除当前外的其他视频播放,及停止所有视频播放的方法
-import { downFilePost, downFile } from '@/api/manage'
+import {mapGetters} from 'vuex'
+import {stopOtherVideo, closeAllVideoFun} from '@/utils/videoControl' // 停止除当前外的其他视频播放,及停止所有视频播放的方法
+import {downFilePost, downFile} from '@/api/manage'
+
 var echarts = require('echarts')
 const columnsFixd = [
     {
@@ -482,25 +493,33 @@ const columnsFixd = [
         title: '消耗(元)',
         dataIndex: 'charge',
         align: 'center',
-        scopedSlots: { customRender: 'charge' },
+        scopedSlots: {customRender: 'charge'},
     },
     {
         title: '消耗环比',
         dataIndex: 'chargeRoi',
         align: 'center',
-        scopedSlots: { customRender: 'chargeRoi' },
+        scopedSlots: {customRender: 'chargeRoi'},
     },
+
+    {
+        title: '基建数',
+        dataIndex: 'newUnitNum',
+        align: 'center',
+        scopedSlots: {customRender: 'newUnitNum'},
+    },
+
     {
         title: '现金消耗',
         dataIndex: 'realCharge',
         align: 'center',
-        scopedSlots: { customRender: 'realCharge' },
+        scopedSlots: {customRender: 'realCharge'},
     },
     {
         title: '激励消耗',
         dataIndex: 'jlCharge',
         align: 'center',
-        scopedSlots: { customRender: 'jlCharge' },
+        scopedSlots: {customRender: 'jlCharge'},
     },
 ]
 
@@ -1060,7 +1079,7 @@ export default {
         },
 
         toDetail(md5) {
-            let params = { md5: md5, mediaId: this.mediaDimension == 'a' ? 1 : 2 }
+            let params = {md5: md5, mediaId: this.mediaDimension == 'a' ? 1 : 2}
             localStorage.setItem('videoInfo', JSON.stringify(params))
             this.$router.push({
                 path: '/materialReport/marterialDetail',
@@ -1224,10 +1243,10 @@ export default {
                             typeShow == 'cost'
                                 ? '消耗'
                                 : typeShow == 'aclick'
-                                ? '曝光数'
-                                : typeShow == 'active'
-                                ? '激活数'
-                                : '3S播放率',
+                                    ? '曝光数'
+                                    : typeShow == 'active'
+                                        ? '激活数'
+                                        : '3S播放率',
                         type: 'line',
                         stack: '总量',
                         data: data.map((item) => {
@@ -1293,9 +1312,9 @@ export default {
                         radius: ['40%', '70%'],
                         center: ['50%', '50%'],
                         data: [
-                            { value: data.reality, name: '真人' },
-                            { value: data.making, name: '制作' },
-                            { value: data.other, name: '其他' },
+                            {value: data.reality, name: '真人'},
+                            {value: data.making, name: '制作'},
+                            {value: data.other, name: '其他'},
                         ],
                         labelLine: {
                             length: 5,
@@ -1352,6 +1371,7 @@ export default {
 .materialReport {
     .material-report-card-two {
         width: 25%;
+
         ::v-deep * {
             border: 0;
         }
@@ -1359,31 +1379,38 @@ export default {
 
     .material-report-card {
         height: 220px;
+
         ::v-deep .ant-card-head {
             border: none;
         }
+
         ::v-deep .ant-card-body {
             padding-top: 5px;
         }
+
         .report-card-result {
             height: 88px;
         }
+
         .report-card-money {
             font-size: 30px;
             font-weight: bold;
         }
+
         .report-card-msg {
             display: flex;
             justify-content: space-between;
             font-size: 14px;
             margin-top: 20px;
         }
+
         .report-card-line {
             width: 100%;
             height: 1px;
             margin-top: 20px;
             background: #e8e8e8;
         }
+
         .report-card-radio {
             display: flex;
             justify-content: space-between;
@@ -1391,33 +1418,39 @@ export default {
             font-size: 14px;
         }
     }
+
     .option {
         background: white;
         padding: 20px;
         display: flex;
         justify-content: flex-start;
         flex-wrap: wrap;
+
         .item {
             margin-right: 15px;
             margin-bottom: 15px;
             height: 32px;
             line-height: 32px;
             flex-shrink: 0;
+
             span {
                 margin-right: 10px;
             }
         }
     }
+
     .echart {
         margin-top: 20px;
         padding: 0 20px 20px;
         background: white;
+
         .echart-header {
             padding: 20px 0;
             font-size: 15px;
             font-weight: 600;
         }
     }
+
     .tableBody {
         margin-top: 20px;
     }
@@ -1427,6 +1460,7 @@ export default {
 .materialReport .card-containers {
     overflow: hidden !important;
 }
+
 .materialReport .card-containers > .ant-tabs-card > .ant-tabs-content {
     margin-top: -16px !important;
 }

Разница между файлами не показана из-за своего большого размера
+ 1096 - 0
src/views/modules/Statistics/salesBudget.vue


+ 0 - 3
src/views/modules/autoLaunch/application/components/uploadFile.vue

@@ -23,9 +23,6 @@
         <div class="ant-upload-text">点击上传</div>
       </div>
     </a-upload>
-    <!-- <div style="color: red" v-if="sizeCheck">
-      {{ uploadType == 'image' ? '请上传jpg格式的图片,并且大小在2m之内' : '请上传mp4格式,大小在'+(size/1024)+'m之内' }}
-    </div> -->
     <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
       <img alt="example" style="width: 100%" :src="previewImage" v-if="uploadType == 'image'" />
       <video :src="previewImage" v-else style="width: 100%" controls="controls">您的浏览器不支持 video 标签。</video>

+ 2 - 2
src/views/modules/material/comment/uploadFilePopilar.vue

@@ -22,7 +22,7 @@
             </div>
         </a-upload>
         <div style="color: red" v-if="sizeCheck">
-            {{ uploadType == 'image' ? '请上传jpg格式的图片,并且大小在2m之内' : '请上传mp4格式,大小在100m之内' }}
+            {{ uploadType == 'image' ? '请上传jpg格式的图片,并且大小在2m之内' : '请上传mp4格式' }}
         </div>
         <a-modal :visible="previewVisible" :footer="null" @cancel="handleCancel">
             <img alt="example" style="width: 100%" :src="previewImage" v-if="uploadType == 'image'" />
@@ -108,7 +108,7 @@ export default {
                     if (this.uploadType == 'image') {
                         return 2048
                     } else {
-                        return 102400
+                        return 1024000
                     }
                 }
             },

Разница между файлами не показана из-за своего большого размера
+ 1332 - 1327
src/views/modules/policy-management/appRecharge.vue


+ 3 - 9
src/views/modules/stockWatch/modules/new-keepManage/group-keepManage.vue

@@ -248,12 +248,6 @@
                                     <a-radio-button value="1"> 头条 </a-radio-button>
                                 </a-radio-group>
                             </span>
-                            <!-- <span>
-                                <a-radio-group v-model="projectAccount" @change="projectAccountChange">
-                                    <a-radio-button value="a"> 项目 </a-radio-button>
-                                    <a-radio-button value="b"> 账户 </a-radio-button>
-                                </a-radio-group>
-                            </span> -->
                         </div>
                     </div>
                     <a-table
@@ -268,8 +262,7 @@
                         ref="accountTable"
                         :scroll="{ x: scrollX }"
                     >
-                        <!-- <a slot="projectName" slot-scope="text, record" @click="projectNameClick(record)">{{ text }}</a>
-                        <a slot="accountName" slot-scope="text, record" @click="accountNameClick(record)">{{ text }}</a> -->
+
 
                         <span slot="yearOnYear" slot-scope="text, records">
                             {{ text }}
@@ -635,6 +628,7 @@ export default {
             this.mediaIdGroup= '1'
             this.mediaIdAccount= '1'
             this.mediaIdDetail= '1'
+            this.projectAccountChange();
         }
         this.getQueryNewlyData()
         // this.showColumn()
@@ -782,7 +776,7 @@ export default {
             this.getGroupList()
         },
         projectAccountChange(ent) {
-            if (this.mediaIdAccount == '2') {
+            if (this.mediaIdAccount == 2) {
                 this.scrollX = 1500
                 this.columnsProject = keepPersonData.setNoDeleteColumns()
             } else {

+ 0 - 19
src/views/modules/stockWatch/modules/new-keepManage/new-keep-data.js

@@ -207,20 +207,7 @@ class keepPersonServer {
                 align: 'center',
 
             },
-            // {
-            //     title: '上传素材数',
-            //     dataIndex: 'adspNum',
-            //     tip: '',
-            //     align: 'center',
 
-            // },
-            // {
-            //     title: '上新素材数',
-            //     dataIndex: 'mediaNum',
-            //     tip: '',
-            //     align: 'center',
-
-            // },
             {
                 title: '基建数量',
                 dataIndex: 'newUnitNum',
@@ -228,13 +215,7 @@ class keepPersonServer {
                 align: 'center',
 
             },
-            // {
-            //     title: '托管基建数',
-            //     dataIndex: 'trustUnitNum',
-            //     tip: '',
-            //     align: 'center',
 
-            // },
             {
                 title: '版位数据',
                 dataIndex: 'inventory',