Prechádzať zdrojové kódy

广告渠道页面修改

小杜 4 mesiacov pred
rodič
commit
b5cc647261

+ 1 - 1
src/api/formworkErection.js

@@ -31,7 +31,7 @@ export function channelList(data) {
         data
     })
 }
-// 获取广告渠道列表
+// 获取广告列表
 export function placementList(data) {
     return request({
         url: '/agent-service/placement/list',

+ 107 - 13
src/views/main/formworkErection/appAdmin.vue

@@ -50,10 +50,11 @@
         <el-table-column label="操作" width="150" fixed="right">
           <template #default="scope">
             <div class="button">
-              <el-button class="button-item" type="primary" style="margin-bottom: 5px" @click="edit(scope.row)">
+              <el-button class="button-item" type="primary" style="margin-bottom: 5px" @click="openChannelLayer(scope.row)">
                 关联渠道
               </el-button>
-              <el-button class="button-item" type="primary" style="margin-bottom: 5px" @click="edit(scope.row)">
+              <el-button class="button-item" type="primary" style="margin-bottom: 5px"
+                         @click="edit(scope.row)">
                 编辑
               </el-button>
               <el-popconfirm placement="left" title="确认删除该数据?" @confirm="removeApp(scope.row)">
@@ -67,6 +68,37 @@
       </Table>
     </div>
 
+    <Layer :layer="channelLayer" @confirm="submit" @close="channelLayer.show=false">
+      <Table
+          @getTableData="getChanelData"
+          v-model:page="channelPage"
+          ref="channelTable"
+          :data="channelData"
+          @selection-change="handleChannelSelectionChange"
+      >
+        <el-table-column
+            type="selection"
+            width="55">
+        </el-table-column>
+
+      <!-- 原有列 -->
+      <el-table-column prop="channelId" label="渠道ID"/>
+      <el-table-column prop="channelName" label="渠道名称"/>
+      <el-table-column prop="loginType" label="登录类型">
+        <template #default="scope">
+          {{ getDictionaryName("login_type", scope.row.loginType) }}
+        </template>
+      </el-table-column>
+      <el-table-column prop="channelAccount" label="渠道账号"/>
+      <el-table-column prop="channelPwd" label="渠道密码"/>
+      <el-table-column prop="channelStatus" label="渠道状态">
+        <template #default="scope">
+          {{ getDictionaryName("channel_status", scope.row.channelStatus) }}
+        </template>
+      </el-table-column>
+      </Table>
+    </Layer>
+
     <!-- 操作弹窗 -->
     <Layer :layer="layer" @confirm="submit(ruleForm)" @close="layer.show = false">
       <el-form :model="formEdit" :rules="rules" ref="ruleForm" label-width="120px" style="margin-right: 30px">
@@ -240,7 +272,7 @@ import {
   channelUpdateOne,
   appList,
   saveOrUpdate,
-  delApp,
+  delApp, channelList,
 } from "@/api/formworkErection.js";
 import From from "@/components/from/index.vue";
 import Table from "@/components/table/index.vue";
@@ -250,6 +282,9 @@ import vCopy from '@/directive/copy'
 
 const {loadDictData, getDictionaryName} = useGetDictList();
 const tableData = ref([]);
+const channelData = ref([]);
+// 在 setup() 中
+const selectRow = ref([]); // 存储选中的行
 
 // 分页参数, 供table使用
 const page = reactive({
@@ -259,6 +294,14 @@ const page = reactive({
   total: 0,
 });
 
+
+const channelPage = reactive({
+  pageNum: 1,
+  pageSize: 20,
+  limit: 20,
+  total: 0,
+});
+
 const formSearch = ref({
   appName: null,
   channelName: null,
@@ -269,13 +312,22 @@ const formSearch = ref({
   pageSizes: 20, // 总页数
 });
 
+const channelSearch = ref({
+  limit: 20, // 当前页数量(查询量)
+  page: 1, // 当前页码
+  pageSizes: 20, // 总页数
+});
+
 const dynamicFormItems = ref([]);
 
 onBeforeMount(() => {
   settingData();
   getList();
+  getChannelList();
 });
 
+
+
 // 获取缓存数据设置筛选数据
 const settingData = () => {
   loadDictData().then(() => {
@@ -328,9 +380,26 @@ const changeTableData = () => {
   getList();
 };
 
+
+const getChanelData = () => {
+  channelSearch.value.pageNum = channelPage.pageNum;
+  channelSearch.value.pageSize = channelPage.pageSize;
+  channelSearch.value.limit = channelPage.limit;
+  // 分页切换
+  getChannelList();
+};
+
+// 分页数据
+const getChannelList = async () => {
+  let res = await channelList({ ...channelSearch.value });
+  channelData.value = res.data;
+  channelPage.total = res.pageMeta.total;
+};
+
+
 // 搜索
 const handleFormSubmitted = (formData) => {
-   console.log("接收到子组件传递的数据", formData);
+  console.log("接收到子组件传递的数据", formData);
   formSearch.value.page = 1;
   formSearch.value.pageSizes = 20;
   formSearch.value.limit = 20;
@@ -361,6 +430,12 @@ const handleSelectionChange = (val) => {
   context.emit("selection-change", val);
 };
 
+const handleChannelSelectionChange = (val) => {
+  console.log("获取渠道", val);
+  selectRow.value = val;
+  console.log(selectRow.value)
+};
+
 // 弹窗
 const layer = ref({
   show: false,
@@ -370,6 +445,14 @@ const layer = ref({
   edit: false,
 });
 
+const channelLayer = ref({
+  show: false,
+  title: "关联渠道",
+  showButton: true,
+  width: "50vw",
+  edit: false,
+});
+
 const formEdit = ref({
   store_on_sale: "",
   store_type: null,
@@ -409,8 +492,6 @@ const edit = (row) => {
     formEdit.value.store_url = row.storeUrl;
     formEdit.value.sub_category = row.subCategory;
     formEdit.value.screen_orientation = row.screenOrientation;
-    console.log("编辑的数据",row);
-    console.log("数据",formEdit)
   } else {
     layer.value.title = "新增APP";
     layer.value.edit = false;
@@ -419,6 +500,13 @@ const edit = (row) => {
   layer.value.show = true;
 };
 
+const openChannelLayer = (row) => {
+  if (row) {
+    channelLayer.value.show = true;
+  }
+
+}
+
 const ruleForm = ref(null);
 
 const rules = reactive({});
@@ -427,18 +515,24 @@ const submit = async (formEl) => {
   await formEl.validate(async (valid, fields) => {
     if (valid) {
       // 提交内容
-      console.log(formEdit.value)
+      if (layer.value.edit) {
+        //api修改需要uuid
+        formEdit.uuid = formEdit.appId;
+      }
       const result = await saveOrUpdate({...formEdit.value});
       console.log(result)
-      if (result.code ===200){
-        ElMessage.success("新增成功");
-        console.log(result.message);
+      if (result.code === 200) {
+        if (layer.value.edit) {
+          ElMessage.success("修改成功");
+          layer.value.show = false;
+        } else {
+          ElMessage.success("新增成功");
+          layer.value.show = false;
+        }
         handleFormSubmitted();
-      }
-      else {
+      } else {
         ElMessage.error(result.msg);
       }
-      layer.value.show = false;
     } else {
       console.log("error submit!", fields);
     }

+ 132 - 367
src/views/main/formworkErection/channelAdmin.vue

@@ -34,7 +34,7 @@
               <el-button class="button-item" type="success" style="margin-bottom: 5px;" @click="lookDetails(scope.row)">
                 查看详情
               </el-button>
-              <el-popconfirm placement="left" title="确认删除该用户?" @confirm="removeItem(scope.row)">
+              <el-popconfirm placement="left" title="确认删除该数据?" @confirm="removeItem(scope.row)">
                 <template #reference>
                   <el-button class="button-item" style="margin-bottom: 5px;" type="danger">删除</el-button>
                 </template>
@@ -46,233 +46,75 @@
     </div>
 
     <!-- 操作弹窗 -->
-    <el-dialog v-model="layer.show" :title="layer.title" fullscreen :before-close="close">
-      <el-form :model="detailData" :rules="rules" ref="ruleForm" label-width="240px" style="margin-right:30px;">
-        <div style="display: flex;width: 100%;">
-          <div style="flex: 1;">
-            <el-form-item label="渠道ID:" required prop="formEditbannedLimit">
-              <el-input v-model="detailData.channelId" :disabled="layer.enabled" placeholder="请输入" clearable />
-            </el-form-item>
-            <el-form-item label="渠道名称:" required prop="bannedReason">
-              <el-input v-model="detailData.channelName" :disabled="layer.enabled" placeholder="请输入" clearable />
-            </el-form-item>
-            <el-form-item label="渠道类型:" required prop="bannedReason">
-              <el-input v-model="formEdit.bannedReason" :disabled="layer.enabled" placeholder="请输入" clearable />
-            </el-form-item>
-            <el-form-item label="所属代理:" required prop="bannedReason">
-              <el-input v-model="formEdit.bannedReason" :disabled="layer.enabled" placeholder="请输入" clearable />
-            </el-form-item>
-            <el-form-item label="游戏名字:" required prop="bannedReason">
-              <el-input v-model="formEdit.bannedReason" :disabled="layer.enabled" placeholder="请输入" clearable />
-            </el-form-item>
-            <el-form-item label="APP应用:" required prop="bannedReason">
-              <el-input v-model="formEdit.bannedReason" :disabled="layer.enabled" placeholder="请输入" clearable />
-            </el-form-item>
-            <el-form-item label="游戏分类:" required prop="bannedReason">
-              <el-input v-model="formEdit.bannedReason" :disabled="layer.enabled" placeholder="请输入" clearable />
-            </el-form-item>
-            <el-form-item label="最低版本:" required prop="bannedReason">
-              <el-input v-model="formEdit.bannedReason" :disabled="layer.enabled" placeholder="请输入" clearable />
-            </el-form-item>
-            <el-form-item label="打包版本:" required prop="bannedReason">
-              <el-input v-model="formEdit.bannedReason" :disabled="layer.enabled" placeholder="请输入" clearable />
-            </el-form-item>
-            <el-form-item label="打包code:" required prop="bannedReason">
-              <el-input v-model="formEdit.bannedReason" :disabled="layer.enabled" placeholder="请输入" clearable />
-            </el-form-item>
-            <el-form-item label="更新方式:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="取回原数据:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="分成:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="显示提示语:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-          </div>
-          <div style="flex: 1;">
-            <el-form-item label="日志级别:" required prop="bannedReason">
-              <el-select v-model="value" :disabled="layer.enabled" placeholder="请输入" style="width: 240px">
-                <el-option label="1" value="1" />
-                <el-option label="2" value="2" />
-                <el-option label="3" value="3" />
+    <Layer :layer="layer" @confirm="submit(ruleForm)" @close="layer.show = false">
+      <el-form :model="formEdit" :rules="rules" ref="ruleForm" label-width="120px" style="margin-right:30px;">
+        <el-row :gutter="5">
+          <el-col :span="10">
+            <el-form-item label="登陆类型"  prop="loginType">
+              <el-select v-model="formEdit.loginType" :disabled="layer.enabled">
+                <el-option :value="1" label="账号密码"/>
+                <el-option :value="2" label="微信"/>
               </el-select>
             </el-form-item>
-            <el-form-item label="实名:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="登录:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="异常玩家登录:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="使用巨量SDK:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="使用快手SDK:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="一级风控:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="允许手机号登录:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="微信登录:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="游客登录:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="限IMEI登录:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="全服任务开关:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="提现加Q群:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="提现校验:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-
-          </div>
-          <div style="flex: 1;">
-            <el-form-item label="展示底部导航:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="显示提现入口:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="显示QQ群:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="显示邀新:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="邀请方式:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="邀请绑定方式:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="显示积分:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="启动模式:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="是否跳过权限获取:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="权限没有完全授予时允许登陆:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="看广告:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="异常玩家是否允许看广告:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="获取定位:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="读取应用列表:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-          </div>
-
-          <div style="flex: 1;">
-            <el-form-item label="读取sim卡状态:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="读取定位信息:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="读取storage信息:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="读取host:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="读取DNS:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="读取无障碍服务:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="读取VPN状态:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="后台切前台是否检查:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="是否开启短视频:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
-            </el-form-item>
-            <el-form-item label="兑换:" required prop="bannedReason">
-              <el-switch v-model="formEdit.bannedReason" :disabled="layer.enabled" active-text="开启"
-                inactive-text="关闭" />
+          </el-col>
+          <el-col :span="2"></el-col>
+          <el-col :span="10">
+            <el-form-item label="广告平台类型"  prop="adPlatformType">
+              <el-select v-model="formEdit.adPlatformType" :disabled="layer.enabled">
+                <el-option :value="15" label="穿山甲"/>
+                <el-option :value="8" label="腾讯广告"/>
+                <el-option :value="22" label="百度联盟"/>
+                <el-option :value="28" label="快手"/>
+                <el-option :value="29" label="Sigmob"/>
+              </el-select>
             </el-form-item>
-            <el-form-item label="充值:" required prop="bannedReason">
-              <el-select v-model="value" :disabled="layer.enabled" placeholder="请输入" style="width: 240px">
-                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
+          </el-col>
+        </el-row>
+
+        <el-row :gutter="5">
+          <el-col :span="10">
+            <el-form-item label="渠道账号:" required prop="channelAccount">
+              <el-input v-model="formEdit.channelAccount" :disabled="layer.enabled" placeholder="请输入" clearable />
+            </el-form-item>
+          </el-col>
+          <el-col :span="2"></el-col>
+          <el-col :span="10">
+            <el-form-item label="渠道密码:" required prop="channelPwd">
+              <el-input v-model="formEdit.channelPwd"  :disabled="layer.enabled" placeholder="请输入" clearable />
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+        <el-row :gutter="5">
+          <el-col :span="10">
+            <el-form-item label="渠道类型:"  prop="channelStatus">
+              <el-select v-model="formEdit.channelStatus" :disabled="layer.enabled">
+                <el-option :value="1" label="正常"/>
+                <el-option :value="2" label="锁定"/>
               </el-select>
             </el-form-item>
+          </el-col>
+          <el-col :span="2"></el-col>
+          <el-col :span="10">
+            <el-form-item label="请求密钥:" prop="apiKey">
+              <el-input v-model="formEdit.apiKey"  :disabled="layer.enabled" placeholder="请输入" clearable />
+            </el-form-item>
+          </el-col>
+        </el-row>
 
-            <el-form-item label="无操作X秒弹插屏:" required prop="bannedReason">
-              <el-input v-model="formEdit.bannedReason" :disabled="layer.enabled" placeholder="请输入" clearable />
+        <el-row :gutter="5">
+          <el-col :span="10">
+            <el-form-item label="请求密令:"  prop="apiSecret">
+              <el-input v-model="formEdit.apiSecret" :disabled="layer.enabled" placeholder="请输入" clearable />
             </el-form-item>
-            <el-form-item label="每日最大广告数:" required prop="bannedReason">
-              <el-input v-model="formEdit.bannedReason" :disabled="layer.enabled" placeholder="请输入" clearable />
+          </el-col>
+          <el-col :span="2"></el-col>
+          <el-col :span="10">
+            <el-form-item label="备注:"  prop="remark">
+              <el-input v-model="formEdit.remark"  :disabled="layer.enabled" placeholder="请输入" clearable />
             </el-form-item>
-          </div>
-        </div>
+          </el-col>
+        </el-row>
       </el-form>
       <template #footer>
         <div class="dialog-footer">
@@ -280,12 +122,12 @@
           <el-button v-if="!layer.enabled" type="primary" @click="submit(ruleForm)">
             确定
           </el-button>
-          <el-button v-else type="primary" @click="edit(detailData)">
+          <el-button v-else type="primary" @click="edit(formEdit)">
             切换到编辑
           </el-button>
         </div>
       </template>
-    </el-dialog>
+    </Layer>
   </div>
 </template>
 
@@ -295,7 +137,9 @@
   import Table from "@/components/table/index.vue";
   import { useGetDictList } from '@/hooks/useGetDictList.js'
   import { useStore } from 'vuex'
-  import {channelList} from "@/api/formworkErection";
+  import {channelAddOne, channelDeleteOne, channelList, channelUpdateOne, delApp} from "@/api/formworkErection";
+  import Layer from "@/components/layer/index.vue";
+  import {ElMessage} from "element-plus";
 
   const store = useStore()
   const { dictData, loadDictData, getOptions, getDictionaryName } = useGetDictList();
@@ -345,32 +189,8 @@
           type: 'input',
         },
         {
-          label: '游戏名字',
-          prop: 'nickName',
-          type: 'input',
-        },
-        {
-          label: '渠道类型',
-          prop: 'channelType',
-          type: 'select',
-          options: [
-            {
-              label: "全部",
-              value: null,
-            },
-            {
-              label: "是",
-              value: 0,
-            },
-            {
-              label: "否",
-              value: 1,
-            }
-          ]
-        },
-        {
-          label: '所属代理',
-          prop: 'channelType',
+          label: '登陆类型',
+          prop: 'loginType',
           type: 'select',
           options: [
             {
@@ -378,17 +198,17 @@
               value: null,
             },
             {
-              label: "",
+              label: "账号密码",
               value: 0,
             },
             {
-              label: "",
+              label: "微信",
               value: 1,
             }
           ]
         },
         {
-          label: 'APP应用',
+          label: '渠道状态',
           prop: 'channelType',
           type: 'select',
           options: [
@@ -406,83 +226,6 @@
             }
           ]
         },
-        {
-          label: '游戏分类',
-          prop: 'channelType',
-          type: 'select',
-          options: [
-            {
-              label: "全部",
-              value: null,
-            },
-            {
-              label: "是",
-              value: 0,
-            },
-            {
-              label: "否",
-              value: 1,
-            }
-          ]
-        },
-        {
-          label: '邀请方式',
-          prop: 'channelType',
-          type: 'select',
-          options: [
-            {
-              label: "全部",
-              value: null,
-            },
-            {
-              label: "是",
-              value: 0,
-            },
-            {
-              label: "否",
-              value: 1,
-            }
-          ]
-        },
-        {
-          label: '邀请绑定方式',
-          prop: 'channelType',
-          type: 'select',
-          options: [
-            {
-              label: "全部",
-              value: null,
-            },
-            {
-              label: "是",
-              value: 0,
-            },
-            {
-              label: "否",
-              value: 1,
-            }
-          ]
-        },
-        {
-          label: '更换包名目标渠道',
-          prop: 'channelType',
-          type: 'select',
-          options: [
-            {
-              label: "全部",
-              value: null,
-            },
-            {
-              label: "是",
-              value: 0,
-            },
-            {
-              label: "否",
-              value: 1,
-            }
-          ]
-        },
-        // { label: '登录日期', prop: 'loginTime', type: 'daterange' },
       ]
     })
   }
@@ -509,13 +252,6 @@
     formSearch.value.pageSizes = 20;
     formSearch.value.total = page.total;
     formSearch.value.limit = 20;
-    formSearch.value.nickName = formData.nickName;
-    formSearch.value.channelOrigin = formData.channelOrigin;
-    formSearch.value.channelType = formData.channelType;
-    formSearch.value.userType = formData.userType;
-    formSearch.value.lastLoginTime = formData.lastLoginTime || null
-    formSearch.value.registryTime = formData.registryTime || null
-
     getList();
   };
 
@@ -544,20 +280,38 @@
   // 弹窗
   const layer = ref({
     show: false,
-    title: "新增渠道类型",
+    title: "新增广告渠道",
     showButton: true,
-    width: '90vw',
+    width: '50vw',
     enabled: false, //查看详情时关闭其他
+    edit: false,
   });
 
   const formEdit = ref({
-    bannedLimit: null, //封禁期限
-    bannedReason: '',//封禁原因
-    bannedTargetId: '',//封禁目标ID
-    bannedType: '',//封禁类型 1-渠道 2-平台
-    operator: '',//操作人
-    operatorName: '',//操作人名称
-    userId: '', //用户ID
+    channelId: '',
+    channelName: '',
+    loginType: undefined,
+    adPlatformType:undefined,
+    channelAccount:undefined,
+    channelPwd:undefined,
+    channelStatus:undefined,
+    apiKey:undefined,
+    apiSecret:undefined,
+    remark:undefined
+  })
+  const reset=(()=>{
+    formEdit.value = ref({
+      channelId: '',
+      channelName: '',
+      loginType: undefined,
+      adPlatformType:undefined,
+      channelAccount:undefined,
+      channelPwd:undefined,
+      channelStatus:undefined,
+      apiKey:undefined,
+      apiSecret:undefined,
+      remark:undefined
+    })
   })
 
   const options = [
@@ -586,9 +340,12 @@
   const edit = (row) => {
     ruleForm.value?.resetFields()
     if (row) {
-      layer.value.title = '编辑渠道类型'
+      formEdit.value = row
+      layer.value.edit = true;
+      layer.value.title = '编辑广告渠道'
     } else {
-      layer.value.title = '新增渠道类型'
+      reset();
+      layer.value.title = '新增广告渠道'
     }
     layer.value.show = true
     layer.value.enabled = false
@@ -598,39 +355,43 @@
   const ruleForm = ref(null);
 
   const rules = reactive({
-    formEditbannedLimit: [
-      { required: true, message: "请输入封禁期限", trigger: "blur" },
-    ],
-    bannedReason: [
-      {
-        required: true,
-        message: "请输入封禁原因",
-        trigger: "blur",
-      },
-    ],
   });
 
   const submit = async (formEl) => {
     await formEl.validate(async (valid, fields) => {
       if (valid) {
         // 提交内容
-
-        layer.value.show = false
+        let result = null;
+        if (layer.value.edit) {
+          result=await channelUpdateOne({...formEdit.value});
+        }
+        else {
+          console.log(formEdit.value);
+          result=await channelAddOne({...formEdit.value})
+        }
+        if (result.code === 200) {
+          if (layer.value.edit) {
+            ElMessage.success("修改成功");
+            layer.value.show = false;
+          } else {
+            ElMessage.success("新增成功");
+            layer.value.show = false;
+          }
+          handleFormSubmitted();
+        } else {
+          ElMessage.error(result.msg);
+        }
       } else {
         console.log("error submit!", fields);
       }
-    })
-  }
-
-  const detailData = ref({})
+    });
+  };
 
   const lookDetails = (row) => {
-    console.log(row);
-    detailData.value = row
-
+    formEdit.value = row
     layer.value.show = true
     layer.value.enabled = true
-    layer.value.title = `查看${row.appName}渠道详情`
+    layer.value.title = '查看渠道详情'
   }
 
   const close = () => {
@@ -640,6 +401,10 @@
   // 删除
   const removeItem = async (row) => {
     console.log('删除', row)
+    await channelDeleteOne({channelId: row.channelId}).then((res) => {
+      ElMessage.success("删除成功");
+      handleFormSubmitted();
+    });
   }
 
 </script>

+ 3 - 3
src/views/main/formworkErection/placementAdmin.vue

@@ -256,7 +256,7 @@
     // 弹窗
     const layer = ref({
         show: false,
-        title: "新增渠道类型",
+        title: "新增广告位",
         showButton: true,
         width: '70vw'
     });
@@ -274,9 +274,9 @@
     const edit = (row) => {
         ruleForm.value?.resetFields()
         if (row) {
-            layer.value.title = '编辑渠道类型'
+            layer.value.title = '编辑广告位'
         } else {
-            layer.value.title = '新增渠道类型'
+            layer.value.title = '新增广告位'
         }
         layer.value.show = true