From b51b26b1b6ed71f2a1c2f440f4a374c578f9ed8a Mon Sep 17 00:00:00 2001
From: GULIMMO <2820890765@qq.com>
Date: Thu, 09 Nov 2023 17:41:11 +0800
Subject: [PATCH] Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/jczz_app
---
static/icon/nav-bg-11.png | 0
pages.json | 10
static/icon/nav-bg-13.png | 0
static/icon/nav-bg-14.png | 0
subPackage/label/index.vue | 39
subPackage/label/hotel.vue | 199 +++++---
subPackage/label/form.vue | 252 ++++++++++
/dev/null | 596 ------------------------
static/icon/nav-bg-10.png | 0
api/reporting/reporting.js | 29 +
pages/home/index.vue | 11
static/icon/nav-bg-12.png | 0
subPackage/label/bail.vue | 243 ++++++++++
common/setting.js | 2
14 files changed, 673 insertions(+), 708 deletions(-)
diff --git a/api/reporting/reporting.js b/api/reporting/reporting.js
new file mode 100644
index 0000000..1db1d29
--- /dev/null
+++ b/api/reporting/reporting.js
@@ -0,0 +1,29 @@
+import http from '@/http/api.js'
+
+//添加旅馆安全报事
+export const saveHotelReporting = (data) => {
+ return http.request({
+ url: '/blade-taskHotelReporting/taskHotelReporting/save',
+ method: 'POST',
+ data: data
+ })
+}
+
+//添加取保候审报事
+export const saveBailReporting = (data) => {
+ return http.request({
+ url: '/blade-taskBailReportingEvent/taskBailReportingEvent/save',
+ method: 'POST',
+ data: data
+ })
+}
+
+
+//添加打金店、二手车交易、二手手机维修报事
+export const saveLabelReporting = (data) => {
+ return http.request({
+ url: '/blade-taskLabelReportingEvent/taskLabelReportingEvent/save',
+ method: 'POST',
+ data: data
+ })
+}
diff --git a/common/setting.js b/common/setting.js
index d7c24cd..97efe8a 100644
--- a/common/setting.js
+++ b/common/setting.js
@@ -12,7 +12,7 @@
// devUrl: 'https://sk.hubeishuiyi.cn',
// devUrl: 'http://192.168.1.156:9528',
// devUrl:'http://192.168.1.50:9528',
- devUrl: 'http://192.168.0.104:9528',
+ devUrl: 'http://192.168.0.101:9528',
minioBaseUrl: "http://60.220.177.113:9000/jczz/",
// 数据中台接口url
// dataCenterUrl: 'http://10.10.2.192/services',
diff --git a/pages.json b/pages.json
index 7c3c5c7..5417dec 100644
--- a/pages.json
+++ b/pages.json
@@ -128,12 +128,12 @@
"navigationBarTextStyle": "black"
}
},{
- "path": "released",
+ "path": "bail",
"style": {
"navigationBarTitleText": "取保候审",
"enablePullDownRefresh": false,
- "navigationBarBackgroundColor": "#4586fe",
- "navigationBarTextStyle": "white"
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTextStyle": "black"
}
},
{
@@ -141,8 +141,8 @@
"style": {
"navigationBarTitleText": "大金店报事",
"enablePullDownRefresh": false,
- "navigationBarBackgroundColor": "#4586fe",
- "navigationBarTextStyle": "white"
+ "navigationBarBackgroundColor": "#fff",
+ "navigationBarTextStyle": "black"
}
}
]
diff --git a/pages/home/index.vue b/pages/home/index.vue
index 55ad0a3..f214584 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -371,16 +371,13 @@
type = 1
this.roleType = 1;
this.roleTypeName = "街道社区网格"
- } else if (roleName == '场所负责人') {
+ } else if (roleName == '居民') {
type = 2
this.roleType = 2
- this.roleTypeName = "场所"
- } else if (roleName == '居民') {
- type = 3
- this.roleType = 3
this.roleTypeName = "居民"
}
const res = await getFuncList(type, roleName)
+ this.columnData = res.data;
console.log(res, "-----------")
let data = res.data
this.siteColumns = []
@@ -435,7 +432,9 @@
if (columnIndex === 0 && this.columnData.length > 0) {
// picker为选择器this实例,变化第二列对应的选项
picker.setColumnValues(1, this.columnData[index])
- }
+ // this.siteColumns[1] = this.columnData[index].children
+ this.$set(this.siteColumns,1,this.columnData[index].children)
+ };
},
// 回调参数为包含columnIndex、value、values
confirmSite(e) {
diff --git a/static/icon/nav-bg-10.png b/static/icon/nav-bg-10.png
new file mode 100644
index 0000000..be3836c
--- /dev/null
+++ b/static/icon/nav-bg-10.png
Binary files differ
diff --git a/static/icon/nav-bg-11.png b/static/icon/nav-bg-11.png
new file mode 100644
index 0000000..0daf512
--- /dev/null
+++ b/static/icon/nav-bg-11.png
Binary files differ
diff --git a/static/icon/nav-bg-12.png b/static/icon/nav-bg-12.png
new file mode 100644
index 0000000..3f7f1c2
--- /dev/null
+++ b/static/icon/nav-bg-12.png
Binary files differ
diff --git a/static/icon/nav-bg-13.png b/static/icon/nav-bg-13.png
new file mode 100644
index 0000000..1577112
--- /dev/null
+++ b/static/icon/nav-bg-13.png
Binary files differ
diff --git a/static/icon/nav-bg-14.png b/static/icon/nav-bg-14.png
new file mode 100644
index 0000000..6da96bf
--- /dev/null
+++ b/static/icon/nav-bg-14.png
Binary files differ
diff --git a/subPackage/label/bail.vue b/subPackage/label/bail.vue
new file mode 100644
index 0000000..4a022ba
--- /dev/null
+++ b/subPackage/label/bail.vue
@@ -0,0 +1,243 @@
+<template>
+ <view class="">
+
+ <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="100"
+ :labelStyle="{fontSize:'28rpx'}">
+ <view class="content">
+ <u-form-item label="姓名" prop="checkUserName" borderBottom required>
+ <u-input v-model="info.checkUserName" disabled disabledColor="#fff" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+ inputAlign="right"></u-input>
+ </u-form-item>
+ <u-form-item label="手机" prop="checkTelephone" borderBottom required>
+ <u-input v-model="info.checkTelephone" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+ inputAlign="right"></u-input>
+ </u-form-item>
+ <u-form-item label="申请名称" prop="applyName" borderBottom required>
+ <u-input v-model="info.applyName" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+ inputAlign="right"></u-input>
+ </u-form-item>
+ <u-form-item label="申请时间" prop="applyTime" borderBottom required @click="showSelectDate = true">
+ <u-input v-model="info.applyTime" disabled disabledColor="#ffffff" border="none" placeholder="请输入"
+ placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+ <u-icon slot="right" name="arrow-right"></u-icon>
+ </u-form-item>
+ <u-form-item label="申请位置" prop="location" borderBottom ref="location" required>
+ <u-input v-model="info.location" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+ inputAlign="right"></u-input>
+ </u-form-item>
+ </view>
+
+ <view class="upload bgc-ff">
+ <view class="f-28 mb-20">位置图片</view>
+ <view class="mt-20">
+ <u-upload :fileList="form.image" :previewFullImage="uploadConfig.previewFullImage"
+ :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+ :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImgs($event,'fireImageUrls')"
+ @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>
+ </u-form>
+ <button class="submit-btn" @click="sumitInfo">提交</button>
+ <!-- <button class="list-btn" @click="navigatorPage">我上报的事件</button> -->
+ <u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="applyTime" mode="datetime"
+ :formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
+ </view>
+</template>
+
+<script>
+ import uploadMixin from "@/mixin/uploadMixin";
+ import {
+ saveBailReporting
+ } from "@/api/reporting/reporting";
+ export default {
+ mixins: [uploadMixin],
+ data() {
+ return {
+ form:{
+ images:[]
+ },
+ info: {
+ checkUserName: "",
+ checkTelephone: "",
+ applyName:"",
+ applyTime:'' ,
+ location:"",
+ houseCode:"",
+ districtName:"",
+ checkUserId:"",
+ },
+ rules: {
+ 'name': {
+ type: 'string',
+ required: true,
+ message: '请输入姓名',
+ trigger: ['blur', 'change']
+ },
+
+ 'checkName': {
+ type: 'string',
+ required: true,
+ message: '请输入手机',
+ trigger: ['blur', 'change']
+ },
+ 'checkPhone': {
+ type: 'number',
+ required: true,
+ message: '请输入名称',
+ trigger: ['blur', 'change']
+ },
+ 'location':{
+ type: 'string',
+ required: true,
+ message: '请输入位置',
+ trigger: ['blur', 'change']
+ }
+ },
+ showSelectDate: false,
+ applyTime:Number(new Date())
+ }
+ },
+ onLoad(option) {
+ let siteInfo = uni.getStorageSync("siteInfo");
+ let userInfo = uni.getStorageSync("userInfo");
+ this.$set(this.info, "houseCode", siteInfo.id);
+ this.$set(this.info, "districtName", siteInfo.name);
+ this.$set(this.info, "checkUserId", userInfo.user_id);
+ },
+
+ onReady() {
+ // 微信小程序需要用此写法
+ this.$refs.datetimePicker.setFormatter(this.formatter)
+ },
+
+ methods: {
+
+ formatter(type, value) {
+ if (type === 'year') {
+ return `${value}年`
+ }
+ if (type === 'month') {
+ return `${value}月`
+ }
+ if (type === 'day') {
+ return `${value}日`
+ }
+ return value
+ },
+
+ confirmDate(e) {
+ console.log(e);
+ this.showSelectDate = false;
+ this.info.applyTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
+ },
+
+
+
+
+ checkImages() {
+ if (this.form.images.length) {
+ this.$set(this.info,"locationImageUrls",this.setImages())
+ }
+ },
+
+ setImages(){
+ let urls = [];
+ for(let i of this.form.images){
+ urls.push(i.url);
+ }
+ return urls.join(",")
+ },
+
+ sumitInfo() {
+ this.$refs.info.validate().then(valid => {
+ this.checkImages();
+ saveBailReporting(this.info).then(res => {
+ uni.showToast({
+ icon: 'success',
+ title: '提交成功',
+ success() {
+ setTimeout(() => {
+ that.$u.func.globalNavigator("", "navBack")
+ }, 1000)
+ }
+ })
+ })
+ })
+ },
+ 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;
+ background-color: #fff;
+ }
+
+ /deep/.u-radio-group--row {
+ justify-content: flex-end;
+ }
+
+ .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;
+ }
+</style>
\ No newline at end of file
diff --git a/subPackage/label/form.vue b/subPackage/label/form.vue
index 89e911e..88a0151 100644
--- a/subPackage/label/form.vue
+++ b/subPackage/label/form.vue
@@ -1,18 +1,128 @@
<template>
+ <view class="">
+
+ <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="100"
+ :labelStyle="{fontSize:'28rpx'}">
+ <view class="content">
+
+ <u-form-item label="对象电话" prop="transactionObjectTel" borderBottom required>
+ <u-input v-model="info.transactionObjectTel" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+ inputAlign="right"></u-input>
+ </u-form-item>
+ <u-form-item label="交易金额" prop="transactionMoney" borderBottom required>
+ <u-input v-model="info.transactionMoney" disabled disabledColor="#fff" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+ inputAlign="right"></u-input>
+ </u-form-item>
+ <u-form-item label="物品数量" prop="goodsNums" borderBottom required>
+ <u-input v-model="info.goodsNums" type="number" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+ inputAlign="right"></u-input>
+ </u-form-item>
+
+ <u-form-item label="交易位置" prop="location" borderBottom ref="location" required>
+ <u-input v-model="info.location" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+ inputAlign="right"></u-input>
+ </u-form-item>
+ <u-form-item label="交易过程" prop="transactionProcess" borderBottom>
+ <u-input v-model="info.transactionProcess" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
+ inputAlign="right"></u-input>
+ </u-form-item>
+ </view>
+
+ <view class="upload bgc-ff">
+ <view class="f-28 mb-20">手持身份证</view>
+ <view class="mt-20">
+ <u-upload :fileList="imageUrls" :previewFullImage="uploadConfig.previewFullImage"
+ :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+ :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImgs($event,'imageUrls')"
+ @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>
+ <view class="upload bgc-ff">
+ <view class="f-28 mb-20">物品照片</view>
+ <view class="mt-20">
+ <u-upload :fileList="goodsImageUrls" :previewFullImage="uploadConfig.previewFullImage"
+ :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+ :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImgs($event,'goodsImageUrls')"
+ @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>
+
+ </u-form>
+
+ <button class="submit-btn" @click="sumitInfo">提交</button>
+ <!-- <button class="list-btn" @click="navigatorPage">我上报的事件</button> -->
+ </view>
</template>
+
<script>
+ import uploadMixin from "@/mixin/uploadMixin";
+ import {
+ saveLabelReporting
+ } from "@/api/reporting/reporting";
export default {
+ mixins: [uploadMixin],
data(){
return{
-
+ info: {
+ transactionObjectTel:"",
+ transactionMoney:"",
+ goodsNums:"",
+ location:"",
+ transactionProcess:"",
+ districtId:"",
+ districtName:"",
+ userId:""
+ },
+ rules: {
+ 'transactionObjectTel': {
+ type: 'string',
+ required: true,
+ message: '请输入对象电话',
+ trigger: ['blur', 'change']
+ },
+
+ 'transactionMoney': {
+ type: 'string',
+ required: true,
+ message: '请输入交易金额',
+ trigger: ['blur', 'change']
+ },
+ 'location':{
+ type: 'string',
+ required: true,
+ message: '请输入交易位置',
+ trigger: ['blur', 'change']
+ },
+ 'transactionProcess':{
+ type: 'string',
+ required: false,
+ message: '请输入交易过程',
+ trigger: ['blur', 'change']
+ }
+ },
+ imageUrls:[],
+ goodsImageUrls:[]
}
},
onLoad(option) {
if(option.type != 1){
- uni.setNavigationBarTitle({title:this.setTitle(type)})
+ uni.setNavigationBarTitle({title:this.setTitle(option.type)})
}
-
+ this.$set(this.info,"eventType",option.type);
+ let siteInfo = uni.getStorageSync("siteInfo");
+ let userInfo = uni.getStorageSync("userInfo");
+ this.$set(this.info, "houseCode", siteInfo.id);
+ this.$set(this.info, "districtName", siteInfo.name);
+ this.$set(this.info, "userId", userInfo.user_id);
},
methods:{
setTitle(type){
@@ -21,13 +131,141 @@
}else if (type == 3){
return "二手手机维修"
}
+ },
+
+
+ confirmDate(e) {
+ console.log(e);
+ this.showSelectDate = false;
+ this.info.checkTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
+ },
+
+ async afterReadImgs(event, key) {
+ this.showLoading()
+ let lists = [].concat(event.file)
+ let fileListLen = this[key].length
+ lists.map((item) => {
+ this[key].push({
+ ...item,
+ status: 'uploading',
+ message: '上传中'
+ })
+ })
+ for (let i = 0; i < lists.length; i++) {
+ const result = await this.uploadFilePromise(lists[i].url)
+ this[key].splice(fileListLen, 1, Object.assign({}, {
+ url: result.data.link,
+ name: result.data.name
+ }))
+ fileListLen++
+ }
+ this.loadingClose()
+ },
+
+ checkImages() {
+ if (this.imageUrls.length) {
+ this.$set(this.info,"imageUrls",this.setImages(this.imageUrls))
+ }
+ if (this.goodsImageUrls.length) {
+ this.$set(this.info,"goodsImageUrls",this.setImages(this.goodsImageUrls))
+ }
-
-
- }
+ },
+
+ setImages(key){
+ let urls = [];
+ for(let i of key){
+ urls.push(i.url);
+ }
+ return urls.join(",")
+ },
+
+ sumitInfo() {
+ this.$refs.info.validate().then(valid => {
+ this.checkImages()
+ saveLabelReporting(this.info).then(res => {
+ uni.showToast({
+ icon: 'success',
+ title: '提交成功',
+ success() {
+ setTimeout(() => {
+ that.$u.func.globalNavigator("", "navBack")
+ }, 1000)
+ }
+ })
+ })
+ })
+ },
+ // 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;
+ background-color: #fff;
+ }
+
+ /deep/.u-radio-group--row {
+ justify-content: flex-end;
+ }
+
+ .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 20rpx;
+ 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;
+ }
</style>
\ No newline at end of file
diff --git a/subPackage/label/hotel.vue b/subPackage/label/hotel.vue
index f7ac42f..e6575df 100644
--- a/subPackage/label/hotel.vue
+++ b/subPackage/label/hotel.vue
@@ -4,24 +4,24 @@
<u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="100"
:labelStyle="{fontSize:'28rpx'}">
<view class="content">
- <u-form-item label="社区名称" prop="districtName" borderBottom required>
- <u-input v-model="info.districtName" disabled disabledColor="#fff" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
- inputAlign="right"></u-input>
+ <u-form-item label="社区名称" prop="districtName" borderBottom required>
+ <u-input v-model="info.districtName" disabled disabledColor="#fff" border="none" placeholder="请输入"
+ placeholderClass="f-28 c-99" inputAlign="right"></u-input>
</u-form-item>
- <u-form-item label="酒店名称" prop="hotelName" borderBottom required>
+ <u-form-item label="酒店名称" prop="hotelName" borderBottom required>
<u-input v-model="info.hotelName" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
inputAlign="right"></u-input>
</u-form-item>
- <u-form-item label="自查时间" prop="checkTime" borderBottom required @click="showSelectDate = true">
+ <u-form-item label="自查时间" prop="checkTime" borderBottom required @click="showSelectDate = true">
<u-input v-model="info.checkTime" disabled disabledColor="#ffffff" border="none" placeholder="请输入"
placeholderClass="f-28 c-99" inputAlign="right"></u-input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
- <u-form-item label="自查人姓名" prop="phone" borderBottom required>
+ <u-form-item label="自查人姓名" prop="phone" borderBottom required>
<u-input v-model="info.checkUserName" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
inputAlign="right"></u-input>
</u-form-item>
- <u-form-item label="自查人手机" prop="phone" borderBottom required>
+ <u-form-item label="自查人手机" prop="phone" borderBottom required>
<u-input v-model="info.checkTelephone" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
inputAlign="right"></u-input>
</u-form-item>
@@ -29,7 +29,7 @@
<u-input v-model="info.location" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
inputAlign="right"></u-input>
</u-form-item>
- <u-form-item label="灭火器数量" prop="fireNums" borderBottom >
+ <u-form-item label="灭火器数量" prop="fireNums" borderBottom>
<u-input type="number" v-model="info.fireNums" border="none" placeholder="请输入"
placeholderClass="f-28 c-99" inputAlign="right"></u-input>
</u-form-item>
@@ -46,8 +46,8 @@
<view class="mt-20">
<u-upload :fileList="fireImageUrls" :previewFullImage="uploadConfig.previewFullImage"
:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
- :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImgs($event,'fireImageUrls')"
- @delete="deletePic">
+ :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
+ @afterRead="afterReadImgs($event,'fireImageUrls')" @delete="deletePic">
<view class="upload-item upload-icon flex_base">
<u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
</view>
@@ -56,7 +56,7 @@
</view>
<view class="content">
- <u-form-item label="安全通道有无" prop="scFlag" borderBottom required>
+ <u-form-item label="安全通道有无" prop="scFlag" borderBottom required>
<u-radio-group v-model="info.scFlag">
<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList" :key="index"
:label="item" :name="item">
@@ -68,8 +68,6 @@
<u-input v-model="info.scStatus" disabled disabledColor="#fff" border="none" placeholder="请选择"
placeholderClass="f-28 c-99" inputAlign="right"></u-input>
<u-icon slot="right" name="arrow-right"></u-icon>
-
-
</u-form-item>
</view>
@@ -78,8 +76,8 @@
<view class="mt-20">
<u-upload :fileList="scImageUrls" :previewFullImage="uploadConfig.previewFullImage"
:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
- :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImgs(event,'scImageUrls')"
- @delete="deletePic">
+ :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
+ @afterRead="afterReadImgs($event,'scImageUrls')" @delete="deletePic">
<view class="upload-item upload-icon flex_base">
<u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
</view>
@@ -88,14 +86,14 @@
</view>
<view class="content">
- <u-form-item label="技防设施有无" prop="pfFlag" borderBottom required>
+ <u-form-item label="技防设施有无" prop="pfFlag" borderBottom required>
<u-radio-group v-model="info.pfFlag">
<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList" :key="index"
:label="item" :name="item">
</u-radio>
</u-radio-group>
</u-form-item>
- <u-form-item label="技防设施名称" prop="pfName" :borderBottom="false" required>
+ <u-form-item label="技防设施名称" prop="pfName" :borderBottom="false" required>
<u-input v-model="info.pfName" border="none" placeholder="请输入" placeholderClass="f-28 c-99"
inputAlign="right"></u-input>
</u-form-item>
@@ -105,21 +103,35 @@
<view class="mt-20">
<u-upload :fileList="pfImageUrls" :previewFullImage="uploadConfig.previewFullImage"
:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
- :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImgs($event,'pfImageUrls')"
- @delete="deletePic">
+ :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
+ @afterRead="afterReadImgs($event,'pfImageUrls')" @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>
+
+ <view class="content">
+ <u-form-item label="接待未成年人需要做到的五个必须" prop="fiveMust" labelWidth="300" :borderBottom="false" required labelPosition="top">
+ <view class="mt-30">
+ <u-radio-group v-model="info.fiveMust" placement="column">
+ <u-radio :customStyle="{marginBottom: '10px'}" v-for="(item, index) in mustList" :key="index"
+ :label="item.name" :name="item.value" labelSize="14" iconSize="20">
+ </u-radio>
+ </u-radio-group>
+ </view>
+ </u-form-item>
+ </view>
+
+
<view class="upload bgc-ff">
<view class="f-28 mb-20">未成年人入住登记本照片上传</view>
<view class="mt-20">
<u-upload :fileList="uanImageUrls" :previewFullImage="uploadConfig.previewFullImage"
:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
- :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImgs($event,'uanImageUrls')"
- @delete="deletePic">
+ :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture"
+ @afterRead="afterReadImgs($event,'uanImageUrls')" @delete="deletePic">
<view class="upload-item upload-icon flex_base">
<u-icon name="/static/icon/upload.png" width="60rpx" height="60rpx"></u-icon>
</view>
@@ -127,7 +139,7 @@
</view>
</view>
<view class="content">
- <u-form-item label="是否实名登记" prop="realName" borderBottom required>
+ <u-form-item label="是否实名登记" prop="realName" borderBottom required>
<u-radio-group v-model="info.realName">
<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList" :key="index"
:label="item" :name="item">
@@ -135,27 +147,24 @@
</u-radio-group>
</u-form-item>
</view>
-
</u-form>
-
-
-
<button class="submit-btn" @click="sumitInfo">提交</button>
- <button class="list-btn" @click="navigatorPage">我上报的事件</button>
- <u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="checkTime" mode="datetime"
- :formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
- <u-picker :show="isShowFireStatus" :columns="fireStatus" :defaultIndex="fireStatusIndex"
- @cancel="isShowFireStatus = false" @confirm="confirmFireStatus"></u-picker>
- <u-picker :show="isShowScStatus" :columns="scStatus" :defaultIndex="scStatusIndex"
- @cancel="isShowScStatus = false" @confirm="confirmScStatus"></u-picker>
+ <!-- <button class="list-btn" @click="navigatorPage">我上报的事件</button> -->
+ <u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="checkTime" mode="datetime"
+ :formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
+ <u-picker :show="isShowFireStatus" :columns="fireStatus" :defaultIndex="fireStatusIndex"
+ @cancel="isShowFireStatus = false" @confirm="confirmFireStatus"></u-picker>
+ <u-picker :show="isShowScStatus" :columns="scStatus" :defaultIndex="scStatusIndex"
+ @cancel="isShowScStatus = false" @confirm="confirmScStatus"></u-picker>
</view>
</template>
<script>
import uploadMixin from "@/mixin/uploadMixin";
import {
- save
- } from "@/api/task/taskReportForRepairs";
+ saveHotelReporting
+ } from "@/api/reporting/reporting";
+
export default {
mixins: [uploadMixin],
data() {
@@ -165,7 +174,7 @@
hotelName: "",
checkUserName: "",
checkTelephone: "",
- checkTime:'' ,
+ checkTime: '',
fireNums: "",
fireStatus: "",
scFlag: "",
@@ -173,8 +182,8 @@
pfFlag: "",
pfName: "",
realName: "",
- districtId:"",
- checkUserId:"",
+ houseCode: "",
+ checkUserId: "",
},
rules: {
'districtName': {
@@ -207,49 +216,49 @@
message: '请输入自查人手机',
trigger: ['blur', 'change']
},
- 'location':{
+ 'location': {
type: 'string',
required: true,
message: '请输入自查位置',
trigger: ['blur', 'change']
},
- 'fireNums':{
+ 'fireNums': {
type: 'string',
required: false,
message: '请输入自查数量',
trigger: ['blur', 'change']
},
- 'fireStatus':{
+ 'fireStatus': {
type: 'string',
required: false,
message: '请选择灭火器状态',
trigger: ['blur', 'change']
},
- 'scFlag':{
+ 'scFlag': {
type: 'string',
required: true,
message: '请选择安全通道有无',
trigger: ['blur', 'change']
},
- 'scStatus':{
+ 'scStatus': {
type: 'string',
required: true,
message: '请选择安全通道状态',
trigger: ['blur', 'change']
},
- 'pfFlag':{
+ 'pfFlag': {
type: 'string',
required: true,
message: '请选择技防设施有无',
trigger: ['blur', 'change']
},
- 'pfName':{
+ 'pfName': {
type: 'string',
required: true,
message: '请输入技防设施名称',
trigger: ['blur', 'change']
},
- 'realName':{
+ 'realName': {
type: 'string',
required: true,
message: '请选择是否完全实名制登记',
@@ -262,31 +271,60 @@
uanImageUrls: [], //未成年人入住登记本照片
pfImageUrls: [], //技防设施照片
statusList: ["有", "无"],
- fireStatus: [["正常", "已使用", "失效", "已过期"]], //灭火器状态
- scStatus: [["开启", "关闭"]], //安全通道状态
+ fireStatus: [
+ ["正常", "已使用", "失效", "已过期"]
+ ], //灭火器状态
+ scStatus: [
+ ["开启", "关闭"]
+ ], //安全通道状态
fireStatusIndex: [0],
scStatusIndex: [0],
isShowFireStatus: false,
isShowScStatus: false,
- checkTime:Number(new Date())
+ checkTime: Number(new Date()),
+ mustList: [{
+ name: "必须询问同住人员身份关系情况,并记录备查",
+ value: 1
+ },
+ {
+ name: "必须立即向公安机关报告可以情况,并及时联系未成年人的父母获取其他监护人,同时采取相应安全保护措施",
+ value: 2
+ },
+ {
+ name: "必须查验入住未成年人身份,并如实登记报送相关信息",
+ value: 3
+ },
+ {
+ name: "必须询问未成年父母或者其他监护人的联系方式并记录备查",
+ value: 4
+ },
+ {
+ name: "必须加强安全巡查和访客管理,预防针对未成年人的不法侵害",
+ value: 5
+ },
+ {
+ name: "以上皆未做到",
+ value: 6
+ }
+
+ ]
}
},
onLoad(option) {
let siteInfo = uni.getStorageSync("siteInfo");
let userInfo = uni.getStorageSync("userInfo");
- this.$set(this.info,"districtId",siteInfo.id);
- this.$set(this.info,"districtName",siteInfo.name);
- this.$set(this.info,"checkUserId",userInfo.user_id);
+ this.$set(this.info, "houseCode", siteInfo.id);
+ this.$set(this.info, "districtName", siteInfo.name);
+ this.$set(this.info, "checkUserId", userInfo.user_id);
},
onReady() {
// 微信小程序需要用此写法
this.$refs.datetimePicker.setFormatter(this.formatter)
- console.log("==>",this)
+ console.log("==>", this)
},
methods: {
-
formatter(type, value) {
if (type === 'year') {
return `${value}年`
@@ -301,28 +339,23 @@
},
confirmDate(e) {
- console.log(e);
this.showSelectDate = false;
- this.info.checkTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM')
+ this.info.checkTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
},
-
- confirmFireStatus(e){
- console.log(e);
+
+ confirmFireStatus(e) {
this.fireStatusIndex = e.indexs;
this.info.fireStatus = e.value[0];
this.isShowFireStatus = false;
},
- confirmScStatus(e){
- console.log(e);
+ confirmScStatus(e) {
this.scStatusIndex = e.indexs;
this.info.scStatus = e.value[0];
this.isShowScStatus = false;
},
-
- async afterReadImgs(event,key) {
+
+ async afterReadImgs(event, key) {
this.showLoading()
- // var that = this;
- // 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
let lists = [].concat(event.file)
let fileListLen = this[key].length
lists.map((item) => {
@@ -334,42 +367,49 @@
})
for (let i = 0; i < lists.length; i++) {
const result = await this.uploadFilePromise(lists[i].url)
- console.log(result);
this[key].splice(fileListLen, 1, Object.assign({}, {
url: result.data.link,
- name:result.data.name
+ name: result.data.name
}))
fileListLen++
}
this.loadingClose()
},
-
+
checkImages() {
if (this.fireImageUrls.length) {
- this.info.fireImageUrls = this.fireImageUrls.join(",")
+ this.$set(this.info, "fireImageUrls", this.setImages(this.fireImageUrls))
}
if (this.scImageUrls.length) {
- this.info.scImageUrls = this.scImageUrls.join(",")
+ this.$set(this.info, "scImageUrls", this.setImages(this.scImageUrls))
}
if (this.pfImageUrls.length) {
- this.info.pfImageUrls = this.pfImageUrls.join(",")
+ this.$set(this.info, "pfImageUrls", this.setImages(this.pfImageUrls))
}
if (this.uanImageUrls.length) {
- this.info.uanImageUrls = this.uanImageUrls.join(",")
+ this.$set(this.info, "uanImageUrls", this.setImages(this.uanImageUrls))
}
+ },
+
+ setImages(key) {
+ let urls = [];
+ for (let i of key) {
+ urls.push(i.url);
+ }
+ return urls.join(",")
},
sumitInfo() {
this.$refs.form.validate().then(valid => {
this.checkImages()
- save(this.info).then(res => {
+ saveHotelReporting(this.info).then(res => {
uni.showToast({
icon: 'success',
title: '提交成功',
success() {
- // setTimeout(() => {
- // that.$u.func.globalNavigator("", "navBack")
- // }, 1000)
+ setTimeout(() => {
+ that.$u.func.globalNavigator("", "navBack")
+ }, 1000)
}
})
})
@@ -447,4 +487,11 @@
color: #fff;
margin-top: 50rpx;
}
+
+ .mb-20 {
+ margin-bottom: 20rpx;
+ }
+ .mt-30{
+ margin-top:30rpx;
+ }
</style>
\ No newline at end of file
diff --git a/subPackage/label/index.vue b/subPackage/label/index.vue
index b8b9552..8cfdf5c 100644
--- a/subPackage/label/index.vue
+++ b/subPackage/label/index.vue
@@ -31,13 +31,13 @@
</view>
</view>
- <view class="site-box bgc-ff flex">
+ <view class="site-box bgc-ff flex" v-if="siteInfo.name">
<view class="flex a-i-c">
<u-icon name="map-fill" color="#AAAAAA"></u-icon>
<text class="f-28 c-aa ml-20">当前小区:</text>
</view>
- <text class="address f-28">万达华府26栋1903室 万达华府26栋1903室</text>
+ <text class="address f-28">{{siteInfo.name}}</text>
</view>
<view class="nav flex flex-wrap j-c-s-b">
@@ -64,39 +64,44 @@
return {
navList:[
{
- title:"旅馆安全",
- bgImg:"/static/icon/nav-bg-06.png",
- path:"hotel",
+ title:"取保候审",
+ bgImg:"/static/icon/nav-bg-10.png",
+ path:"bail",
background:"#63C875"
},
{
- title:"取保候审",
- bgImg:"/static/icon/nav-bg-07.png",
- path:"released",
+ title:"打金店",
+ bgImg:"/static/icon/nav-bg-11.png",
+ path:"form",
background:"#4D98E2"
},
{
- title:"打金店",
- bgImg:"/static/icon/nav-bg-08.png",
- path:"form",
+ title:"旅馆安全",
+ bgImg:"/static/icon/nav-bg-12.png",
+ path:"hotel",
background:"#EC7E51"
},
{
title:"二手车交易",
- bgImg:"/static/icon/nav-bg-09.png",
+ bgImg:"/static/icon/nav-bg-13.png",
path:"form",
background:"#F4B862"
},
{
title:"二手手机维修",
- bgImg:"/static/icon/nav-bg-09.png",
+ bgImg:"/static/icon/nav-bg-14.png",
path:"form",
- background:"#F4B862"
- },
-
- ]
+ background:"#13C6C7"
+ }
+ ],
+ siteInfo:{}
}
},
+
+ onLoad(){
+ this.siteInfo = uni.getStorageSync("siteInfo");
+ },
+
methods:{
navTo(path,index){
let type = 1;
diff --git a/subPackage/label/released.vue b/subPackage/label/released.vue
deleted file mode 100644
index 921721e..0000000
--- a/subPackage/label/released.vue
+++ /dev/null
@@ -1,596 +0,0 @@
-<template>
- <view class="container">
- <u-form labelWidth="70" :model="form" :rules="rules" ref="form">
- <view class="box-title">
- <box-title title="基础信息"></box-title>
- </view>
- <view class="item">
- <!-- <u-form-item @click="showPicker = true" class="form-item" labelWidth="100" label="社区名称:"
- :required="isRequired" :disabled="isDisabled" prop="buildingCode">
- <u--input border="none" disabledColor="#ffffff" v-model="form.building" placeholder="请选择">
- </u--input>
- <u-icon slot="right" name="arrow-right"></u-icon>
- </u-form-item> -->
-
- <u-form-item class="form-item" labelWidth="100" label="姓名:" :required="isRequiredPlace"
- :disabled="isDisabled" prop="placeName">
- <u--input border="none" v-model="form.placeName" placeholder="请输入"></u--input>
- </u-form-item>
- <u-form-item class="form-item" labelWidth="100" label="手机号:" :required="isRequiredPlace"
- :disabled="isDisabled" prop="placeName">
- <u--input border="none" v-model="form.placeName" placeholder="请输入"></u--input>
- </u-form-item>
- </view>
-
-
- <view class="item">
- <u-form-item class="form-item" labelWidth="100" label="申请名称:" :required="isRequiredPlace"
- :disabled="isDisabled" prop="placeName">
- <u--input border="none" v-model="form.placeName" placeholder="请输入"></u--input>
- </u-form-item>
- <u-form-item @click="showPicker = true" class="form-item" labelWidth="100" label="申请时间:"
- :required="isRequiredPlace" :disabled="isDisabled" prop="buildingCode">
- <u--input border="none" disabledColor="#ffffff" v-model="form.building" placeholder="请选择">
- </u--input>
- <u-icon slot="right" name="arrow-right"></u-icon>
- </u-form-item>
- <u-form-item @click="showPicker = true" class="form-item" labelWidth="100" label="申请位置:"
- :required="isRequiredPlace" :disabled="isDisabled" prop="buildingCode">
- <u--input border="none" disabledColor="#ffffff" v-model="form.building" placeholder="请选择">
- </u--input>
- <u-icon slot="right" name="arrow-right"></u-icon>
- </u-form-item>
- </view>
-
-
- <view class="box-title">
- <box-title title="位置图片"></box-title>
- </view>
- <view class="item pic mb-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">
- </u-upload>
- </view>
- </u-form>
-
- <view class="bottom">
- <view class="btn">
- <u-button @click="submit" type="primary" text="提交"></u-button>
- </view>
- </view>
-
-
-
- <uni-popup class="citys_win popup_win" ref="uniPopup" type="bottom">
- <wyh-tree-select :items="labelList" title="标签选择" :showNav="true" defaultActiveColor="#4586fe"
- :activeIds="activeIds" @clickItem="labelClick" :showCancel="false" :showConfirm="false">
- </wyh-tree-select>
- </uni-popup>
-
-
- <u-picker :show="showPicker" :defaultIndex="defaultIndex" ref="uPicker" keyName="name" :loading="pickerLoading"
- :columns="pickColumns" @change="changeHandler" @confirm="confirmPicker"
- @cancel="showPicker = false"></u-picker>
-
-
- </view>
-</template>
-
-<script>
- import uploadMixin from "@/mixin/uploadMixin";
- import lineItem from "@/subPackage/workbench/components/lineItem.vue"
- import {
- getLabelList
- } from "@/api/label/label";
- import {
- getDoorplateAddressDetail,
- getDoorplateAddressList
- } from "@/api/doorplateAddress/doorplateAddress";
- import {
- add
- } from "@/api/place/place";
- export default {
- mixins: [uploadMixin],
- components: {
- lineItem
- },
- data() {
- return {
- isRequired: false,
- isRequiredPlace: true,
- isDisabled: true,
- showPicker: false,
- pickerLoading: false,
- pickColumns: [],
- defaultIndex: [0, 0, 0, 0, 0],
-
- selectValue: [],
-
- form: {
- buildingCode: "",
- label: "",
- remark: "",
- imageUrls: "",
- },
- rules: {
- 'buildingCode': {
- type: 'string',
- required: true,
- message: '请选择楼栋',
- trigger: ['blur', 'change']
- },
- 'placeName': {
- type: 'string',
- required: true,
- message: '请输入场所名称',
- trigger: ['blur', 'change']
- },
- 'label': {
- type: 'string',
- required: true,
- message: '请选择标签',
- trigger: ['blur', 'change'],
- },
- 'username': {
- type: 'string',
- required: true,
- message: '请输入场所负责人',
- trigger: ['blur', 'change'],
- },
- 'phone': {
- type: 'string',
- required: true,
- message: '请输入手机号',
- trigger: ['blur', 'change'],
- },
- },
-
- labelList: [{
- text: '全部标签',
- children: [],
- dot: false
- }, ],
-
- comprehensiveData: {
- basic: [{
- label: "社区名称",
- value: "暂无数据"
- },
- {
- label: "网格名称",
- value: "暂无数据"
- },
- {
- label: "网格员",
- value: "暂无数据"
- },
- {
- label: "联系电话",
- value: "暂无数据"
- }
- ],
- scene: [{
- label: "场所照片",
- value: "",
- useSlot: "pic",
- },
- {
- label: "采集人",
- value: "未完善"
- },
- {
- label: "采集时间",
- value: "未完善"
- },
- {
- label: "场所负责人",
- value: "未完善",
- },
- {
- label: "采集人",
- value: "未完善"
- },
- {
- label: "采集时间",
- value: "未完善",
- },
- {
- label: "历史事件",
- value: "未完善",
- }
- ],
- },
- publicData: {
- basic: [{
- label: "公安局",
- value: "暂无数据"
- },
- {
- label: "派出所",
- value: "暂无数据"
- },
- {
- label: "辖区民警",
- value: "暂无数据"
- },
- {
- label: "联系电话",
- value: "暂无数据"
- }
- ],
- scene: [{
- label: "消防照片",
- value: "",
- useSlot: "pic",
- },
- {
- label: "采集人",
- value: "未完善"
- },
- {
- label: "采集时间",
- value: "未完善"
- },
- {
- label: "消防负责人",
- value: "未完善",
- },
- {
- label: "采集人",
- value: "未完善"
- },
- {
- label: "采集时间",
- value: "未完善",
- },
- {
- label: "历史事件",
- value: "未完善",
- }
- ],
- },
-
- activeIds: [],
- showLabelList: [],
-
- stdId: "",
- }
- },
- watch: {
- activeIds: {
- handler(newVal) {
- this.form.label = newVal.join(",")
- }
- },
- "form.buildingCode": {
- handler(newVal) {
- console.log(newVal)
- }
- }
-
- },
-
- created() {
- this.buildColumn()
- },
- mounted() {
-
- },
- options: {
- styleIsolation: 'shared', // 解除样式隔离
- },
- onLoad(option) {
- this.stdId = option.stdId
- console.log(this.stdId, "----------")
- if (this.stdId) {
- this.getBuildingDetail()
- }
-
-
- },
- onShow() {
- this.getLabel()
- this.getLocation()
- },
- methods: {
-
- getBuildingDetail(params = {}) {
- getDoorplateAddressDetail(Object.assign(params, {
- stdId: this.stdId
- })).then(res => {
- let data = res.data
- this.form.buildingCode = data.buildingCode
-
- let buildingNameArr = [data.townStreetName, data.neiName, data.streetRuName, data.aoiName,
- data.buildingName
- ]
- let arr = buildingNameArr.filter(e => {
- return e != null || e != ''
- })
- this.form.building = arr.join("")
- })
- },
-
- //表单提交
- submit() {
- const that = this
- this.$refs.form.validate().then(valid => {
- if (valid) {
- if (this.form.images.length > 0) {
- let urls = []
- this.form.images.forEach(e => {
- urls.push(e.name)
- })
- this.form.imageUrls = urls.join(",")
- }
- add(this.form).then(res => {
- uni.showToast({
- icon: 'success',
- title: '提交成功',
- success() {
- setTimeout(() => {
- that.$u.func.globalNavigator(
- "/pages/home/index", "switchTab")
- }, 1000)
- }
- })
- })
- }
- })
-
- },
-
- async buildColumn() {
-
- //设置街道
- const townStreet = await this.getDoorplateAddressList(null, "townStreet")
- this.setColumn(townStreet, 0)
- //设置社区
- const nei = await this.getDoorplateAddressList(townStreet[0].code, "nei")
- this.setColumn(nei, 1)
- //设置路
- const streetRu = await this.getDoorplateAddressList(nei[0].code, "streetRu")
- this.setColumn(streetRu, 2)
- //设置地区
- const district = await this.getDoorplateAddressList(streetRu[0].code, "district")
- this.setColumn(district, 3)
- //设置楼栋
- const building = await this.getDoorplateAddressList(district[0].code, "building")
- this.setColumn(building, 4)
- },
-
- setColumn(data, index) {
- this.$set(this.pickColumns, index, data)
- },
-
- getLocation() {
- const that = this
- uni.getLocation({
- type: 'wgs84', // 坐标系类型
- success: function(res) {
- var latitude = res.latitude; // 维度
- var longitude = res.longitude; // 经度
-
- that.form.lng = longitude
- that.form.lat = latitude
-
- that.form.jwd = longitude + "," + latitude
- },
- fail: function(res) {
- console.log('获取定位失败:' + res.errMsg);
- }
- });
- },
-
- async getDoorplateAddressList(code, type) {
- const res = await getDoorplateAddressList(code, type)
- return res.data
- },
-
- confirmPicker(e) {
-
- if (e.value[4]) {
- this.selectValue = e.value
-
- let arr = this.selectValue.map(e => e.name)
- this.form.building = arr.join("")
-
- this.form.buildingCode = e.value[4].code
- }
- this.showPicker = false
- },
-
- async changeHandler(e) {
- const {
- columnIndex,
- index,
- // 微信小程序无法将picker实例传出来,只能通过ref操作
- picker = this.$refs.uPicker
- } = e
- let item = e.values[columnIndex][index]
- //街道
- if (columnIndex === 0) {
- //获取社区列表
- const nei = await this.getDoorplateAddressList(item.code, "nei")
- picker.setColumnValues(1, nei)
-
- const streetRu = await this.getDoorplateAddressList(nei[0].code, "streetRu")
- picker.setColumnValues(2, streetRu)
-
- const district = await this.getDoorplateAddressList(streetRu[0].code, "district")
- picker.setColumnValues(3, district)
-
- const building = await this.getDoorplateAddressList(district[0].code, "building")
- picker.setColumnValues(4, building)
- }
-
- if (columnIndex === 1) {
- const streetRu = await this.getDoorplateAddressList(item.code, "streetRu")
- picker.setColumnValues(2, streetRu)
-
- const district = await this.getDoorplateAddressList(streetRu[0].code, "district")
- picker.setColumnValues(3, district)
-
- const building = await this.getDoorplateAddressList(district[0].code, "building")
- picker.setColumnValues(4, building)
- }
-
- if (columnIndex === 2) {
-
- const district = await this.getDoorplateAddressList(item.code, "district")
- picker.setColumnValues(3, district)
-
- const building = await this.getDoorplateAddressList(district[0].code, "building")
- picker.setColumnValues(4, building)
- }
-
- if (columnIndex === 3) {
- const building = await this.getDoorplateAddressList(item.code, "building")
- picker.setColumnValues(4, building)
- }
-
- },
-
- //弹出层打开
- popup() {
- this.$refs.uniPopup.open()
- },
-
- getLabel() {
- getLabelList({
- size: -1
- }).then(res => {
- let data = res.data.records
- data.sort((a, b) => a.sort - b.sort)
-
- data.forEach(label => {
- this.labelList[0].children.push({
- id: label.id,
- text: label.labelName
- })
- })
- })
- },
-
- labelClick(item) {
-
- //判断label是否已在
- const label = this.showLabelList.find(e => e.id == item.id)
- if (label) {
- //在,去掉
- this.showLabelList = this.showLabelList.filter(e => e.id != label.id)
- this.activeIds = this.activeIds.filter(e => e != label.id)
- } else {
- //不在,添加
- item.isClose = false
- this.showLabelList.push(item)
- this.activeIds.push(item.id)
- }
-
- this.showLabelList.sort((a, b) => a.sort - b.sort)
-
- },
- delTag(label) {
- label.isClose = true
- this.showLabelList = this.showLabelList.filter(e => e.id != label.id)
- this.activeIds = this.activeIds.filter(e => e != label.id)
-
- }
- }
- }
-</script>
-
-<style scoped lang="scss">
- .container {
- position: relative;
- width: 100%;
- // height: 100%;
- display: flex;
- flex-direction: column;
- background: #F9F9FA;
-
- .box-title {
- padding: 10px 0;
-
- .title-more {
- display: flex;
- align-items: center;
- height: 100%;
-
- .item {
- width: 50rpx;
- height: 40rpx;
- color: #ffffff;
- padding: 6rpx;
- font-size: 2rpx;
- text-align: center;
- line-height: 20px;
- }
-
- }
- }
-
- .item {
-
- .form-item {
- background-color: #ffffff;
- padding: 2rpx 10px;
- border-bottom: 0.1px solid #eff1f3;
- }
-
- .label {
- padding: 10rpx 30rpx;
- display: flex;
- background-color: #ffffff;
- flex-wrap: wrap;
-
- .activeLabel {
- // width: 80rpx;
- margin-left: 10rpx;
- margin-top: 10rpx
- }
- }
-
-
-
- }
-
- .pic {
- background-color: #ffffff;
- padding: 40rpx 30rpx;
- }
-
- .bottom {
- padding: 20rpx;
- background-color: #ffffff;
- display: flex;
- justify-content: center;
- align-items: center;
-
- .btn {
- width: calc(100% - 40rpx);
- }
- }
- }
-
- /deep/ .u-form-item {
- background-color: #ffffff;
- padding: 2rpx 10px;
- border-bottom: 1px solid #eff1f3;
- }
-
- .red {
- background-color: red;
- border-radius: 10rpx 0rpx 0rpx 10rpx;
- }
-
- .orange {
- background-color: orange;
- }
-
- .green {
- background-color: green;
- border-radius: 0rpx 10rpx 10rpx 0rpx;
- }
-</style>
\ No newline at end of file
--
Gitblit v1.9.3