This commit is contained in:
java110 2023-04-11 14:51:26 +08:00
parent 26d44d2490
commit c7be217389
2 changed files with 117 additions and 76 deletions

View File

@ -63,7 +63,13 @@
"setting" : { "setting" : {
"urlCheck" : false "urlCheck" : false
}, },
"usingComponents" : true "usingComponents" : true,
"permission" : {
"scope.userLocation" : {
"desc" : "物业员工巡检需要获取巡检地方位置"
}
},
"requiredPrivateInfos": ["getLocation"]
}, },
"mp-alipay" : { "mp-alipay" : {
"usingComponents" : true "usingComponents" : true

View File

@ -13,7 +13,8 @@
</radio> </radio>
</view> </view>
</radio-group> </radio-group>
<checkbox-group class="block" @change="checkboxChange($event,item)" v-else-if="item.titleType == '2002'"> <checkbox-group class="block" @change="checkboxChange($event,item)"
v-else-if="item.titleType == '2002'">
<view class="cu-form-group " v-for="(valueItem,valueIndex) in item.inspectionItemTitleValueDtos"> <view class="cu-form-group " v-for="(valueItem,valueIndex) in item.inspectionItemTitleValueDtos">
<view class="title">{{valueItem.itemValue}}</view> <view class="title">{{valueItem.itemValue}}</view>
<checkbox :class="item.radio[valueIndex].selected == '1'?'checked':''" <checkbox :class="item.radio[valueIndex].selected == '1'?'checked':''"
@ -29,7 +30,9 @@
</view> </view>
</view> </view>
<uploadImageAsync ref="vcUploadRef" :communityId="communityId" :sourceType="sourceType" :maxPhotoNum="uploadImage.maxPhotoNum" :canEdit="uploadImage.canEdit" :title="uploadImage.imgTitle" @sendImagesData="sendImagesData" style="margin-top: 30rpx;"></uploadImageAsync> <uploadImageAsync ref="vcUploadRef" :communityId="communityId" :sourceType="sourceType"
:maxPhotoNum="uploadImage.maxPhotoNum" :canEdit="uploadImage.canEdit" :title="uploadImage.imgTitle"
@sendImagesData="sendImagesData" style="margin-top: 30rpx;"></uploadImageAsync>
<view class="cu-form-group margin-top" v-if="mapKey"> <view class="cu-form-group margin-top" v-if="mapKey">
<view class="title">当前位置</view> <view class="title">当前位置</view>
@ -46,48 +49,56 @@
<script> <script>
import conf from '../../conf/config.js' import conf from '../../conf/config.js'
import {preventClick} from '../../lib/java110/utils/common.js'; import {
import {queryDictInfo,queryInspectionItemTitle} from '../../api/inspection/inspection.js'; preventClick
import {getCurrentCommunity} from '../../api/community/community.js' } from '../../lib/java110/utils/common.js';
import {
queryDictInfo,
queryInspectionItemTitle
} from '../../api/inspection/inspection.js';
import {
getCurrentCommunity
} from '../../api/community/community.js'
import url from '../../constant/url.js' import url from '../../constant/url.js'
import uploadImageAsync from "../../components/vc-upload-async/vc-upload-async.vue"; import uploadImageAsync from "../../components/vc-upload-async/vc-upload-async.vue";
import Vue from 'vue' import Vue from 'vue'
Vue.prototype.$preventClick = preventClick; Vue.prototype.$preventClick = preventClick;
import QQMapWX from '@/lib/qqmap-wx-jssdk.min.js';
export default { export default {
data() { data() {
return { return {
onoff: true, onoff: true,
taskId:'', taskId: '',
taskDetailId:'', taskDetailId: '',
inspectionId:'', inspectionId: '',
inspectionName:'', inspectionName: '',
pointStartTime: '', pointStartTime: '',
pointEndTime: '', pointEndTime: '',
patrolTypes:[{ patrolTypes: [{
name: '请选择' name: '请选择'
}], }],
patrolIndex:0, patrolIndex: 0,
patrolType:'10001', patrolType: '10001',
patrolTypeName:'请选择', patrolTypeName: '请选择',
description:'', description: '',
photos:[], photos: [],
imgList:[], imgList: [],
communityId:'', communityId: '',
userId:'', userId: '',
userName:'', userName: '',
latitude: '', latitude: '',
longitude: '', longitude: '',
location: '', location: '',
reverseGeocoderSimplify: '正在获取...', reverseGeocoderSimplify: '正在获取...',
titles: [], titles: [],
itemId:'', itemId: '',
mapKey:'', mapKey: '',
uploadImage: { uploadImage: {
maxPhotoNum: 4, maxPhotoNum: 4,
imgTitle: '巡检图片', imgTitle: '巡检图片',
canEdit: true canEdit: true
}, },
sourceType:[ 'camera'] sourceType: ['camera']
} }
}, },
@ -103,7 +114,13 @@
success: (res) => { success: (res) => {
this.latitude = res.latitude; this.latitude = res.latitude;
this.longitude = res.longitude; this.longitude = res.longitude;
// #ifdef H5
this.getCurrentLocation(); this.getCurrentLocation();
// #endiff
// #ifdef MP-WEIXIN
this.getMiniWechatLocation();
// #endif
} }
}); });
this.taskDetailId = option.taskDetailId; this.taskDetailId = option.taskDetailId;
@ -120,17 +137,17 @@
this._loadInspectionItem(); this._loadInspectionItem();
}, },
methods: { methods: {
sendImagesData: function(e){ sendImagesData: function(e) {
this.photos = []; this.photos = [];
if(e.length > 0){ if (e.length > 0) {
e.forEach((img) => { e.forEach((img) => {
this.photos.push(img.fileId); this.photos.push(img.fileId);
}) })
} }
}, },
_loadInspectionItem:function(){ _loadInspectionItem: function() {
let that = this; let that = this;
queryInspectionItemTitle(this,{ queryInspectionItemTitle(this, {
communityId: that.communityId, communityId: that.communityId,
itemId: that.itemId, itemId: that.itemId,
page: 1, page: 1,
@ -157,10 +174,28 @@
that.titles = _data.data; that.titles = _data.data;
}) })
}, },
getMiniWechatLocation: function() {
let qqmapsdk = new QQMapWX({
key: this.mapKey
});
qqmapsdk.reverseGeocoder({
location: {
latitude: this.latitude,
longitude: this.longitude
},
success: (locaRes) => {
this.reverseGeocoderSimplify = locaRes.result.address
},
fail: (err) => {
}
})
},
// //
getCurrentLocation: function(){ getCurrentLocation: function() {
let locationObj = this.latitude + ',' + this.longitude; let locationObj = this.latitude + ',' + this.longitude;
let url = 'https://apis.map.qq.com/ws/geocoder/v1?coord_type=5&get_poi=1&output=jsonp&poi_options=page_size=1;page_index=1'; let url =
'https://apis.map.qq.com/ws/geocoder/v1?coord_type=5&get_poi=1&output=jsonp&poi_options=page_size=1;page_index=1';
this.$jsonp(url, { this.$jsonp(url, {
key: this.mapKey, key: this.mapKey,
location: locationObj location: locationObj
@ -173,18 +208,18 @@
}); });
}, },
// //
_loadPatrolTypesList: function(){ _loadPatrolTypesList: function() {
let _that = this; let _that = this;
let _objData = { let _objData = {
'name': "inspection_task_detail", 'name': "inspection_task_detail",
'type': "patrol_type", 'type': "patrol_type",
}; };
queryDictInfo(this,_objData) queryDictInfo(this, _objData)
.then(function(res){ .then(function(res) {
_that.patrolTypes = _that.patrolTypes.concat(res); _that.patrolTypes = _that.patrolTypes.concat(res);
}) })
}, },
patrolChange:function(e){ patrolChange: function(e) {
this.patrolIndex = e.target.value // this.patrolIndex = e.target.value //
if (this.patrolIndex == 0) { if (this.patrolIndex == 0) {
@ -200,20 +235,20 @@
_submitExcuteInspection: function() { _submitExcuteInspection: function() {
let _that = this; let _that = this;
uni.showLoading({ uni.showLoading({
title:'请稍后...' title: '请稍后...'
}); });
this.description = ''; this.description = '';
this.titles.forEach(item=>{ this.titles.forEach(item => {
let _itemValue = '' let _itemValue = ''
if(item.titleType == '2002'){ if (item.titleType == '2002') {
item.radio.forEach(_radio => { item.radio.forEach(_radio => {
if (_radio.selected == '1') { if (_radio.selected == '1') {
_itemValue += (_radio.itemValue+',') _itemValue += (_radio.itemValue + ',')
} }
}) })
this.description +=(item.itemTitle+':'+_itemValue+';') this.description += (item.itemTitle + ':' + _itemValue + ';')
}else{ } else {
this.description +=(item.itemTitle+':'+item.radio+';') this.description += (item.itemTitle + ':' + item.radio + ';')
} }
}) })
let obj = { let obj = {
@ -222,8 +257,8 @@
"inspectionId": this.inspectionId, "inspectionId": this.inspectionId,
"inspectionName": this.inspectionName, "inspectionName": this.inspectionName,
"communityId": this.communityId, "communityId": this.communityId,
"patrolType":this.patrolType, "patrolType": this.patrolType,
"description":this.description, "description": this.description,
"photos": this.photos, "photos": this.photos,
"userId": this.userId, "userId": this.userId,
"userName": this.userName, "userName": this.userName,
@ -261,7 +296,8 @@
uni.hideLoading(); uni.hideLoading();
} else { } else {
this.java110Context.request({ this.java110Context.request({
url: url.updateInspectionTaskDetail, // http://hc.demo.winqi.cn:8012/appApi/ownerRepair.saveOwnerRepair url: url
.updateInspectionTaskDetail, // http://hc.demo.winqi.cn:8012/appApi/ownerRepair.saveOwnerRepair
header: this.java110Context.getHeaders(), header: this.java110Context.getHeaders(),
method: "POST", method: "POST",
data: obj, // data: obj, //
@ -269,7 +305,7 @@
_that.onoff = true; _that.onoff = true;
if (res.statusCode == 200) { if (res.statusCode == 200) {
uni.navigateBack({ uni.navigateBack({
delta:1 delta: 1
}) })
return; return;
} }
@ -305,7 +341,7 @@
}) })
item.radio.forEach(value => { item.radio.forEach(value => {
e.detail.value.forEach(_dValue =>{ e.detail.value.forEach(_dValue => {
if (value.itemValue == _dValue) { if (value.itemValue == _dValue) {
if (value.selected == '0') { if (value.selected == '0') {
value.selected = '1'; value.selected = '1';
@ -327,8 +363,7 @@
margin: 0; margin: 0;
font-weight: 400; font-weight: 400;
font-size: 14px; font-size: 14px;
color: rgba(69,90,100,.6); color: rgba(69, 90, 100, .6);
padding: 40rpx 30rpx 20rpx; padding: 40rpx 30rpx 20rpx;
} }
</style> </style>