6 files modified
7 files added
1 files deleted
| New file |
| | |
| | | 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 |
| | | }) |
| | | } |
| | |
| | | // 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', |
| | |
| | | "navigationBarTextStyle": "black" |
| | | } |
| | | },{ |
| | | "path": "released", |
| | | "path": "bail", |
| | | "style": { |
| | | "navigationBarTitleText": "取保候审", |
| | | "enablePullDownRefresh": false, |
| | | "navigationBarBackgroundColor": "#4586fe", |
| | | "navigationBarTextStyle": "white" |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black" |
| | | } |
| | | }, |
| | | { |
| | |
| | | "style": { |
| | | "navigationBarTitleText": "大金店报事", |
| | | "enablePullDownRefresh": false, |
| | | "navigationBarBackgroundColor": "#4586fe", |
| | | "navigationBarTextStyle": "white" |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black" |
| | | } |
| | | } |
| | | ] |
| | |
| | | this.roleTypeName = "居民"
|
| | | }
|
| | | const res = await getFuncList(type, roleName)
|
| | | this.columnData = res.data;
|
| | | console.log(res, "-----------")
|
| | | let data = res.data
|
| | | this.siteColumns = []
|
| | |
| | | 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) {
|
| New file |
| | |
| | | <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> |
| | |
| | | <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){ |
| | |
| | | }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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </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"> |
| | |
| | | <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> |
| | | |
| | |
| | | <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> |
| | |
| | | </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> |
| | |
| | | <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> |
| | |
| | | </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"> |
| | |
| | | </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() { |
| | |
| | | hotelName: "", |
| | | checkUserName: "", |
| | | checkTelephone: "", |
| | | checkTime:'' , |
| | | checkTime: '', |
| | | fireNums: "", |
| | | fireStatus: "", |
| | | scFlag: "", |
| | |
| | | pfFlag: "", |
| | | pfName: "", |
| | | realName: "", |
| | | districtId:"", |
| | | checkUserId:"", |
| | | houseCode: "", |
| | | checkUserId: "", |
| | | }, |
| | | rules: { |
| | | 'districtName': { |
| | |
| | | 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: '请选择是否完全实名制登记', |
| | |
| | | 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}年` |
| | |
| | | }, |
| | | |
| | | 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) => { |
| | |
| | | }) |
| | | 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) |
| | | } |
| | | }) |
| | | }) |
| | |
| | | color: #fff; |
| | | margin-top: 50rpx; |
| | | } |
| | | |
| | | .mb-20 { |
| | | margin-bottom: 20rpx; |
| | | } |
| | | .mt-30{ |
| | | margin-top:30rpx; |
| | | } |
| | | </style> |
| | |
| | | </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"> |
| | |
| | | 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; |