liyongli hai 8 meses
pai
achega
e879f624f6
Modificáronse 2 ficheiros con 107 adicións e 41 borrados
  1. 30 16
      src/api/portrait.js
  2. 77 25
      src/views/AppReport/App.vue

+ 30 - 16
src/api/portrait.js

@@ -134,23 +134,37 @@ export function getBehaviorData(data) {
  * @return {AxjxPromise}
  */
 export function appReportList(data) {
-    return ajax({
-      urlType: 'url2',
-      url: '/app-report/list',
-      method: 'GET',
-      data
-    });
-  }
-  /**
+  return ajax({
+    urlType: 'url2',
+    url: '/app-report/list',
+    method: 'GET',
+    data
+  });
+}
+/**
    * 上报数据
    * @props {string} end
    * @return {AxjxPromise}
    */
-  export function appReportUpdate(data) {
-    return ajax({
-      urlType: 'url2',
-      url: '/app-report/update',
-      method: 'POST',
-      data
-    });
-  }
+export function appReportUpdate(data) {
+  return ajax({
+    urlType: 'url2',
+    url: '/app-report/update',
+    method: 'POST',
+    data
+  });
+}
+
+/**
+   * 上报数据
+   * @props {string} end
+   * @return {AxjxPromise}
+   */
+export function appReportUpload(data) {
+  return ajax({
+    urlType: 'url2',
+    url: '/app-report/submit',
+    method: 'POST',
+    data
+  });
+}

+ 77 - 25
src/views/AppReport/App.vue

@@ -6,38 +6,63 @@
     </el-breadcrumb>
     <br />
     <el-card class="box-card">
-      <el-form :model="form" label-width="auto">
-        <el-form-item label="月份">
-          <span v-text="form.month"></span>
-        </el-form-item>
-        <el-form-item label="客户端日活数">
-          <el-input v-model="form.clientOnlineUser" />
-        </el-form-item>
-        <el-form-item label="端外H5日活数">
-          <el-input v-model="form.webOnlineUser" />
-        </el-form-item>
-        <el-form-item label="客户端日人均使用时长(毫秒)">
-          <el-input v-model="form.clientAvgDuration" />
-        </el-form-item>
-        <el-form-item>
-          <el-popconfirm title="确认更新数据?" @confirm="onSubmitOptimize">
-            <template #reference>
-              <el-button type="primary">提交</el-button>
-            </template>
-          </el-popconfirm>
-        </el-form-item>
-      </el-form>
+      <el-row :gutter="10">
+        <el-col :span="16">
+          <el-form :model="form" label-width="auto">
+            <el-form-item label="月份">
+              <span v-text="form.month"></span>
+            </el-form-item>
+            <el-form-item label="客户端日活数">
+              <el-input v-model="form.clientOnlineUser" />
+            </el-form-item>
+            <el-form-item label="端外H5日活数">
+              <el-input v-model="form.webOnlineUser" />
+            </el-form-item>
+            <el-form-item label="客户端日人均使用时长(毫秒)">
+              <el-input v-model="form.clientAvgDuration" />
+            </el-form-item>
+            <el-form-item>
+              <el-popconfirm title="确认更新数据?" @confirm="onSubmitOptimize">
+                <template #reference>
+                  <el-button type="primary">提交数据</el-button>
+                </template>
+              </el-popconfirm>
+              <el-popconfirm title="确认提交数据?" @confirm="onUploadData">
+                <template #reference>
+                  <el-button type="primary">上传数据</el-button>
+                </template>
+              </el-popconfirm>
+            </el-form-item>
+          </el-form>
+        </el-col>
+        <el-col :span="8">
+          <el-form label-width="auto">
+            <el-form-item label=" ">
+              <span style="color: #fff">1</span>
+            </el-form-item>
+            <el-form-item label="客户端日活数">
+              <span v-text="form.rawClientOnlineUser"></span>
+            </el-form-item>
+            <el-form-item label="端外H5日活数">
+              <span v-text="form.rawWebOnlineUser"></span>
+            </el-form-item>
+            <el-form-item label="客户端日人均使用时长(毫秒)">
+              <span v-text="form.rawClientAvgDuration"></span>
+            </el-form-item>
+          </el-form>
+        </el-col>
+      </el-row>
     </el-card>
   </div>
 </template>
 
 <script>
-import { appReportList, appReportUpdate } from '@/api/portrait';
+import { appReportList, appReportUpdate, appReportUpload } from '@/api/portrait';
 
 import { ElMessage } from 'element-plus';
 import 'element-plus/lib/theme-chalk/el-message.css';
 export default {
-  name: 'Channel',
+  name: 'Report',
   data() {
     return {
       form: {
@@ -45,7 +70,10 @@ export default {
         webOnlineUser: 0,
         clientAvgDuration: 0,
         month: '',
-        id: ''
+        id: '',
+        rawClientAvgDuration: 0,
+        rawClientOnlineUser: 0,
+        rawWebOnlineUser: 0
       },
       t: undefined
     };
@@ -79,7 +107,31 @@ export default {
           clientAvgDuration
         }).then(() => {
           ElMessage({
-            message: '更新成功',
+            message: '成功',
+            type: 'success'
+          });
+        });
+      }, 200);
+    },
+    onUploadData() {
+      let userinfo = JSON.parse(parent.localStorage.userinfo || '{}');
+      if (!userinfo.loginname) {
+        ElMessage({
+          message: '请登录后再试',
+          type: 'error'
+        });
+        return;
+      }
+      if (this.t) clearTimeout(this.t);
+      this.t = setTimeout(() => {
+        this.t = clearTimeout(this.t);
+        const { id } = this.form;
+        appReportUpload({
+          id,
+          loginName: userinfo.loginname || ''
+        }).then(() => {
+          ElMessage({
+            message: '成功',
             type: 'success'
           });
         });