Commit c93be22a authored by 黄奎's avatar 黄奎

页面修改

parent 0cd6182d
<!--意见调查表单信息-->
<style>
.resultbill-Dialog .drawerTop {
width: 100%;
height: 50px;
display: flex;
justify-content: space-between;
background-color: #f0f5fb;
padding: 5px 10px;
align-items: center;
}
.resultbill-Dialog .classFirst {
color: #000000;
font-weight: bold;
}
.resultbill-Dialog .className {
margin-left: 10px;
}
.resultinfoContent {
margin: 10px;
padding-bottom: 80px;
}
.resultinfoContent .role_Line {
width: 3px;
height: 11px;
margin-right: 10px;
background-color: #3fc4ff;
display: inline-block;
}
.resultinfoContent .backinfo_Item {
color: #000000;
font-weight: bold;
}
.resultinfoContent .backInfo_One {
margin: 20px 0;
}
.resultinfoContent .backOtherInfo {
color: #111111;
}
.resultinfoContent .backInfo_Title {
display: inline-block;
text-align: left;
color: #999999;
}
.resultinfoContent .topBaseInfo {
overflow: auto;
}
.topBaseInfo::-webkit-scrollbar {
width: 3px;
height: 3px;
background-color: #f5f5f5;
}
/*!*定义滚动条轨道 内阴影+圆角*!*/
.topBaseInfo::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
border-radius: 10px;
background-color: #f5f5f5;
}
/*!*定义滑块 内阴影+圆角*!*/
.topBaseInfo::-webkit-scrollbar-thumb {
border-radius: 10px;
-webkit-box-shadow: -webkit-gradient(linear,
0 0,
0 100%,
color-stop(0.5, rgba(255, 255, 255, 0.2)),
color-stop(0.5, transparent),
to(transparent));
background-color: #0ae;
}
</style>
<template>
<q-dialog v-model="persistent" maximized full-height seamless position="right" @hide="closeResultForm">
<q-card style="margin-top: 61px; width: 850px" class="no-border-radius resultbill-Dialog">
<div class="drawerTop">
<div style="display: flex; align-items: center">
<div class="className">
<div class="classFirst">意见调查结果</div>
</div>
</div>
</div>
<div class="resultinfoContent">
<div>
<div class="topBaseInfo">
<div class="backinfo_Item">
<span class="role_Line"></span>基本信息
</div>
<div class="row backInfo_One">
<div class="col-6">
<span class="backOtherInfo"><img :src="saveObj.obj.Photo" alt=""
style="width: 50px;height: 50px;margin-right: 10px"> {{saveObj.obj.Name}}</span>
</div>
<div class="col-6">
</div>
</div>
<div class="row backInfo_One">
<div class="col-6">
<span class="backInfo_Title">创建时间:</span>
<span class="backOtherInfo">{{saveObj.obj.CreateDateStr}}</span>
</div>
<div class="col-6">
</div>
</div>
<template v-if="saveObj.baseList&&saveObj.baseList.length>0">
<div class="topBaseInfo">
<div class="backinfo_Item">
<span class="role_Line"></span>用户信息
</div>
</div>
<template v-for="(item,index) in saveObj.baseList">
<div class="row backInfo_One" :key="index">
<div class="col-4">
<span class="backInfo_Title">{{index+1}}{{item.Title}}</span>
</div>
<div class="col-8">
<template v-if="item.SurveyType==4">
<span>{{item.TextContent}}</span>
</template>
<!-- 单选 -->
<template v-else-if="item.SurveyType==2|| item.SurveyType==3"
v-for="(subItem,subIndex) in item.SurveyOptionsList">
<q-checkbox v-model="subItem.IsCheck==1" disabled :key="subIndex" :label="subItem.OptionsName">
</q-checkbox>
</template>
<template v-else-if="item.SurveyType==1">
<el-rate v-model="item.ScoreNum" disabled show-score text-color="#ff9900"
score-template="{value}分">
</el-rate>
</template>
</div>
</div>
</template>
</template>
<template v-if="saveObj.surverList&&saveObj.surverList.length>0">
<div class="topBaseInfo">
<div class="backinfo_Item">
<span class="role_Line"></span>问卷调查表信息
</div>
</div>
<template v-for="(item,index) in saveObj.surverList">
<div class="row backInfo_One" :key="index+20000">
<div class="col-12">
<span>{{index+1}}{{item.Title}}</span>
</div>
</div>
<div class="row backInfo_One" :key="index+30000">
<div class="col-12 backOtherInfo">
<template v-if="item.SurveyType==4">
<span>{{item.TextContent}}</span>
</template>
<!-- 单选 -->
<template v-else-if="item.SurveyType==2|| item.SurveyType==3"
v-for="(subItem,subIndex) in item.SurveyOptionsList">
<q-checkbox v-model="subItem.IsCheck==1" disabled :key="subIndex" :label="subItem.OptionsName">
</q-checkbox>
</template>
<template v-else-if="item.SurveyType==1">
<el-rate v-model="item.ScoreNum" disabled show-score text-color="#ff9900"
score-template="{value}分">
</el-rate>
</template>
</div>
</div>
</template>
</template>
<template v-if="saveObj.courseArrangementList&&saveObj.courseArrangementList.length>0">
<div class="topBaseInfo">
<div class="backinfo_Item">
<span class="role_Line"></span>课程安排与设计
</div>
</div>
<template v-for="(item,index) in saveObj.courseArrangementList">
<div class="row backInfo_One" :key="index+40000">
<div class="col-12">
<span>{{index+1}}{{item.Title}}</span>
</div>
</div>
<div class="row backInfo_One" :key="index+50000">
<div class="col-12 backOtherInfo">
<template v-if="item.SurveyType==4">
<span>{{item.TextContent}}</span>
</template>
<!-- 单选 -->
<template v-else-if="item.SurveyType==2|| item.SurveyType==3"
v-for="(subItem,subIndex) in item.SurveyOptionsList">
<q-checkbox v-model="subItem.IsCheck==1" disabled :key="subIndex" :label="subItem.OptionsName">
</q-checkbox>
</template>
<template v-else-if="item.SurveyType==1">
<el-rate v-model="item.ScoreNum" disabled show-score text-color="#ff9900"
score-template="{value}分">
</el-rate>
</template>
</div>
</div>
</template>
</template>
<template v-if="saveObj.teachersSituationList&&saveObj.teachersSituationList.length>0">
<div class="topBaseInfo">
<div class="backinfo_Item">
<span class="role_Line"></span>教师授课情形
</div>
</div>
<template v-for="(item,index) in saveObj.teachersSituationList">
<div class="row backInfo_One" :key="index+60000">
<div class="col-12">
<span>{{index+1}}{{item.Title}}</span>
</div>
</div>
<div class="row backInfo_One" :key="index+70000">
<div class="col-12 backOtherInfo">
<template v-if="item.SurveyType==4">
<span>{{item.TextContent}}</span>
</template>
<!-- 单选 -->
<template v-else-if="item.SurveyType==2|| item.SurveyType==3"
v-for="(subItem,subIndex) in item.SurveyOptionsList">
<q-checkbox v-model="subItem.IsCheck==1" disabled :key="subIndex" :label="subItem.OptionsName">
</q-checkbox>
</template>
<template v-else-if="item.SurveyType==1">
<el-rate v-model="item.ScoreNum" disabled show-score text-color="#ff9900"
score-template="{value}分">
</el-rate>
</template>
</div>
</div>
</template>
</template>
<template v-if="saveObj.teachingAssistantList&&saveObj.teachingAssistantList.length>0">
<div class="topBaseInfo">
<div class="backinfo_Item">
<span class="role_Line"></span>助教老师
</div>
</div>
<template v-for="(item,index) in saveObj.teachingAssistantList">
<div class="row backInfo_One" :key="index+190000">
<div class="col-12">
<span>{{index+1}}{{item.Title}}</span>
</div>
</div>
<div class="row backInfo_One" :key="index+90000">
<div class="col-12 backOtherInfo">
<template v-if="item.SurveyType==4">
<span>{{item.TextContent}}</span>
</template>
<!-- 单选 -->
<template v-else-if="item.SurveyType==2|| item.SurveyType==3"
v-for="(subItem,subIndex) in item.SurveyOptionsList">
<q-checkbox v-model="subItem.IsCheck==1" disabled :key="subIndex" :label="subItem.OptionsName">
</q-checkbox>
</template>
<template v-else-if="item.SurveyType==1">
<el-rate v-model="item.ScoreNum" disabled show-score text-color="#ff9900"
score-template="{value}分">
</el-rate>
</template>
</div>
</div>
</template>
</template>
<template v-if="saveObj.learningEnvironmentList&&saveObj.learningEnvironmentList.length>0">
<div class="topBaseInfo">
<div class="backinfo_Item">
<span class="role_Line"></span>学习环境
</div>
</div>
<template v-for="(item,index) in saveObj.learningEnvironmentList">
<div class="row backInfo_One" :key="index+100000">
<div class="col-12">
<span>{{index+1}}{{item.Title}}</span>
</div>
</div>
<div class="row backInfo_One" :key="index+110000">
<div class="col-12 backOtherInfo">
<template v-if="item.SurveyType==4">
<span>{{item.TextContent}}</span>
</template>
<!-- 单选 -->
<template v-else-if="item.SurveyType==2|| item.SurveyType==3"
v-for="(subItem,subIndex) in item.SurveyOptionsList">
<q-checkbox v-model="subItem.IsCheck==1" disabled :key="subIndex" :label="subItem.OptionsName">
</q-checkbox>
</template>
<template v-else-if="item.SurveyType==1">
<el-rate v-model="item.ScoreNum" disabled show-score text-color="#ff9900"
score-template="{value}分">
</el-rate>
</template>
</div>
</div>
</template>
</template>
<template v-if="saveObj.opinionandsuggestionList&&saveObj.opinionandsuggestionList.length>0">
<div class="topBaseInfo">
<div class="backinfo_Item">
<span class="role_Line"></span>意见及建议
</div>
</div>
<template v-for="(item,index) in saveObj.opinionandsuggestionList">
<div class="row backInfo_One" :key="index+120000">
<div class="col-12">
<span>{{index+1}}{{item.Title}}</span>
</div>
</div>
<div class="row backInfo_One" :key="index+130000">
<div class="col-12 backOtherInfo">
<template v-if="item.SurveyType==4">
<span>{{item.TextContent}}</span>
</template>
<!-- 单选 -->
<template v-else-if="item.SurveyType==2|| item.SurveyType==3"
v-for="(subItem,subIndex) in item.SurveyOptionsList">
<q-checkbox v-model="subItem.IsCheck==1" disabled :key="subIndex" :label="subItem.OptionsName">
</q-checkbox>
</template>
<template v-else-if="item.SurveyType==1">
<el-rate v-model="item.ScoreNum" disabled show-score text-color="#ff9900"
score-template="{value}分">
</el-rate>
</template>
</div>
</div>
</template>
</template>
</div>
<q-btn class="q-mr-md" label="关闭" @click="closeResultForm" />
</div>
</div>
</q-card>
<div class="dialog-out-close" @click="closeResultForm"
style="height: 40px !important; border-top-left-radius: 4px !important; border-bottom-left-radius: 4px !important;">
<q-icon name="iconfont icon-jujue1" size="26px" />
</div>
</q-dialog>
</template>
<script>
export default {
props: {
saveObj: {
type: Object,
default: null,
},
},
data() {
return {
persistent: true,
};
},
created() {
},
mounted() {
},
methods: {
//关闭弹窗
closeResultForm() {
this.persistent = false;
this.$emit("close");
},
},
};
</script>
\ No newline at end of file
...@@ -32,14 +32,24 @@ ...@@ -32,14 +32,24 @@
<q-td :props="props"> <q-td :props="props">
<div style="max-width: 150px; overflow: hidden; <div style="max-width: 150px; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis;">{{props.row.PrizeAddress}}</div> text-overflow: ellipsis;">
{{props.row.PrizeAddress}}
<q-tooltip :offset="[10, 10]">
{{props.row.PrizeAddress}}
</q-tooltip>
</div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-Description="props"> <template v-slot:body-cell-Description="props">
<q-td :props="props"> <q-td :props="props">
<div style="max-width: 200px; overflow: hidden; <div style="max-width: 200px; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis;">{{props.row.Description}}</div> text-overflow: ellipsis;">
{{props.row.Description}}
<q-tooltip :offset="[10, 10]">
{{props.row.Description}}
</q-tooltip>
</div>
</q-td> </q-td>
</template> </template>
<template v-slot:bottom> <template v-slot:bottom>
...@@ -125,9 +135,10 @@ ...@@ -125,9 +135,10 @@
loading: true, loading: true,
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 20, pageSize: 12,
PrizeType: 0, PrizeType: 0,
Title: '', Title: '',
rowsPerPage: 12,
}, },
platList: [], platList: [],
pageCount: 0, pageCount: 0,
......
<template> <template>
<div class="resultPageList"> <div class="page-body">
<div class="el-card__header"><span>问卷调查列表</span></div> <div class="page-search row items-center">
<div class="content"> <div class="col row wrap q-col-gutter-md">
<div style="display: flex;flex-direction: row;align-items: center"> <div class="col-3">
<div class="block"> <q-input @input="getDataList" clearable dense filled v-model="msg.AliasName" label="昵称" maxlength="20" />
<div class="searchInput" style="width:250px"> </div>
<el-input style="display:inline-block;width:225px;height:30px" placeholder="请输入昵称搜索" v-model="msg.AliasName" <div class="col-3 reaultPageDate">
size="small" @clear="getList" @keyup.enter.native="getList" clearable></el-input><span @click="getList" <q-field filled dense>
class="el-icon-search" style="color:#979dad;font-size:14px;position:relative;top:1px"></span>  <template v-slot:control>
</div><span>填写时间:</span> <el-date-picker v-model="dateArray" @change="getDataList()" size="mini"  value-format="yyyy-MM-dd"
<el-date-picker v-model="dateList" @change="getList()" size="small" type="datetimerange" range-separator="至"  type="daterange"  style="border:none;"  range-separator="至"  start-placeholder="开始日期"
value-format="yyyy-MM-dd" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>  end-placeholder="结束日期" />   
</template>
</q-field>
</div> </div>
</div> </div>
</div> </div>
<div style="padding: 20px;background: #fff;"> <div class="page-content">
<el-table :data="tableData" header-cell-class-name="headClass" style="width: 100%" border> <q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat
<el-table-column prop="ID" label="ID" width="100"></el-table-column> class="sticky-right-column-table sticky-column-table" separator="none" :data="tableData" :columns="columns"
<el-table-column prop="ActiveSurveyName" label="活动名称"></el-table-column> row-key="name">
<el-table-column prop="AliasName" label="信息"><template slot-scope="scope"> <template v-slot:top>
<div class="app-image" :style="{backgroundImage:'url(' + scope.row.Photo + ')',backgroundSize:'cover'}"> <div class="col-2 q-table__title">问卷调查列表</div>
<q-space />
<div class="page-option">
</div>
</template>
<template v-slot:body-cell-AliasName="props">
<q-td :props="props">
<div class="app-image" :style="{backgroundImage:'url(' + props.row.Photo + ')',backgroundSize:'cover'}">
</div> </div>
<div flex="dir:left cross:center"> {{scope.row.AliasName}}</div> <div flex="dir:left cross:center"> {{props.row.AliasName}}</div>
</template></el-table-column> </q-td>
<el-table-column label="创建时间" prop="CreateDateStr"></el-table-column> </template>
<el-table-column fixed="right" label="操作" width="180"> <template v-slot:bottom>
<template slot-scope="scope"> <q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
<a @click="grant(scope.row)">详情</a> :input="true" @input="changePage" />
</template></el-table-column> </template>
</el-table> <template v-slot:body-cell-optioned="props">
<el-pagination style="text-align:right" background @current-change="handleCurrentChange" :page-size="msg.pageSize" <q-td :props="props">
layout="prev, pager, next" :current-page.sync="msg.pageIndex" :total="count"></el-pagination> <q-btn flat size="xs" icon="edit" color="accent" style="font-weight: 400" label="详情"
@click="showDetails(props.row)" />
</q-td>
</template>
</q-table>
</div> </div>
<el-dialog title="用户问卷调查详情" :visible.sync="dialogVisible" width="600px"> <result-form v-if="isShowResult" :save-obj="objOption" @close="closeResultForm" @success="getDataList">
<div class="wjstyle" v-if="xqdata!=null"> </result-form>
<div class="row" style="font-size: 16px;margin-bottom: 10px"><img :src="xqdata.obj.Photo" alt=""
style="width: 50px;height: 50px;margin-right: 10px"> {{xqdata.obj.Name}}
</div>
<div>创建时间: {{xqdata.obj.CreateDateStr}}
</div>
<div style="font-size: 16px;margin: 10px 0 ;font-weight: bold">用户信息</div>
<div v-for="(item,index) in xqdata.baseList" :key="index">
<div> {{index+1}}、 {{item.Title}}
</div>
<div v-if="item.SurveyType==4" style="margin: 10px 0;">
<el-input v-if="item.FormType==2" type="textarea" placeholder="请输入内容" v-model="item.TextContent" :rows="3"
size="small" :disabled="true"></el-input>
<el-input v-if="item.FormType==1" type="text" placeholder="请输入内容" v-model="item.TextContent" size="small"
:disabled="true"></el-input>
</div>
<!-- 单选 -->
<div v-if="item.SurveyType==2|| item.SurveyType==3" style="margin: 10px 0;">
<el-checkbox v-model="x.IsCheck==1?true:false" disabled v-for="(x,y) in item.SurveyOptionsList" :key="y">
{{x.OptionsName}}
</el-checkbox>
</div>
<div v-if="item.SurveyType==1" style="margin: 10px 0;">
<el-rate v-model="item.ScoreNum" disabled show-score text-color="#ff9900" score-template="{value}分">
</el-rate>
</div>
</div>
<div style="font-size: 16px;margin: 10px 0 ;font-weight: bold">问卷调查表信息</div>
<div v-for="(item,index) in xqdata.surverList" :key="index">
<div> {{index+1}}、 {{item.Title}}
</div>
<div v-if="item.SurveyType==4" style="margin: 10px 0;">
<el-input v-if="item.FormType==2" type="textarea" placeholder="请输入内容" v-model="item.TextContent" :rows="3"
size="small" :disabled="true"></el-input>
<el-input v-if="item.FormType==1" type="text" placeholder="请输入内容" v-model="item.TextContent" size="small"
:disabled="true"></el-input>
</div>
<!-- 单选 -->
<div v-if="item.SurveyType==2|| item.SurveyType==3" style="margin: 10px 0;">
<el-checkbox v-model="x.IsCheck==1?true:false" disabled v-for="(x,y) in item.SurveyOptionsList" :key="y">
{{x.OptionsName}}
</el-checkbox>
</div>
<div v-if="item.SurveyType==1" style="margin: 10px 0;">
<el-rate v-model="item.ScoreNum" disabled show-score text-color="#ff9900" score-template="{value}分">
</el-rate>
</div>
</div>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import resultForm from '../../components/activity/result-form.vue'
export default { export default {
meta: {
name: "resultPageList", title: "意见调查结果"
},
components: {
resultForm
},
data() { data() {
return { return {
msg: { msg: {
pageIndex: 1, pageIndex: 1,
pageSize: 20, pageSize: 12,
AliasName: '', AliasName: '',
StartDate: '', StartDate: '',
EndDate: '', EndDate: '',
} rowsPerPage: 12,
},
, columns: [{
name: 'ID',
label: '编号',
align: 'left',
field: 'ID'
},
{
name: 'ActiveSurveyName',
label: '问卷名称',
field: 'ActiveSurveyName',
align: 'left'
},
{
name: 'AliasName',
label: '用户信息',
field: 'AliasName',
align: 'left'
},
{
name: 'CreateDateStr',
label: '创建时间',
field: 'CreateDateStr',
align: 'left'
},
{
name: 'optioned',
label: '操作',
field: 'Tid'
}
],
tableData: [], tableData: [],
count: 0, pageCount: 0,
loading: false, loading: false,
dateList: [], dateArray: [],
dialogVisible: false, isShowResult: false,
xqdata: null, objOption: null,
} }
}, },
created() { created() {
this.getDateList(); this.getDataList();
}, },
methods: { methods: {
getDateList() { getDataList() {
this.loading = true; this.loading = true;
if (this.dateList && this.dateList.length > 0) { if (this.dateArray && this.dateArray.length > 0) {
this.msg.StartDate = this.dateList[0]; this.msg.StartDate = this.dateArray[0];
this.msg.EndDate = this.dateList[1]; this.msg.EndDate = this.dateArray[1];
} else { } else {
this.msg.StartDate = ''; this.msg.StartDate = '';
this.msg.EndDate = ''; this.msg.EndDate = '';
...@@ -125,7 +123,7 @@ ...@@ -125,7 +123,7 @@
this.loading = false; this.loading = false;
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.tableData = res.data.data.pageData; this.tableData = res.data.data.pageData;
this.count = res.data.data.count; this.pageCount = res.data.data.pageCount;
} else { } else {
this.Info(res.data.message); this.Info(res.data.message);
} }
...@@ -133,84 +131,35 @@ ...@@ -133,84 +131,35 @@
}, },
getList() { getList() {
this.msg.pageIndex = 1 this.msg.pageIndex = 1
this.getDateList(); this.getDataList();
}, },
handleCurrentChange(val) { changePage(val) {
this.msg.pageIndex = val; this.msg.pageIndex = val;
this.getDateList(); this.getDataList();
}, },
grant(row) { showDetails(row) {
this.apipostDS("/api/Survey/GetGuestSurveyDetails", { this.apipostDS("/api/Survey/GetGuestSurveyDetails", {
SurveyID: row.ID SurveyID: row.ID
}, res => { }, res => {
if (res.data.resultCode == 1) { if (res.data.resultCode == 1) {
this.xqdata = res.data.data; this.objOption = res.data.data;
this.dialogVisible = true this.isShowResult = true;
} else { } else {
this.Info(res.data.message); this.Info(res.data.message);
}
} }
})
) },
} //关闭弹窗
closeResultForm() {
this.isShowResult = false;
},
} }
} }
</script> </script>
<style> <style scoped>
.resultPageList .el-card__header { .reaultPageDate .el-input__inner {
display: flex; background: transparent !important;
flex-direction: row; border: 0 !important;
align-items: center; padding-right: 0 !important;
justify-content: space-between;
background: #fff;
}
.resultPageList .el-button--small {
padding: 9px 15px;
}
.resultPageList .content .searchInput {
border: 1px solid #DCDFE6;
border-radius: 4px;
margin-left: 20px;
}
.resultPageList .content .searchInput .el-input__inner {
border: none;
outline: none;
height: 30px;
line-height: 30px;
}
.resultPageList .content .searchInput {
line-height: normal;
display: inline-table;
border-collapse: separate;
border-spacing: 0;
width: 250px;
}
.resultPageList .content {
background: #fff;
margin-top: 10px;
padding: 15px;
box-sizing: border-box;
}
.resultPageList .app-image {
background-position: center center;
width: 50px;
height: 50px;
border-radius: 0%;
float: left;
margin-right: 8px;
}
.resultPageList .wjstyle {
width: 100%;
;
} }
</style> </style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment