From 5b426c8bb73408fc358155882cbaebfeb803d6fa Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Fri, 19 Apr 2024 17:44:21 +0800
Subject: [PATCH] 更新
---
subPackage/school/trouble.vue | 265 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 264 insertions(+), 1 deletions(-)
diff --git a/subPackage/school/trouble.vue b/subPackage/school/trouble.vue
index 02409e3..565c6fd 100644
--- a/subPackage/school/trouble.vue
+++ b/subPackage/school/trouble.vue
@@ -1,8 +1,271 @@
<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>
\ No newline at end of file
--
Gitblit v1.9.3