9 files modified
6 files deleted
| | |
| | | version: '2.0.0', |
| | | // 开发环境接口Url |
| | | // devUrl: 'http://z4042833u6.wicp.vip', |
| | | // devUrl: 'http://192.168.2.111:9528', |
| | | devUrl: 'https://srgdjczzxtpt.com:2080/api', |
| | | devUrl: 'http://192.168.2.111:9528', |
| | | // devUrl: 'https://srgdjczzxtpt.com:2080/api', |
| | | // devUrl: 'https://kt39592615.goho.co', |
| | | minioBaseUrl: "https://srgdjczzxtpt.com:2080/gminio/jczz/", |
| | | // minioBaseUrl: "http://192.168.0.101:9528/", |
| | | // 数据中台接口url |
| | | dataCenterUrl: 'https://sk.hubeishuiyi.cn/services', |
| | | //洪水预报接口url |
| | | hsybUrl: "https://sk.hubeishuiyi.cn/hsybApi/api/fh-admin", |
| | | // 线上环境接口Url |
| | | prodUrl: 'https://srgdjczzxtpt.com:2080/api', |
| | | |
| | | // prodUrl: 'http://192.168.2.140:9528', |
| | | |
| | | // 后端数据的接收方式application/json;charset=UTF-8或者application/x-www-form-urlencoded;charset=UTF-8 |
| | | contentType: 'application/json;charset=UTF-8', |
| | | // 后端返回状态码 |
| | |
| | | { |
| | | "root": "subPackage/school", |
| | | "pages": [{ |
| | | "path": "clockIn", |
| | | "style": { |
| | | "navigationBarTitleText": "护学打卡 ", |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black", |
| | | "enablePullDownRefresh": false |
| | | "path": "clockIn", |
| | | "style": { |
| | | "navigationBarTitleText": "护学打卡 ", |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | | |
| | | { |
| | | "path": "trouble", |
| | | "style": { |
| | | "navigationBarTitleText": "隐患排查", |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | } |
| | | }] |
| | | |
| | | ] |
| | | } |
| | | ], |
| | | "globalStyle": { |
| | |
| | | <text class="nav-item-text f-26 mt-10">场所任务</text>
|
| | | </view>
|
| | | </u-grid-item>
|
| | | <!-- <u-grid-item @click="navToSchoolClockIn()"
|
| | | v-if="curSelectSite.categoryList[0].parentNo == 1601">
|
| | | <view class="nav-item flex f-d-c a-i-c">
|
| | | <u-icon name="/static/icon/nav-29.png" width="80rpx" height="80rpx"></u-icon>
|
| | | <text class="nav-item-text f-26 mt-10">护学打卡</text>
|
| | | </view>
|
| | | </u-grid-item> -->
|
| | | </block>
|
| | | </u-grid>
|
| | | </view>
|
| | |
| | | text: "居住证申请",
|
| | | path: "/subPackage/reside/edit",
|
| | | icon: "/static/icon/nav-13.png"
|
| | | },
|
| | | // {
|
| | | // text: "护学打卡",
|
| | | // path: "/subPackage/school/clockIn",
|
| | | // icon: "/static/icon/nav-13.png"
|
| | | // }
|
| | | }
|
| | |
|
| | | ]
|
| | | },
|
| | |
|
| | |
| | | url: `/subPackage/workbench/views/auditSite?code=${houseCode}&from=index`
|
| | | })
|
| | | },
|
| | |
|
| | | //护学打卡跳转
|
| | | navToSchoolClockIn() {
|
| | | uni.navigateTo({
|
| | | url: `/subPackage/school/clockIn`
|
| | | })
|
| | | },
|
| | |
|
| | | getRealTimeLocaltion() {
|
| | | this.getDeviceGPS() //获取本机GPS状态
|
| | | wx.startLocationUpdateBackground({
|
| | |
| | | </view> |
| | | |
| | | <view class="explain-row "> |
| | | <text class="f-28 c-main" v-if="!isEnd && !isComplete">投票进行中</text> |
| | | <text class="f-28 c-main" v-if="!isEnd && !isComplete && isStart">投票进行中</text> |
| | | <text class="f-28 c-main" v-if="isComplete && !isEnd">投票已提交</text> |
| | | <text class="f-28 c-main" v-if="isEnd">投票已结束</text> |
| | | <text class="f-28 c-main" v-if="!isStart">投票未开始</text> |
| | | <text class="ml-20 f-26 " v-if="applyInfo.voteRestrictions == 1">(该议题为一户一票)</text> |
| | | </view> |
| | | |
| | |
| | | <view class="" v-if="item.optionRange == 0"> |
| | | <u-radio-group size="22" iconPlacement="right" activeColor="#017BFC" placement="column" |
| | | v-model="item.selected" @change="selectOption($event,index)" |
| | | :disabled="item.isSubmit || isEnd || isComplete"> |
| | | :disabled="item.isSubmit || isEnd || isComplete || !isStart"> |
| | | <view class="mb-30" v-for="(i,k) in item.children"> |
| | | <u-radio :label="i.optionContent" :name="i.id"></u-radio> |
| | | <view class="flex j-c-s-b a-i-c mt-10"> |
| | |
| | | </u-checkbox-group> |
| | | </view> |
| | | </view> |
| | | <button class="apply-btn bgc-main c-ff" v-if="!isEnd && !isComplete" |
| | | <button class="apply-btn bgc-main c-ff" v-if="!isEnd && !isComplete && isStart" |
| | | @click="submitVote()">提交</button> |
| | | <button class="apply-btn bgc-gray c-dd" v-if="isComplete && !isEnd">已提交</button> |
| | | <button class="apply-btn bgc-gray c-dd" v-if="isEnd">已结束</button> |
| | | <button class="apply-btn bgc-gray c-dd" v-if="!isStart">未开始</button> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | isShowPopup: false, |
| | | validationCode: "", |
| | | phone: "", |
| | | text: "获取验证码" |
| | | text: "获取验证码", |
| | | isSendCode: false, |
| | | isStart: false //投票是否开始 |
| | | } |
| | | }, |
| | | onLoad(option) { |
| | |
| | | this.setOptionDisable() //时间结束,所有多项按钮禁用 |
| | | } |
| | | return Number(endTimestamp) - Number(curTimestamp) |
| | | }, |
| | | computeStartTime() { |
| | | let curTimestamp = new Date().getTime(); |
| | | let startTimestamp = new Date(this.applyInfo.startTime).getTime(); |
| | | if (Number(curTimestamp) - Number(startTimestamp) >= 0) { |
| | | this.isStart = true; |
| | | } else { |
| | | this.setOptionDisable() |
| | | this.isStart = false; |
| | | //时间没到,所有多项按钮禁用 |
| | | } |
| | | // return Number(endTimestamp) - Number(curTimestamp) |
| | | } |
| | | }, |
| | | |
| | |
| | | // return false; |
| | | // } |
| | | // this.sendValidationCode(); |
| | | if (this.isSendCode) return; |
| | | let second = 60; |
| | | |
| | | this.isSendCode = true; |
| | | sendCode({ |
| | | phone: uni.getStorageSync("userInfo").phone, |
| | | }).then(res => { |
| | |
| | | let time = setInterval(() => { |
| | | second-- |
| | | this.text = `${second}秒后获取` |
| | | if (second == 0 || this.data.isLogin) { |
| | | if (second == 0 || this.isLogin) { |
| | | clearInterval(time); |
| | | this.isSendCode = false |
| | | this.text = "获取验证码"; |
| | | } |
| | | }, 1000) |
| | | } else { |
| | | this.isSendCode = false; |
| | | } |
| | | }) |
| | | }, |
| | |
| | | phone: "", |
| | | text: "获取验证码", |
| | | imgSrc: "", |
| | | type: "" |
| | | type: "", |
| | | isSendCode: false |
| | | } |
| | | }, |
| | | |
| | |
| | | // return false; |
| | | // } |
| | | // this.sendValidationCode(); |
| | | if (this.isSendCode) return; |
| | | let second = 60; |
| | | this.isSendCode = true; |
| | | sendCode({ |
| | | phone: uni.getStorageSync("userInfo").phone, |
| | | }).then(res => { |
| | |
| | | this.text = `${second}秒后获取` |
| | | if (second == 0 || this.data.isLogin) { |
| | | clearInterval(time); |
| | | this.isSendCode = false; |
| | | this.text = "获取验证码"; |
| | | } |
| | | }, 1000) |
| | | } else { |
| | | this.isSendCode = false; |
| | | } |
| | | }) |
| | | }, |
| | |
| | | <view class="content bgc-ff"> |
| | | <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90" |
| | | :labelStyle="{fontSize:'28rpx'}"> |
| | | <u-form-item label="家长姓名" prop="name" borderBottom ref="name" required> |
| | | <u-form-item label="家长姓名" prop="name" borderBottom ref="name"> |
| | | <u-input v-model="info.name" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="家长手机号" prop="phone" borderBottom ref="phone" required> |
| | | <u-form-item label="家长手机号" prop="phone" borderBottom ref="phone"> |
| | | <u-input v-model="info.phone" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="学生姓名" prop="realName" borderBottom ref="realName" required> |
| | | <u-form-item label="学生姓名" prop="realName" borderBottom ref="realName"> |
| | | <u-input v-model="info.realName" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="学生班级" prop="gradeAndClass" borderBottom ref="gradeAndClass" required> |
| | | <u-form-item label="学生班级" prop="gradeAndClass" borderBottom ref="gradeAndClass"> |
| | | <u-input v-model="info.gradeAndClass" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | |
| | | data() { |
| | | return { |
| | | info: { |
| | | realName: "", |
| | | name: "", |
| | | phone: "", |
| | | remark: "", |
| | | type: -1, |
| | | address: "", |
| | | lat: "", |
| | | lng: "" |
| | | location: "", |
| | | gradeAndClass: "" |
| | | }, |
| | | rules: { |
| | | 'name': { |
| | |
| | | message: '请输入手机号', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | |
| | | { |
| | | |
| | | validator: (rule, value, callback) => { |
| | | return uni.$u.test.mobile(value); |
| | | }, |
| | | message: '手机号码不正确', |
| | | trigger: ['change', 'blur'] |
| | | |
| | | } |
| | | |
| | | ], |
| | | 'location': { |
| | | type: 'string', |
| | |
| | | <template> |
| | | <view class=""> |
| | | <view class="content bgc-ff"> |
| | | <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90" |
| | | :labelStyle="{fontSize:'28rpx'}"> |
| | | |
| | | <u-form-item label="类型:" labelWidth="100" prop="type" :required="isRequired"> |
| | | <u-radio-group v-model="info.type"> |
| | | <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList" :key="index" |
| | | :label="item.name" :name="item.id"> |
| | | </u-radio> |
| | | </u-radio-group> |
| | | |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="家长姓名" prop="name" borderBottom ref="name" required> |
| | | <u-input v-model="info.name" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="家长手机号" prop="phone" borderBottom ref="phone" required> |
| | | <u-input v-model="info.phone" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="学生姓名" prop="realName" borderBottom ref="realName" required> |
| | | <u-input v-model="info.realName" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="学生班级" prop="gradeAndClass" borderBottom ref="gradeAndClass" required> |
| | | <u-input v-model="info.gradeAndClass" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="位置" prop="location" :borderBottom="false" required> |
| | | <view class="address-row flex"> |
| | | <view class="address-content f-28" v-if="info.location"> |
| | | {{info.location}} |
| | | </view> |
| | | <view class="address-content f-28 c-99" v-if="!info.location"> |
| | | 请选择地址 |
| | | </view> |
| | | <view class="location-btn c-main f-24" @click="getLocation()"> |
| | | 获取地址 |
| | | </view> |
| | | </view> |
| | | <!-- <u-input v-model="info.address" border="none" placeholderClass="f-28 c-99" |
| | | inputAlign="right" disabled disabledColor="#fff"> |
| | | <template slot="suffix"> |
| | | <button class="location-btn c-main f-24" @click="getLocation()">获取地址</button> |
| | | </template> |
| | | </u-input> --> |
| | | </u-form-item> |
| | | |
| | | <u-form-item label="描述" prop="describe" borderBottom ref="describe" required> |
| | | <u-textarea v-model="info.describe" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-textarea> |
| | | </u-form-item> |
| | | </u-form> |
| | | </view> |
| | | |
| | | <view class="upload bgc-ff"> |
| | | <view class="f-28 mb-20">照片</view> |
| | | <!-- <u-textarea v-model="info.remark" placeholder="请输入内容" border="none" |
| | | placeholderClass="c-99 f-26"></u-textarea> --> |
| | | <view class="mt-20"> |
| | | <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount" |
| | | :capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic"> |
| | | <view class="upload-item upload-icon flex_base"> |
| | | <u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon> |
| | | </view> |
| | | </u-upload> |
| | | </view> |
| | | </view> |
| | | |
| | | |
| | | <button class="submit-btn" @click="sumitInfo">提交</button> |
| | | <!-- <button class="list-btn" @click="navigatorPage">我上报的事件</button> --> |
| | | |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import uploadMixin from "@/mixin/uploadMixin"; |
| | | import { |
| | | addClockIn |
| | | } from "@/api/school/school.js"; |
| | | export default { |
| | | mixins: [uploadMixin], |
| | | data() { |
| | | return { |
| | | info: { |
| | | name: "", |
| | | phone: "", |
| | | location: "", |
| | | gradeAndClass: "" |
| | | }, |
| | | rules: { |
| | | 'name': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入家长姓名', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'phone': [{ |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入手机号', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => { |
| | | return uni.$u.test.mobile(value); |
| | | }, |
| | | message: '手机号码不正确', |
| | | trigger: ['change', 'blur'] |
| | | } |
| | | ], |
| | | 'location': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择地址', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | }, |
| | | desc: "", |
| | | title: "", |
| | | curSelectSite: {}, |
| | | statusList: [{ |
| | | name: "隐患", |
| | | id: 1 |
| | | }, |
| | | { |
| | | name: "矛盾", |
| | | id: 2 |
| | | } |
| | | ], |
| | | } |
| | | }, |
| | | onLoad(option) { |
| | | if (option.type) { |
| | | this.info.type = option.type |
| | | } |
| | | |
| | | |
| | | }, |
| | | // onShow() { |
| | | // this.curSelectSite = uni.getStorageSync('siteInfo') |
| | | // this.info.addressCode = this.curSelectSite.houseCode |
| | | // }, |
| | | methods: { |
| | | |
| | | getLocation() { |
| | | uni.chooseLocation({ |
| | | success: (res) => { |
| | | this.$set(this.info, "location", res.address); |
| | | // this.$set(this.info, "lat", res.latitude); |
| | | // this.$set(this.info, "lng", res.longitude) |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | sumitInfo() { |
| | | |
| | | this.$refs.form.validate().then(valid => { |
| | | if (this.form.images.length > 0) { |
| | | let urls = [] |
| | | this.form.images.forEach(e => { |
| | | urls.push(e.name) |
| | | }) |
| | | this.info.images = urls.join(",") |
| | | } |
| | | addClockIn(this.info).then(res => { |
| | | this.$showTips("提交成功", "success") |
| | | setTimeout(() => { |
| | | uni.navigateBack() |
| | | }, 300) |
| | | }) |
| | | }) |
| | | }, |
| | | navigatorPage() { |
| | | let url = "/subPackage/bs/views/repairList" + "?title=" + this.title + "&type=" + this.info.type |
| | | this.$u.func.globalNavigator(url, "navTo") |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | <style lang="less"> |
| | | page { |
| | | background-color: #F5F5F5; |
| | | } |
| | | |
| | | .content { |
| | | margin: 20rpx 30rpx; |
| | | padding: 0 30rpx; |
| | | } |
| | | |
| | | .site-box { |
| | | padding: 30rpx; |
| | | margin: 20rpx 30rpx; |
| | | border-radius: 4rpx; |
| | | |
| | | .c-aa { |
| | | color: #aaa; |
| | | } |
| | | |
| | | .address { |
| | | width: 60%; |
| | | margin-left: 25rpx; |
| | | } |
| | | } |
| | | |
| | | .upload-item { |
| | | width: 140rpx; |
| | | height: 140rpx; |
| | | border: 1px solid #EEEEEE; |
| | | } |
| | | |
| | | .upload { |
| | | margin: 0 30rpx; |
| | | padding: 30rpx; |
| | | |
| | | |
| | | } |
| | | |
| | | .submit-btn { |
| | | width: 690rpx; |
| | | height: 78rpx; |
| | | line-height: 78rpx; |
| | | background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%); |
| | | border-radius: 8rpx 8rpx 8rpx 8rpx; |
| | | font-size: 32rpx; |
| | | color: #fff; |
| | | margin-top: 50rpx; |
| | | } |
| | | |
| | | .list-btn { |
| | | width: 690rpx; |
| | | height: 78rpx; |
| | | line-height: 78rpx; |
| | | background: linear-gradient(163deg, #c7d7dc 0%, #c3cdd8 100%); |
| | | border-radius: 8rpx 8rpx 8rpx 8rpx; |
| | | font-size: 32rpx; |
| | | color: #fff; |
| | | margin-top: 50rpx; |
| | | } |
| | | |
| | | .address-row { |
| | | flex: 1; |
| | | justify-content: flex-end; |
| | | align-items: center; |
| | | } |
| | | |
| | | .address-content { |
| | | width: calc(100% - 116rpx - 20rpx); |
| | | margin-right: 20rpx; |
| | | text-align: right; |
| | | } |
| | | |
| | | .location-btn { |
| | | width: 116rpx; |
| | | height: 46rpx; |
| | | line-height: 46rpx; |
| | | border-radius: 4rpx; |
| | | border: 1px solid currentColor; |
| | | padding: 0; |
| | | background-color: #fff; |
| | | text-align: center; |
| | | } |
| | | </style> |
| | |
| | | legalIdCard: "",
|
| | | placeId: "",
|
| | |
|
| | | studentNumber: "",
|
| | | workersNumber: "",
|
| | | securityNumoer: "",
|
| | | gusrdNumber: "",
|
| | | temporarySecurityNumber: "",
|
| | | daystudentsNumber: "",
|
| | | residentialStudentsNumber: "",
|
| | | housemasterNumber: ""
|
| | | }
|
| | | },
|
| | | rules: {
|
| | |
| | | </u-form-item> |
| | | </view> |
| | | |
| | | |
| | | <view class="item" v-if="false"> |
| | | <view class="flex j-c-s-b a-i-c"> |
| | | <view class="box-title" style="width:50%;"> |
| | | <box-title title="学校信息"></box-title> |
| | | </view> |
| | | </view> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="学生人数:" prop="studentNumber"> |
| | | <u--input border="none" type="number" v-model="form.placeExtEntity.studentNumber" |
| | | placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="教职工人数:" prop="workersNumber"> |
| | | <u--input border="none" type="number" v-model="form.placeExtEntity.workersNumber" |
| | | placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="专职保安:" prop="securityNumoer"> |
| | | <u--input border="none" type="number" v-model="form.placeExtEntity.securityNumoer" |
| | | placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="专职门卫:" prop="gusrdNumber"> |
| | | <u--input border="none" v-model="form.placeExtEntity.gusrdNumber" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="专兼职保卫人员:" prop="temporarySecurityNumber"> |
| | | <u--input border="none" v-model="form.placeExtEntity.temporarySecurityNumber" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="走读/寄宿:" prop="daystudentsNumber"> |
| | | <u--input border="none" v-model="form.placeExtEntity.daystudentsNumber" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="住校生人数:" prop="residentialStudentsNumber"> |
| | | <u--input border="none" v-model="form.placeExtEntity.residentialStudentsNumber" |
| | | placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | <u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled" |
| | | label="宿舍管理人员:" prop="housemasterNumber"> |
| | | <u--input border="none" v-model="form.placeExtEntity.housemasterNumber" placeholder="请输入"> |
| | | </u--input> |
| | | </u-form-item> |
| | | </view> |
| | | |
| | | |
| | | <view class="item pic"> |
| | |
| | | legalIdCard: "", |
| | | placeId: "", |
| | | |
| | | studentNumber: "", |
| | | workersNumber: "", |
| | | securityNumoer: "", |
| | | gusrdNumber: "", |
| | | temporarySecurityNumber: "", |
| | | daystudentsNumber: "", |
| | | residentialStudentsNumber: "", |
| | | housemasterNumber: "" |
| | | |
| | | } |
| | | }, |
| | | rules: { |