Commit a60f0c00 authored by 黄奎's avatar 黄奎

页面修改

parent 5f26064d
...@@ -444,13 +444,56 @@ export function saveArea(data) { ...@@ -444,13 +444,56 @@ export function saveArea(data) {
}) })
} }
/**
* 获取问卷调查主表分页列表
*/
export function queryEducationSurveyMainPage(data) {
return request({
url: '/EduSurvey/GetEducationSurveyMainPage',
method: 'post',
data
})
}
/**
* 获取问卷调查主表列表
*/
export function queryEducationSurveyMainList(data) {
return request({
url: '/EduSurvey/GetEducationSurveyMainList',
method: 'post',
data
})
}
/**
* 根据编号删除问卷
*/
export function deleteEducationSurveyMain(data) {
return request({
url: '/EduSurvey/RemoveEducationSurveyMain',
method: 'post',
data
})
}
/**
* 新增修改问卷调查
*/
export function saveEducationSurveyMain(data) {
return request({
url: '/EduSurvey/SetEducationSurveyMain',
method: 'post',
data
})
}
/** /**
* 获取学生问卷调查信息分页列表 * 获取学生问卷调查信息分页列表
*/ */
export function querySurveyPage(data) { export function querySurveyQuestionPage(data) {
return request({ return request({
url: '/Survey/GetPageList', url: '/EduSurvey/GetSurveyQuestionPage',
method: 'post', method: 'post',
data data
}) })
...@@ -459,9 +502,9 @@ export function querySurveyPage(data) { ...@@ -459,9 +502,9 @@ export function querySurveyPage(data) {
/** /**
* 根据编号获取学生问卷调查信息详情 * 根据编号获取学生问卷调查信息详情
*/ */
export function querySurveyInfo(data) { export function querySurveyQuestion(data) {
return request({ return request({
url: '/Survey/GetSurvey', url: '/EduSurvey/GetSurveyQuestion',
method: 'post', method: 'post',
data data
}) })
...@@ -471,7 +514,7 @@ export function querySurveyInfo(data) { ...@@ -471,7 +514,7 @@ export function querySurveyInfo(data) {
*/ */
export function queryGuestSurvey(data) { export function queryGuestSurvey(data) {
return request({ return request({
url: '/Survey/GetGuestSurvey', url: '/EduSurvey/GetGuestSurvey',
method: 'post', method: 'post',
data data
}) })
...@@ -479,9 +522,9 @@ export function queryGuestSurvey(data) { ...@@ -479,9 +522,9 @@ export function queryGuestSurvey(data) {
/** /**
* 根据编号删除学生问卷调查信息 * 根据编号删除学生问卷调查信息
*/ */
export function deleteSurvey(data) { export function deleteSurveyQuestion(data) {
return request({ return request({
url: '/Survey/DelSurvey', url: '/EduSurvey/DelSurveyQuestion',
method: 'post', method: 'post',
data data
}) })
...@@ -490,9 +533,9 @@ export function deleteSurvey(data) { ...@@ -490,9 +533,9 @@ export function deleteSurvey(data) {
/** /**
* 新增修改学生问卷调查信息 * 新增修改学生问卷调查信息
*/ */
export function saveSurvey(data) { export function saveSurveyQuestion(data) {
return request({ return request({
url: '/Survey/SetSurvey', url: '/EduSurvey/SetSurveyQuestion',
method: 'post', method: 'post',
data data
}) })
...@@ -502,7 +545,7 @@ export function saveSurvey(data) { ...@@ -502,7 +545,7 @@ export function saveSurvey(data) {
*/ */
export function querySurveyShowList(data) { export function querySurveyShowList(data) {
return request({ return request({
url: '/Survey/GetSurveyShowList', url: '/EduSurvey/GetSurveyShowList',
method: 'post', method: 'post',
data data
}) })
...@@ -513,7 +556,7 @@ export function querySurveyShowList(data) { ...@@ -513,7 +556,7 @@ export function querySurveyShowList(data) {
*/ */
export function queryStudentSurveyPage(data) { export function queryStudentSurveyPage(data) {
return request({ return request({
url: '/Survey/GetStudentSurveyPage', url: '/EduSurvey/GetStudentSurveyPage',
method: 'post', method: 'post',
data data
}) })
...@@ -522,9 +565,9 @@ export function queryStudentSurveyPage(data) { ...@@ -522,9 +565,9 @@ export function queryStudentSurveyPage(data) {
/** /**
* 填写意见调查表信息 * 填写意见调查表信息
*/ */
export function setEducationSurvey(data) { export function setStuEducationSurvey(data) {
return request({ return request({
url: '/Survey/SetEducationSurvey', url: '/EduSurvey/SetStuEducationSurvey',
method: 'post', method: 'post',
data data
}) })
...@@ -534,7 +577,7 @@ export function setEducationSurvey(data) { ...@@ -534,7 +577,7 @@ export function setEducationSurvey(data) {
*/ */
export function querySurveyTypeEnumList(data) { export function querySurveyTypeEnumList(data) {
return request({ return request({
url: '/Survey/GetSurveyTypeEnumList', url: '/EduSurvey/GetSurveyTypeEnumList',
method: 'post', method: 'post',
data data
}) })
......
...@@ -355,7 +355,7 @@ export function saveStudentBaseInfo(data) { ...@@ -355,7 +355,7 @@ export function saveStudentBaseInfo(data) {
*/ */
export function queryQrCodeImage(data) { export function queryQrCodeImage(data) {
return request({ return request({
url: '/Survey/GetQrCodeImage', url: '/EduSurvey/GetQrCodeImage',
method: 'post', method: 'post',
data data
}) })
......
...@@ -178,24 +178,22 @@ ...@@ -178,24 +178,22 @@
<!-- <div class="text-blue cursor-pointer" @click="getStudentSurvey(item)"> <!-- <div class="text-blue cursor-pointer" @click="getStudentSurvey(item)">
问卷调查 问卷调查
</div> --> </div> -->
<div class="text-blue cursor-pointer"> <!-- <div class="text-blue cursor-pointer">
<div push flat color="text-blue cursor-pointer" @click="getStudentSurveyImg(item,index)"> <div push flat color="text-blue cursor-pointer" @click="getStudentSurveyImg(item,index)">
问卷调查 问卷调查
<q-popup-proxy> <q-popup-proxy>
<div style="width:185px;padding:10px;border-radius:8px"> <div style="width:185px;padding:10px;border-radius:8px">
<q-img <q-img :src="item.QrCodeUrl">
:src="item.QrCodeUrl" <template v-slot:loading>
> <div class="text-subtitle1 text-white">
<template v-slot:loading> Loading...
<div class="text-subtitle1 text-white"> </div>
Loading... </template>
</div> </q-img>
</template> </div>
</q-img> </q-popup-proxy>
</div>
</q-popup-proxy>
</div> </div>
</div> </div> -->
</td> </td>
</tr> </tr>
</template> </template>
...@@ -209,10 +207,6 @@ ...@@ -209,10 +207,6 @@
</div> </div>
<studentRight-form v-if="isShowStuRight" :BelongType="BelongType" :save-obj="stuOption" @close="closeStuForm" <studentRight-form v-if="isShowStuRight" :BelongType="BelongType" :save-obj="stuOption" @close="closeStuForm"
@success="refreshTable"> @success="refreshTable">
</studentRight-form> </studentRight-form>
...@@ -260,18 +254,15 @@ ...@@ -260,18 +254,15 @@
<q-dialog v-if="isShowQrCode"> <q-dialog v-if="isShowQrCode">
<template> <template>
<div class="q-pa-md"> <div class="q-pa-md">
<q-img <q-img :src="QrCodeUrl" style="height: 140px; max-width: 150px">
:src="QrCodeUrl" <template v-slot:loading>
style="height: 140px; max-width: 150px" <div class="text-subtitle1 text-white">
> Loading...
<template v-slot:loading> </div>
<div class="text-subtitle1 text-white"> </template>
Loading... </q-img>
</div> </div>
</template> </template>
</q-img>
</div>
</template>
</q-dialog> </q-dialog>
</div> </div>
</template> </template>
...@@ -283,7 +274,7 @@ ...@@ -283,7 +274,7 @@
} from "../../../api/sale/sale"; } from "../../../api/sale/sale";
import { import {
saveStudentBaseInfo, //保存学员信息 saveStudentBaseInfo, //保存学员信息
queryQrCodeImage,//问卷调查二维码生成 queryQrCodeImage, //问卷调查二维码生成
} from "../../../api/school/index"; } from "../../../api/school/index";
import UeEditor from "../../editor/UeEditor"; import UeEditor from "../../editor/UeEditor";
export default { export default {
...@@ -322,8 +313,8 @@ ...@@ -322,8 +313,8 @@
isShowStuFU: false, isShowStuFU: false,
isShowStuRight: false, isShowStuRight: false,
isShowStuBaseInfo: false, isShowStuBaseInfo: false,
isShowQrCode:false, isShowQrCode: false,
QrCodeUrl:"", QrCodeUrl: "",
stuloading: false, stuloading: false,
//学习目的列表 //学习目的列表
goalsList: [], goalsList: [],
...@@ -395,38 +386,36 @@ ...@@ -395,38 +386,36 @@
this.OpenNewUrl('/teacher/studentStudy', qObj) this.OpenNewUrl('/teacher/studentStudy', qObj)
}, },
//点击生成二维码 //点击生成二维码
getStudentSurveyImg(obj,index) { getStudentSurveyImg(obj, index) {
// console.log(this.$refs.qDateProxy[index],'--');
// this.$refs.qDateProxy[index].show()
if (this.dataObj.RList[index].QrCodeUrl === "") { if (this.dataObj.RList[index].QrCodeUrl === "") {
let codeMsg={ let codeMsg = {
pUrl:"system/surveyStudent", pUrl: "system/surveyStudent",
StudentId:obj.StuId, StudentId: obj.StuId,
StuName:obj.StuName StuName: obj.StuName,
} MainId: 0,
queryQrCodeImage(codeMsg).then(res => {
if (res.Code == 1) {
this.isShowQrCode=true;
this.dataObj.RList[index].QrCodeUrl = "data:image/png;base64,"+res.Data
console.log("res",res);
// this.stuloading = false;
// this.isShowStuBaseInfo = false;
codeMsg={};
} }
}); queryQrCodeImage(codeMsg).then(res => {
if (res.Code == 1) {
this.isShowQrCode = true;
this.dataObj.RList[index].QrCodeUrl = "data:image/png;base64," + res.Data
codeMsg = {};
}
});
} }
}, },
//点击生成二维码,先跳转到页面吧 //点击生成二维码,先跳转到页面吧
getStudentSurvey(obj) { getStudentSurvey(obj) {
let nowUserInfo = JSON.parse(localStorage.getItem("loginUserInfo")).data let nowUserInfo = JSON.parse(localStorage.getItem("loginUserInfo")).data
var qObj = { var qObj = {
StuId: obj.StuId, StuId: obj.StuId,
StuName: obj.StuName, StuName: obj.StuName,
GuestId:obj.GuestId, GuestId: obj.GuestId,
CourseRateName:obj.CourseRateName, CourseRateName: obj.CourseRateName,
Group_Id:nowUserInfo.Group_Id Group_Id: nowUserInfo.Group_Id
}; };
this.OpenNewUrl('/system/surveyStudent', qObj) this.OpenNewUrl('/system/surveyStudent', qObj)
}, },
//清除 //清除
clearMsg() { clearMsg() {
......
...@@ -33,15 +33,16 @@ ...@@ -33,15 +33,16 @@
</div> </div>
<div v-for="(sItem,sIndex) in objOption.SurveyOptionsList" :key="sIndex"> <div v-for="(sItem,sIndex) in objOption.SurveyOptionsList" :key="sIndex">
<div class="row wrap"> <div class="row wrap">
<q-input filled class="col-10 q-pr-lg q-pb-lg" v-model="sItem.OptionsName" :label="`选项${sIndex+1}`" :dense="false"></q-input> <q-input filled class="col-10 q-pr-lg q-pb-lg" v-model="sItem.OptionsName" :label="`选项${sIndex+1}`"
<q-input filled stack-label :dense="false" v-model="sItem.Sort" :dense="false"></q-input>
class="col-2 q-pr-lg q-pb-lg" label="排序" :rules="[val => !!val || '请输入排序']"> <q-input filled stack-label :dense="false" v-model="sItem.Sort" class="col-2 q-pr-lg q-pb-lg" label="排序"
:rules="[val => !!val || '请输入排序']">
<template v-slot:append> <template v-slot:append>
<q-btn round dense flat icon="delete" @click="delSurveyOptions(sIndex)" /> <q-btn round dense flat icon="delete" @click="delSurveyOptions(sIndex)" />
</template> </template>
</q-input> </q-input>
</div>
</div> </div>
</div>
</template> </template>
</q-card-section> </q-card-section>
<q-separator /> <q-separator />
...@@ -55,36 +56,44 @@ ...@@ -55,36 +56,44 @@
</template> </template>
<script> <script>
import {
number
} from 'echarts';
import { import {
querySurveyTypeEnumList, querySurveyTypeEnumList,
saveSurvey, saveSurveyQuestion,
querySurveyInfo querySurveyQuestion
} from '../../api/common/common' } from '../../api/common/common'
export default { export default {
props: { props: {
saveObj: { saveObj: {
type: Object, type: Object,
default: null default: null
},
MainId: {
type: number,
default: 0,
} }
}, },
data() { data() {
return { return {
persistent: true, persistent: true,
objOption: { objOption: {
MainId: 0,
ID: 0, //编号 ID: 0, //编号
Title: "", //问题名称 Title: "", //问题名称
SurveyType: 1, //问题类型见枚举参数 SurveyType: 1, //问题类型见枚举参数
Sort: 0, //排序 Sort: 0, //排序
IsShow: 1, //0-不显示,1-显示 IsShow: 1, //0-不显示,1-显示
SurveyOptionsList:[], SurveyOptionsList: [],
}, },
optionTitle: "", optionTitle: "",
SurveyTypeEnumList: [], //问题类型 SurveyTypeEnumList: [], //问题类型
saveLoading: false, saveLoading: false,
SurveyOptionsItem:{ SurveyOptionsItem: {
ID:0, ID: 0,
OptionsName:"", OptionsName: "",
Sort:0, Sort: 0,
} }
} }
}, },
...@@ -96,18 +105,18 @@ ...@@ -96,18 +105,18 @@
this.initObj() this.initObj()
}, },
methods: { methods: {
delSurveyOptions(index){ delSurveyOptions(index) {
this.objOption.SurveyOptionsList.splice(index, 1); this.objOption.SurveyOptionsList.splice(index, 1);
if(this.objOption&&this.objOption.SurveyOptionsList&&this.objOption.SurveyOptionsList.length>0){ if (this.objOption && this.objOption.SurveyOptionsList && this.objOption.SurveyOptionsList.length > 0) {
this.objOption.SurveyOptionsList.forEach((item,index) => { this.objOption.SurveyOptionsList.forEach((item, index) => {
item.Sort=index+1; item.Sort = index + 1;
}); });
} }
}, },
addSurveyOptions(){ addSurveyOptions() {
this.objOption.SurveyOptionsList.push(JSON.parse(JSON.stringify(this.SurveyOptionsItem))); this.objOption.SurveyOptionsList.push(JSON.parse(JSON.stringify(this.SurveyOptionsItem)));
this.objOption.SurveyOptionsList.forEach((item,index) => { this.objOption.SurveyOptionsList.forEach((item, index) => {
item.Sort=index+1; item.Sort = index + 1;
}); });
}, },
...@@ -123,13 +132,14 @@ ...@@ -123,13 +132,14 @@
this.objOption.ProviceId = ""; this.objOption.ProviceId = "";
this.objOption.CityId = ""; this.objOption.CityId = "";
}, },
//初始化表单 //初始化表单
initObj() { initObj() {
if (this.saveObj && this.saveObj.ID > 0) { if (this.saveObj && this.saveObj.ID > 0) {
querySurveyInfo({ querySurveyQuestion({
SurveyID: this.saveObj.ID SurveyID: this.saveObj.ID
}).then(res => { }).then(res => {
var tempData = res.Data; var tempData = res.Data;
this.objOption.MainId=tempData.MainId;
this.objOption.ID = tempData.ID; this.objOption.ID = tempData.ID;
this.objOption.Title = tempData.Title; this.objOption.Title = tempData.Title;
this.objOption.SurveyType = tempData.SurveyType; this.objOption.SurveyType = tempData.SurveyType;
...@@ -140,11 +150,12 @@ ...@@ -140,11 +150,12 @@
this.optionTitle = "修改学生意见调查" this.optionTitle = "修改学生意见调查"
} else { } else {
this.optionTitle = "新增学生意见调查" this.optionTitle = "新增学生意见调查"
this.objOption.MainId=this.MainId;
this.objOption.ID = 0; this.objOption.ID = 0;
this.objOption.Title = ''; this.objOption.Title = '';
this.objOption.SurveyType = 1; this.objOption.SurveyType = 1;
this.objOption.Sort = 0; this.objOption.Sort = 0;
this.objOption.IsShow =1; this.objOption.IsShow = 1;
this.objOption.SurveyOptionsList = []; this.objOption.SurveyOptionsList = [];
} }
}, },
...@@ -156,7 +167,7 @@ ...@@ -156,7 +167,7 @@
//保存菜单 //保存菜单
setSurvey() { setSurvey() {
this.saveLoading = true; this.saveLoading = true;
saveSurvey(this.objOption).then(res => { saveSurveyQuestion(this.objOption).then(res => {
this.saveLoading = false this.saveLoading = false
this.$q.notify({ this.$q.notify({
icon: 'iconfont icon-chenggong', icon: 'iconfont icon-chenggong',
...@@ -172,7 +183,8 @@ ...@@ -172,7 +183,8 @@
}) })
} }
}, },
}
}
</script> </script>
...@@ -2,74 +2,69 @@ ...@@ -2,74 +2,69 @@
<q-dialog v-model="persistent" content-class="bg-grey-1" persistent transition-show="scale" transition-hide="scale"> <q-dialog v-model="persistent" content-class="bg-grey-1" persistent transition-show="scale" transition-hide="scale">
<q-card style="width: 800px;max-width:900px;"> <q-card style="width: 800px;max-width:900px;">
<q-card-section> <q-card-section>
<div class="text-h6">老师上课质量调查问卷</div> <div class="text-h6">{{optionTitle}}老师上课质量调查问卷</div>
</q-card-section> </q-card-section>
<q-card-section class="q-pt-none scroll" style="max-height: 70vh"> <q-card-section class="q-pt-none scroll" style="max-height: 70vh">
<div class="text-caption q-mb-lg q-px-md text-grey-6">老师上课质量调查问卷</div> <div class="text-caption q-mb-lg q-px-md text-grey-6">{{optionTitle}}老师上课质量调查问卷</div>
<div class="row wrap" style="margin-bottom:10px;"> <div class="row wrap" style="margin-bottom:10px;">
<div class="col-12"> <div class="col-12">
<div style="float:left;">{{saveObj.StudentName}}选择评价的老师:</div> <div style="float:left;">{{saveObj.StudentName}} 评价的老师:</div>
<div style="text-decoration:underline;"> {{saveObj.TeacherName}}</div> <div style="text-decoration:underline;"> {{saveObj.TeacherName}}</div>
</div> </div>
</div>
</div> <template v-if="data&&data.length>0">
<div v-for="(item,index) in data">
<template v-if="data&&data.length>0"> <div>{{index+1}}{{item.Title}}</div>
<div v-for="(item,index) in data" > <div class="row wrap">
<div>{{index+1}}{{item.Title}}</div> <div class="col-12">
<div class="row wrap" > <template v-if="item.SurveyType === 1">
<div class="col-12"> <q-rating v-model="item.ScoreNum" size="1.5em" icon="thumb_up" min="1" readonly />
<template v-if="item.SurveyType === 1"> <span class="ratestyle" v-if="item.ScoreNum==5">非常满意</span>
<q-rating v-model="item.ScoreNum" size="1.5em" icon="thumb_up" min="1" readonly/> <span class="ratestyle" v-if="item.ScoreNum==4">满意</span>
<span class="ratestyle" v-if="item.ScoreNum==5">非常满意</span> <span class="ratestyle" v-if="item.ScoreNum==3">感觉一般</span>
<span class="ratestyle" v-if="item.ScoreNum==4">满意</span> <span class="ratestyle" v-if="item.ScoreNum==2">不满意</span>
<span class="ratestyle" v-if="item.ScoreNum==3">感觉一般</span> <span class="ratestyle" v-if="item.ScoreNum==1">非常不满意</span>
<span class="ratestyle" v-if="item.ScoreNum==2">不满意</span> </template>
<span class="ratestyle" v-if="item.ScoreNum==1">非常不满意</span> <template v-if="item.SurveyType === 2">
</template> <div class="q-gutter-sm">
<template v-if="item.SurveyType === 2">
<div class="q-gutter-sm" >
<q-list> <q-list>
<q-radio v-for="(radio, rIndex) in item.SurveyOptionsList" :key="rIndex" disable v-model="item.ScoreNum" :label="radio.OptionsName" :val="radio.ID" /> <q-radio v-for="(radio, rIndex) in item.SurveyOptionsList" :key="rIndex" disable
v-model="item.ScoreNum" :label="radio.OptionsName" :val="radio.ID" />
</q-list> </q-list>
</div> </div>
</template>
</template> <template v-if="item.SurveyType === 3">
<template v-if="item.SurveyType === 3"> <div class="q-gutter-sm">
<div class="q-gutter-sm" > <q-list>
<q-list> <q-checkbox v-for="(radio, rIndex) in item.SurveyOptionsList" disable :key="rIndex"
<q-checkbox v-for="(radio, rIndex) in item.SurveyOptionsList" disable :key="rIndex" v-model="item.CheckInfo" :val="radio.ID" :label="radio.OptionsName" /> v-model="item.CheckInfo" :val="radio.ID" :label="radio.OptionsName" />
</q-list> </q-list>
</div> </div>
</template>
</template> <template v-if="item.SurveyType === 4">
<template v-if="item.SurveyType === 4"> <q-field label="" stack-label>
<template v-slot:control>
<q-input type="textarea" :rows="2" :placeholder="$t('fnc.qsrneirong')" v-model="item.TextContent" disable> <div class="self-center full-width no-outline" tabindex="0">{{item.TextContent}}</div>
</q-input> </template>
</q-field>
</template>
<!-- <q-input type="textarea" :rows="2" v-model="item.TextContent" disable>
</q-input> -->
</template>
</div>
</div>
</div> </div>
</div> </template>
</div>
</template>
</q-card-section> </q-card-section>
<q-separator /> <q-separator />
<q-card-actions align="right" class="bg-white"> <q-card-actions align="right" class="bg-white">
<q-btn label="关闭" flat color="grey-10" style="font-weight:400 !important" @click="closeSaveForm" /> <q-btn label="关闭" flat color="grey-10" style="font-weight:400 !important" @click="closeSaveForm" />
</q-card-actions> </q-card-actions>
</q-card> </q-card>
</q-dialog> </q-dialog>
</template> </template>
<script> <script>
import { import {
querySurveyTypeEnumList,
saveSurvey,
queryGuestSurvey queryGuestSurvey
} from '../../api/common/common' } from '../../api/common/common'
export default { export default {
...@@ -82,47 +77,34 @@ ...@@ -82,47 +77,34 @@
data() { data() {
return { return {
persistent: true, persistent: true,
data:[], data: [],
optionTitle: "", optionTitle: "",
SurveyTypeEnumList: [], //问题类型
saveLoading: false,
} }
}, },
created() { created() {
this.getSurveyTypeEnumList();
}, },
mounted() { mounted() {
this.initObj() this.initObj()
}, },
methods: { methods: {
//初始化表单
//获取类型列表 initObj() {
getSurveyTypeEnumList() {
querySurveyTypeEnumList({}).then(res => {
this.SurveyTypeEnumList = res.Data;
})
},
//初始化表单
initObj() {
if (this.saveObj && this.saveObj.ID > 0) { if (this.saveObj && this.saveObj.ID > 0) {
queryGuestSurvey({ queryGuestSurvey({
SurveyID: this.saveObj.ID SurveyID: this.saveObj.ID
}).then(res => { }).then(res => {
this.data = res.Data; this.data = res.Data.surverList;
this.optionTitle = res.Data.Title;
}) })
}
}
}, },
//关闭弹窗 //关闭弹窗
closeSaveForm() { closeSaveForm() {
this.$emit('close') this.$emit('close')
this.persistent = false this.persistent = false
}, },
},
}, }
} </script>
</script>
\ No newline at end of file
...@@ -12,11 +12,10 @@ ...@@ -12,11 +12,10 @@
@input="refreshPage()" /> @input="refreshPage()" />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select filled stack-label class="col-6 q-pr-lg" option-value="Id" option-label="Name" <q-select filled stack-label class="col-6 q-pr-lg" option-value="Id" option-label="Name" v-model="msg.IsShow"
v-model="msg.IsShow" :options="ShowList" emit-value map-options label="是否显示" :options="ShowList" emit-value map-options label="是否显示" @input="refreshPage()" />
@input="refreshPage()" />
</div> </div>
</div> </div>
</div> </div>
<div class="page-content"> <div class="page-content">
...@@ -26,67 +25,63 @@ ...@@ -26,67 +25,63 @@
<div class="col-2 q-table__title">问卷调查信息</div> <div class="col-2 q-table__title">问卷调查信息</div>
<q-space /> <q-space />
<div class="page-option"> <div class="page-option">
<q-btn push flat color="accent" class="q-mr-md bg-accent text-white" icon="edit" label="问卷调查二维码" size="sm" @click="getStudentSurveyImg()"> <q-btn push flat color="accent" class="q-mr-md bg-accent text-white" icon="edit" label="问卷调查二维码" size="sm"
<q-popup-proxy> @click="getStudentSurveyImg()">
<div style="width:185px;padding:10px;border-radius:8px"> <q-popup-proxy>
<q-img <div style="width:185px;padding:10px;border-radius:8px">
:src="qrCodelUrl" <q-img :src="qrCodelUrl">
>
<template v-slot:loading> <template v-slot:loading>
<div class="text-subtitle1 text-white"> <div class="text-subtitle1 text-white">
Loading... Loading...
</div> </div>
</template> </template>
</q-img> </q-img>
</div> </div>
</q-popup-proxy> </q-popup-proxy>
</q-btn> </q-btn>
<q-btn color="accent" class="q-mr-md" size="sm" icon="add" label="新增" @click="editSurvey(null)" /> <q-btn color="accent" class="q-mr-md" size="sm" icon="add" label="新增" @click="editSurvey(null)" />
</div> </div>
</template> </template>
<template v-slot:bottom> <template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount" <q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" /> :input="true" @input="changePage" />
</template> </template>
<template v-slot:body-cell-optioned="props"> <template v-slot:body-cell-optioned="props">
<q-td :props="props"> <q-td :props="props">
<q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑" <q-btn flat size="small" icon="edit" color="accent" style="font-weight:400" label="编辑"
@click="editSurvey(props.row)" /> @click="editSurvey(props.row)" />
<q-btn flat size="small" icon="delete" color="negative" style="font-weight:400" label="删除"
<q-btn flat size="xs" icon="delete" color="negative" style="font-weight:400" label="删除"
@click="delSurvey(props.row)" /> @click="delSurvey(props.row)" />
</q-td> </q-td>
</template> </template>
</q-table> </q-table>
<area-form v-if="isShowAreaForm" :save-obj="areaObjOption" @close="refreshPage" @success="refreshPage"> <survey-form v-if="isShowAreaForm" :save-obj="areaObjOption" :MainId="msg.MainId" @close="refreshPage"
</area-form> @success="refreshPage">
</survey-form>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { import {
querySurveyPage, querySurveyQuestionPage,
deleteSurvey, deleteSurveyQuestion,
querySurveyTypeEnumList querySurveyTypeEnumList
} from '../../api/common/common' } from '../../api/common/common'
import { import {
queryQrCodeImage,//问卷调查二维码生成 queryQrCodeImage, //问卷调查二维码生成
} from "../../api/school/index" } from "../../api/school/index"
import areaForm from '../../components/system/survey-form' import surveyForm from '../../components/system/survey-form'
export default { export default {
meta: { meta: {
title: "学生问卷调查管理" title: "学生问卷调查管理"
}, },
components: { components: {
areaForm, surveyForm,
}, },
data() { data() {
return { return {
currentUrl: "", currentUrl: "",
columns: [ columns: [{
{
name: 'Title', name: 'Title',
label: '问题名称', label: '问题名称',
field: 'Title', field: 'Title',
...@@ -109,7 +104,7 @@ ...@@ -109,7 +104,7 @@
required: true, required: true,
label: '是否显示', label: '是否显示',
align: 'left', align: 'left',
field: row => row.IsShow==1?'显示':"不显示" field: row => row.IsShow == 1 ? '显示' : "不显示"
}, },
{ {
name: 'optioned', name: 'optioned',
...@@ -124,15 +119,32 @@ ...@@ -124,15 +119,32 @@
pageSize: 12, pageSize: 12,
rowsPerPage: 12, rowsPerPage: 12,
Title: "", Title: "",
SurveyType:-1, SurveyType: -1,
IsShow:-1, IsShow: -1,
MainId: 0,
}, },
pageCount: 0, pageCount: 0,
isShowAreaForm: false, //是否显示新增修改地区表单 isShowAreaForm: false, //是否显示新增修改地区表单
areaObjOption: null, areaObjOption: null,
SurveyTypeEnumList: [], //问题类型 SurveyTypeEnumList: [], //问题类型
ShowList: [{Id:-1,Name:'不限'},{Id:1,Name:'显示'},{Id:0,Name:'不显示'}], //问题类型 ShowList: [{
qrCodelUrl:"", Id: -1,
Name: '不限'
}, {
Id: 1,
Name: '显示'
}, {
Id: 0,
Name: '不显示'
}], //问题类型
qrCodelUrl: "",
}
},
created() {
if (this.$route.query) {
if (this.$route.query.MainId) {
this.msg.MainId = this.$route.query.MainId;
}
} }
}, },
mounted() { mounted() {
...@@ -141,33 +153,36 @@ ...@@ -141,33 +153,36 @@
this.getSurveyTypeEnumList(); this.getSurveyTypeEnumList();
}, },
methods: { methods: {
//获取类型列表 //获取类型列表
getSurveyTypeEnumList() { getSurveyTypeEnumList() {
querySurveyTypeEnumList({}).then(res => { querySurveyTypeEnumList({}).then(res => {
res.Data.unshift({Id:-1,Name:"不限"}); res.Data.unshift({
Id: -1,
Name: "不限"
});
this.SurveyTypeEnumList = res.Data; this.SurveyTypeEnumList = res.Data;
}) })
}, },
//点击生成二维码 //点击生成二维码
getStudentSurveyImg() { getStudentSurveyImg() {
if (this.qrCodelUrl=== "") { if (this.qrCodelUrl === "") {
let codeMsg={ let codeMsg = {
pUrl:"system/surveyStudent", pUrl: "system/surveyStudent",
StudentId:0, StudentId: 0,
StuName:"" StuName: "",
} MainId: this.msg.MainId,
queryQrCodeImage(codeMsg).then(res => {
if (res.Code == 1) {
this.qrCodelUrl= "data:image/png;base64,"+res.Data
codeMsg={};
} }
}); queryQrCodeImage(codeMsg).then(res => {
if (res.Code == 1) {
this.qrCodelUrl = "data:image/png;base64," + res.Data
codeMsg = {};
}
});
} }
}, },
//删除问卷调查信息 //删除问卷调查信息
delSurvey(item) { delSurvey(item) {
var that=this; var that = this;
this.$q.dialog({ this.$q.dialog({
title: '提示信息', title: '提示信息',
message: '是否确定删除?', message: '是否确定删除?',
...@@ -179,7 +194,7 @@ ...@@ -179,7 +194,7 @@
let delMsg = { let delMsg = {
SurveyID: item.ID, SurveyID: item.ID,
} }
deleteSurvey(delMsg).then(res => { deleteSurveyQuestion(delMsg).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
that.$q.notify({ that.$q.notify({
icon: 'iconfont icon-chenggong', icon: 'iconfont icon-chenggong',
...@@ -219,7 +234,7 @@ ...@@ -219,7 +234,7 @@
//获取地区分页列表 //获取地区分页列表
getSurveypage() { getSurveypage() {
this.loading = true; this.loading = true;
querySurveyPage(this.msg).then(res => { querySurveyQuestionPage(this.msg).then(res => {
this.loading = false this.loading = false
this.data = res.Data.PageData this.data = res.Data.PageData
this.pageCount = res.Data.PageCount this.pageCount = res.Data.PageCount
...@@ -229,7 +244,9 @@ ...@@ -229,7 +244,9 @@
}, },
} }
} }
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
</style>
\ No newline at end of file </style>
This diff is collapsed.
...@@ -3,50 +3,33 @@ ...@@ -3,50 +3,33 @@
<div class="page-search row items-center"> <div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md"> <div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3"> <div class="col-3">
<q-select <q-select filled v-model="msg.MainId" use-input :dense="false" ref="Teacher_Id" label="筛选问卷" option-value="Id"
filled option-label="Title" :options="ServeyMainList" @input="refreshPage()" class="col-3 q-pb-lg" emit-value
v-model="msg.TeacherId" map-options>
use-input </q-select>
:dense="false"
ref="Teacher_Id"
label="选择评价的老师"
option-value="TId" option-label="TeacherName"
:options="TeacherList"
@filter="filterFnTeacher"
@input="refreshPage()"
class="col-6 q-pb-lg"
emit-value map-options >
<template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
No results
</q-item-section>
</q-item>
</template>
</q-select>
</div>
<!-- <div class="col-3">
<q-select filled stack-label class="col-6 q-pr-lg" option-value="Id" option-label="Name"
v-model="msg.TeacherId" :options="SurveyTypeEnumList" emit-value map-options label="问题类型"
@input="refreshPage()" />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select filled stack-label class="col-6 q-pr-lg" option-value="Id" option-label="Name" <q-select filled v-model="msg.TeacherId" use-input :dense="false" ref="Teacher_Id" label="选择评价的老师"
v-model="msg.StudentId" :options="ShowList" emit-value map-options label="是否显示" option-value="TId" option-label="TeacherName" :options="TeacherList" @filter="filterFnTeacher"
@input="refreshPage()" /> @input="refreshPage()" class="col-3 q-pb-lg" emit-value map-options>
</div> --> <template v-slot:no-option>
<q-item>
<q-item-section class="text-grey">
No results
</q-item-section>
</q-item>
</template>
</q-select>
</div>
</div> </div>
</div> </div>
<div class="page-content"> <div class="page-content">
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table" <q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
separator="none" :data="data" :columns="columns" row-key="name"> separator="none" :data="data" :columns="columns" row-key="name">
<template v-slot:top="props"> <template v-slot:top1>
<div class="col-2 q-table__title">老师问卷调查汇总</div> <div class="col-2 q-table__title">老师问卷调查汇总</div>
<q-space /> <q-space />
</template> </template>
<template v-slot:bottom> <template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount" <q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" /> :input="true" @input="changePage" />
...@@ -66,8 +49,7 @@ ...@@ -66,8 +49,7 @@
<script> <script>
import { import {
queryStudentSurveyPage, queryStudentSurveyPage,
deleteSurvey, queryEducationSurveyMainList
querySurveyTypeEnumList
} from '../../api/common/common' } from '../../api/common/common'
import { import {
getTeacherListByGroupId getTeacherListByGroupId
...@@ -83,7 +65,12 @@ ...@@ -83,7 +65,12 @@
data() { data() {
return { return {
currentUrl: "", currentUrl: "",
columns: [ columns: [{
name: 'Title',
label: '问卷名称',
field: 'Title',
align: 'left'
},
{ {
name: 'TeacherName', name: 'TeacherName',
label: '老师', label: '老师',
...@@ -117,37 +104,42 @@ ...@@ -117,37 +104,42 @@
pageSize: 12, pageSize: 12,
rowsPerPage: 12, rowsPerPage: 12,
TeacherId: -1, TeacherId: -1,
StudentId:-1, StudentId: -1,
MainId: "",
}, },
pageCount: 0, pageCount: 0,
isShowAreaForm: false, //是否显示新增修改地区表单 isShowAreaForm: false, //是否显示新增修改地区表单
areaObjOption: null, areaObjOption: null,
SurveyTypeEnumList: [], //问题类型 ServeyMainList: [], //问卷列表
ShowList: [{Id:-1,Name:'不限'},{Id:1,Name:'显示'},{Id:0,Name:'不显示'}], //问题类型
} }
}, },
mounted() { mounted() {
this.currentUrl = this.$route.path this.currentUrl = this.$route.path;
this.getServeyMainList();
this.GetTeacherList(); this.GetTeacherList();
this.getSurveypage(); this.getSurveypage();
}, },
methods: { methods: {
//获取教师下拉 getServeyMainList() {
GetTeacherList() { queryEducationSurveyMainList({}).then(res => {
this.ServeyMainList = res.Data;
})
},
//获取教师下拉
GetTeacherList() {
getTeacherListByGroupId(this.msg).then(res => { getTeacherListByGroupId(this.msg).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
this.TeacherList = res.Data; this.TeacherList = res.Data;
var obj = { var obj = {
TeacherName: '请选择', TeacherName: '请选择',
TId: -1 TId: -1
} }
this.TeacherList.unshift(obj); this.TeacherList.unshift(obj);
this.AllTeacherList=this.TeacherList; this.AllTeacherList = this.TeacherList;
} }
}) })
}, },
filterFnTeacher (val, update) { filterFnTeacher(val, update) {
update(() => { update(() => {
if (val === "") { if (val === "") {
this.TeacherList = JSON.parse(JSON.stringify(this.AllTeacherList)); this.TeacherList = JSON.parse(JSON.stringify(this.AllTeacherList));
...@@ -195,7 +187,9 @@ ...@@ -195,7 +187,9 @@
}, },
} }
} }
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
</style>
\ No newline at end of file </style>
This diff is collapsed.
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