208 lines
5.8 KiB
JavaScript
208 lines
5.8 KiB
JavaScript
const app = getApp()
|
||
const api = require("../../../utils/request.js");
|
||
Page({
|
||
data: {
|
||
formData: [
|
||
{
|
||
type: 'input',
|
||
id:'name',
|
||
lable:'考试名称',
|
||
isRequired: true,//是否必填
|
||
maxLength: 20,//最大长度
|
||
defaultValue:'',//初始值
|
||
rules:[//规则验证数组
|
||
{
|
||
regular: '^\\S*$',//正则字符串
|
||
tips: '不能有空格'//错误提示
|
||
},
|
||
]
|
||
},
|
||
{
|
||
type: 'input',
|
||
id:'place',
|
||
lable:'考试地点',
|
||
isRequired: true,//是否必填
|
||
maxLength: 50,//最大长度
|
||
defaultValue:'',//初始值
|
||
rules:[//规则验证数组
|
||
{
|
||
regular: '^\\S*$',//正则字符串
|
||
tips: '不能有空格'//错误提示
|
||
},
|
||
]
|
||
},
|
||
{
|
||
type: 'input',
|
||
id: 'chance',
|
||
lable: '考试机会',
|
||
defaultValue: 3,
|
||
inputType: 'digit', //对应input组件type值(text,number)
|
||
placeholder: '请填写数字',
|
||
isRequired: true,//是否必填
|
||
//disabled:true,
|
||
rules: [
|
||
|
||
]
|
||
},
|
||
{
|
||
type: 'picker',
|
||
id: 'workscope',
|
||
lable: '工作类别',
|
||
defaultIdx:0,//默认选择索引
|
||
// disabled:true,
|
||
isRequired:true,
|
||
range:[
|
||
{
|
||
id: 0,
|
||
name: '正常'
|
||
},
|
||
{
|
||
id: 1,
|
||
name: '异常'
|
||
},
|
||
|
||
]
|
||
},
|
||
{
|
||
type: 'date',
|
||
id: 'daterange',
|
||
lable: '开关时间',
|
||
isRequired: true,
|
||
/* 显示完整时间包含时分秒;当使用endDate的时候关闭,不要同时打开, 否则日期将会换行;
|
||
与config中的colum属性共同设置
|
||
*/
|
||
completeTime:true, //显示完整时间, 包含时分秒
|
||
config: {
|
||
endDate: true,
|
||
dateLimit: true,
|
||
// initStartTime: "2020-01-01 12:32:44",
|
||
// initEndTime: "2020-12-01 12:32:44",
|
||
column: "minute",//day、hour、minute、secend
|
||
limitStartTime: "2000-01-01 00:00:59",
|
||
limitEndTime: "2100-01-01 00:00:59"
|
||
}
|
||
},
|
||
{
|
||
type: 'input',
|
||
id:'proctor_name',
|
||
lable:'监考人姓名',
|
||
isRequired: true,//是否必填
|
||
maxLength: 50,//最大长度
|
||
defaultValue:'',//初始值
|
||
rules:[//规则验证数组
|
||
{
|
||
regular: '^\\S*$',//正则字符串
|
||
tips: '不能有空格'//错误提示
|
||
},
|
||
]
|
||
},
|
||
{
|
||
type: 'input',
|
||
id:'proctor_phone',
|
||
lable:'监考人联系方式',
|
||
isRequired: true,//是否必填
|
||
maxLength: 50,//最大长度
|
||
defaultValue:'',//初始值
|
||
rules:[//规则验证数组
|
||
{
|
||
regular: '^\\S*$',//正则字符串
|
||
tips: '不能有空格'//错误提示
|
||
},
|
||
]
|
||
},
|
||
{
|
||
type: 'input',
|
||
id:'train_name',
|
||
lable:'培训名称',
|
||
isRequired: false,//是否必填
|
||
maxLength: 50,//最大长度
|
||
defaultValue:null,//初始值
|
||
rules:[//规则验证数组
|
||
{
|
||
regular: '^\\S*$',//正则字符串
|
||
tips: '不能有空格'//错误提示
|
||
},
|
||
]
|
||
},
|
||
{
|
||
type: 'date',
|
||
id: 'daterange2',
|
||
lable: '培训时间',
|
||
isRequired: false,
|
||
/* 显示完整时间包含时分秒;当使用endDate的时候关闭,不要同时打开, 否则日期将会换行;
|
||
与config中的colum属性共同设置
|
||
*/
|
||
completeTime:false, //显示完整时间, 包含时分秒
|
||
config: {
|
||
endDate: true,
|
||
dateLimit: true,
|
||
// initStartTime: "2020-01-01 12:32:44",
|
||
// initEndTime: "2020-12-01 12:32:44",
|
||
column: "day",//day、hour、minute、secend
|
||
limitStartTime: "2000-01-01 00:00:59",
|
||
limitEndTime: "2100-01-01 00:00:59"
|
||
}
|
||
},
|
||
],
|
||
toSubmit: Math.random()
|
||
},
|
||
onFormSubmit(e){
|
||
console.log('表单提交: ', e);
|
||
let x = {};
|
||
x.opentime = e.detail.daterange.startDate;
|
||
x.closetime = e.detail.daterange.endDate;
|
||
x.train_name = e.detail.train_name.value;
|
||
if (e.detail.daterange2.startDate){
|
||
x.train_start_date = e.detail.daterange2.startDate
|
||
}
|
||
if (e.detail.daterange2.endDate){
|
||
x.train_end_date = e.detail.daterange2.endDate
|
||
}
|
||
x.name = e.detail.name.value
|
||
x.place = e.detail.place.value
|
||
x.chance = e.detail.chance.value
|
||
x.workscope = e.detail.workscope.original.range[e.detail.workscope.idx].id
|
||
x.proctor_name = e.detail.proctor_name.value
|
||
x.proctor_phone = e.detail.proctor_phone.value
|
||
wx.showModal({
|
||
content: '确认发布考试吗',
|
||
success (res) {
|
||
if (res.confirm) {
|
||
api.requesta('/examtest/exam/', 'POST', x).then(res=>{
|
||
let rdata = res.data
|
||
wx.showModal({
|
||
title: '发布成功',
|
||
content: '考试号为' + rdata.code,
|
||
showCancel: false,
|
||
success (res) {
|
||
if (res.confirm) {
|
||
wx.redirectTo({
|
||
url: '/pages/admin/exam/detail?id='+rdata.id,
|
||
})
|
||
}
|
||
}
|
||
})
|
||
})
|
||
}
|
||
}
|
||
})
|
||
},
|
||
onFormChange(e){
|
||
//console.log('表单变化: ',e);
|
||
},
|
||
//变更数值, 触发表单提交事件
|
||
toSubmitChange(){
|
||
this.setData({
|
||
toSubmit: Math.random()
|
||
})
|
||
},
|
||
onLoad: function () {
|
||
api.requesta('/examtest/workscope/?can_exam=true', 'GET').then(res=>{
|
||
this.data.formData[3].range=res.data
|
||
this.setData({
|
||
formData: this.data.formData
|
||
})
|
||
})
|
||
},
|
||
})
|