From 4e0403082a4e85be27e83a900f7cc301810c0bf0 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Thu, 18 Apr 2024 17:33:01 +0800
Subject: [PATCH] 更新
---
api/school/school.js | 64 +++++++++
pages/home/index.vue | 7
pages.json | 14 +
subPackage/workbench/views/cscj.vue | 56 +++++++
subPackage/school/clockIn.vue | 254 ++++++++++++++++++++++++++++++++++++
5 files changed, 387 insertions(+), 8 deletions(-)
diff --git a/api/school/school.js b/api/school/school.js
new file mode 100644
index 0000000..5eebcfa
--- /dev/null
+++ b/api/school/school.js
@@ -0,0 +1,64 @@
+import http from '@/http/api.js'
+
+//新增护学打卡
+export const addClockIn = (data) => {
+ return http.request({
+ url: '/blade-nursingCheckIn/nursingCheckIn/save',
+ method: 'POST',
+ data: data
+ })
+}
+
+//添加居住证申请
+export const saveResideApply = (data) => {
+ return http.request({
+ url: '/blade-taskResidencePermitApply/taskResidencePermitApply/save',
+ method: 'POST',
+ data: data
+ })
+}
+
+//编辑居住证申请
+export const updateResideApply = (data) => {
+ return http.request({
+ url: '/blade-taskResidencePermitApply/taskResidencePermitApply/update',
+ method: 'POST',
+ data: data
+ })
+}
+
+
+
+
+//获取居住证申请详情
+export const getResideApplyDetail = (params) => {
+ return http.request({
+ url: '/blade-taskResidencePermitApply/taskResidencePermitApply/detail',
+ method: 'get',
+ params: {
+ ...params
+ }
+ })
+}
+
+
+//审核居住证申请
+export const auditResideApply = (data) => {
+ return http.request({
+ url: '/blade-taskResidencePermitApply/taskResidencePermitApply/auditing',
+ method: 'POST',
+ data: data
+ })
+}
+
+
+//获取居住证申请提交记录列表
+export const getResideApplyRecord = (params) => {
+ return http.request({
+ url: '/blade-taskResidencePermitApply/taskResidencePermitApply/list',
+ method: 'get',
+ params: {
+ ...params
+ }
+ })
+}
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 05af079..7e1817c 100644
--- a/pages.json
+++ b/pages.json
@@ -1228,9 +1228,19 @@
"enablePullDownRefresh": false
}
}]
+ },
+ {
+ "root": "subPackage/school",
+ "pages": [{
+ "path": "clockIn",
+ "style": {
+ "navigationBarTitleText": "护学打卡 ",
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTextStyle": "black",
+ "enablePullDownRefresh": false
+ }
+ }]
}
-
-
],
"globalStyle": {
"navigationBarTextStyle": "black",
diff --git a/pages/home/index.vue b/pages/home/index.vue
index c6d2167..e85f925 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -437,7 +437,12 @@
text: "居住证申请",
path: "/subPackage/reside/edit",
icon: "/static/icon/nav-13.png"
- }
+ },
+ // {
+ // text: "护学打卡",
+ // path: "/subPackage/school/clockIn",
+ // icon: "/static/icon/nav-13.png"
+ // }
]
},
diff --git a/subPackage/school/clockIn.vue b/subPackage/school/clockIn.vue
new file mode 100644
index 0000000..93b6f48
--- /dev/null
+++ b/subPackage/school/clockIn.vue
@@ -0,0 +1,254 @@
+<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="家长姓名" 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>
+ </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: {
+ realName: "",
+ phone: "",
+ remark: "",
+ type: -1,
+ address: "",
+ lat: "",
+ lng: ""
+ },
+ 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: {}
+ }
+ },
+ 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 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>
\ No newline at end of file
diff --git a/subPackage/workbench/views/cscj.vue b/subPackage/workbench/views/cscj.vue
index 54b89de..e65389a 100644
--- a/subPackage/workbench/views/cscj.vue
+++ b/subPackage/workbench/views/cscj.vue
@@ -222,8 +222,6 @@
<view class="item">
-
-
<view class="flex j-c-s-b a-i-c">
<view class="box-title" style="width:50%;">
<box-title title="房东信息"></box-title>
@@ -236,8 +234,6 @@
</view>
</ocr-navigator>
</view>
-
-
<u-form-item class="form-item" labelWidth="100" :required="isRequired" :disabled="isDisabled"
label="姓名:" prop="landlordName">
<u--input border="none" v-model="form.placeExtEntity.landlordName" placeholder="请输入">
@@ -262,7 +258,57 @@
</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" v-if="(currentId && form.images.length) || !currentId ">
--
Gitblit v1.9.3