examtest/test_mini/pages/admin/exam/add2.js

208 lines
5.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
})
})
},
})