wangbin 3 lat temu
rodzic
commit
aa144c8b50
3 zmienionych plików z 132 dodań i 42 usunięć
  1. 15 0
      src/api/responsiblePerson.js
  2. 78 24
      src/view/gameTarget/target.vue
  3. 39 18
      src/view/gameTask/list.vue

+ 15 - 0
src/api/responsiblePerson.js

@@ -129,3 +129,18 @@ export const deleteApisByIds = (data) => {
     data
   })
 }
+
+// @Tags SysApi
+// @Summary 获取列表筛选
+// @Security ApiKeyAuth
+// @accept application/json
+// @Produce application/json
+// @Success 200 {string} string "{"success":true,"data":{},"msg":"获取成功成功"}"
+// @Router /responsiblePerson/selectResponsiblePerson [post]
+export const selectResponsiblePerson = (data) => {
+  return service({
+    url: '/responsiblePerson/selectResponsiblePerson',
+    method: 'post',
+    data
+  })
+}

+ 78 - 24
src/view/gameTarget/target.vue

@@ -5,9 +5,27 @@
           <el-form-item label="任务Id">
             <el-input v-model="searchInfo.task_id" placeholder="任务ID" />
           </el-form-item>
-          <el-form-item label="使用者">
-            <el-input v-model="searchInfo.user" placeholder="使用者" />
+          <el-form-item label="负责人">
+            <el-select v-model="searchInfo.user" 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="状态">
+          <el-select v-model="searchInfo.is_complete" placeholder="是否完成" >
+              <el-option
+                v-for="item in searchStatusOptions"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value"
+                :disabled="item.disabled"
+              />
+            </el-select>
+        </el-form-item>
           <el-form-item label="日期" prop="create_date">
           <el-date-picker
             v-model="searchInfo.create_date"
@@ -26,34 +44,45 @@
         </el-form>
       </div>
       <div class="gva-table-box">
-        <el-table :data="tableData" border @sort-change="sortChange" @selection-change="handleSelectionChange">
-          <el-table-column
-            type="selection"
-            width="55"
-          />
-          <el-table-column label="任务ID" min-width="60" prop="task_id" sortable="custom" />
-          <el-table-column label="任务日期" min-width="70" prop="create_date" />
-          <el-table-column label="任务名称" min-width="80" prop="task_name" sortable="custom" />
-          <el-table-column label="负责人" min-width="60" prop="user" sortable="custom" />
-          <el-table-column label="登录方式" min-width="60" prop="login_method" />
-          <el-table-column label="新增目标" min-width="45" prop="new_target" />
-          <el-table-column  label="新增完成" min-width="45" prop="new_complete" />
-          <el-table-column  label="留存目标" min-width="45" prop="retained_target" />
-          <el-table-column label="留存完成" min-width="45" prop="retained_complete" />
-          <el-table-column  label="付费目标" min-width="45" prop="pay_target" />
-          <el-table-column  label="付费完成" min-width="45" prop="pay_complete" />
-          <el-table-column  label="付费流水" min-width="45" prop="amount"/>
-          <el-table-column  label="手动新增" min-width="45" prop="hand_new_complete"/>
-          <el-table-column  label="手动留存" min-width="45" prop="hand_retained_complete"/>
-          <el-table-column  label="手动付费" min-width="45" prop="hand_pay_complete"/>
-          <el-table-column align="left" label="是否完成" min-width="45" prop="is_complete" >
+        <el-table :data="tableData" border @sort-change="sortChange" @selection-change="handleSelectionChange" style="width: 100%">
+          <el-table-column label="任务ID" width="70" prop="task_id" sortable="custom" />
+          <el-table-column label="任务日期" min-width="100" prop="create_date" />
+          <el-table-column label="任务名称" width="130" prop="task_name" sortable="custom" />
+          <el-table-column label="负责人" width="75" prop="user" sortable="custom" />
+          <el-table-column label="登录方式" width="75" prop="login_method" />
+          <el-table-column label="新增目标" width="75" prop="new_target" />
+          <el-table-column  label="新增完成" width="75" prop="new_complete" />
+          <el-table-column fixed="right" align="right" label="剩余新增" width="75" prop="new_target1">
+            <template #default="scope">
+              {{ scope.row.new_target <= scope.row.new_complete+scope.row.hand_new_complete  ? 0 : scope.row.new_complete+scope.row.hand_new_complete-scope.row.new_target}}
+            </template>
+          </el-table-column>
+          <el-table-column fixed="right" align="right" label="留存目标" width="75" prop="retained_target" />
+          <el-table-column fixed="right" align="right" label="留存完成" width="75" prop="retained_complete" />
+          <el-table-column fixed="right" align="right" label="剩余留存" width="75" prop="retained_target1">
+            <template #default="scope">
+              {{ scope.row.retained_target <= scope.row.retained_complete+scope.row.hand_retained_complete  ? 0 : scope.row.retained_complete+scope.row.hand_retained_complete-scope.row.retained_target}}
+            </template>
+          </el-table-column>
+          <el-table-column fixed="right" align="right"  label="付费目标" width="75" prop="pay_target" />
+          <el-table-column fixed="right" align="right" label="付费完成" width="75" prop="pay_complete" />
+          <el-table-column fixed="right" align="right" label="剩余付费" width="75" prop="pay_target1">
+            <template #default="scope">
+              {{ scope.row.pay_target <= scope.row.pay_complete+scope.row.hand_pay_complete  ? 0 : scope.row.pay_complete+scope.row.hand_pay_complete-scope.row.pay_target}}
+            </template>
+          </el-table-column>
+          <el-table-column fixed="right" align="right" label="付费流水" width="75" prop="amount"/>
+          <el-table-column fixed="right" align="right" label="手动新增" width="75" prop="hand_new_complete"/>
+          <el-table-column fixed="right" align="right" label="手动留存" width="75" prop="hand_retained_complete"/>
+          <el-table-column fixed="right" align="right" label="手动付费" width="75" prop="hand_pay_complete"/>
+          <el-table-column fixed="right" align="right" label="是否完成" width="75" prop="is_complete" >
           <template #default="scope">
             <div>
               <el-tag :type="scope.row.is_complete === -1 ? 'warning' : 'success'">{{ statusFiletr(scope.row.is_complete) }}</el-tag>
             </div>
           </template>
         </el-table-column>
-          <el-table-column align="left" fixed="right" label="操作" width="200">
+          <el-table-column fixed="right" align="right"  label="操作" width="140">
             <template #default="scope">
               <el-button
                 icon="edit"
@@ -218,6 +247,9 @@
     updateGameTaskTarget,
     getGameTaskTargetList,
   } from '@/api/task'
+  import {
+    selectResponsiblePerson,
+} from '@/api/responsiblePerson'
   import { toSQLLine } from '@/utils/stringFun'
   import warningBar from '@/components/warningBar/warningBar.vue'
   import { ref } from 'vue'
@@ -241,6 +273,7 @@
   },
 ])
 
+const ResponsiblePerson = ref([])
   
   const apis = ref([])
   const rules = ref({
@@ -332,6 +365,19 @@
     },
   ])
 
+  const searchStatusOptions = ref([
+ {
+    value: -1,
+    label: '未完成',
+    type: 'wain'
+  },
+  {
+    value: 1,
+    label: '已完成',
+    type: 'success'
+  },
+])
+
   const accountTypeOptions = ref([
     {
       id: 1,
@@ -485,7 +531,15 @@ const deleteBtn = async(btns, index) => {
   }
   
   getTableData()
+
   
+  const getResponsiblePerson = async() => {
+    const table = await selectResponsiblePerson()
+    if (table.code === 0) {
+      ResponsiblePerson.value = table.data
+    }
+  }
+  getResponsiblePerson()
   // 批量操作
   const handleSelectionChange = (val) => {
     apis.value = val

+ 39 - 18
src/view/gameTask/list.vue

@@ -31,8 +31,16 @@
           <el-table-column align="left" label="登录方式" min-width="60" prop="login_method" />
           <el-table-column align="left" label="开始时间" min-width="80" prop="date" />
           <el-table-column align="left" label="停止时间" min-width="110" prop="stop_time" />
-          <el-table-column align="left" label="新增目标" min-width="45" prop="new_target" />
-          <el-table-column align="left" label="留存目标" min-width="45" prop="retained_target" />
+          <el-table-column align="left" label="新增目标" min-width="80" prop="new_target">
+            <template #default="scope">
+              {{ scope.row.new_target_h === 0 ? 0 : scope.row.new_target+"~"+scope.row.new_target_h}}
+            </template>
+          </el-table-column>
+          <el-table-column align="left" label="留存目标" min-width="80" prop="retained_target">
+            <template #default="scope">
+              {{ scope.row.retained_target_h === scope.row.retained_target ? scope.row.retained_target_h : scope.row.retained_target+"~"+scope.row.retained_target_h}}
+            </template>
+          </el-table-column>
           <el-table-column align="left" label="付费目标" min-width="45" prop="pay_target" />
           <el-table-column align="left" label="付费单价" min-width="45" prop="pay_price"  />
           <!-- <el-table-column align="left" label="状态" min-width="60" prop="status" >
@@ -55,7 +63,7 @@
         </el-table-column>
           <el-table-column align="left" label="创建时间" min-width="120" prop="create_time" sortable="custom" />
           <el-table-column align="left" label="更新时间" min-width="120" prop="update_time" sortable="custom" />
-          <el-table-column align="left" fixed="right" label="操作" width="200">
+          <el-table-column align="left" fixed="right" label="操作" width="140">
             <template #default="scope">
               <el-button
                 icon="edit"
@@ -189,19 +197,27 @@
             </el-form>
           </el-tab-pane>
           <el-tab-pane label="数优目标">
-              <el-form ref="apiForm" :model="form" :rules="rules" label-width="80px" :inline="true">
-                <el-form-item  label="新增目标" prop="new_target">
-                <el-input v-model="form.new_target" autocomplete="off" />
-              </el-form-item>
-              <el-form-item label="付费目标" prop="pay_target">
-                <el-input v-model="form.pay_target" autocomplete="off"/>
-              </el-form-item>
-              <el-form-item label="留存目标" prop="retained_target" >
-                <el-input v-model="form.retained_target" autocomplete="off"/>
-              </el-form-item>
-              <el-form-item label="付费单价" prop="pay_price" >
-                <el-input v-model="form.pay_price" autocomplete="off"/>
-              </el-form-item>
+              <el-form ref="apiForm" :model="form" :rules="rules" label-width="120px" :inline="true">
+                <el-form-item  label="新增目标下限" prop="new_target">
+                  <el-input v-model="form.new_target" autocomplete="off" />
+                </el-form-item>
+                <el-form-item  label="新增目标上限" prop="new_target_h">
+                  <el-input v-model="form.new_target_h" autocomplete="off" />
+                </el-form-item>
+                <el-form-item label="付费目标" prop="pay_target">
+                  <el-input v-model="form.pay_target" autocomplete="off"/>
+                </el-form-item>
+            </el-form>
+            <el-form ref="apiForm" :model="form" :rules="rules" label-width="120px" :inline="true">
+                <el-form-item label="留存目标下限" prop="retained_target" >
+                  <el-input v-model="form.retained_target" autocomplete="off"/>
+                </el-form-item>
+                <el-form-item label="留存目标上限" prop="retained_target_h" >
+                  <el-input v-model="form.retained_target_h" autocomplete="off"/>
+                </el-form-item>
+                <el-form-item label="付费单价" prop="pay_price" >
+                  <el-input v-model="form.pay_price" autocomplete="off"/>
+                </el-form-item>
             </el-form>
           </el-tab-pane>
         </el-tabs>
@@ -323,14 +339,17 @@
     new_target: [
       { required: true, message: '请输入新增目标', trigger: 'blur' }
     ],
+    new_target_h: [
+      { required: true, message: '请输入新增上限', trigger: 'blur' }
+    ],
     pay_target: [
       { required: true, message: '请输入付费目标', trigger: 'blur' }
     ],
     retained_target: [
       { required: true, message: '请输入留存目标', trigger: 'blur' }
     ],
-    retained_target: [
-      { required: true, message: '请输入付费单价', trigger: 'blur' }
+    retained_target_h: [
+      { required: true, message: '请输入留存上限', trigger: 'blur' }
     ]
   })
   const form = ref({
@@ -630,6 +649,8 @@
       form.value.pay_price = Number(form.value.pay_price)
       form.value.pay_target = Number(form.value.pay_target)
       form.value.retained_target = Number(form.value.retained_target)
+      form.value.new_target_h = Number(form.value.new_target_h)
+      form.value.retained_target_h = Number(form.value.retained_target_h)
       if (valid) {
         switch (type.value) {
           case 'addCard':