Explorar el Código

问卷管理相关页面画写;网站标题修改等

htc hace 1 día
padre
commit
db893b7e88

+ 1 - 1
public/index.html

@@ -3,7 +3,7 @@
 
 <head>
   <meta charset="UTF-8">
-  <title>创衡智能体平台</title>
+  <title>创衡正念企业教练</title>
   <meta http-equiv="X-UA-Compatible" content="ie=edge">
   <link rel="shortcut icon" href="<%= BASE_URL %>favicon.ico">
   <!-- 站点配置 -->

BIN
src/assets/images/agent/report_mini.png


BIN
src/assets/images/agent/send_mini.png


+ 2 - 2
src/i18n/zh-CN.js

@@ -3,8 +3,8 @@ const t = {}
 t.loading = '加载中...'
 
 t.brand = {}
-t.brand.lg = '创衡智能体平台'
-t.brand.lgbr = '创衡智能体平台'
+t.brand.lg = '创衡正念企业教练'
+t.brand.lgbr = '创衡正念企业教练'
 t.brand.mini = ''
 
 t.add = '新增' 

+ 6 - 0
src/router/index.js

@@ -60,6 +60,12 @@ export const moduleRoutes = {
     { path: '/agentKnowledgeCategory', component: () => import('@/views/modules/agent/knowledgeCategory'), name: 'agentKnowledgeCategory', meta: { title: '类目管理', isTab: false } },
     { path: '/agentUser', component: () => import('@/views/modules/agent/user'), name: 'agentUser', meta: { title: '用户管理', isTab: false } },
     { path: '/agentReport', component: () => import('@/views/modules/agent/report'), name: 'agentReport', meta: { title: '报告管理', isTab: false } },
+    { path: '/agentQuestionnaire', component: () => import('@/views/modules/agent/questionnaire'), name: 'agentQuestionnaire', meta: { title: '问卷管理', isTab: false } },
+    { path: '/agentQuestionnaireList', component: () => import('@/views/modules/agent/questionnaireList'), name: 'agentQuestionnaireList', meta: { title: '问卷列表', isTab: false } },
+    { path: '/agentQuestionnaireSchedule', component: () => import('@/views/modules/agent/questionnaire/schedule'), name: 'agentQuestionnaireSchedule', meta: { title: '问卷作答进度', isTab: false } },
+    { path: '/agentQuestionnaireReport', component: () => import('@/views/modules/agent/questionnaire/report'), name: 'agentQuestionnaireReport', meta: { title: '问卷报告', isTab: false } },
+    { path: '/agentQuestionnaireDetail', component: () => import('@/views/modules/agent/questionnaire/detail'), name: 'agentQuestionnaireDetail', meta: { title: '问卷详情', isTab: false } },
+    { path: '/agentQuestionnairePublish', component: () => import('@/views/modules/agent/questionnaire/publish'), name: 'agentQuestionnairePublish', meta: { title: '发布问卷', isTab: false } },
   ]
 }
 

+ 1 - 1
src/views/main-navbar.vue

@@ -2,7 +2,7 @@
   <nav class="aui-navbar">
     <div class="aui-navbar__header">
       <div class="aui-navbar__brand">
-        <span>创衡智能体平台</span>
+        <span>创衡正念企业教练</span>
       </div>
     </div>
     <div class="aui-navbar__body">

+ 0 - 15
src/views/modules/agent/knowledgeCreate.vue

@@ -1,15 +0,0 @@
-<template>
-    <div class="page">
-        
-    </div>
-</template>
-
-<script setup name="">
-    import { ref, getCurrentInstance } from 'vue'
-    const { proxy } = getCurrentInstance();
-    
-</script>
-
-<style scoped lang="scss">
-    
-</style>

+ 255 - 0
src/views/modules/agent/questionnaire.vue

@@ -0,0 +1,255 @@
+<template>
+    <div class="page">
+        <div class="top adfacjb">
+            <div class="t_l">
+                <p>问卷管理</p>
+                <p class="tip">创建和管理PERILL评估问卷</p>
+            </div>
+            <div class="t_r">
+                <el-button type="primary" icon="el-icon-plus">发送问卷</el-button>
+            </div>
+        </div>
+        <div class="query adfacjb">
+            <el-input placeholder="搜索问卷" prefix-icon="el-icon-search" v-model="queryParams.name" style="width: calc(100% - 448px);"></el-input>
+            <el-select v-model="queryParams.status" placeholder="全部状态" style="width: 200px;"></el-select>
+            <el-select v-model="queryParams.sort" placeholder="排序方式" style="width: 200px;"></el-select>
+        </div>
+        <div class="list">
+            <div class="l_item" v-for="(item, index) in dataList" :key="index">
+                <div class="li_top adfacjb">
+                    <div class="lt_l">项目名称:{{ item.programName }}</div>
+                    <div class="lt_r adfac">
+                        <div class="lr_pre adfac" @click="handleSchedule(item)">
+                            <img src="@/assets/images/agent/send_mini.png">
+                            <span>查看进度</span>
+                        </div>
+                        <div class="lr_pre adfac" @click="handleReport(item)">
+                            <img src="@/assets/images/agent/report_mini.png">
+                            <span>查看报告</span>
+                        </div>
+                        <div class="lr_status" :class="{'jxz':item.status===0,'ywc':item.status===1}">{{ item.status===0?'进行中':(item.status===1?'已完成':'未知') }}</div>
+                    </div>
+                </div>
+                <div class="li_team">团队名称:{{ item.teamName }}</div>
+                <div class="li_wj">问卷名称:{{ item.questionnaireName }}</div>
+                <div class="li_time_person adf">
+                    <div class="ltp">发布时间:{{ item.fbTime }}</div>
+                    <div class="ltp">截止时间:{{ item.jzTime }}</div>
+                    <div class="ltp">团队成员:<span>{{ item.teamWcPerson||0 }}/{{item.teamPersons||0}}</span>完成</div>
+                    <div class="ltp">发送人:{{ item.sendPerson }}</div>
+                </div>
+                <div class="li_jd">
+                    <div class="lj" :style="{'width':(item.teamWcPerson/item.teamPersons*100)+'%'}"></div>
+                </div>
+                <div class="li_text adfacjb">
+                    <span>完成情况</span>
+                    <span>{{ ((item.teamWcPerson/item.teamPersons)*100).toFixed(0) }}%</span>
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script setup name="">
+    import { ref, getCurrentInstance } from 'vue'
+    const { proxy } = getCurrentInstance();
+    
+    const queryParams = ref({
+        name: '',
+        status: '',
+        sort: ''
+    })
+    const dataList = ref([
+        {
+            programName:'TechCorp 领导团队评估',
+            teamName:'产品研发 · 创新科技',
+            questionnaireName:'对领导团队进行全面PERILL评估,以确定强项和发展机会。',
+            fbTime:'4月20日 14:09 ',
+            jzTime:'4月20日 14:09 ',
+            teamPersons:12,
+            teamWcPerson:3,
+            sendPerson:'刘俊',
+            status:0
+        },
+        {
+            programName:'TechCorp 领导团队评估',
+            teamName:'产品研发 · 创新科技',
+            questionnaireName:'对领导团队进行全面PERILL评估,以确定强项和发展机会。',
+            fbTime:'4月20日 14:09 ',
+            jzTime:'4月20日 14:09 ',
+            teamPersons:12,
+            teamWcPerson:12,
+            sendPerson:'刘俊',
+            status:1
+        },
+    ])
+
+    const handleSchedule = (item) => {
+        proxy.$router.push({
+            path: '/agentQuestionnaireSchedule',
+            query:{
+                questionnaireName: item.questionnaireName
+            }
+        })
+    }
+</script>
+
+<style scoped lang="scss">
+    .page{
+        padding: 28px 20px;
+        background: #FAFAFA;
+        
+        .top{
+            .t_l{
+                p{
+                    font-family: PingFang-SC, PingFang-SC;
+                    font-weight: bold;
+                    font-size: 16px;
+                    color: #252525;
+                    line-height: 16px;
+                    &.tip{
+                        font-family: PingFangSC, PingFang SC;
+                        font-weight: 400;
+                        font-size: 14px;
+                        color: #6B7280;
+                        line-height: 14px;
+                        margin-top: 16px;
+                    }
+
+                }
+            }
+        }
+
+        .query{
+            width: 100%;
+            padding: 16px 20px;
+            box-sizing: border-box;
+            background: #FFFFFF;
+            border-radius: 6px;
+            border: 1px solid #F3F4F6;
+            margin-top: 16px;
+        }
+
+        .list{
+            width: 100%;
+            height: calc(100vh - 196px);
+            overflow-y: auto;
+            margin-top: 4px;
+            .l_item{
+                width: 100%;
+                padding: 20px 24px;
+                box-sizing: border-box;
+                margin-top: 16px;
+                background: #FFFFFF;
+                border-radius: 6px;
+                border: 1px solid #F3F4F6;
+                .li_top{
+                    .lt_l{
+                        font-family: PingFang-SC, PingFang-SC;
+                        font-weight: bold;
+                        font-size: 14px;
+                        color: #252525;
+                        line-height: 14px;
+                        overflow: hidden;
+                        text-overflow: ellipsis;
+                        white-space: nowrap;
+                    }
+                    .lt_r{
+                        .lr_pre{
+                            cursor: pointer;
+                            margin-right: 36px;
+                            img{
+                                width: 20px;
+                                height: 20px;
+                            }
+                            span{
+                                font-family: PingFangSC, PingFang SC;
+                                font-weight: 400;
+                                font-size: 14px;
+                                color: #6B7280;
+                                line-height: 20px;
+                                margin-left: 8px;
+                            }
+                        }
+                        .lr_status{
+                            width: 76px;
+                            height: 24px;
+                            border-radius: 12px;
+                            font-family: PingFangSC, PingFang SC;
+                            font-weight: 400;
+                            font-size: 14px;
+                            line-height: 24px;
+                            text-align: center;
+                            &.jxz{
+                                background: #FCECB6;
+                                color: #864F10;
+                            }
+                            &.ywc{
+                                background: rgba(0,145,145,0.1);
+                                color: #009191;
+                            }
+                        }
+                    }
+                }
+                .li_team{
+                    font-family: PingFangSC, PingFang SC;
+                    font-weight: 400;
+                    font-size: 14px;
+                    color: #6B7280;
+                    line-height: 14px;
+                    margin-top: 16px;
+                }
+                .li_wj{
+                    font-family: PingFang-SC, PingFang-SC;
+                    font-weight: bold;
+                    font-size: 14px;
+                    color: #252525;
+                    line-height: 16px;
+                    margin-top: 24px;
+                }
+                .li_time_person{
+                    margin-top: 16px;
+                    .ltp{
+                        font-family: PingFangSC, PingFang SC;
+                        font-weight: 400;
+                        font-size: 14px;
+                        color: #6B7280;
+                        line-height: 14px;
+                        margin-right: 142px;
+                        span{
+                            font-weight: bold;
+                            font-size: 16px;
+                            color: #761E6A;
+                        }
+                    }
+                }
+                .li_jd{
+                    width: 100%;
+                    height: 8px;
+                    background: #F3F4F6;
+                    border-radius: 4px;
+                    position: relative;
+                    margin-top: 20px;
+                    .lj{
+                        height: 100%;
+                        background: linear-gradient( 270deg, #9D5F94 0%, #904A87 100%);
+                        border-radius: 4px;
+                        position: absolute;
+                        left: 0;
+                        top: 0;
+                    }
+                }
+                .li_text{
+                    margin-top: 10px;
+                    span{
+                        font-family: PingFangSC, PingFang SC;
+                        font-weight: 400;
+                        font-size: 14px;
+                        color: #646464;
+                        line-height: 14px;
+                    }
+                }
+            }
+        }
+    }
+</style>

+ 54 - 0
src/views/modules/agent/questionnaire/detail.vue

@@ -0,0 +1,54 @@
+<template>
+    <div class="page">
+        <div class="top adfac">
+            <img src="@/assets/images/agent/arrow_left.png" @click="handleBack">
+            <div class="spans">
+                <span>项目管理</span>
+                <span class="last">&nbsp;/&nbsp;问卷详情</span>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script setup name="">
+    import { ref, getCurrentInstance } from 'vue'
+    const { proxy } = getCurrentInstance();
+    
+    const handleBack = () => {
+        proxy.$router.go(-1)
+    }
+</script>
+
+<style scoped lang="scss">
+    .page{
+        background: #FAFAFA;
+        .top{
+            width: 100%;
+            height: 64px;
+            background: #FFFFFF;
+            border-bottom: 1px solid #F3F4F6;
+            
+            img{
+                width: 36px;
+                height: 36px;
+                margin-left: 16px;
+                cursor: pointer;
+            }
+            .spans{
+                display: flex;
+                align-items: center;
+                margin-left: 23px;
+                span{
+                    font-family: PingFangSC, PingFang SC;
+                    font-weight: 400;
+                    font-size: 14px;
+                    color: #6B7280;
+                    line-height: 14px;
+                    &.last{
+                        color: #111111;
+                    }
+                }
+            }
+        }
+    }
+</style>

+ 54 - 0
src/views/modules/agent/questionnaire/publish.vue

@@ -0,0 +1,54 @@
+<template>
+    <div class="page">
+        <div class="top adfac">
+            <img src="@/assets/images/agent/arrow_left.png" @click="handleBack">
+            <div class="spans">
+                <span>项目管理</span>
+                <span class="last">&nbsp;/&nbsp;发送问卷</span>
+            </div>
+        </div>
+    </div>
+</template>
+
+<script setup name="">
+    import { ref, getCurrentInstance } from 'vue'
+    const { proxy } = getCurrentInstance();
+    
+    const handleBack = () => {
+        proxy.$router.go(-1)
+    }
+</script>
+
+<style scoped lang="scss">
+    .page{
+        background: #FAFAFA;
+        .top{
+            width: 100%;
+            height: 64px;
+            background: #FFFFFF;
+            border-bottom: 1px solid #F3F4F6;
+            
+            img{
+                width: 36px;
+                height: 36px;
+                margin-left: 16px;
+                cursor: pointer;
+            }
+            .spans{
+                display: flex;
+                align-items: center;
+                margin-left: 23px;
+                span{
+                    font-family: PingFangSC, PingFang SC;
+                    font-weight: 400;
+                    font-size: 14px;
+                    color: #6B7280;
+                    line-height: 14px;
+                    &.last{
+                        color: #111111;
+                    }
+                }
+            }
+        }
+    }
+</style>

+ 62 - 0
src/views/modules/agent/questionnaire/report.vue

@@ -0,0 +1,62 @@
+<template>
+    <div class="page">
+        <div class="top adfacjb">
+            <div class="t_l adfac">
+                <img src="@/assets/images/agent/arrow_left.png" @click="handleBack">
+                <span>查看报告</span>
+            </div>
+            <div class="t_r">
+                <el-button type="primary">下载</el-button>
+            </div>
+        </div>
+        <div class="content adfacjc">
+
+        </div>
+    </div>
+</template>
+
+<script setup name="">
+    import { ref, getCurrentInstance } from 'vue'
+    const { proxy } = getCurrentInstance();
+    
+    const handleBack = () => {
+        proxy.$router.back();
+    }
+</script>
+
+<style scoped lang="scss">
+    .page{
+        background: #FAFAFA;
+        .top{
+            width: 100%;
+            height: 64px;
+            background: #FFFFFF;
+            border: 1px solid #F3F4F6;
+            padding: 0 24px;
+            box-sizing: border-box;
+            .t_l{
+                img{
+                    width: 36px;
+                    height: 36px;
+                    cursor: pointer;
+                }
+                span{
+                    font-family: PingFangSC, PingFang SC;
+                    font-weight: 400;
+                    font-size: 14px;
+                    color: #252525;
+                    line-height: 14px;
+                    margin-left: 27px;
+                }
+            }
+        } 
+        
+        .content{
+            width: calc(100% - 24px);
+            height: calc(100vh - 88px);
+            margin: 12px;
+            border-radius: 6px 6px 0px 0px;
+            border: 1px solid #F3F4F6;
+        }
+    }
+</style>

+ 204 - 0
src/views/modules/agent/questionnaire/schedule.vue

@@ -0,0 +1,204 @@
+<template>
+    <div class="page">
+        <div class="top adfac">
+            <img src="@/assets/images/agent/arrow_left.png" @click="handleBack">
+            <span>{{ questionnaireName }}</span>
+        </div>
+        <div class="content">
+            <div class="c_top adfacjb">
+                <div class="ct_l adfac">
+                    <div class="cl_title">问卷作答进度</div>
+                    <div class="cl_pre">发布时间:<span>{{ '2025-05-02 14:00:00' }}</span></div>
+                    <div class="cl_pre">截止时间:<span>{{ '2025-05-02 14:00:00' }}</span></div>
+                    <div class="cl_pre">项目名称:<span>{{ 'TechCorp 领导团队评估' }}</span></div>
+                </div>
+                <div class="ct_r adfac">
+                    <template v-if="multipleSelection.length">
+                        <p>已选择:<span>{{ multipleSelection.length }}人</span></p>
+                        <el-button type="default" style="margin-left: 20px;" @click="handleCancel">取消</el-button>
+                    </template>
+                    <el-button type="primary" style="margin-left: 20px;" @click="handleReminds">批量提醒</el-button>
+                </div>
+            </div>
+            <div class="c_nums adfac">
+                <div class="cn_pre">团队人数:<span>{{ 30 }}</span></div>
+                <div class="cn_pre">已作答:<span>{{ 27 }}</span> 人</div>
+                <div class="cn_pre">未作答:<span style="color: #E22D48;">{{ 3 }}</span> 人</div>
+            </div>
+            <el-table :data="userList" border cell-class-name="vertical-top-cell" v-loading="loading" empty-text="暂无人员" max-height="672px" style="margin-top: 16px;" @selection-change="handleSelectionChange">
+                <el-table-column type="selection" width="55"></el-table-column>
+                <el-table-column label="姓名" prop="aaa"></el-table-column>
+                <el-table-column label="性别" prop="bbb">
+                    <template #default="{ row }"></template>
+                </el-table-column>
+                <el-table-column label="手机号码" prop="aaa"></el-table-column>
+                <el-table-column label="所属部门" prop="aaa"></el-table-column>
+                <el-table-column label="职位" prop="aaa"></el-table-column>
+                <el-table-column label="用户标签" prop="aaa"></el-table-column>
+                <el-table-column label="发送人" prop="aaa"></el-table-column>
+                <el-table-column label="所属上级" prop="aaa"></el-table-column>
+                <el-table-column label="状态" prop="status">
+                    <template #default="{ row }"></template>
+                </el-table-column>
+                <el-table-column label="提交时间" prop="aaa"></el-table-column>
+                <el-table-column label="操作" width="150">
+                    <template #default="scope">
+                        <el-button link type="text" size="mini" @click="handleReport(scope.row)" v-if="scope.row.status===1">查看报告</el-button>
+                        <el-button link type="text" size="mini" @click="handleRemind(scope.row)" v-if="scope.row.status===0">提醒作答</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+        </div>
+    </div>
+</template>
+
+<script setup name="">
+    import { ref, getCurrentInstance } from 'vue'
+    const { proxy } = getCurrentInstance();
+    
+    const questionnaireName = proxy.$route.query.questionnaireName;
+    const multipleSelection = ref([])
+    const userList = ref([{status:1},{status:0}])
+    const loading = ref(false)
+    const handleBack = () => {
+        proxy.$router.go(-1)
+    }
+    const handleSelectionChange = (val) => {
+        multipleSelection.value = val;
+    }
+    const handleCancel = () => {
+        multipleSelection.value = []
+    }
+    const handleReminds = () => {
+        if(!multipleSelection.value.length) return proxy.$message({ type: 'warning', message: '请选择需要提醒的人员' })
+        proxy.$confirm('是否确认发送通知提醒??', '警告', {
+            confirmButtonText: '确定',
+            confirmButtonColor:'#833478',
+            cancelButtonText: '取消',
+            type: 'warning'
+        }).then(() => {
+            
+        })
+    }
+
+    const handleReport = (row) => {
+        proxy.$router.push({ path: '/agentQuestionnaireReport' })
+    }
+    const handleRemind = (row) => {
+        proxy.$confirm('是否确认发送通知提醒??', '警告', {
+            confirmButtonText: '确定',
+            confirmButtonColor:'#833478',
+            cancelButtonText: '取消',
+            type: 'warning'
+        }).then(() => {
+            
+        })
+    }
+</script>
+
+<style scoped lang="scss">
+    :v-deep .el-dialog__wrapper{
+        background: rgba(0,0,0,.3) !important;
+    }
+    ::v-deep .el-dialog__title{
+        font-weight: bold !important;
+    }
+    ::v-deep .el-dialog{
+        margin-top: 15vh !important;
+    }
+
+    .page{
+        background: #FAFAFA;
+        
+        .top{
+            width: 100%;
+            height: 64px;
+            background: #FFFFFF;
+            border-bottom: 1px solid #F3F4F6;
+            img{
+                width: 36px;
+                height: 36px;
+                margin-left: 16px;
+                cursor: pointer;
+            }
+            span{
+                font-family: PingFangSC, PingFang SC;
+                font-weight: 400;
+                font-size: 14px;
+                color: #252525;
+                line-height: 14px;
+                margin-left: 27px;
+            }
+        }
+
+        .content{
+            width: calc(100% - 24px);
+            height: calc(100vh - 88px);
+            margin: 12px;
+            background: #FFFFFF;
+            border-radius: 6px 6px 0px 0px;
+            border: 1px solid #F3F4F6;
+            padding: 32px 24px;
+            box-sizing: border-box;
+            overflow-y: auto;
+
+            .c_top{
+                .ct_l{
+                    .cl_title{
+                        font-family: PingFang-SC, PingFang-SC;
+                        font-weight: bold;
+                        font-size: 16px;
+                        color: #252525;
+                        line-height: 16px;
+                    }
+                    .cl_pre{
+                        font-family: PingFang-SC, PingFang-SC;
+                        font-weight: bold;
+                        font-size: 16px;
+                        color: #808080;
+                        line-height: 16px;
+                        margin-left: 30px;
+                        span{
+                            color: #252525;
+                        }
+                    }
+                }
+                .ct_r{
+                    p{
+                        font-family: PingFang-SC, PingFang-SC;
+                        font-weight: bold;
+                        font-size: 16px;
+                        color: #808080;
+                        line-height: 16px;
+                        span{
+                            color: #252525;
+                        }
+                    }
+                }
+            }
+
+            .c_nums{
+                width: 100%;
+                height: 68px;
+                background: rgba(118,30,106,0.06);
+                border-radius: 6px;
+                margin-top: 37px;
+                padding: 0 25px;
+                box-sizing: border-box;
+                .cn_pre{
+                    font-family: PingFang-SC, PingFang-SC;
+                    font-weight: bold;
+                    font-size: 14px;
+                    color: #808080;
+                    margin-right: 153px;
+                    span{
+                        font-family: DINAlternate, DINAlternate;
+                        font-size: 22px;
+                        color: #1D2129;
+                        line-height: 28px;
+                    }
+                }
+            }
+        }
+    }
+</style>

+ 134 - 1
src/views/modules/agent/questionnaireList.vue

@@ -1,6 +1,51 @@
 <template>
     <div class="page">
-        
+        <div class="top adfacjb">
+            <div class="t_l">
+                <p>问卷管理</p>
+                <p class="tip">创建和管理PERILL评估问卷</p>
+            </div>
+            <div class="t_r">
+                <el-button type="primary" icon="el-icon-plus">新增问卷</el-button>
+            </div>
+        </div>
+        <div class="query adfacjb">
+            <el-input placeholder="搜索问卷" prefix-icon="el-icon-search" v-model="queryParams.name" style="width: calc(100% - 448px);"></el-input>
+            <el-select v-model="queryParams.type" placeholder="全部类型" style="width: 200px;"></el-select>
+            <el-select v-model="queryParams.sort" placeholder="排序方式" style="width: 200px;"></el-select>
+        </div>
+        <div class="list">
+            <el-table :data="dataList" border cell-class-name="vertical-top-cell" v-loading="loading" empty-text="暂无问卷" max-height="578px">
+                <el-table-column label="序号" width="50">
+                    <template #default="scope">
+                        {{ scope.$index + 1 }}
+                    </template>
+                </el-table-column>
+                <el-table-column label="问卷标题" prop="aaa"></el-table-column>
+                <el-table-column label="创建人" prop="aaa"></el-table-column>
+                <el-table-column label="创建时间" prop="aaa"></el-table-column>
+                <el-table-column label="问卷类型" prop="aaa"></el-table-column>
+                <el-table-column label="操作" width="200">
+                    <template #default="scope">
+                        <el-button link type="text" size="mini" @click="handleRelease(scope.row)">发布问卷</el-button>
+                        <el-button link type="text" size="mini" @click="handleEdit(scope.row)">修改</el-button>
+                        <el-button link type="text" size="mini" @click="handleDelete(scope.row)">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <el-row style="display: flex;justify-content: center;">
+                <el-pagination
+                    @size-change="handleSizeChange"
+                    @current-change="handleCurrentChange"
+                    :current-page="queryParams.page"
+                    :page-sizes="[5, 10, 20, 50]"
+                    :page-size="10"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="total"
+                    v-show="total > 0">
+                </el-pagination>
+            </el-row>
+        </div>
     </div>
 </template>
 
@@ -8,8 +53,96 @@
     import { ref, getCurrentInstance } from 'vue'
     const { proxy } = getCurrentInstance();
     
+    const queryParams = ref({
+        page:1,
+        limit:10,
+        name: '',
+        type: '',
+        sort: ''
+    })
+    const dataList = ref([1,2,3])
+    const total = ref(0)
+    const loading = ref(false)
+
+
+    const getList = async () => {
+        let query = {...queryParams.value};
+        loading.value = true;
+        // const res = await listOrder(query);
+        // userList.value = res.data.list;
+        // total.value = res.data.total;
+        loading.value = false;
+    }
+    const handleSizeChange = (e)=>{
+        queryParams.value.limit = e;
+        getList();
+    }
+    const handleCurrentChange = (e)=>{
+        queryParams.value.page = e;
+        getList();
+    }
+
+    const handleRelease = row => {
+        proxy.$router.push({path:'/agentQuestionnairePublish'});
+    }
+    const handleEdit = row => {
+        proxy.$router.push({path:'/agentQuestionnaireDetail'});
+    }
+    const handleDelete = row => {
+        proxy.$confirm('确定删除该问卷吗?', '提示', {
+            confirmButtonText: '确定',
+            confirmButtonColor:'#761E6A',
+            cancelButtonText: '取消',
+            type: 'warning'
+        }).then(() => {
+            
+        })
+    }
 </script>
 
 <style scoped lang="scss">
     
+    .page{
+        padding: 28px 20px;
+        background: #FAFAFA;
+        
+        .top{
+            .t_l{
+                p{
+                    font-family: PingFang-SC, PingFang-SC;
+                    font-weight: bold;
+                    font-size: 16px;
+                    color: #252525;
+                    line-height: 16px;
+                    &.tip{
+                        font-family: PingFangSC, PingFang SC;
+                        font-weight: 400;
+                        font-size: 14px;
+                        color: #6B7280;
+                        line-height: 14px;
+                        margin-top: 16px;
+                    }
+
+                }
+            }
+        }
+
+        .query{
+            width: 100%;
+            padding: 16px 20px;
+            box-sizing: border-box;
+            background: #FFFFFF;
+            border-radius: 6px;
+            border: 1px solid #F3F4F6;
+            margin-top: 16px;
+        }
+        
+        .list{
+            width: 100%;
+            height: calc(100vh - 204px);
+            background: #FFFFFF;
+            overflow-y: auto;
+            margin-top: 12px;
+        }
+    }
 </style>