10 files modified
3 files added
| | |
| | | }) |
| | | } |
| | | |
| | | //添加校园安全报事 |
| | | export const setSchoolReporting = (data) => { |
| | | return http.request({ |
| | | url: '/blade-taskCampusReportingEvent/taskCampusReportingEvent/save', |
| | | method: 'POST', |
| | | data: data |
| | | }) |
| | | } |
| | | |
| | | //获取校园安全报事列表 |
| | | export const getSchoolReportingList = (params) => { |
| | | return http.request({ |
| | | url: '/blade-taskCampusReportingEvent/taskCampusReportingEvent/page', |
| | | method: 'get', |
| | | params: { |
| | | ...params |
| | | } |
| | | }) |
| | | } |
| | | //获取校园安全报事详情 |
| | | export const getSchoolReportingDetail = (params) => { |
| | | return http.request({ |
| | | url: '/blade-taskCampusReportingEvent/taskCampusReportingEvent/detail', |
| | | method: 'get', |
| | | params: { |
| | | ...params |
| | | } |
| | | }) |
| | | } |
| | | //修改校园安全报事 |
| | | export const saveSchoolReporting = (data) => { |
| | | return http.request({ |
| | | url: '/blade-taskCampusReportingEvent/taskCampusReportingEvent/update', |
| | | 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.102:9528', |
| | | devUrl: 'https://srgdjczzxtpt.com:2080/api', |
| | | devUrl: 'http://192.168.0.102:9528', |
| | | // devUrl: 'https://srgdjczzxtpt.com:2080/api', |
| | | minioBaseUrl: "http://60.220.177.113:9000/jczz/", |
| | | // 数据中台接口url |
| | | // dataCenterUrl: 'http://10.10.2.192/services', |
| | |
| | | { |
| | | "name" : "基层自治", |
| | | "name" : "饶城格格通", |
| | | "appid" : "__UNI__EE88272", |
| | | "description" : "", |
| | | "versionName" : "1.0.10", |
| | |
| | | "quickapp" : {}, |
| | | /* 小程序特有相关 */ |
| | | "mp-weixin" : { |
| | | "appid" : "wxdc5675f4df850da6", |
| | | "appid" : "wx41aa8a5d2e565a05", |
| | | "setting" : { |
| | | "urlCheck" : false, |
| | | "minified" : true, |
| | |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black" |
| | | } |
| | | }, |
| | | { |
| | | "path": "school", |
| | | "style": { |
| | | "navigationBarTitleText": "校园安全", |
| | | "enablePullDownRefresh": false, |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black" |
| | | } |
| | | }, |
| | | { |
| | | "path": "schoolList", |
| | | "style": { |
| | | "navigationBarTitleText": "报事列表", |
| | | "enablePullDownRefresh": false, |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black" |
| | | } |
| | | } |
| | | ] |
| | | }, |
| | |
| | | }, |
| | | { |
| | | "path": "views/labelReportDetail", |
| | | "style": { |
| | | "navigationBarTitleText": "审核", |
| | | "enablePullDownRefresh": false, |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black" |
| | | } |
| | | }, |
| | | { |
| | | "path": "views/schoolReportDetail", |
| | | "style": { |
| | | "navigationBarTitleText": "审核", |
| | | "enablePullDownRefresh": false, |
| | |
| | | ], |
| | | "globalStyle": { |
| | | "navigationBarTextStyle": "black", |
| | | "navigationBarTitleText": "", |
| | | "navigationBarTitleText": "饶城格格通", |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "backgroundColor": "#4586FE" |
| | | }, |
| | |
| | | <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-input v-model="info.location" disabled disabledColor="#ffffff" border="none" placeholder="请选择地址" placeholderClass="f-28 c-99" |
| | | inputAlign="right"> |
| | | <template slot="suffix"> |
| | | <button class="location-btn c-main f-24" @click="getLocation()">获取地址</button> |
| | | </template> |
| | | </u-input> --> |
| | | <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-form-item> |
| | | </view> |
| | | |
| | |
| | | let userInfo = uni.getStorageSync("userInfo"); |
| | | this.$set(this.info, "houseCode", siteInfo.id); |
| | | this.$set(this.info, "districtName", siteInfo.name); |
| | | this.$set(this.info,"checkUserName",userInfo.real_name); |
| | | this.$set(this.info,"checkTelephone",userInfo.phone); |
| | | this.$set(this.info, "checkUserId", userInfo.user_id); |
| | | }, |
| | | |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | |
| | | getLocation(){ |
| | | uni.chooseLocation({ |
| | | success:(res)=>{ |
| | | this.$set(this.info,"location",res.address); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | formatter(type, value) { |
| | | if (type === 'year') { |
| | |
| | | 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> |
| | |
| | | <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 label="交易位置" prop="localtion" borderBottom ref="localtion" required> |
| | | <!-- <u-input v-model="info.location" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> --> |
| | | <view class="address-row flex"> |
| | | <view class="address-content f-28" v-if="info.localtion"> |
| | | {{info.localtion}} |
| | | </view> |
| | | <view class="address-content f-28 c-99" v-if="!info.localtion"> |
| | | 请选择位置 |
| | | </view> |
| | | <view class="location-btn c-main f-24" @click="getLocation()"> |
| | | 获取地址 |
| | | </view> |
| | | </view> |
| | | </u-form-item> |
| | | <u-form-item label="交易过程" prop="transactionProcess" borderBottom> |
| | | <u-input v-model="info.transactionProcess" border="none" placeholder="请输入" |
| | |
| | | </u-form> |
| | | |
| | | <button class="submit-btn" @click="sumitInfo">提交</button> |
| | | <button class="list-btn" @click="navigatorPage">我上报的事件</button> |
| | | <button class="list-btn mb-20" @click="navigatorPage">我上报的事件</button> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | transactionObjectTel: "", |
| | | transactionMoney: "", |
| | | goodsNums: "", |
| | | location: "", |
| | | localtion: "", |
| | | transactionProcess: "", |
| | | houseCode: "", |
| | | districtName: "", |
| | |
| | | message: '请输入交易金额', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'location': { |
| | | 'localtion': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入交易位置', |
| | |
| | | return "二手车交易" |
| | | } |
| | | }, |
| | | |
| | | getLocation(){ |
| | | uni.chooseLocation({ |
| | | success:(res)=>{ |
| | | this.$set(this.info,"localtion",res.address); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | |
| | | confirmDate(e) { |
| | | console.log(e); |
| | |
| | | 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> |
| | |
| | | }, |
| | | navTo(id) { |
| | | uni.navigateTo({ |
| | | url: `/subPackage/workbench/views/bailReportDetail?id=${id}` |
| | | url: `/subPackage/workbench/views/labelReportDetail?id=${id}` |
| | | }) |
| | | } |
| | | } |
| | |
| | | :labelStyle="{fontSize:'28rpx'}"> |
| | | <view class="content"> |
| | | <u-form-item label="社区名称" prop="districtName" borderBottom required> |
| | | <view> |
| | | <view class="content-name f-28"> |
| | | {{info.districtName}} |
| | | </view> |
| | | <!-- <u-input v-model="info.districtName" disabled disabledColor="#fff" border="none" placeholder="请输入" |
| | |
| | | <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="phone" 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 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> --> |
| | | <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-form-item> |
| | | <u-form-item label="灭火器数量" prop="fireNums" borderBottom> |
| | | <u-input type="number" v-model="info.fireNums" border="none" placeholder="请输入" |
| | |
| | | let userInfo = uni.getStorageSync("userInfo"); |
| | | this.$set(this.info, "houseCode", siteInfo.id); |
| | | this.$set(this.info, "districtName", siteInfo.neiName); |
| | | this.$set(this.info,"checkUserName",userInfo.real_name); |
| | | this.$set(this.info,"checkTelephone",userInfo.phone); |
| | | this.$set(this.info, "checkUserId", userInfo.user_id); |
| | | }, |
| | | |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | |
| | | getLocation(){ |
| | | uni.chooseLocation({ |
| | | success:(res)=>{ |
| | | this.$set(this.info,"location",res.address); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | formatter(type, value) { |
| | | if (type === 'year') { |
| | | return `${value}年` |
| | |
| | | padding: 0 30rpx; |
| | | background-color: #fff; |
| | | } |
| | | .content-name{ |
| | | flex:1; |
| | | text-align: right; |
| | | } |
| | | |
| | | /deep/.u-radio-group--row { |
| | | justify-content: flex-end; |
| | |
| | | .mt-30{ |
| | | margin-top:30rpx; |
| | | } |
| | | .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> |
| | |
| | | bgImg:"/static/icon/nav-bg-14.png", |
| | | path:"form", |
| | | background:"#13C6C7" |
| | | } |
| | | }, |
| | | // { |
| | | // title:"校园安全", |
| | | // bgImg:"/static/icon/nav-bg-11.png", |
| | | // path:"school", |
| | | // background:"#4D98E2" |
| | | // } |
| | | ], |
| | | siteInfo:{}, |
| | | count:{} |
| 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="districtName" borderBottom required> |
| | | <view class="content-name f-28"> |
| | | {{info.districtName}} |
| | | </view> |
| | | </u-form-item> |
| | | <u-form-item label="校园名称" prop="campusName" borderBottom required> |
| | | <u-input v-model="info.campusName" 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-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="checkUserName" 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="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="location" borderBottom ref="location" 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-form-item> |
| | | </view> |
| | | |
| | | <view class="content"> |
| | | <u-form-item label="四个一工程" prop="fourOne" labelWidth="300" :borderBottom="false" required |
| | | labelPosition="top"> |
| | | <view class="mt-30"> |
| | | <u-radio-group v-model="info.fourOne" placement="column"> |
| | | <u-radio :customStyle="{marginBottom: '10px'}" v-for="(item, index) in fourOneList" |
| | | :key="index" :label="item.name" :name="item.name" 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="foImageUrls" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" |
| | | :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" |
| | | @afterRead="afterReadImgs($event,'foImageUrls')" @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="fireFacsType" borderBottom required> |
| | | <u-input v-model="info.fireFacsType" border="none" placeholder="请输入" placeholderClass="f-28 c-99" |
| | | inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="消防器材数量" prop="fireFacsNums" :borderBottom="false" required> |
| | | <u-input type="number" v-model="info.fireFacsNums" 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="fireFacsImageUrls" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" |
| | | :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" |
| | | @afterRead="afterReadImgs($event,'fireFacsImageUrls')" @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="scStatus" :borderBottom="false" ref="scFlag" required |
| | | @click="isShowScStatus = true"> |
| | | <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="upload bgc-ff mb-20"> |
| | | <view class="f-28 mb-20">安全通道图片(需拍到门和指示箭头)</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"> |
| | | <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="patrolImageUrls" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" |
| | | :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" |
| | | @afterRead="afterReadImgs($event,'patrolImageUrls')" @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="antiCollision" :borderBottom="false" ref="scFlag" required |
| | | @click="isShowScStatus = true"> |
| | | <u-radio-group v-model="info.antiCollision"> |
| | | <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> |
| | | </view> |
| | | |
| | | <view class="upload bgc-ff mb-20"> |
| | | <view class="f-28 mb-20">校园防撞装置照片</view> |
| | | <view class="mt-20"> |
| | | <u-upload :fileList="antiCollisionImageUrls" :previewFullImage="uploadConfig.previewFullImage" |
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" |
| | | :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" |
| | | @afterRead="afterReadImgs($event,'antiCollisionImageUrls')" @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="fullSoNums" borderBottom required> |
| | | <u-input type="number" v-model="info.fullSoNums" border="none" placeholder="请输入" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="兼职保安人数" prop="partSoNums" borderBottom required > |
| | | <u-input type="number" v-model="info.partSoNums" border="none" placeholder="请输入" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="学校监控总数" prop="monitorNums" borderBottom required> |
| | | <u-input type="number" v-model="info.monitorNums" border="none" placeholder="请输入" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | <u-form-item label="监控是否全覆盖" prop="monitorOver" borderBottom required> |
| | | <u-radio-group v-model="info.monitorOver"> |
| | | <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="highAltitudeMonitor" :borderBottom="false" ref="scFlag" required |
| | | @click="isShowScStatus = true"> |
| | | <u-input v-model="info.highAltitudeMonitor" border="none" placeholder="请输入" |
| | | placeholderClass="f-28 c-99" inputAlign="right"></u-input> |
| | | </u-form-item> |
| | | </view> |
| | | <view class="upload bgc-ff mb-20"> |
| | | <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"> |
| | | <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="checkTime" mode="datetime" |
| | | :formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-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 { |
| | | saveSchoolReporting |
| | | } from "@/api/reporting/reporting"; |
| | | |
| | | export default { |
| | | mixins: [uploadMixin], |
| | | data() { |
| | | return { |
| | | info: { |
| | | districtName: "", |
| | | campusName: "", |
| | | checkUserName: "", |
| | | checkTelephone: "", |
| | | checkTime: '', |
| | | location: '', |
| | | fourOne: '', |
| | | fireFacsType: '', |
| | | fireFacsNums: '', |
| | | scStatus: '', |
| | | antiCollision: '', |
| | | fullSoNums: '', |
| | | partSoNums: '', |
| | | monitorNums: '', |
| | | monitorOver: '', |
| | | highAltitudeMonitor: '', |
| | | houseCode: "", |
| | | checkUserId: "", |
| | | }, |
| | | rules: { |
| | | 'districtName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入社区名称', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'campusName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入学校名称', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'checkTime': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择自查时间', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'checkName': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入自查人姓名', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'checkTelephone': { |
| | | type: 'number', |
| | | required: true, |
| | | message: '请输入自查人手机', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'location': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入自查位置', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'fourOne': { |
| | | type: 'string', |
| | | required: false, |
| | | message: '请选择四个一工程', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'fireFacsType': { |
| | | type: 'string', |
| | | required: false, |
| | | message: '请选择消防器材种类', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'fireFacsNums': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择消防器材数量', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'scStatus': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择安全通道状态', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'antiCollision': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择是否配备防撞装置', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'fullSoNums': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入全职保安数量', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'partSoNums': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入兼职保安数量', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'monitorNums': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入监控总数', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'monitorOver': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择监控是否全覆盖', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | 'highAltitudeMonitor': { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请输入高空抛物监控', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | }, |
| | | showSelectDate: false, |
| | | foImageUrls: [], //四个一工程照片 |
| | | fireFacsImageUrls: [], //灭火器图片 |
| | | scImageUrls: [], // 安全通道图片 |
| | | patrolImageUrls: [], //周边巡查照片 |
| | | antiCollisionImageUrls: [], //防撞装置照片 |
| | | haImageUrls: [], //高空抛物监控照片 |
| | | statusList: ["有", "无"], |
| | | scStatus: [ |
| | | ["开启", "关闭"] |
| | | ], //安全通道状态 |
| | | scStatusIndex: [0], |
| | | isShowScStatus: false, |
| | | checkTime: Number(new Date()), |
| | | fourOneList: [{ |
| | | name: "已配备一个安检门", |
| | | value: 1 |
| | | }, |
| | | { |
| | | name: "已配备一键报警器", |
| | | value: 2 |
| | | }, |
| | | { |
| | | name: "已配备一组存储柜", |
| | | value: 3 |
| | | }, |
| | | { |
| | | name: "已配备一间会客室", |
| | | value: 4 |
| | | }, |
| | | { |
| | | name: "以上皆未配备", |
| | | value: 5 |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | 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.neiName); |
| | | this.$set(this.info, "checkUserName", userInfo.real_name); |
| | | this.$set(this.info, "checkTelephone", userInfo.phone); |
| | | this.$set(this.info, "checkUserId", userInfo.user_id); |
| | | }, |
| | | |
| | | onReady() { |
| | | // 微信小程序需要用此写法 |
| | | this.$refs.datetimePicker.setFormatter(this.formatter) |
| | | }, |
| | | |
| | | methods: { |
| | | |
| | | getLocation(){ |
| | | uni.chooseLocation({ |
| | | success:(res)=>{ |
| | | this.$set(this.info,"location",res.address); |
| | | } |
| | | }) |
| | | }, |
| | | |
| | | formatter(type, value) { |
| | | if (type === 'year') { |
| | | return `${value}年` |
| | | } |
| | | if (type === 'month') { |
| | | return `${value}月` |
| | | } |
| | | if (type === 'day') { |
| | | return `${value}日` |
| | | } |
| | | return value |
| | | }, |
| | | |
| | | confirmDate(e) { |
| | | this.showSelectDate = false; |
| | | this.info.checkTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss') |
| | | }, |
| | | |
| | | confirmScStatus(e) { |
| | | this.scStatusIndex = e.indexs; |
| | | this.info.scStatus = e.value[0]; |
| | | this.isShowScStatus = false; |
| | | }, |
| | | |
| | | 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.foImageUrls.length) { |
| | | this.$set(this.info, "foImageUrls", this.setImages(this.foImageUrls)) |
| | | } |
| | | if (this.fireFacsImageUrls.length) { |
| | | this.$set(this.info, "fireFacsImageUrls", this.setImages(this.fireFacsImageUrls)) |
| | | } |
| | | if (this.patrolImageUrls.length) { |
| | | this.$set(this.info, "patrolImageUrls", this.setImages(this.patrolImageUrls)) |
| | | } |
| | | if (this.antiCollisionImageUrls.length) { |
| | | this.$set(this.info, "antiCollisionImageUrls", this.setImages(this.antiCollisionImageUrls)) |
| | | } |
| | | if (this.haImageUrls.length) { |
| | | this.$set(this.info, "haImageUrls", this.setImages(this.haImageUrls)) |
| | | } |
| | | }, |
| | | |
| | | 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() |
| | | saveSchoolReporting(this.info).then(res => { |
| | | uni.showToast({ |
| | | icon: 'success', |
| | | title: '提交成功', |
| | | success() { |
| | | setTimeout(() => { |
| | | uni.navigateBack() |
| | | }, 1000) |
| | | } |
| | | }) |
| | | }) |
| | | }) |
| | | }, |
| | | navigatorPage() { |
| | | this.$u.func.globalNavigator('schoolList', "navTo") |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less"> |
| | | page { |
| | | background-color: #F5F5F5; |
| | | } |
| | | |
| | | .content { |
| | | margin: 20rpx 30rpx; |
| | | padding: 0 30rpx; |
| | | background-color: #fff; |
| | | } |
| | | |
| | | .content-name { |
| | | flex: 1; |
| | | text-align: right; |
| | | } |
| | | |
| | | /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; |
| | | margin-bottom: 20rpx; |
| | | } |
| | | |
| | | .mb-20 { |
| | | margin-bottom: 20rpx; |
| | | } |
| | | |
| | | .mt-30 { |
| | | margin-top: 30rpx; |
| | | } |
| | | |
| | | .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> |
| New file |
| | |
| | | <template> |
| | | <view class=""> |
| | | <view class="list"> |
| | | <view class="list-item bgc-ff mb-20" v-for="(i,k) in list" :key="k" @click="navTo(i.taskId)"> |
| | | <view class="item-title flex a-i-c j-c-s-b mb-20"> |
| | | <text class="f-32 fw">{{i.campusName}}</text> |
| | | <u-tag v-if="i.confirmFlag == 1" text="待审批" type="warning" plain plainFill></u-tag> |
| | | <u-tag v-if="i.confirmFlag == 2" text="审核通过" type="success" plain plainFill></u-tag> |
| | | <u-tag v-if="i.confirmFlag == 3" text="审核拒绝" type="error" plain plainFill></u-tag> |
| | | </view> |
| | | <view class="item-row flex a-i-c j-c-s-b"> |
| | | <text class="f-28">时间</text> |
| | | <text class="f-28 c-66">{{i.applyTime}}</text> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line /> |
| | | </view> |
| | | </template> |
| | | |
| | | <script> |
| | | import { |
| | | getSchoolReportingList |
| | | } from "@/api/reporting/reporting.js" |
| | | export default { |
| | | data() { |
| | | return { |
| | | list: [], |
| | | currentPage: 1, |
| | | loadingStatus: 'nomore', |
| | | } |
| | | }, |
| | | |
| | | onLoad() { |
| | | this.getList() |
| | | }, |
| | | onReachBottom() { |
| | | this.currentPage++ |
| | | this.getList() |
| | | }, |
| | | |
| | | methods: { |
| | | getList() { |
| | | getSchoolReportingList({ |
| | | checkUserId: uni.getStorageSync("userInfo").user_id, |
| | | page: this.currentPage, |
| | | size: 10 |
| | | }).then(res => { |
| | | if (res.code != 200) { |
| | | uni.showToast({ |
| | | title: '数据请求失败', |
| | | icon: 'error' |
| | | }) |
| | | return |
| | | } |
| | | let records = res.data.records; |
| | | this.list = [...this.list, ...records] |
| | | this.loadingStatus = 'nomore' |
| | | }) |
| | | }, |
| | | navTo(id) { |
| | | uni.navigateTo({ |
| | | url: `/subPackage/workbench/views/hotelReportDetail?id=${id}` |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |
| | | page { |
| | | background-color: #F5F5F5; |
| | | } |
| | | |
| | | .list { |
| | | margin: 20rpx 30rpx 0; |
| | | } |
| | | |
| | | .list-item { |
| | | padding: 0 30rpx 20rpx; |
| | | border-radius: 8rpx; |
| | | |
| | | .item-title { |
| | | padding: 30rpx 0; |
| | | border-bottom: 1px solid #F5F5F5; |
| | | } |
| | | |
| | | .item-row { |
| | | padding: 10rpx 0; |
| | | |
| | | .address { |
| | | width: 65%; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | import boxTitle from "@/subPackage/workbench/components/boxTitle/index.vue" |
| | | import lineItem from '../components/lineItem.vue' |
| | | import { |
| | | getLabelReportingDetail, |
| | | setLabelReporting |
| | | getSchoolReportingDetail, |
| | | setShoolReporting |
| | | } from '@/api/reporting/reporting' |
| | | export default { |
| | | components: { |
| | |
| | | data() { |
| | | return { |
| | | basicData: [{ |
| | | label: '对象电话', |
| | | name: "transactionObjectTel", |
| | | label: '社区名称', |
| | | name: "districtName", |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '交易金额', |
| | | name: 'transactionMoney', |
| | | label: '校园名称', |
| | | name: 'campusName', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '物品数量', |
| | | name: 'goodsNums', |
| | | label: '自查时间', |
| | | name: 'checkTime', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '交易位置', |
| | | name: 'location', |
| | | label: '自查人姓名', |
| | | name: 'checkUserName', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '交易过程', |
| | | name: 'transactionProcess', |
| | | label: '自查位置', |
| | | name: 'localtion', |
| | | value: '未完善' |
| | | } |
| | | }, |
| | | { |
| | | label: '四个一工程', |
| | | name: 'fourOne', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '消防设施种类', |
| | | name: 'fireFacsType', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '消防器材数量', |
| | | name: 'fireFacsNums', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '安全通道状态', |
| | | name: 'scStatus', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '大门是否装备防撞装置', |
| | | name: 'antiCollision', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '专职保安人员', |
| | | name: 'fullSoNums', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '兼职保安人员', |
| | | name: 'partSoNums', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '学校监控总数', |
| | | name: 'monitorNums', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '监控是否全覆盖', |
| | | name: 'monitorOver', |
| | | value: '未完善' |
| | | }, |
| | | { |
| | | label: '高空抛物监控', |
| | | name: 'highAltitudeMonitor', |
| | | value: '未完善' |
| | | }, |
| | | ], |
| | | form: { |
| | | confirmFlag: '待审核', |
| | |
| | | currentId: '', |
| | | currentData: {}, |
| | | id: "", |
| | | imageUrls: [], |
| | | goodsImageUrls: [], |
| | | foImageUrls: [], //四个一工程照片 |
| | | fireFacsImageUrls: [], //灭火器图片 |
| | | scImageUrls: [], // 安全通道图片 |
| | | patrolImageUrls: [], //周边巡查照片 |
| | | antiCollisionImageUrls: [], //防撞装置照片 |
| | | haImageUrls: [], //高空抛物监控照片 |
| | | selectStatus: "", |
| | | remark: "" |
| | | } |
| | |
| | | |
| | | methods: { |
| | | getDetailInfo(id) { |
| | | getLabelReportingDetail({ |
| | | getSchoolReportingDetail({ |
| | | taskId: id |
| | | }).then(res => { |
| | | console.log(res); |
| | | let data = res.data; |
| | | this.basicData.forEach(item => { |
| | | item.value = data[item.name] |
| | | item.value = data[item.name] || "未完善" |
| | | }) |
| | | this.imageUrls = this.setImages(data.imageUrls); |
| | | this.goodsImageUrls = this.setImages(data.goodsImageUrls); |
| | | this.foImageUrls = this.setImages(data.foImageUrls); |
| | | this.fireFacsImageUrls = this.setImages(data.fireFacsImageUrls); |
| | | this.patrolImageUrls = this.setImages(data.patrolImageUrls); |
| | | this.antiCollisionImageUrls = this.setImages(data.antiCollisionImageUrls); |
| | | this.haImageUrls = this.setImages(data.haImageUrls); |
| | | }) |
| | | }, |
| | | setImages(str) { |
| | |
| | | }) |
| | | return; |
| | | } |
| | | setLabelReporting(data).then(res => { |
| | | setSchoolReporting(data).then(res => { |
| | | if (res.code !== 200) { |
| | | uni.showToast({ |
| | | title: '更新失败', |
| New file |
| | |
| | | <template> |
| | | </template> |
| | | |
| | | <script> |
| | | </script> |
| | | |
| | | <style> |
| | | </style> |