Sfoglia il codice sorgente

Merge branch 'master' of http://10.8.230.114:3000/wangbin/log-server-web

倚楼听风雨 3 anni fa
parent
commit
033610c0a6

+ 18 - 9
src/view/fileManager/qiniuTransfer.vue

@@ -406,6 +406,7 @@ import { ElMessage, ElMessageBox } from "element-plus";
 import { ArrowRight } from "@element-plus/icons-vue";
 // import { number } from "echarts";
 import * as qiniu from "qiniu-js";
+import defultThumUrlimage from '@/assets/defultThumUrl.svg'
 // import { switchCase } from "@babel/types";
 
 //===================
@@ -963,7 +964,8 @@ let breadcrumbList = ref([
   },
 ]); // 面包屑
 let files = ref([]); // 文件数据列表
-const defultThumUrl = ref("src/assets/defultThumUrl.svg"); // 默认文件夹的样式图片
+
+const defultThumUrl = ref(defultThumUrlimage); // 默认文件夹的样式图片
 
 function clickBreadcrumb(breadcrumb, index) {
   breadcrumbList.value = breadcrumbList.value.slice(0, index + 1);
@@ -992,6 +994,13 @@ function dbClickOpenFile(file) {
     createButtonVisible.value = false;
   }
 }
+
+import fileTypeDll from '@/assets/file_type_dll.svg'
+import fileTypeId from '@/assets/file_type_ld.png'
+import fileTypeApk from '@/assets/file_type_apk.svg'
+import fileTypeYeshen from '@/assets/file_type_yeshen.webp'
+import fileTypeOther from '@/assets/file_type_other.svg'
+
 async function initMaterialPage(id = 0) {
   searchInfo.value.parent_id = id;
   files.value = [];
@@ -1030,19 +1039,19 @@ async function initMaterialPage(id = 0) {
         };
         switch (table.data.fileList[i].file_type) {
           case 1:
-            temp.thumUrl = "src/assets/file_type_dll.svg";
+            temp.thumUrl = fileTypeDll;
             break;
           case 2:
-            temp.thumUrl = "src/assets/file_type_ld.svg";
+            temp.thumUrl = fileTypeId;
             break;
           case 3:
-            temp.thumUrl = "src/assets/file_type_apk.svg";
+            temp.thumUrl = fileTypeApk;
             break;
           case 4:
-            temp.thumUrl = "src/assets/file_type_yeshen.webp";
+            temp.thumUrl = fileTypeYeshen;
             break;
           default:
-            temp.thumUrl = "src/assets/file_type_other.svg";
+            temp.thumUrl = fileTypeOther;
             break;
         }
         files.value.push(temp);
@@ -1181,7 +1190,7 @@ initMaterialPage();
           display: inline-block;
           width: 80px;
           height: 80px;
-          background-image: url(../../assets/defultThumUrl.svg);
+          background-image: url("@/assets/defultThumUrl.svg");
           background-size: 100% 100%;
         }
         .icon-thumb {
@@ -1240,7 +1249,7 @@ initMaterialPage();
       width: 20px;
       height: 20px;
       background-size: 100% 100%;
-      background-image: url(../../assets/selected.svg);
+      background-image: url(@/assets/selected.svg);
       opacity: 0;
     }
     .icon-file-selected:hover {
@@ -1259,7 +1268,7 @@ initMaterialPage();
         width: 20px;
         height: 20px;
         background-size: 100% 100%;
-        background-image: url(../../assets/selected.svg);
+        background-image: url(@/assets/selected.svg);
         opacity: 1;
       }
     }

+ 27 - 74
src/view/gameTarget/txTarget.vue

@@ -8,10 +8,9 @@
         <el-form-item label="负责人">
           <el-input v-model="searchInfo.user" placeholder="负责人" />
         </el-form-item>
-        <el-form-item label="日期" prop="create_date">
-          <el-date-picker v-model="searchInfo.create_date" popper-class="picker-popovers" class="timefilter"
-            type="datetime" placeholder="选择日期时间" value-format="YYYY-MM-DD">
-          </el-date-picker>
+        <el-form-item label="日期" prop="date">
+          <el-date-picker v-model="searchInfo.date" size="default" type="daterange" unlink-panels range-separator="至"
+                          start-placeholder="开始日期" end-placeholder="结束日期" :disabled-date="disabledDate" :shortcuts="shortcuts" />
         </el-form-item>
         <el-form-item>
           <el-button size="small" type="primary" icon="search" @click="onSubmit">查询</el-button>
@@ -84,29 +83,31 @@
     </el-dialog>
   </div>
 </template>
-  
+
 <script>
 export default {
   name: 'TxTargetTask',
 }
 </script>
-  
+
+
 <script setup>
 import {
   getGameTaskTargetById,
   updateGameTaskTarget,
   getGameTxTaskList,
 } from '@/api/task'
-import { toSQLLine } from '@/utils/stringFun'
-import warningBar from '@/components/warningBar/warningBar.vue'
-import { ref } from 'vue'
-import { ElMessage, ElMessageBox } from 'element-plus'
+  import { toSQLLine } from '@/utils/stringFun'
+  import warningBar from '@/components/warningBar/warningBar.vue'
+  import { ref } from 'vue'
+    import dayjs from "dayjs";
+  import { ElMessage, ElMessageBox } from 'element-plus'
 
 
 
 
-const apis = ref([])
-const rules = ref({
+  const apis = ref([])
+  const rules = ref({
   task_id: [{ required: true, message: '输入任务ID', trigger: 'blur' }],
   task_name: [
     { required: true, message: '请输入任务名称', trigger: 'blur' }
@@ -516,70 +517,22 @@ const deleteApiFunc = async (row) => {
       }
     })
 }
+</script>
 
-const switchEnable = async (row) => {
-  const res = await statusOperation({ task_id: row.task_id, status: row.status })
-  if (res.code === 0) {
-    ElMessage({ type: 'success', message: `${row.status === -1 ? '停止' : '开启'}成功` })
-  }
-}
-
-const links = ref([])
 
-const querySearch = (queryString, cb) => {
-  const results = queryString
-    ? links.value.filter(createFilter(queryString))
-    : links.value
-  // call callback function to return suggestion objects
-  cb(results)
-}
-const createFilter = (queryString) => {
-  return (restaurant) => {
-    return (
-      restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0
-    )
+  <style scoped lang="scss">
+  .button-box {
+    padding: 10px 20px;
+    .el-button {
+      float: right;
+    }
   }
+  :deep(.el-tabs__nav-scroll){
+	width:35%;
+	margin:0 auto
 }
-const loadAll = () => {
-  return [
-    { game_id: 1, game_name: '龙腾传世' },
-    { game_id: 2, game_name: '龙皇传说' },
-    { game_id: 3, game_name: '龙之国物语' },
-    { game_id: 4, game_name: '黑月' },
-    { game_id: 5, game_name: '麻将来了' },
-    { game_id: 6, game_name: '鸿途归来' },
-    { game_id: 7, game_name: '魔力宝贝归来' },
-  ]
-}
-const handleSelect = (item) => {
-  form.value.game_id = item.game_id
-  console.log(item)
-}
-
-const handleIconClick = (ev) => {
-  console.log(ev)
-}
-
-links.value = loadAll()
-
-</script>
-  
-<style scoped lang="scss">
-.button-box {
-  padding: 10px 20px;
-
-  .el-button {
-    float: right;
+:deep(.el-tabs__nav-scroll)
+  .warning {
+    color: #dc143c;
   }
-}
-
-:deep(.el-tabs__nav-scroll) {
-  width: 35%;
-  margin: 0 auto
-}
-
-:deep(.el-tabs__nav-scroll) .warning {
-  color: #dc143c;
-}
-</style>
-  
+  </style>

+ 18 - 3
src/view/logComputer/list.vue

@@ -5,9 +5,11 @@
           <el-form-item label="电脑编号">
             <el-input v-model="searchInfo.pc_code" placeholder="电脑编号" />
           </el-form-item>
-          <el-form-item label="开发者">
-            <el-input v-model="searchInfo.operator" placeholder="开发者" />
-          </el-form-item>
+          <el-form-item label="负责人">
+          <el-select v-model="searchInfo.operator" placeholder="负责人">
+            <el-option v-for="item in ResponsiblePerson" :key="item.id" :label="item.name" :value="item.name" />
+          </el-select>
+        </el-form-item>
           <el-form-item label="游戏id">
             <el-input v-model="searchInfo.game_id" placeholder="游戏id" />
           </el-form-item>
@@ -123,6 +125,9 @@
     computerRateExport,
     computerSevenRate,
   } from '@/api/log'
+  import {
+  selectResponsiblePerson,
+} from '@/api/responsiblePerson'
   import { toSQLLine } from '@/utils/stringFun'
   import { ref } from 'vue'
   import { ElMessage, ElMessageBox } from 'element-plus'
@@ -145,6 +150,16 @@
     }
   }
 
+  const ResponsiblePerson = ref([])
+
+
+  const getResponsiblePerson = async () => {
+  const table = await selectResponsiblePerson()
+  if (table.code === 0) {
+    ResponsiblePerson.value = table.data
+  }
+}
+getResponsiblePerson()
   const type = ref('')
   const rules = ref({
     game_name: [{ required: true, message: '请输入游戏名称', trigger: 'blur' }],

+ 34 - 5
src/view/logStatistics/list.vue

@@ -5,6 +5,11 @@
           <el-form-item label="游戏id">
             <el-input v-model="searchInfo.game_id" placeholder="游戏id" />
           </el-form-item>
+          <el-form-item label="游戏端口">
+          <el-select v-model="searchInfo.game_port_id" placeholder="请选择" style="width:100%">
+            <el-option v-for="item in GamePortOptions" :key="item.id" :label="`${item.name}`" :value="item.id" />
+          </el-select>
+        </el-form-item>
           <el-form-item label="日期" prop="create_date">
            <el-date-picker
             v-model="searchInfo.create_date"
@@ -29,6 +34,7 @@
         @sort-change="sortChange"
         @selection-change="handleSelectionChange"
         header-align="center"
+        height="700" style="width: 100%"
         >
           <el-table-column
             type="selection"
@@ -107,7 +113,7 @@
           </el-table-column>
         </el-table-column>
       </el-table-column>
-      <el-table-column label="扫码完成率" align="center"  min-width="100" prop="local_order_success_rate" sortable="custom">
+      <el-table-column label="任务扫码率" align="center"  min-width="100" prop="local_order_success_rate" sortable="custom">
         <el-table-column label="扫码成功" align="center">
           <el-table-column prop="target_num,scanning_code_success" label="任务总数" align="center" min-width="100">
             <template #default="scope">
@@ -122,13 +128,13 @@
       </el-table-column>
       <el-table-column label="完成扫码率" align="center"  min-width="100" prop="local_order_success_rate" sortable="custom">
         <el-table-column label="扫码成功" align="center">
-          <el-table-column prop="new_complete,scanning_code_success" label="完成总数" align="center" min-width="100">
+          <el-table-column prop="target_complete,scanning_code_success" label="完成总数" align="center" min-width="100">
             <template #default="scope">
 							{{ scope.row.scanning_code_success }}
 							<el-divider style="margin:0 5px" direction="vertical" />
-              {{ scope.row.new_complete}}
+              {{ scope.row.target_complete}}
 							<el-divider style="margin:0" />
-							{{ scope.row.scanning_code_success == 0  ? 0 + '%' : Math.round(scope.row.scanning_code_success/scope.row.new_complete * 10000) / 100 + '%'}}
+							{{ scope.row.scanning_code_success == 0  ? 0 + '%' : Math.round(scope.row.scanning_code_success/scope.row.target_complete * 10000) / 100 + '%'}}
 						</template>
           </el-table-column>
         </el-table-column>
@@ -229,6 +235,29 @@
     ]
   })
 
+  const GamePortOptions = ref([
+  {
+    id: 1,
+    name: '腾讯游戏',
+  },
+  {
+    id: 2,
+    name: '360游戏',
+  },
+  {
+    id: 3,
+    name: '网易游戏',
+  },
+  {
+    id: 4,
+    name: '酷派游戏',
+  },
+  {
+    id: 5,
+    name: '魅族游戏',
+  },
+])
+
   const page = ref(1)
   const total = ref(0)
   const pageSize = ref(10)
@@ -336,7 +365,7 @@ const renderheader = ({ column, $index  }) => {
   }
 
   const objectSpanMethod = (row) => {
-    if (row.columnIndex === 1 || row.columnIndex === 3 || row.columnIndex === 7 || row.columnIndex === 0 || row.columnIndex === 2 || row.columnIndex === 14|| row.columnIndex === 15|| row.columnIndex === 16|| row.columnIndex === 17) {
+    if (row.columnIndex === 1 || row.columnIndex === 3 || row.columnIndex === 7 || row.columnIndex === 0 || row.columnIndex === 2 || row.columnIndex === 16|| row.columnIndex === 17|| row.columnIndex === 18|| row.columnIndex === 19) {
           const rowspan = spanArr[row.rowIndex];
           const colspan = rowspan > 0 ? 1 : 0;
           return {