Commit cef33d89 authored by 罗超's avatar 罗超

1

parent 266a3907
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
"cos-js-sdk-v5": "^1.1.5", "cos-js-sdk-v5": "^1.1.5",
"echarts": "^5.1.2", "echarts": "^5.1.2",
"element-ui": "^2.14.1", "element-ui": "^2.14.1",
"html2canvas": "^1.0.0-rc.7", "html2canvas": "^1.0.0",
"js-md5": "^0.7.3", "js-md5": "^0.7.3",
"lockr": "^0.8.5", "lockr": "^0.8.5",
"lrz": "^4.9.41", "lrz": "^4.9.41",
......
@font-face{
font-family:'katongjian';
src:url('../../webfont/katongjian.ttf') format('truetype')
}
@font-face{
font-family:'YGYXSZITI';
src:url('../../webfont/YGYXSZITI2.0.ttf') format('truetype')
}
@font-face{
font-family:'FZYBXSJW';
src:url('../../webfont/FZYBXSJW.ttf') format('truetype')
}
@font-face{
font-family:'fzjzjt';
src:url('../../webfont/fzjzjt.ttf') format('truetype')
}
@font-face{
font-family:'fzmwt';
src:url('../../webfont/fzmwt.ttf') format('truetype')
}
@font-face{
font-family:'fztjlst';
src:url('../../webfont/fztjlst.ttf') format('truetype')
}
@font-face{
font-family:'hyhctj';
src:url('../../webfont/hyhctj.ttf') format('truetype')
}
@font-face{
font-family:'hyqytj';
src:url('../../webfont/hyqytj.ttf') format('truetype')
}
@font-face{
font-family:'hyyltj';
src:url('../../webfont/hyyltj.ttf') format('truetype')
}
@font-face{
font-family:'jlx';
src:url('../../webfont/jlx.ttf') format('truetype')
}
@font-face{
font-family:'sszhjt';
src:url('../../webfont/sszhjt.ttf') format('truetype')
}
@font-face{
font-family:'hybqt';
src:url('../../webfont/hybqt.ttf') format('truetype')
}
@font-face{
font-family:'hyhht';
src:url('../../webfont/hyhht.ttf') format('truetype')
}
@font-face{
font-family:'hylbt';
src:url('../../webfont/hylbt.ttf') format('truetype')
}
@font-face{
font-family:'hxlbjt';
src:url('../../webfont/hxlbjt.ttf') format('truetype')
}
@font-face{
font-family:'hywwzj';
src:url('../../webfont/hywwzj.ttf') format('truetype')
}
@font-face{
font-family:'pingfang';
src:url('../../webfont/pingfang.ttf') format('truetype')
}
.adv-box{
box-sizing: border-box;
position: absolute;
/* overflow-y: auto; */
padding-bottom: 15px;
top:0px;
left: 20px;
right: 0;
bottom: 0;
background: #f1f1f1;
}
.adv-box .board{
width: 470px;
position: absolute;
left: 0px;
z-index: 98;
top: 0px;
-webkit-user-select: none !important;
overflow: hidden;
}
.adv-box .board .bg{
width:470px;
z-index: 99;
-webkit-user-drag: none;
}
.adv-box .board .vdr .text{
width:100%;
height:100%;
cursor: move;
overflow: hidden;
white-space: pre-line;
}
.adv-box .board .vdr .img{
max-width:100%;
max-height:100%;
/* width:100%;
height:100%; */
cursor: move;
-webkit-user-drag:none;
}
.adv-box .board .vdr.active{
background:rgba(0,0,0,.3)
}
.adv-box .tools{
width: 32px;
position: absolute;
left: 480px;
top: 0px;
}
.adv-box .tools li{
height: 21px;
width: 32px;
text-align: center;
background: #e5e5e5;
cursor: pointer;
border-radius: 2px;
margin-bottom: 12px;
line-height: 21px;
}
.adv-box .tools li:hover{
background: #d8d8d8 !important
}
.adv-box .tools li.save{
color: #fff;
background: #4d90fe;
}
.adv-box .tools li.save:hover{
background: #0362fd !important;
}
.adv-box .tools li.down{
color: #fff;
background: #35aa47;
}
.adv-box .tools li.down:hover{
background: #1d943b !important;
}
.adv-box .tools li.return{
color: #fff;
background: #d84a38;
}
.adv-box .tools li.return:hover{
background: #bb2413 !important;
}
.adv-box .tools li.source{
color: #fff;
background: #fc5c65;
}
.adv-box .tools li.source:hover{
background: #fc5c65 !important;
}
.adv-box .tools li i{
font-size: 16px;
color: #333;
}
.adv-box .tools li.save,.adv-box .tools li.down,.adv-box .tools li.return,.adv-box .tools li.source {
color: #f0f0f0;
font-size: 12px;
}
.adv-box .property-box{
position: absolute;
left: 560px;
top: 0px;
width: 640px;
right: 10px;
overflow: hidden;
}
.adv-box .property-box label{
font-size: 12px;
}
.adv-box .property-box label.remark{
color: #999;
}
.adv-box .property-box .el-button{
padding:5px;
}
.adv-box .resorece{
position: absolute;
left: 560px;
top: 0px;
width: 120px;
height: 120px;
}
.adv-box .resorece img{
}
.adv-box .max-resource{
width: 470px;
}
.adv-box .el-textarea__inner{
width: 290px;
}
.adv-box .el-slider{
width: 290px;
padding-left: 9px;
}
.adv-box::-webkit-scrollbar{
width: 4px;
height: 8px;
}
.adv-box::-webkit-scrollbar-thumb {
border-radius: 4px;
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
background: #c9c9c9;
}
.adv-box::-webkit-scrollbar-thumb {
-webkit-box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.2);
border-radius: 4px;
background: #EDEDED;
}
.adv-box .el-input-group__append,.adv-box .el-input-group__prepend{
padding: 0 4px;
border-radius: 0px;
}
.adv-box .el-color-picker__trigger,.adv-box .el-color-picker__color{
border-radius: 0px;
}
.adv-box .el-color-picker__trigger {
height: 34px;
width: 34px;
margin-top: 4px;
}
.adv-box .advmanager-box .content {
top: 80px;
left: 0px;
}
.adv-box .goon{
position: fixed;
background: rgba(235, 59, 90, .8);
font-family: 'PingFangSC-fine';
font-size: 14px;
width: 50px;
height: 50px;
border-radius: 100%;
color: #f1f1f1;
right: 10px;
text-align: center;
line-height: 50px;
top:220px;
cursor: pointer;
}
.adv-box .el-input--mini .el-input__inner{
line-height: normal;
}
.adv-box .el-input-number{
vertical-align: top;
}
\ No newline at end of file
...@@ -322,25 +322,6 @@ ...@@ -322,25 +322,6 @@
.advmanager-box .query-box ul .el-select.w240 .el-input{width: auto;} .advmanager-box .query-box ul .el-select.w240 .el-input{width: auto;}
.isAssociatTeam{width:600px;} .isAssociatTeam{width:600px;}
.isAssociatTeam .el-switch{margin:20px 0 0 190px;} .isAssociatTeam .el-switch{margin:20px 0 0 190px;}
.adv-box .tools li { .adv-box .tools{
height: 21px; padding-left: 40px;
width: 32px;
text-align: center;
background: #e5e5e5;
cursor: pointer;
border-radius: 2px;
margin-bottom: 12px;
line-height: 21px;
}
.adv-box .tools li.source {
color: #fff;
background: #fc5c65;
}
.adv-box .tools li.save {
color: #fff;
background: #4d90fe;
}
.adv-box .tools li.down {
color: #fff;
background: #35aa47;
} }
...@@ -5,15 +5,15 @@ ...@@ -5,15 +5,15 @@
</style> </style>
<template> <template>
<div class="adv-box page-body"> <div class="adv-box page-body">
<div v-if='bg!=""' v-loading='isLoading' class="" style="display:flex"> <div v-if='bg!=""' v-loading='isLoading'>
<div class="board" ref="board"> <div class="board" ref="board">
<img :src="bg" class="bg" @click="currentNode={},currentNodeList=[]" /> <img :src="bg" class="bg" @click="currentNode={},currentNodeList=[]" />
<a style="display:none" ref='down'></a> <a style="display:none" ref='down'></a>
<VueDraggableResizable @click="moreSelect()" v-for="item in nodes" tabindex="0" :key="item.nodeId" <VueDraggableResizable @click="moreSelect()" v-for="item in nodes" tabindex="0" :key="item.nodeId"
:active="item.active" :parent="item.rotate==0||item.rotate==360?true:false" :active="item.active" :parent="item.rotate==0||item.rotate==360?true:false"
:style="{transform:'rotate('+item.rotate+'deg)','min-height':'100px !important'}" @activated="onActivated(item.nodeId)" :w="item.width" :style="{transform:'rotate('+item.rotate+'deg)','min-height':'100px !important'}"
:h="item.height" :x="item.x" :y="item.y" :minh='item.fontSize' :minw='item.fontSize' :z="item.zindex" @activated="onActivated(item.nodeId)" :w="item.width" :h="item.height" :x="item.x" :y="item.y"
@resizestop="onResizstop" @dragstop="onDragstop"> :minh='item.fontSize' :minw='item.fontSize' :z="item.zindex" @resizestop="onResizstop" @dragstop="onDragstop">
<div v-if="item.type==0" class='text' <div v-if="item.type==0" class='text'
:style="{'font-size':item.fontSize+'px','letter-spacing':item.letterSpacing+'px','background':item.bg,'font-family':item.fontname,'color':item.color,'line-height':item.lineHeight,'text-align':item.textAlign,'font-weight':(item.isBold==0?'400':'bold'),'font-style':(item.isXie==0?'normal':'italic'),'border-radius':item.radius+'px','text-shadow':item.hshadow+'px '+item.vshadow+'px '+item.blur+'px '+item.shadowcolor,'text-stroke':item.strokeWidth+'px '+item.strokeColor}"> :style="{'font-size':item.fontSize+'px','letter-spacing':item.letterSpacing+'px','background':item.bg,'font-family':item.fontname,'color':item.color,'line-height':item.lineHeight,'text-align':item.textAlign,'font-weight':(item.isBold==0?'400':'bold'),'font-style':(item.isXie==0?'normal':'italic'),'border-radius':item.radius+'px','text-shadow':item.hshadow+'px '+item.vshadow+'px '+item.blur+'px '+item.shadowcolor,'text-stroke':item.strokeWidth+'px '+item.strokeColor}">
{{item.content}}</div> {{item.content}}</div>
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="路径:" v-show="qrCodeType===1"> <el-form-item label="路径:" v-show="qrCodeType===1">
<el-input v-model="qrPath" > <el-input v-model="qrPath">
<template slot="prepend">/pages/</template> <template slot="prepend">/pages/</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
...@@ -303,9 +303,12 @@ ...@@ -303,9 +303,12 @@
<el-input type="textarea" v-model="currentNode.content"></el-input> <el-input type="textarea" v-model="currentNode.content"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="背景颜色:" v-show="qrCodeType===0"> <el-form-item label="背景颜色:" v-show="qrCodeType===0">
<div class="" style="display:flex;align-items:center;">
<el-color-picker v-model="currentNode.bg"></el-color-picker> <el-color-picker v-model="currentNode.bg"></el-color-picker>
<label style="margin:0 0 0 15px;vertical-align: top;">前置颜色:</label> <label style="margin:0 0 0 15px;vertical-align: top;">前置颜色:</label>
<el-color-picker v-model="currentNode.forecolor"></el-color-picker> <el-color-picker v-model="currentNode.forecolor"></el-color-picker>
</div>
</el-form-item> </el-form-item>
<el-form-item label=""> <el-form-item label="">
<el-button type="danger" @click='getQRCode'>重新生成二维码</el-button> <el-button type="danger" @click='getQRCode'>重新生成二维码</el-button>
...@@ -357,8 +360,8 @@ ...@@ -357,8 +360,8 @@
<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 @input="getaddatas(0)" standout="bg-primary text-white" v-model="adMsg.IsFee" :options="statusOpts" <q-select @input="getaddatas(0)" standout="bg-primary text-white" v-model="adMsg.IsFee"
emit-value map-options label="类型" /> :options="statusOpts" emit-value map-options label="类型" />
</div> </div>
</div> </div>
</div> </div>
...@@ -397,9 +400,15 @@ ...@@ -397,9 +400,15 @@
import vueWaterfallEasy from 'vue-waterfall-easy' import vueWaterfallEasy from 'vue-waterfall-easy'
import h2c from 'html2canvas' import h2c from 'html2canvas'
// import Canvas2Image from 'Canvas2Image' // import Canvas2Image from 'Canvas2Image'
import {getAdvertisingList,saveMakeAd,getMyAdDetail} from '../../api/AD/index.js' import {
getAdvertisingList,
saveMakeAd,
getMyAdDetail
} from '../../api/AD/index.js'
import {UploadViittoBlobFile} from '../../api/common/common' import {
UploadViittoBlobFile
} from '../../api/common/common'
export default { export default {
components: { components: {
VueDraggableResizable, VueDraggableResizable,
...@@ -407,8 +416,7 @@ ...@@ -407,8 +416,7 @@
}, },
data() { data() {
return { return {
statusOpts:[ statusOpts: [{
{
label: "全部", label: "全部",
value: 0 value: 0
}, },
...@@ -483,19 +491,19 @@ ...@@ -483,19 +491,19 @@
isCtrl: false, isCtrl: false,
currentNodeList: [], currentNodeList: [],
TCID: 0, TCID: 0,
adMsg:{ adMsg: {
pageIndex:1, pageIndex: 1,
pageSize:10, pageSize: 10,
IsFee:0 IsFee: 0
}, },
qrcodeImg:"", qrcodeImg: "",
qrCodeType:0, qrCodeType: 0,
qrPath:"" qrPath: ""
} }
}, },
mounted() { mounted() {
if(this.$route.query.id){ if (this.$route.query.id) {
this.dataId = this.$route.query.id this.dataId = this.$route.query.id
} }
// this.user = JSON.parse(window.localStorage.userInfo) // this.user = JSON.parse(window.localStorage.userInfo)
...@@ -598,9 +606,11 @@ ...@@ -598,9 +606,11 @@
}, },
methods: { methods: {
loadObj() { loadObj() {
getMyAdDetail({ID:this.dataId}).then(res=>{ getMyAdDetail({
ID: this.dataId
}).then(res => {
this.isLoading = false this.isLoading = false
if(res.Code===1){ if (res.Code === 1) {
let data = res.Data let data = res.Data
this.dataId = data.ID, this.dataId = data.ID,
this.bg = data.PictureUrl + '?width=470' this.bg = data.PictureUrl + '?width=470'
...@@ -619,7 +629,7 @@ ...@@ -619,7 +629,7 @@
that.bg = e that.bg = e
}) })
}); });
}else{ } else {
this.dataId = 0 this.dataId = 0
this.bg = '' this.bg = ''
} }
...@@ -630,20 +640,20 @@ ...@@ -630,20 +640,20 @@
let msg = { let msg = {
ID: this.dataId, ID: this.dataId,
AdvertisingPicUrl: '', AdvertisingPicUrl: '',
AdvertisingID:this.templateId, AdvertisingID: this.templateId,
Content:JSON.stringify(this.nodes), Content: JSON.stringify(this.nodes),
SecretKey:"" SecretKey: ""
} }
let that = this let that = this
let blob = that.base64ToBlob(imgUrl) let blob = that.base64ToBlob(imgUrl)
UploadViittoBlobFile ("Edu",blob,(res)=>{ UploadViittoBlobFile("Edu", blob, (res) => {
this.isLoading = false; this.isLoading = false;
if(res.Code===1){ if (res.Code === 1) {
msg.AdvertisingPicUrl = res.FileUrl msg.AdvertisingPicUrl = res.FileUrl
new browserMD5File(blob, function (err, md5) { new browserMD5File(blob, function (err, md5) {
msg.SecretKey = md5; msg.SecretKey = md5;
saveMakeAd(msg).then(res=>{ saveMakeAd(msg).then(res => {
console.log(651,res) console.log(651, res)
}) })
}) })
} }
...@@ -712,22 +722,22 @@ ...@@ -712,22 +722,22 @@
this.getaddatas(1) this.getaddatas(1)
}, },
//获取广告图列表 //获取广告图列表
getaddatas(type){ getaddatas(type) {
if(type===0){ if (type === 0) {
this.adMsg.pageIndex=1 this.adMsg.pageIndex = 1
} }
getAdvertisingList(this.adMsg).then(res=>{ getAdvertisingList(this.adMsg).then(res => {
if(res.Code===1){ if (res.Code === 1) {
res.Data.PageData.forEach(x=>{ res.Data.PageData.forEach(x => {
x.src=`${x.SamplePicturesUrl}?x-oss-process=image/resize,w_200` x.src = `${x.SamplePicturesUrl}?x-oss-process=image/resize,w_200`
x.id=x.ID x.id = x.ID
}) })
if(type==0){ if (type == 0) {
this.addatas=res.Data.PageData this.addatas = res.Data.PageData
}else{ } else {
this.addatas=this.addatas.concat(res.Data.PageData) this.addatas = this.addatas.concat(res.Data.PageData)
} }
this.total=res.Data.Count this.total = res.Data.Count
if (res.Data.PageData.length == 0) { if (res.Data.PageData.length == 0) {
this.$refs.waterfall.waterfallOver() this.$refs.waterfall.waterfallOver()
} }
...@@ -781,7 +791,7 @@ ...@@ -781,7 +791,7 @@
var height = shareContent.offsetHeight var height = shareContent.offsetHeight
var canvas = document.createElement("canvas") var canvas = document.createElement("canvas")
// var scale = window.devicePixelRatio;//显示设备的物理像素分辨率与CSS像素分辨率之比 // var scale = window.devicePixelRatio;//显示设备的物理像素分辨率与CSS像素分辨率之比
var scale=1 var scale = 1
canvas.width = width * scale canvas.width = width * scale
canvas.height = height * scale canvas.height = height * scale
canvas.getContext("2d").scale(scale, scale) canvas.getContext("2d").scale(scale, scale)
...@@ -1152,15 +1162,15 @@ ...@@ -1152,15 +1162,15 @@
this.currentnodeId = t.nodeId this.currentnodeId = t.nodeId
this.getQRCode() this.getQRCode()
}, },
getQRCode(){ getQRCode() {
if(this.qrCodeType===0){ if (this.qrCodeType === 0) {
this.canvasQrCode() this.canvasQrCode()
}else if(this.qrCodeType===1){ } else if (this.qrCodeType === 1) {
if(this.qrPath.length===0){ if (this.qrPath.length === 0) {
this.Error("请填写二维码路径") this.Error("请填写二维码路径")
return return
} }
 this.showQRcode(this.qrPath); this.showQRcode(this.qrPath);
} }
}, },
canvasQrCode() { canvasQrCode() {
...@@ -1298,22 +1308,24 @@ ...@@ -1298,22 +1308,24 @@
}) })
} }
}, },
  showQRcode(path) { showQRcode(path) {
      this.apipostDS( this.apipostDS(
        "/api/user/GetWeiXinQRCodeForHT", "/api/user/GetWeiXinQRCodeForHT", {
        { Path: "/pages/"+path, With: 212 }, Path: "/pages/" + path,
        (res) => { With: 212
          if (res.data.resultCode == 1) { },
            if (res.data.data) { (res) => {
this.currentNode.src = this.domainManager().mallUrl+ res.data.data; if (res.data.resultCode == 1) {
if (res.data.data) {
this.currentNode.src = this.domainManager().mallUrl + res.data.data;
this.$forceUpdate() this.$forceUpdate()
            } }
          } else { } else {
            this.Error(res.data.message); this.Error(res.data.message);
          } }
        } }
      ); );
    }, },
} }
} }
......
...@@ -18,53 +18,65 @@ ...@@ -18,53 +18,65 @@
font-weight: bold; font-weight: bold;
cursor: pointer; cursor: pointer;
} }
.sche_rightTop{
.sche_rightTop {
width: 100%; width: 100%;
padding: 20px 0; padding: 20px 0;
background-color: #fff; background-color: #fff;
position: relative; position: relative;
} }
.Scotop_little{
white-space: nowrap;
}
.Scotop_con{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
</style> </style>
<template> <template>
<div class="sche_rightTop"> <div class="sche_rightTop">
<!-- <div v-if="dataList.Status!=2" class="sche_Topflex" style="display:flex;"> <table style="margin:0 20px;font-size:18px;color:#000000;">
<div class="Sctop_Color Scdu_benci" style="position:relative;">本次上课信息</div> <tr>
<div class="Sctop_Color"> <td style="width:20%">
<span class="Scotop_little">校区</span>{{dataList.SchoolName}} <span class="Sch_MainColor Scotop_con" >本次上课信息</span>
</td>
<td style="width:25%;">
<div style="display:flex;">
<div class="Scotop_little">
班级:
</div> </div>
<div class="Sctop_Color" style="width:33%;"> <span class="Scotop_con">{{dataList.ClassName}}</span>
<span class="Scotop_little">计划时间</span>
<span v-if="dataList.PlanDate">{{dataList.PlanDate.replaceAll('-','.')}}</span>
<span v-if="dataList.WeekDay"> {{dataList.WeekDay.replace('星期','周')}}</span>
{{dataList.StartTime}}-{{dataList.EndTime}}
</div> </div>
<div class="Sctop_Color" style="width:15%">
<span class="Scotop_little">课程名称</span>{{dataList.ShiftName}} </td>
<td style="width:25%;">
<div style="display:flex;padding-left:20px;">
<div class="Scotop_little">
计划时间:
</div> </div>
</div> --> <span class="Scotop_con">{{dataList.PlanTime}}</span>
<!-- <div class="Sctop_Last">
<div @click="isShowJiedai=true"><i style="margin-right:5px;" class="iconfont icon-liuchengguanliqi"></i>接待流程
</div> </div>
</div> -->
<table style="width:100%;margin:0 20px;font-size:18px;color:#000000;">
<tr>
<td style="width:11%">
<span class="Sch_MainColor">本次上课信息</span>
</td>
<td style="width:15%">
<span class="Scotop_little">班级:</span>{{dataList.ClassName}}
</td>
<td style="width:15%;">
<span class="Scotop_little">计划时间:</span>{{dataList.PlanTime}}
</td> </td>
<td style="width:23%;"> <td style="width:25%;">
<span class="Scotop_little">课程名称:</span>{{dataList.CourseName}} <div style="display:flex;padding-left:20px;">
<div class="Scotop_little">
课程名称:
</div>
<span class="Scotop_con">{{dataList.CourseName}}</span>
</div>
</td> </td>
<td> <td style="width:20%;">
<span class="Scotop_little">当前状态:</span> <div style="display:flex;padding-left:20px;">
<span v-if="dataList.ClassStatus===0">待上课</span> <div class="Scotop_little">
<span v-if="dataList.ClassStatus===1">上课中</span> 当前状态:
<span v-if="dataList.ClassStatus===2">下课</span> </div>
<span v-if="dataList.ClassStatus===0" class="Scotop_con">待上课</span>
<span v-if="dataList.ClassStatus===1" class="Scotop_con">上课中</span>
<span v-if="dataList.ClassStatus===2" class="Scotop_con">下课</span>
</div>
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -73,10 +85,14 @@ ...@@ -73,10 +85,14 @@
<span class="Scotop_little">老师:</span>{{dataList.TeacherName}} <span class="Scotop_little">老师:</span>{{dataList.TeacherName}}
</td> </td>
<td> <td>
<span class="Scotop_little">实际时间:</span>{{dataList.ActualTime}} <div style="padding-left:20px;">
<span class="Scotop_little" >实际时间:</span>{{dataList.ActualTime}}
</div>
</td> </td>
<td> <td>
<div style="padding-left:20px;">
<span class="Scotop_little">出勤人数:</span>{{dataList.AttendanceNum}} <span class="Scotop_little">出勤人数:</span>{{dataList.AttendanceNum}}
</div>
</td> </td>
</tr> </tr>
</table> </table>
...@@ -91,6 +107,13 @@ ...@@ -91,6 +107,13 @@
default: null default: null
}, },
}, },
watch: {
dataList: {
handler(val) {
console.log(78, val)
}
}
}
} }
</script> </script>
...@@ -82,6 +82,8 @@ ...@@ -82,6 +82,8 @@
</template> </template>
<template v-slot:body-cell-TeacherId="props"> <template v-slot:body-cell-TeacherId="props">
<q-td :props="props"> <q-td :props="props">
<q-btn flat size="xs" color="accent" @click="goUrl(props.row)" style="font-weight:400"
label="学员名单" />
<q-btn flat size="xs" icon="edit" color="accent" @click="editVisitor(props.row)" style="font-weight:400" <q-btn flat size="xs" icon="edit" color="accent" @click="editVisitor(props.row)" style="font-weight:400"
label="修改" /> label="修改" />
<q-btn flat size="xs" icon="delete" @click="deleteReserve(props.row)" color="negative" style="font-weight:400" <q-btn flat size="xs" icon="delete" @click="deleteReserve(props.row)" color="negative" style="font-weight:400"
...@@ -283,6 +285,16 @@ ...@@ -283,6 +285,16 @@
//刷新页面 //刷新页面
refreshPage() { refreshPage() {
this.getList(); this.getList();
},
goUrl(i) {
let path="/teacher/studentsClassSee"
let queryObj={
StudentId: i.Id,
TeacherId: i.Teacher_Id,
ClassId: i.ClassId
}
this.OpenNewUrl(path, queryObj)
} }
} }
} }
......
...@@ -93,6 +93,12 @@ ...@@ -93,6 +93,12 @@
required: true, required: true,
field: 'Name', field: 'Name',
align: 'left' align: 'left'
},
{
name: 'Age',
field: 'Age',
label: '年龄',
align: 'left',
}, },
{ {
name: 'Tel', name: 'Tel',
......
...@@ -31,12 +31,13 @@ ...@@ -31,12 +31,13 @@
<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-input @change="refreshPage" clearable standout="bg-primary text-white" v-model="msg.GuestName" <q-input @change="refreshPage" clearable standout="bg-primary text-white" v-model="msg.GuestName" label="学员名称"
label="学员名称" @clear="refreshPage" maxlength="20" /> @clear="refreshPage" maxlength="20" />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="refreshPage" standout="bg-primary text-white" option-value="ClassId" option-label="ClassName" <q-select @input="refreshPage" standout="bg-primary text-white" option-value="ClassId"
v-model="msg.ClassId" :options="ClassList" emit-value map-options label="班级" use-input clearable @filter="filterClass"/> option-label="ClassName" v-model="msg.ClassId" :options="ClassList" emit-value map-options label="班级"
use-input clearable @filter="filterClass" />
</div> </div>
<div class="col-3"> <div class="col-3">
<q-select @input="refreshPage" standout="bg-primary text-white" option-value="CourseId" <q-select @input="refreshPage" standout="bg-primary text-white" option-value="CourseId"
...@@ -94,7 +95,8 @@ ...@@ -94,7 +95,8 @@
<q-td :props="props"> <q-td :props="props">
<!-- <q-btn flat size="xs" color="accent" style="font-weight:400" label="停课" <!-- <q-btn flat size="xs" color="accent" style="font-weight:400" label="停课"
@click="" /> --> @click="" /> -->
<q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;"> <q-btn flat size="xs" color="accent" style="font-weight:400" label="课耗明细" @click="goUrl(props.row)" />
<!-- <q-btn-dropdown flat size="xs" color="dark" label="更多" style="margin-left:10px;">
<q-list> <q-list>
<q-item clickable v-close-popup @click="goUrl(props.row)"> <q-item clickable v-close-popup @click="goUrl(props.row)">
<q-item-section> <q-item-section>
...@@ -102,7 +104,7 @@ ...@@ -102,7 +104,7 @@
</q-item-section> </q-item-section>
</q-item> </q-item>
</q-list> </q-list>
</q-btn-dropdown> </q-btn-dropdown> -->
</q-td> </q-td>
</template> </template>
</q-table> </q-table>
...@@ -122,7 +124,7 @@ ...@@ -122,7 +124,7 @@
} from '../../api/users/user' //获取销售下拉列表 } from '../../api/users/user' //获取销售下拉列表
import { import {
queryCourseDropdownList, queryCourseDropdownList,
} from '../../api/course/index'//课程下拉 } from '../../api/course/index' //课程下拉
import { import {
GetStuPageList GetStuPageList
} from "../../api/teacher/student" } from "../../api/teacher/student"
...@@ -140,8 +142,7 @@ ...@@ -140,8 +142,7 @@
}, },
data() { data() {
return { return {
columns: [ columns: [{
{
name: 'GuestName', name: 'GuestName',
label: '学员名称', label: '学员名称',
field: 'GuestName', field: 'GuestName',
...@@ -178,6 +179,12 @@ ...@@ -178,6 +179,12 @@
field: 'IsRenewOrder', field: 'IsRenewOrder',
align: 'left' align: 'left'
}, },
{
name: 'RenewOrderId',
label: '订单号',
field: 'RenewOrderId',
align: 'left'
},
{ {
name: 'GuestStateStr', name: 'GuestStateStr',
label: '学员状态', label: '学员状态',
...@@ -319,16 +326,16 @@ ...@@ -319,16 +326,16 @@
}) })
}, },
//获取学员管理列表 //获取学员管理列表
getStuPageList(){ getStuPageList() {
this.loading = true; this.loading = true;
GetStuPageList(this.msg).then(res=>{ GetStuPageList(this.msg).then(res => {
this.loading = false this.loading = false
console.log(439,res) console.log(439, res)
if(res.Code===1){ if (res.Code === 1) {
this.data=res.Data.PageData this.data = res.Data.PageData
this.pageCount=res.Data.PageCount this.pageCount = res.Data.PageCount
} }
}).catch(err=>{ }).catch(err => {
this.loading = false this.loading = false
}) })
}, },
...@@ -344,18 +351,22 @@ ...@@ -344,18 +351,22 @@
this.msg.pageIndex = 1; this.msg.pageIndex = 1;
this.getStuPageList(); this.getStuPageList();
}, },
goUrl(i){ goUrl(i) {
console.log(134,i) let path="/teacher/studentsClassSee"
this.$router.push({ let queryObj={
path:"/teacher/studentsClassSee", StudentId: i.Id,
query:{ TeacherId: i.Teacher_Id,
StudentId:i.Id, ClassId: i.ClassId
// StudentName:i.GuestName,
// SchoolId:i.School_Id,
TeacherId:i.Teacher_Id,
ClassId:i.ClassId
} }
}) this.OpenNewUrl(path, queryObj)
// this.$router.push({
// path: "/teacher/studentsClassSee",
// query: {
// StudentId: i.Id,
// TeacherId: i.Teacher_Id,
// ClassId: i.ClassId
// }
// })
} }
} }
} }
...@@ -363,5 +374,4 @@ ...@@ -363,5 +374,4 @@
</script> </script>
<style lang="sass"> <style lang="sass">
@import url('~assets/css/table.sass') @import url('~assets/css/table.sass')
</style> </style>
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