Commit 7eaf3c3f authored by 罗超's avatar 罗超
parents 51da28f1 8787ffbf
...@@ -176,4 +176,27 @@ export function SetSynvEduEmployee(data) { ...@@ -176,4 +176,27 @@ export function SetSynvEduEmployee(data) {
method: 'post', method: 'post',
data data
}) })
}
/**
* 删除欢迎语
*
*/
export function delWechatWelcomesInfo(data) {
return request({
url: '/QYWeChat/DelWechatWelcomesInfo',
method: 'post',
data
})
}
/**
* 获取欢迎语详情
*
*/
export function getWeChatWelcomesInfo(data) {
return request({
url: '/QYWeChat/GetWeChatWelcomesInfo',
method: 'post',
data
})
} }
\ No newline at end of file
...@@ -126,8 +126,8 @@ ...@@ -126,8 +126,8 @@
<div style="margin-top: 15px;"> <div style="margin-top: 15px;">
<div style="width:70px">上传音频:</div> <div style="width:70px">上传音频:</div>
<audio controls="controls" v-if='addMsg.AudioModel.AudioPath' style="margin-top: 10px;"> <audio controls="controls" v-if='addMsg.AudioModel.AudioPath' style="margin-top: 10px;">
<source :src="addMsg.AudioModel.AudioPath" type="audio/ogg"> <source :src="addMsg.AudioModel.AudioPath" >
<source :src="addMsg.AudioModel.AudioPath" type="audio/mpeg">
</audio> </audio>
<div style="margin-top: 15px;"> <div style="margin-top: 15px;">
<el-upload class="avatar-uploader " action="" :before-upload="uploadFile" <el-upload class="avatar-uploader " action="" :before-upload="uploadFile"
...@@ -136,7 +136,7 @@ ...@@ -136,7 +136,7 @@
</q-btn> </q-btn>
</el-upload> </el-upload>
<div style="margin-top: 20px;"> <div style="margin-top: 20px;">
(音频上传大小不超过2MB,播放长度不超过60s,支持AMR,MP3格式。) (音频上传大小不超过2MB,播放长度不超过60s,支持AMR格式。)
</div> </div>
</div> </div>
...@@ -167,9 +167,7 @@ ...@@ -167,9 +167,7 @@
<div style="width:70px">上传视频:</div> <div style="width:70px">上传视频:</div>
<video width="320" height="240" controls="controls" v-if="addMsg.VideoModel.VideoPath!=''"> <video width="320" height="240" controls="controls" v-if="addMsg.VideoModel.VideoPath!=''">
<source :src="addMsg.VideoModel.VideoPath" type="video/ogg" />
<source :src="addMsg.VideoModel.VideoPath" type="video/mp4" /> <source :src="addMsg.VideoModel.VideoPath" type="video/mp4" />
<source :src="addMsg.VideoModel.VideoPath" type="video/webm" />
</video> </video>
<div style="margin-top: 15px;"> <div style="margin-top: 15px;">
<el-upload class="avatar-uploader " action="" :before-upload="uploadFile" <el-upload class="avatar-uploader " action="" :before-upload="uploadFile"
...@@ -508,7 +506,9 @@ ...@@ -508,7 +506,9 @@
} }
if (this.type == 4) {//音频上传 if (this.type == 4) {//音频上传
// 文件类型进行判断 // 文件类型进行判断
const isAudio = files.type === "audio/mp3" || files.type === "audio/mpeg";
console.log(files.type)
const isAudio = files.type === "audio/amr";
const isLt2M = files.size / 1024 / 1024 < 2; const isLt2M = files.size / 1024 / 1024 < 2;
const isTime60S = this.getTimes(files) >= 60 ? true : false; const isTime60S = this.getTimes(files) >= 60 ? true : false;
// 获取时长 // 获取时长
...@@ -516,7 +516,7 @@ ...@@ -516,7 +516,7 @@
if (!isAudio) { if (!isAudio) {
this.$q.notify({ this.$q.notify({
type: 'negative', type: 'negative',
message: `上传文件只能是Mp3格式!`, message: `上传文件只能是AMR格式!`,
position: 'top' position: 'top'
}) })
} else { } else {
...@@ -549,7 +549,7 @@ ...@@ -549,7 +549,7 @@
// 文件类型进行判断 // 文件类型进行判断
const isLt10M = files.size / 1024 / 1024 < 10; const isLt10M = files.size / 1024 / 1024 < 10;
if (['video/mp4', 'video/ogg', 'video/flv', 'video/avi', 'video/wmv', 'video/rmvb'].indexOf(files.type) == -1) { if (['video/mp4'].indexOf(files.type) == -1) {
this.$q.notify({ this.$q.notify({
type: 'negative', type: 'negative',
message: `请上传正确的视频格式!`, message: `请上传正确的视频格式!`,
......
...@@ -22,9 +22,12 @@ ...@@ -22,9 +22,12 @@
<!-- <i class="el-icon-edit-outline" style="font-size: 20px;color: #1890ff;" <!-- <i class="el-icon-edit-outline" style="font-size: 20px;color: #1890ff;"
@click.stop="goedit(x)"></i> --> @click.stop="goedit(x)"></i> -->
</div> </div>
<audio controls="controls" v-if='x.AudioModel && x.AudioModel.AudioPath' style="margin-top: 10px;" class="imgstyle"> <!-- <audio controls="controls" v-if='x.AudioModel && x.AudioModel.AudioPath' style="margin-top: 10px;" class="imgstyle">
<source :src="x.AudioModel.AudioPath" type="audio/ogg"> <source :src="x.AudioModel.AudioPath" type="audio/ogg">
<source :src="x.AudioModel.AudioPath" type="audio/mpeg"> <source :src="x.AudioModel.AudioPath" type="audio/mpeg">
</audio> -->
<audio controls="controls" v-if='x.AudioModel && x.AudioModel.AudioPath' style="margin-top: 10px;" class="imgstyle" :src="x.AudioModel.AudioPath">
</audio> </audio>
<div class="onetext" style="margin-top: 5px;">上传者:{{x.UpdateByName}}</div> <div class="onetext" style="margin-top: 5px;">上传者:{{x.UpdateByName}}</div>
......
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
<q-radio v-model="membertype" val="1" label="通用" /> <q-radio v-model="membertype" val="1" label="通用" />
<q-radio v-model="membertype" val="2" label="指定企业成员" /> <q-radio v-model="membertype" val="2" label="指定企业成员" />
<q-btn color="accent" label="选择成员" size='sm' class="q-mr-md" style="margin-left: 20px;" <q-btn color="accent" label="选择成员" size='sm' class="q-mr-md" style="margin-left: 20px;"
v-if="membertype==2" @click='getMember' /> v-if="membertype==2" @click='getMember2' />
<div v-if="ryList.length>0 && membertype==2" style="margin-top: 8px;"> <div v-if="ryList.length>0 && membertype==2" style="margin-top: 8px;">
<span style="margin-left: 15px">已选择{{ryList.length}}名成员</span> <span style="margin-left: 15px">已选择{{ryList.length}}名成员</span>
<span style="cursor: pointer;color: #1890ff;margin-left: 15px;" <span style="cursor: pointer;color: #1890ff;margin-left: 15px;"
...@@ -84,9 +84,15 @@ ...@@ -84,9 +84,15 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="添加内容:"> <el-form-item label="添加内容:">
<div v-if="MediumModel.length>0">
<q-btn color="white" text-color="black" label="+添加图片/图文/小程序" size='md' <div class="row items-center" v-for="(x,y) in MediumModel" :key="y">
v-if="JSON.stringify(Selectobj) == '{}'"> <i class="el-icon-link"></i>
<span style="margin-left: 10px;cursor: pointer;" @click="selectimg">{{Selectobj.name}}</span>
<i style="margin-left: 10px;cursor: pointer" class="el-icon-close" @click="Selectobj={}"></i>
</div>
</div>
<q-btn color="white" text-color="black" label="+添加图片/图文/小程序" size='md'>
<q-popup-proxy ref='popupproxy'> <q-popup-proxy ref='popupproxy'>
<q-banner> <q-banner>
<q-btn-group push> <q-btn-group push>
...@@ -97,11 +103,7 @@ ...@@ -97,11 +103,7 @@
</q-banner> </q-banner>
</q-popup-proxy> </q-popup-proxy>
</q-btn> </q-btn>
<div class="row items-center" v-else>
<i class="el-icon-link"></i>
<span style="margin-left: 10px;cursor: pointer;" @click="selectimg">{{Selectobj.name}}</span>
<i style="margin-left: 10px;cursor: pointer" class="el-icon-close" @click="Selectobj={}"></i>
</div>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -115,7 +117,7 @@ ...@@ -115,7 +117,7 @@
<el-dialog custom-class='w700' title="选择人员" :visible.sync="outerVisible" center> <el-dialog custom-class='w700' title="选择人员" :visible.sync="outerVisible" center>
<div class="fl" style="width: 300px; margin: 0 20px;"> <div class="fl" style="width: 300px; margin: 0 20px;">
<p style="margin: 0 0 10px 0;">选择: <el-input class='w200' placeholder="输入关键字进行过滤" v-model="filterText" <p style="margin: 0 0 10px 0;">选择: <el-input class='w200' placeholder="输入关键字进行过滤" v-model="filterText"
@input=""> @input="getmemlist">
</el-input> </el-input>
</p> </p>
<el-tree class='ApprovalProcessBg' :data="memberList" show-checkbox :filter-node-method="filterNode" <el-tree class='ApprovalProcessBg' :data="memberList" show-checkbox :filter-node-method="filterNode"
...@@ -137,7 +139,7 @@ ...@@ -137,7 +139,7 @@
</div> </div>
</el-dialog> </el-dialog>
<!-- 图片 --> <!-- 图片 -->
<selectMaterial v-if="isshowselectMaterial" :materialType="materialType" :saveobj='Selectobj' <selectMaterial v-if="isshowselectMaterial" :materialType="materialType" :saveobj='Selectobj' :classifyList='classifyList'
@close="getclose()" @success='getsuccess'> @close="getclose()" @success='getsuccess'>
</selectMaterial> </selectMaterial>
<!-- 图文 --> <!-- 图文 -->
...@@ -152,6 +154,7 @@ ...@@ -152,6 +154,7 @@
<script> <script>
import { import {
setWeChatWelcomesInfo, setWeChatWelcomesInfo,
getWeChatMediumGroupList,
} from '../../api/system/wechat'; } from '../../api/system/wechat';
import selectMaterial from "../../components/enterprise/selectMaterial" import selectMaterial from "../../components/enterprise/selectMaterial"
import imagetextform from "../../components/enterprise/imagetext-form" import imagetextform from "../../components/enterprise/imagetext-form"
...@@ -176,6 +179,7 @@ ...@@ -176,6 +179,7 @@
outerVisible: false,//选择人员弹窗 outerVisible: false,//选择人员弹窗
filterText: '',//人员选择 帅选 filterText: '',//人员选择 帅选
memberList: [],// memberList: [],//
allmemberList:[],
showMember: [], showMember: [],
membertype: '1', membertype: '1',
ryList: [], ryList: [],
...@@ -195,18 +199,27 @@ ...@@ -195,18 +199,27 @@
isshowimagetext: false, isshowimagetext: false,
isshowapplet: false, isshowapplet: false,
Selectobj: {},//选中对象 Selectobj: {},//选中对象
MediumModel:[],
classifyList:[],
} }
}, },
created() { created() {
this.getWeChatMediumGroupList()
}, },
methods: { methods: {
getMember() { getWeChatMediumGroupList() {
getWeChatMediumGroupList({}).then(res => {
this.classifyList = res.Data
})
},
getMember2() {
this.outerVisible = true; this.outerVisible = true;
this.dialogTitle = this.$t('fnc.xzrenyuan'); this.dialogTitle = this.$t('fnc.xzrenyuan');
queryEmployee({}).then(res => { queryEmployee({}).then(res => {
if (res.Code == 1) { if (res.Code == 1) {
this.memberList = res.Data; this.memberList = res.Data;
this.allmemberList = JSON.parse(JSON.stringify(res.Data)) ;
} }
}).catch(() => { }).catch(() => {
...@@ -245,6 +258,14 @@ ...@@ -245,6 +258,14 @@
if (!value) return true; if (!value) return true;
return data.DepartmentName.indexOf(value) !== -1; return data.DepartmentName.indexOf(value) !== -1;
}, },
getmemlist(){
if (this.filterText === '') {
this.memberList = JSON.parse(JSON.stringify(this.allmemberList))
} else {
const needle = this.filterText.toLowerCase()
this.memberList = this.allmemberList.filter(v => v.EmployeeName.toLowerCase().indexOf(needle) > -1)
}
},
getmember() {//人员确定选择 getmember() {//人员确定选择
this.outerVisible = false; this.outerVisible = false;
this.ryList = JSON.parse(JSON.stringify(this.showMember)) this.ryList = JSON.parse(JSON.stringify(this.showMember))
......
...@@ -3,11 +3,10 @@ ...@@ -3,11 +3,10 @@
<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 filled stack-label @input="changePage(1)" option-value="Id" option-label="Name" <q-select filled stack-label @input="changePage(1)" option-value="Id" option-label="Name" v-model="msg.Type"
v-model="msg.Type" ref="Id" :options="typeList" label="类型" :dense="false" emit-value ref="Id" :options="typeList" label="类型" :dense="false" emit-value map-options />
map-options />
</div> </div>
</div> </div>
</div> </div>
<div class="page-content"> <div class="page-content">
...@@ -34,14 +33,22 @@ ...@@ -34,14 +33,22 @@
</div> </div>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-UserIdName="props">
<q-td :props="props">
<div style="max-width: 300px;white-space: normal;">
{{props.row.UserIdName}}
</div>
</q-td>
</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" style="font-weight:400;color: #3FC4FF" class="q-mr-xs" label="编辑" <q-btn flat size="xs" icon="edit" style="font-weight:400;color: #3FC4FF" class="q-mr-xs" label="编辑"
@click="goedit(props.row)" /> @click="goedit(props.row)" />
<q-btn flat size="xs" icon="delete" color="negative" class="q-mr-xs" label="删除" <q-btn flat size="xs" icon="delete" color="negative" class="q-mr-xs" label="删除"
@click="goDetailed(props.row)" /> @click="goDetailed(props.row)" />
</q-td> </q-td>
</template> </template>
...@@ -58,7 +65,11 @@ ...@@ -58,7 +65,11 @@
<script> <script>
import { import {
getWeChatWelcomesPageList, getWeChatWelcomesPageList,
delWechatWelcomesInfo
} from '../../api/system/wechat'; } from '../../api/system/wechat';
import {
queryEmployee
} from '../../api/users/user'
export default { export default {
meta: { meta: {
...@@ -77,12 +88,12 @@ ...@@ -77,12 +88,12 @@
rowsPerPage: 15, rowsPerPage: 15,
Type: 0, Type: 0,
}, },
typeList:[ typeList: [
{Id:0,Name:'不限'}, { Id: 0, Name: '不限' },
{Id:1,Name:'文本'}, { Id: 1, Name: '文本' },
{Id:2,Name:'图片'}, { Id: 2, Name: '图片' },
{Id:3,Name:'图文'}, { Id: 3, Name: '图文' },
{Id:4,Name:'小程序'}, { Id: 4, Name: '小程序' },
], ],
//公告column //公告column
columns: [{ columns: [{
...@@ -120,13 +131,27 @@ ...@@ -120,13 +131,27 @@
field: 'DeptId' field: 'DeptId'
} }
], ],
memberList:[],
} }
}, },
created() { created() {
this.getMember()//获取人员列表
this.getList() this.getList()
}, },
methods: { methods: {
getMember() {
this.outerVisible = true;
this.dialogTitle = this.$t('fnc.xzrenyuan');
queryEmployee({}).then(res => {
if (res.Code == 1) {
this.memberList = res.Data;
}
}).catch(() => {
})
},
changePage(e) { changePage(e) {
this.msg.pageIndex = 1 this.msg.pageIndex = 1
this.getList() this.getList()
...@@ -137,17 +162,31 @@ ...@@ -137,17 +162,31 @@
this.loading = false this.loading = false
this.data = res.Data.PageData; this.data = res.Data.PageData;
this.pageCount = res.Data.Count this.pageCount = res.Data.Count
this.data.forEach(x=>{ this.data.forEach(x => {
x.UserIdName='' x.UserIdName = ''
x.UserIdList.map((j,i)=>{ x.UserIdList.map((j, i) => {
if(j==-1){ if (j == -1) {
x.UserIdName='通用' x.UserIdName = '通用'
return return
}else{ } else {
if(i+1!=x.UserIdList.length){
x.UserIdName=x.UserIdName+'某某、' if (i + 1 != x.UserIdList.length) {
}else{ console.log(1)
x.UserIdName=x.UserIdName+'某某' this.memberList.map(z=>{
if(z.Id == j){
x.UserIdName = x.UserIdName + z.EmployeeName+'、'
}
return
})
} else {
console.log(2)
this.memberList.map(z=>{
if(z.Id == j){
x.UserIdName = x.UserIdName + z.EmployeeName
}
return
})
} }
} }
}) })
...@@ -159,11 +198,33 @@ ...@@ -159,11 +198,33 @@
path: '/enterprise/addWelcome', path: '/enterprise/addWelcome',
}); });
}, },
goedit(){//编辑 goedit() {//编辑
}, },
goDetailed(row){//修改 goDetailed(row) {//删除
console.log(row) console.log(row)
this.$q.dialog({
title: '提示信息',
message: '是否确定删除所此欢迎语?',
cancel: true,
persistent: true,
ok: "确定",
cancel: "取消",
}).onOk(() => {
delWechatWelcomesInfo({ WelcomesId: row.Id }).then(res => {
this.$q.notify({
icon: 'iconfont icon-chenggong',
color: 'accent',
timeout: 2000,
message: res.Message,
position: 'top'
})
this.getList()
})
}).onCancel(() => {
});
} }
} }
......
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
width: 328px; width: 328px;
} }
.List-ul li a { .List-ul li{
display: block; display: block;
padding-left: 25px; padding-left: 25px;
line-height: 33px; line-height: 33px;
...@@ -91,6 +91,11 @@ ...@@ -91,6 +91,11 @@
border-bottom: 1px solid #f3f3f3; border-bottom: 1px solid #f3f3f3;
color: #555; color: #555;
text-decoration: none; text-decoration: none;
min-width: 250px;
overflow: hidden;
padding-right:20px;
white-space: nowrap;
text-overflow: ellipsis
} }
.List-ul-li-checked b { .List-ul-li-checked b {
...@@ -105,6 +110,51 @@ ...@@ -105,6 +110,51 @@
z-index: 1000; z-index: 1000;
} }
.Left-btn {
height: 58px;
padding: 20px 0 20px 20px;
width: 100%;
border-bottom: 1px solid #d9d9d9;
display: flex;
justify-content: space-between;
align-items: center;
}
.List-bt {
width: 318px;
height: 27px;
background: #fdfdfd;
font-size: 14px;
line-height: 27px;
padding-left: 10px;
}
.List-ul li:hover{
background: #a6a6a6;
color: #333;
}
.left-btn-list{
padding:5px 10px;
display: inline-block;
color: #555;
border-radius: 3px;
font-size:14px;
border:1px solid #999;
margin-right:10px;
cursor: pointer;
}
#btn1{
background: #26a69a!important;
}
.difficulty_Degree{
display: inline-block;
width:80px;
text-align: right;
line-height: 56px;
}
.commonDalei{
display: flex;
align-content: center;
margin-bottom:20px;
}
</style> </style>
<template> <template>
<div class="examPaper"> <div class="examPaper">
...@@ -132,8 +182,11 @@ ...@@ -132,8 +182,11 @@
<div class="Left-list" style="height:740px;overflow:auto;"> <div class="Left-list" style="height:740px;overflow:auto;">
<template v-if="DataObj&&DataObj.GroupList&&DataObj.GroupList.length>0"> <template v-if="DataObj&&DataObj.GroupList&&DataObj.GroupList.length>0">
<div class="List-con1" v-for="(gItem,gIndex) in DataObj.GroupList" :key="gIndex"> <div class="List-con1" v-for="(gItem,gIndex) in DataObj.GroupList" :key="gIndex">
<b>(<label>{{gIndex+1}}</label>)</b> <div class="List-bt">
<b>{{gItem.GroupName}}</b> <strong class="f1">
{{gIndex+1}}{{gItem.GroupName}}
</strong>
</div>
<ul class="List-ul" v-if="gItem.DetailsList&&gItem.DetailsList.length>0"> <ul class="List-ul" v-if="gItem.DetailsList&&gItem.DetailsList.length>0">
<li class="" style="cursor:pointer;" v-for="(dItem,dIndex) in gItem.DetailsList" :key="dIndex" <li class="" style="cursor:pointer;" v-for="(dItem,dIndex) in gItem.DetailsList" :key="dIndex"
@click="ClickItem(dItem)"> @click="ClickItem(dItem)">
...@@ -146,15 +199,16 @@ ...@@ -146,15 +199,16 @@
</div> </div>
</div> </div>
<div class="Exam-right f1"> <div class="Exam-right f1">
<span></span> <div class="Left-btn">
<div class="row wrap" v-if="ChooseItem">           <div>
<div class="col-12" style="margin-bottom:20px"> <!-- <template v-for="(fItem,fIndex) in firstTypeList">
题型 <span class="left-btn-list" :key="fIndex" @click="onItemClick(fItem)">{{fItem.Name}}</span>
</template> -->
<template v-for="(fItem,fIndex) in firstTypeList"> <template v-for="(fItem,fIndex) in firstTypeList">
<q-btn :key="fIndex" color="accent" :label="fItem.Name" style="margin-left:5px;" <q-btn :key="fIndex" color="accent" :id="commonIndex==fIndex?'btn1':''" size="sm" :label="fItem.Name" style="margin-left:5px;"
@click="onItemClick(fItem)" /> @click="onItemClick(fItem,fIndex)" />
</template> </template>
<q-btn-dropdown color="accent" label="更多" style="margin-left:5px;"> <q-btn-dropdown color="accent" size="sm" label="更多" style="margin-left:5px;">
<q-list> <q-list>
<q-item v-for="(fItem,fIndex) in secondTypeList" @click="onItemClick(fItem)" clickable v-close-popup <q-item v-for="(fItem,fIndex) in secondTypeList" @click="onItemClick(fItem)" clickable v-close-popup
:key="fIndex"> :key="fIndex">
...@@ -165,8 +219,12 @@ ...@@ -165,8 +219,12 @@
</q-list> </q-list>
</q-btn-dropdown> </q-btn-dropdown>
</div> </div>
          <div>
            <q-btn color="accent" size="sm" @click="isShowQuestion=true" class="q-mr-md" label="题库选题" />
          </div>
</div>
<div class="row wrap" v-if="ChooseItem" style="padding:20px;">
<div class="edit_stem"> <div class="edit_stem">
<q-input filled stack-label maxlength="5" :dense="false" v-model="ChooseItem.Score" class="col-12 q-pb-lg" <q-input filled stack-label maxlength="5" :dense="false" v-model="ChooseItem.Score" class="col-12 q-pb-lg"
label="分数" /> label="分数" />
</div> </div>
...@@ -221,38 +279,25 @@ ...@@ -221,38 +279,25 @@
<UeEditor v-model="ChooseItem.AnswerParse" :config="config" ref="AnswerParse"></UeEditor> <UeEditor v-model="ChooseItem.AnswerParse" :config="config" ref="AnswerParse"></UeEditor>
</div> </div>
<br /> <br />
<div class="col-12"> <div class="col-12 commonDalei" style="margin-top:20px;">
<br /> <span class="difficulty_Degree">难度:</span>
<span class="difficulty_Degree">难度</span> <q-select filled option-value="Id" size="sm" style="display:inline-block;width:300px;" option-label="Name"
<select v-model="ChooseItem.DifficultyType" class="selectBox blue-border"> v-model="ChooseItem.DifficultyType" :options="questionDifficultyTypeList" emit-value map-options/>
<template v-for="(cItem,cIndex) in questionDifficultyTypeList">
<option :key="cIndex" :label="cItem.Name" :value="cItem.Id">
</option>
</template>
</select>
</div> </div>
<div class="col-12"> <div class="col-12 commonDalei">
<br /> <br />
<span class="difficulty_Degree">所属大类</span> <span class="difficulty_Degree">所属大类:</span>
<select v-model="ChooseItem.Category" class="selectBox blue-border"> <q-select filled option-value="Id" size="sm" style="display:inline-block;width:300px;" option-label="Name"
<template v-for="(cItem,cIndex) in questionCategoryList"> v-model="ChooseItem.Category" :options="questionCategoryList" emit-value map-options/>
<option :key="cIndex" :label="cItem.Name" :value="cItem.Id">
</option>
</template>
</select>
</div> </div>
<div class="col-12"> <div class="col-12 commonDalei">
<br /> <br />
<span class="difficulty_Degree">考级程度</span> <span class="difficulty_Degree">考级程度:</span>
<select v-model="ChooseItem.LevelType" class="selectBox blue-border"> <q-select filled option-value="Id" size="sm" style="display:inline-block;width:300px;" option-label="Name"
<template v-for="(cItem,cIndex) in questionLevalTypeList"> v-model="ChooseItem.LevelType" :options="questionLevalTypeList" emit-value map-options/>
<option :key="cIndex" :label="cItem.Name" :value="cItem.Id">
</option>
</template>
</select>
</div> </div>
<div class="col-12" style="margin-top:16px;"> <div class="col-12">
<span class="difficulty_Degree">知识点: </span> <span class="difficulty_Degree">知识点</span>
<a class="addKnowledge" @click="isShowPoint=true"> <a class="addKnowledge" @click="isShowPoint=true">
<i class="iconfont icon-add" style="position:relative;top:1px;"></i>选择知识点 <i class="iconfont icon-add" style="position:relative;top:1px;"></i>选择知识点
</a> </a>
...@@ -263,6 +308,7 @@ ...@@ -263,6 +308,7 @@
</div> </div>
</div> </div>
</div> </div>
<questionForm v-if="isShowQuestion" @close="closeQuestForm" @success="refreshPage"></questionForm>
</div> </div>
</div> </div>
</template> </template>
...@@ -282,7 +328,7 @@ ...@@ -282,7 +328,7 @@
import cloze from '../../components/questiontype/cloze' import cloze from '../../components/questiontype/cloze'
import readingComprehensio from '../../components/questiontype/reading-comprehensio' import readingComprehensio from '../../components/questiontype/reading-comprehensio'
import sharingChoose from '../../components/questiontype/sharing-choose' import sharingChoose from '../../components/questiontype/sharing-choose'
import questionForm from '../../components/exam/question-form'
import { import {
GetPaper, GetPaper,
savePaperInfo, savePaperInfo,
...@@ -307,7 +353,8 @@ ...@@ -307,7 +353,8 @@
sortingProblem, //排序题 sortingProblem, //排序题
cloze, //完型填空 cloze, //完型填空
readingComprehensio, //阅读理解 readingComprehensio, //阅读理解
sharingChoose, //共用选择题 sharingChoose, //共用选择题、
questionForm
}, },
meta: { meta: {
title: "考试" title: "考试"
...@@ -341,6 +388,8 @@ ...@@ -341,6 +388,8 @@
choosePointArray: [], //选择知识点 choosePointArray: [], //选择知识点
firstTypeList: [], //第一类题型 firstTypeList: [], //第一类题型
secondTypeList: [], //第二类题型 secondTypeList: [], //第二类题型
isShowQuestion:false,
commonIndex:-1
} }
}, },
created() { created() {
...@@ -350,7 +399,7 @@ ...@@ -350,7 +399,7 @@
this.getQuestionType(); this.getQuestionType();
this.getDifficultyType(); this.getDifficultyType();
this.getQuestionCategory(); this.getQuestionCategory();
this.getQuestionLevelType this.getQuestionLevelType();
}, },
mounted() { mounted() {
this.GetPaperInfo() this.GetPaperInfo()
...@@ -369,7 +418,7 @@ ...@@ -369,7 +418,7 @@
}); });
}, },
//题型点击 //题型点击
onItemClick(item) { onItemClick(item,index) {
// this.AnswerList = []; // this.AnswerList = [];
// this.questionObj = item; // this.questionObj = item;
// this.objOption.QuestionTypeId = item.QId; // this.objOption.QuestionTypeId = item.QId;
...@@ -379,6 +428,7 @@ ...@@ -379,6 +428,7 @@
// if (obj) { // if (obj) {
// this.objOption.QuestionContent = JSON.stringify(obj); // this.objOption.QuestionContent = JSON.stringify(obj);
// } // }
this.commonIndex=index
}, },
//获取问题大类 //获取问题大类
getQuestionCategory() { getQuestionCategory() {
...@@ -419,6 +469,12 @@ ...@@ -419,6 +469,12 @@
savePaperInfo(this.DataObj).then(res => { savePaperInfo(this.DataObj).then(res => {
console.log("res", res); console.log("res", res);
}) })
},
closeQuestForm(){
this.isShowQuestion = false;
},
refreshPage(){
} }
} }
} }
......
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