ソースを参照

注册渠道管理最新页面和接口联调完成

htc 1 日 前
コミット
7ec7e3ebfe

+ 30 - 17
src/views/modules/register/channel.vue

@@ -1,10 +1,8 @@
 <template>
     <div class="agent_page">
         <div class="title">{{ ptitle }}</div>
-        <div class="query adfacjb">
-            <div class="left">
-                <el-button type="primary" icon="el-icon-plus" @click="handleAddChannel" v-hasPermi="['core:channelmanage:save']">添加渠道</el-button>
-            </div>
+        <div class="add adf">
+            <el-button type="primary" icon="el-icon-plus" @click="handleAddChannel" v-hasPermi="['core:channelmanage:save']">添加渠道</el-button>
         </div>
         <el-table :data="dataList" border cell-class-name="vertical-top-cell" v-loading="loading" empty-text="暂无渠道" max-height="578px" style="margin-top: 24px;">
             <el-table-column label="序号" width="50">
@@ -12,19 +10,20 @@
                     {{ scope.$index + 1 }}
                 </template>
             </el-table-column>
+            <el-table-column label="渠道名称" prop="channelName"></el-table-column>
             <el-table-column label="渠道类型" prop="channelType">
                 <template #default="{ row }">{{ channel_type.find(c=>c.value==row.channelType)?.label||'' }}</template>
             </el-table-column>
-            <el-table-column label="邀请二维码" prop="inviteCode">
+            <el-table-column label="创建时间" prop="createDate"></el-table-column>
+            <el-table-column label="渠道连接" prop="forwardUrl" width="300"></el-table-column>
+            <el-table-column label="渠道二维码" prop="inviteCode">
                 <template #default="{ row }">
                     <img :src="row.inviteCode" v-if="row.inviteCode" style="width: 100px;height: 100px;cursor: pointer;" @click="showBigImg(row.inviteCode)">
                 </template>
             </el-table-column>
-            <el-table-column label="创建时间" prop="createDate"></el-table-column>
-            <el-table-column label="备注" prop="remark"></el-table-column>
             <el-table-column label="操作" width="200">
                 <template #default="scope">
-                    <el-button link type="text" size="mini" @click="handleCreateCode(scope.row)" v-hasPermi="['core:channelmanage:gen']" v-if="scope.row.channelType==='scan'&&!scope.row.inviteCode">生成二维码</el-button>
+                    <el-button link type="text" size="mini" @click="handleCreateCode(scope.row)" v-hasPermi="['core:channelmanage:gen']" v-if="scope.row.channelType==='scan'">生成二维码</el-button>
                     <el-button link type="text" size="mini" @click="handleEdit(scope.row)" v-hasPermi="['core:channelmanage:update']">编辑</el-button>
                     <el-button link type="text" size="mini" @click="handleDelete(scope.row)" v-hasPermi="['core:channelmanage:delete']">删除</el-button>
                 </template>
@@ -44,13 +43,16 @@
         </el-row>
         <el-dialog width="40%" :visible.sync="show" :title="title" @close="cancel">
             <el-form ref="modelRef" :model="modelForm" :rules="modelRules" label-width="100px" style="width: 90%;margin: 0 auto;">
+                <el-form-item label="渠道名称" prop="channelName">
+                    <el-input v-model="modelForm.channelName" placeholder="请输入渠道名称"></el-input>
+                </el-form-item>
                 <el-form-item label="渠道类型" prop="channelType">
-                    <el-select v-model="modelForm.channelType" placeholder="请选择渠道类型">
+                    <el-select v-model="modelForm.channelType" placeholder="请选择渠道类型" style="width: 100%;" @change="typeChange">
                         <el-option :label="item.label" :value="item.value" v-for="item in channel_type" :key="item.id"></el-option>
                     </el-select>
                 </el-form-item>
-                <el-form-item label="备注" prop="remark">
-                    <el-input v-model="modelForm.remark" placeholder="备注"></el-input>
+                <el-form-item label="渠道链接" prop="forwardUrl">
+                    <el-input v-model="modelForm.forwardUrl" placeholder="请输入渠道链接"></el-input>
                 </el-form-item>
             </el-form>
             <div class="demo-drawer__footer" style="display: flex;justify-content: end;">
@@ -87,10 +89,14 @@
     const bigImg = ref('')
     const modelForm = ref({
         id:'',
+        channelName:'',
         channelType:'',
-        remark:''
+        forwardUrl:'',
     })
     const modelRules = ref({
+        channelName: [
+            { required: true, message: '请输入渠道名称', trigger: 'change' },
+        ],
         channelType: [
             { required: true, message: '请选择渠道类型', trigger: 'change' },
         ]
@@ -98,17 +104,22 @@
     const buttonLoading = ref(false)
     const modelRef = ref(null)
 
+    const typeChange = (val) => {
+        modelForm.value.forwardUrl = `https://wxapp.transcend-intl.cn?type=${val}`;
+    }
+
     const handleAddChannel = () => {
         reset();
-        title.value = "添加渠道类型";
+        title.value = "添加渠道";
         show.value = true;
     }
 
     const reset = () => {
         modelForm.value = {
             id:'',
+            channelName:'',
             channelType:'',
-            remark:''
+            forwardUrl:'',
         };
         proxy.resetForm("modelRef");
     }
@@ -163,7 +174,7 @@
         reset();
         getChannelInfo(row.id).then(response => {
             modelForm.value = response.data;
-            title.value = "编辑渠道类型";
+            title.value = "编辑渠道";
             show.value = true;
         });
     }
@@ -216,8 +227,10 @@
             color: #111111;
             line-height: 16px;
         }
-        .query{
-            margin-top: 24px;
+
+        .add{
+            margin-top: -10px;
+            justify-content: flex-end;
         }
     }
 

+ 15 - 1
src/views/modules/register/registerRecord.vue

@@ -5,6 +5,7 @@
             <el-select v-model="queryParams.channelType" placeholder="请选择渠道类型" style="margin-right: 20px;">
                 <el-option :label="item.label" :value="item.value" v-for="item in channel_type" :key="item.id"></el-option>
             </el-select>
+            <el-button icon="Refresh" @click="resetQuery">重置</el-button>
             <el-button type="primary" icon="el-icon-query" @click="getList">查询</el-button>
         </div>
         <el-table :data="dataList" border cell-class-name="vertical-top-cell" v-loading="loading" empty-text="暂无注册记录" max-height="578px" style="margin-top: 24px;">
@@ -13,10 +14,14 @@
                     {{ scope.$index + 1 }}
                 </template>
             </el-table-column>
+            <el-table-column label="用户昵称" prop="realName"></el-table-column>
+            <el-table-column label="手机号码" prop="mobile"></el-table-column>
+            <el-table-column label="注册编号" prop="userId"></el-table-column>
+            <el-table-column label="渠道名称" prop="channelName"></el-table-column>
             <el-table-column label="渠道类型" prop="channelType">
                 <template #default="{ row }">{{ channel_type.find(c=>c.value==row.channelType)?.label||'' }}</template>
             </el-table-column>
-            <el-table-column label="创建时间" prop="createDate"></el-table-column>
+            <el-table-column label="注册时间" prop="createDate"></el-table-column>
         </el-table>
         <el-row style="display: flex;justify-content: center;">
             <el-pagination
@@ -48,6 +53,15 @@
     const loading = ref(false)
     const total = ref(0)
 
+    
+    const resetQuery = () => {
+        queryParams.value = {
+            page:1,
+            limit:10,
+            channelType:''
+        }
+        getList();
+    }
     const getList = async () => {
         let query = {...queryParams.value};
         loading.value = true;