|
@@ -1,15 +1,35 @@
|
|
|
// pages/teacher/monitor/monitor.ts
|
|
|
-Page({
|
|
|
+import { ConstsData } from "../../../utils/const"
|
|
|
+import { httpUtil } from "../../../utils/restful";
|
|
|
+Component({
|
|
|
|
|
|
/**
|
|
|
* 页面的初始数据
|
|
|
*/
|
|
|
data: {
|
|
|
- region: ['北京市', '北京市', '海淀区'],
|
|
|
- schoolArray: ['中国', '美国', '巴西', '日本'],
|
|
|
+ regionOne: Array<String>(),
|
|
|
+ regionTwo: Array<String>(),
|
|
|
+ regionThree: Array<String>(),
|
|
|
+ regionOneIndex: 0,
|
|
|
+ regionTwoIndex: 0,
|
|
|
+ regionThreeIndex: 0,
|
|
|
+ region: [
|
|
|
+ Array<String>(),
|
|
|
+ Array<String>(),
|
|
|
+ Array<String>()
|
|
|
+ ],
|
|
|
+ regionIndex: [0, 0, 0],
|
|
|
+ schoolArray: [['中国']],
|
|
|
schoolIndex: 0,
|
|
|
classArray: ['一年级一班', '一年级2班', '一年级3班', '一年级4班'],
|
|
|
classIndex: 0,
|
|
|
+ provinceValue: '',//省份value
|
|
|
+ regionValue: '',//地区value
|
|
|
+ cityValue: '',
|
|
|
+ schoolData: [{ 'id': '' }],
|
|
|
+ schoolId: '',
|
|
|
+ classData: [{ 'id': '' }],
|
|
|
+ classId: '',
|
|
|
deviceId: '',
|
|
|
//0=未上课 1=正在上课
|
|
|
pageState: 0,
|
|
@@ -20,149 +40,260 @@ Page({
|
|
|
videostatus: 0
|
|
|
},
|
|
|
|
|
|
- /**
|
|
|
- * 生命周期函数--监听页面加载
|
|
|
- */
|
|
|
- onLoad() {
|
|
|
+ lifetimes: {
|
|
|
+ attached: function () {
|
|
|
+ // 在组件实例被从页面节点树添加时执行
|
|
|
|
|
|
- },
|
|
|
+ this.changeOrganizeInfo()
|
|
|
|
|
|
- /**
|
|
|
- * 生命周期函数--监听页面初次渲染完成
|
|
|
- */
|
|
|
- onReady() {
|
|
|
+ },
|
|
|
+ detached: function () {
|
|
|
+ // 在组件实例被从页面节点树移除时执行
|
|
|
|
|
|
+ },
|
|
|
},
|
|
|
|
|
|
|
|
|
- //选择地区回调
|
|
|
- bindRegionChange: function (event: any) {
|
|
|
- this.setData({
|
|
|
- region: event.detail.value
|
|
|
- })
|
|
|
- },
|
|
|
- //选择学校回调
|
|
|
- bindSchoolPicker: function (event: any) {
|
|
|
- let newArray;
|
|
|
- switch (Number(event.detail.value)) {
|
|
|
- case 0:
|
|
|
- newArray = ["一", "二", "三"];
|
|
|
+ methods: {
|
|
|
+
|
|
|
+ changeOrganizeInfo: function () {
|
|
|
+
|
|
|
+ //切换地区
|
|
|
+ this.setData({
|
|
|
+ regionOne: [],
|
|
|
+ regionTwo: [],
|
|
|
+ regionThree: []
|
|
|
+ })
|
|
|
+ ConstsData.AppData.organizeInfo.data.children.forEach((item: { title: String; }) => {
|
|
|
+ this.data.regionOne.push(item.title)
|
|
|
+ })
|
|
|
+
|
|
|
+ ConstsData.AppData.organizeInfo.data.children[this.data.regionOneIndex].children.forEach((item: { title: String; }) => {
|
|
|
+
|
|
|
+ this.data.regionTwo.push(item.title)
|
|
|
+ })
|
|
|
+
|
|
|
+ ConstsData.AppData.organizeInfo.data.children[this.data.regionOneIndex].children[this.data.regionTwoIndex].children.forEach((item: { title: String; }) => {
|
|
|
+
|
|
|
+ this.data.regionThree.push(item.title)
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ this.setData({
|
|
|
+ region: [this.data.regionOne, this.data.regionTwo, this.data.regionThree],
|
|
|
+ regionIndex: [this.data.regionOneIndex, this.data.regionTwoIndex, this.data.regionThreeIndex],
|
|
|
+ provinceValue: ConstsData.AppData.organizeInfo.data.children[this.data.regionOneIndex].value.toString(),
|
|
|
+ cityValue: ConstsData.AppData.organizeInfo.data.children[this.data.regionOneIndex].children[this.data.regionTwoIndex].value.toString(),
|
|
|
+ regionValue: ConstsData.AppData.organizeInfo.data.children[this.data.regionOneIndex].children[this.data.regionTwoIndex].children[this.data.regionThreeIndex].value.toString()
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ //切换学校
|
|
|
+ this.changeSchool();
|
|
|
+
|
|
|
+ //切换班级
|
|
|
+ },
|
|
|
+
|
|
|
+ //查询学校
|
|
|
+ changeSchool: function () {
|
|
|
+
|
|
|
+ //查询学校
|
|
|
+ let params = {
|
|
|
+ city: this.data.cityValue,
|
|
|
+ province: this.data.provinceValue,
|
|
|
+ region: this.data.regionValue,
|
|
|
+ type: 1,
|
|
|
+ }
|
|
|
+ httpUtil.wxGet(httpUtil.interfaces.getSchoolOrClass, params).then((res: any) => {
|
|
|
+
|
|
|
this.setData({
|
|
|
- classArray: newArray,
|
|
|
- classIndex: 0
|
|
|
+ schoolArray: [],
|
|
|
+ schoolIndex: 0,
|
|
|
+ schoolData: res.data.data,
|
|
|
+ schoolId: res.data.data[0].id
|
|
|
})
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- newArray = ["4", "5", "6"];
|
|
|
+
|
|
|
+ let newArray: string[] = [];
|
|
|
+ res.data.data.forEach((element: { title: string; }) => {
|
|
|
+ newArray.push(element.title)
|
|
|
+ });
|
|
|
+ this.data.schoolArray.push(newArray)
|
|
|
this.setData({
|
|
|
- classArray: newArray,
|
|
|
- classIndex: 0
|
|
|
+ schoolArray: this.data.schoolArray
|
|
|
})
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- newArray = ["as", "ad", "af"];
|
|
|
+
|
|
|
+
|
|
|
+ this.changeClass()
|
|
|
+ }).catch(res => {
|
|
|
+ console.log("查询学校error:", res)
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ //查询班级
|
|
|
+ changeClass: function () {
|
|
|
+ let params = {
|
|
|
+ "city": this.data.cityValue,
|
|
|
+ "father": this.data.schoolId,//学校ID
|
|
|
+ "province": this.data.provinceValue,
|
|
|
+ "region": this.data.regionValue,
|
|
|
+ "type": 2,
|
|
|
+ }
|
|
|
+ httpUtil.wxGet(httpUtil.interfaces.getSchoolOrClass, params).then((res: any) => {
|
|
|
this.setData({
|
|
|
- classArray: newArray,
|
|
|
+ classArray: [],
|
|
|
classIndex: 0
|
|
|
})
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- newArray = ["b1", "b2", "b3"];
|
|
|
this.setData({
|
|
|
- classArray: newArray,
|
|
|
- classIndex: 0
|
|
|
+ classData: res.data.data,
|
|
|
+ classId: res.data.data[0].id
|
|
|
})
|
|
|
- break;
|
|
|
- }
|
|
|
- this.setData({
|
|
|
- schoolIndex: event.detail.value
|
|
|
- })
|
|
|
- },
|
|
|
- //选择班级回调
|
|
|
- bindClssPicker: function (event: any) {
|
|
|
- this.setData({
|
|
|
- classIndex: event.detail.value
|
|
|
- })
|
|
|
- },
|
|
|
+ res.data.data.forEach((element: { title: string; }) => {
|
|
|
|
|
|
- //扫码界面(未处理回调)
|
|
|
- scanCode: function () {
|
|
|
- var that = this;
|
|
|
- wx.scanCode({ //扫描API
|
|
|
- success(res) { //扫描成功
|
|
|
- console.log(res) //输出回调信息
|
|
|
- that.setData({
|
|
|
- scanCodeMsg: res.result
|
|
|
+ this.data.classArray.push(element.title)
|
|
|
});
|
|
|
- wx.showToast({
|
|
|
- title: '扫码成功',
|
|
|
- icon: 'success',
|
|
|
- duration: 1000
|
|
|
- })
|
|
|
- },
|
|
|
- fail: (res: any) => {//接口调用失败的回调函数
|
|
|
- wx.showToast({
|
|
|
- title: '扫码失败',
|
|
|
- icon: 'success',
|
|
|
- duration: 1000
|
|
|
+ this.setData({
|
|
|
+ classArray: this.data.classArray,
|
|
|
+
|
|
|
})
|
|
|
- },
|
|
|
- })
|
|
|
- },
|
|
|
|
|
|
- //获取设备ID的输入
|
|
|
- bindDeviceInput(event: any) {
|
|
|
- this.setData({
|
|
|
- deviceId: event.detail.value
|
|
|
- })
|
|
|
- },
|
|
|
|
|
|
+ }).catch(res => {
|
|
|
+ console.log("查询班级error:", res)
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ bindMultiPickerColumnChange: function (event: any) {
|
|
|
+
|
|
|
+ //
|
|
|
+ switch (Number(event.detail.column)) {
|
|
|
+ case 0:
|
|
|
+ //代表第一列
|
|
|
+ this.setData({
|
|
|
+ regionOneIndex: event.detail.value,
|
|
|
+ })
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ //代表第二列
|
|
|
+ this.setData({
|
|
|
+ regionTwoIndex: event.detail.value,
|
|
|
+ })
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ //代表第三列
|
|
|
+ this.setData({
|
|
|
+ regionThreeIndex: event.detail.value
|
|
|
+ })
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ this.changeOrganizeInfo();
|
|
|
+ },
|
|
|
+
|
|
|
+ bindRegionChange: function (event: any) {
|
|
|
|
|
|
- //上课
|
|
|
- startMonitor: function () {
|
|
|
- if (!this.data.deviceId) {
|
|
|
- wx.showToast({
|
|
|
- title: '请输入设备ID',
|
|
|
- icon: 'none', //如果要纯文本,不要icon,将值设为'none'
|
|
|
- duration: 1000
|
|
|
+ this.setData({
|
|
|
+ regionIndex: event.detail.value
|
|
|
})
|
|
|
- return;
|
|
|
- }
|
|
|
- let params = {
|
|
|
- address: this.data.region[0] + "--" + this.data.region[1] + "--" + this.data.region[2],
|
|
|
- school: this.data.schoolArray[this.data.schoolIndex],
|
|
|
- class: this.data.classArray[this.data.classIndex],
|
|
|
- deviceId: this.data.deviceId
|
|
|
- }
|
|
|
- console.log("params:", params)
|
|
|
- //开始上课
|
|
|
- this.setData({
|
|
|
- pageState: 1
|
|
|
- })
|
|
|
- },
|
|
|
|
|
|
+ },
|
|
|
+ bindSchoolPicker: function (event: any) {
|
|
|
|
|
|
+ this.setData({
|
|
|
+ schoolIndex: event.detail.value,
|
|
|
+ schoolId: this.data.schoolData[event.detail.value].id
|
|
|
+ })
|
|
|
|
|
|
- //上课之后的方法
|
|
|
- //下课
|
|
|
- classOver: function () {
|
|
|
- //下课
|
|
|
- let that = this;
|
|
|
- wx.showModal({
|
|
|
- title: '',
|
|
|
- content: '确定下课么',
|
|
|
- success: function (res) {
|
|
|
- if (res.confirm) {
|
|
|
- console.log('点击确认回调')
|
|
|
+ this.changeClass();
|
|
|
+
|
|
|
+ },
|
|
|
+ bindClssPicker: function (event: any) {
|
|
|
+ this.setData({
|
|
|
+ classIndex: event.detail.value
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //扫码界面(未处理回调)
|
|
|
+ scanCode: function () {
|
|
|
+ var that = this;
|
|
|
+ wx.scanCode({ //扫描API
|
|
|
+ success(res) { //扫描成功
|
|
|
+ console.log(res) //输出回调信息
|
|
|
that.setData({
|
|
|
- pageState: 0
|
|
|
+ scanCodeMsg: res.result
|
|
|
+ });
|
|
|
+ wx.showToast({
|
|
|
+ title: '扫码成功',
|
|
|
+ icon: 'success',
|
|
|
+ duration: 1000
|
|
|
})
|
|
|
- } else {
|
|
|
- console.log('点击取消回调')
|
|
|
- }
|
|
|
+ },
|
|
|
+ fail: (res: any) => {//接口调用失败的回调函数
|
|
|
+ wx.showToast({
|
|
|
+ title: '扫码失败',
|
|
|
+ icon: 'success',
|
|
|
+ duration: 1000
|
|
|
+ })
|
|
|
+ },
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ //获取设备ID的输入
|
|
|
+ bindDeviceInput(event: any) {
|
|
|
+ this.setData({
|
|
|
+ deviceId: event.detail.value
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ //上课
|
|
|
+ startMonitor: function () {
|
|
|
+ if (!this.data.deviceId) {
|
|
|
+ wx.showToast({
|
|
|
+ title: '请输入设备ID',
|
|
|
+ icon: 'none', //如果要纯文本,不要icon,将值设为'none'
|
|
|
+ duration: 1000
|
|
|
+ })
|
|
|
+ return;
|
|
|
}
|
|
|
- })
|
|
|
+ let params = {
|
|
|
+ address: this.data.region[0] + "--" + this.data.region[1] + "--" + this.data.region[2],
|
|
|
+ school: this.data.schoolArray[this.data.schoolIndex],
|
|
|
+ class: this.data.classArray[this.data.classIndex],
|
|
|
+ deviceId: this.data.deviceId
|
|
|
+ }
|
|
|
+ console.log("params:", params)
|
|
|
+ //开始上课
|
|
|
+ this.setData({
|
|
|
+ pageState: 1
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //上课之后的方法
|
|
|
+ //下课
|
|
|
+ classOver: function () {
|
|
|
+ //下课
|
|
|
+ let that = this;
|
|
|
+ wx.showModal({
|
|
|
+ title: '',
|
|
|
+ content: '确定下课么',
|
|
|
+ success: function (res) {
|
|
|
+ if (res.confirm) {
|
|
|
+ console.log('点击确认回调')
|
|
|
+ that.setData({
|
|
|
+ pageState: 0
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ console.log('点击取消回调')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
|
|
|
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
})
|