| | |
| | | <view class="line"> |
| | | <view class="label"> |
| | | <text>*</text> |
| | | <text>接受人</text> |
| | | <text>接收人</text> |
| | | </view> |
| | | <view class="value" @click="selMember"> |
| | | <text |
| | |
| | | <view class="upload_line"> |
| | | <view class="name">现场情况</view> |
| | | <view class="wrap"> |
| | | <view class="adduser_list_item_ipt1_upload" @click="showUpload = true" |
| | | ><u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon |
| | | ></view> |
| | | <view |
| | | class="adduser_list_item_ipt1_upload" |
| | | @click="showUpload = true" |
| | | > |
| | | <u-icon name="plus" color="rgb(153, 153, 153)" size="20"></u-icon> |
| | | <view class="mt6">图片/视频</view> |
| | | </view> |
| | | <view |
| | | class="adduser_list_item_ipt1_upload" |
| | | v-for="(item, i) in submitFileList" |
| | | :key="i" |
| | | ><image :src="item.fileurlFull" mode="widthFix"></image |
| | | > |
| | | <u-icon |
| | | class="close" |
| | | size="20" |
| | | name="close-circle-fill" |
| | | color="red" |
| | | @click="fileDel(i)" |
| | | ></u-icon> |
| | | <image |
| | | v-if="item.type == 0" |
| | | :src="item.fileurlFull" |
| | | mode="widthFix" |
| | | ></image |
| | | ><video v-if="item.type == 1" :src="item.fileurlFull"></video |
| | | ></view> |
| | | </view> |
| | | </view> |
| | | <view class="empty"></view> |
| | | <view class="upload_line" style="padding: 15px 0 0;"> |
| | | <view class="name" style="margin-bottom: 10rpx;"> |
| | | <text style="color: #e42d2d;">*</text> |
| | | <view class="upload_line" style="padding: 15px 0 0"> |
| | | <view class="name" style="margin-bottom: 10rpx"> |
| | | <text style="color: #e42d2d">*</text> |
| | | <text>情况说明</text> |
| | | </view> |
| | | <view class="value" |
| | | ><textarea |
| | | <view class="value"> |
| | | <textarea |
| | | placeholder="请详细描述现场情况,不少于10个字" |
| | | minlength="10" |
| | | v-model="param.content" |
| | | placeholder-style="color: #999999;" |
| | | /></view> |
| | | /> |
| | | </view> |
| | | </view> |
| | | <view class="empty"></view> |
| | | <view class="line"> |
| | |
| | | } |
| | | }, |
| | | onLoad(option) { |
| | | if (option && option.id) { |
| | | this.$set(this.param, 'checkUserId', option.id) |
| | | this.$set(this.param, 'applyCheckUserId', option.id) |
| | | this.$set(this.param, 'checkorName', option.name) |
| | | } |
| | | this.initConfig() |
| | | const userInfo = uni.getStorageSync('userInfo') || {} |
| | | this.$set(this.param, 'memberName', userInfo.realname) |
| | | this.$set(this.param, 'memberPhone', userInfo.mobile) |
| | | this.$set(this.param, 'memberId', userInfo.id) |
| | | this.$set(this.param, 'submitTime', dayjs().format('YYYY-MM-DD HH:mm:ss')) |
| | | }, |
| | | mounted() { |
| | | this.$eventBus.$on('snapshotSel', (option) => { |
| | | this.$set(this.param, 'checkUserId', option.id) |
| | | this.$set(this.param, 'applyCheckUserId', option.id) |
| | | this.$set(this.param, 'checkorName', option.name) |
| | | }) |
| | | }, |
| | | methods: { |
| | | onSubmit() { |
| | |
| | | icon: 'none' |
| | | }) |
| | | if (!param.applyCheckUserId) return uni.showToast({ |
| | | title: '请选择接受人', |
| | | title: '请选择接收人', |
| | | icon: 'none' |
| | | }) |
| | | if (!param.categoryName) return uni.showToast({ |
| | | title: '请选择隐患类型', |
| | | icon: 'none' |
| | | }) |
| | | if (!param.content) return uni.showToast({ |
| | | title: '请输入情况说明', |
| | | icon: 'none' |
| | | }) |
| | | if (param.content.length < 10) return uni.showToast({ |
| | | title: '情况说明不得小于10个字', |
| | | icon: 'none' |
| | | }) |
| | | |
| | |
| | | this.$set(this.param, 'areaId', item.id) |
| | | this.$set(this.param, 'areaName', item.name) |
| | | console.log(item) |
| | | if (item.memberIds && item.memberIds.indexOf(',') === -1) { |
| | | this.$set(this.param, 'checkUserId', item.memberIds) |
| | | this.$set(this.param, 'applyCheckUserId', item.memberIds) |
| | | this.$set(this.param, 'checkorName', item.memberNames) |
| | | } else { |
| | | this.$set(this.param, 'checkUserId', '') |
| | | this.$set(this.param, 'applyCheckUserId', '') |
| | | this.$set(this.param, 'checkorName', '') |
| | | } |
| | | this.isShowArea = false |
| | | }, |
| | | seletedType(e) { |
| | |
| | | }) |
| | | }, |
| | | selMember() { |
| | | uni.navigateTo({ |
| | | url: '/pages/staff/memberSel' |
| | | if (!this.param.areaId) return uni.showToast({ |
| | | title: '请先选择隐患区域', |
| | | icon: 'none' |
| | | }) |
| | | uni.navigateTo({ |
| | | url: '/pages/staff/memberSel?areaId=' + this.param.areaId |
| | | }) |
| | | }, |
| | | fileDel(i) { |
| | | this.submitFileList.splice(i, 1) |
| | | }, |
| | | uploadImage() { |
| | | this.showUpload = false |
| | | let token = uni.getStorageSync('token') || '' |
| | | uni.chooseImage({ |
| | | count: 6, |
| | | count: 4, |
| | | success: (chooseImageRes) => { |
| | | console.log('chooseImageRes.tempFilePaths', chooseImageRes.tempFilePaths) |
| | | uni.showLoading({ title: '上传中', mask: true }) |
| | | for (let i = 0; i < chooseImageRes.tempFilePaths.length; i++) { |
| | | uni.uploadFile({ |
| | | url: `${uploadUrl}`, |
| | | filePath: chooseImageRes.tempFilePaths[i], |
| | | const tempFilePaths = chooseImageRes.tempFilePaths |
| | | let imgs = tempFilePaths.map((value, index) => { |
| | | return { |
| | | name: 'file', |
| | | formData: { |
| | | folderCode: 'HIDDEN_DANGER_FILE' |
| | | }, |
| | | success: (uploadFileRes) => { |
| | | let res = JSON.parse(uploadFileRes.data) |
| | | console.log('res', res) |
| | | let obj = { |
| | | type: '0' |
| | | } |
| | | obj.fileurl = res.data.halfPath |
| | | obj.fileurlFull = res.data.addr |
| | | this.submitFileList.push(obj) |
| | | }, |
| | | complete() { |
| | | if (i === chooseImageRes.tempFilePaths.length - 1) { |
| | | uni.hideLoading() |
| | | } |
| | | uri: value |
| | | } |
| | | }) |
| | | uni.uploadFile({ |
| | | url: `${uploadUrl}`, |
| | | files: imgs, |
| | | name: 'file', |
| | | formData: { |
| | | folder: 'HIDDEN_DANGER_FILE' |
| | | }, |
| | | header: { |
| | | Dm_user_token: token |
| | | }, |
| | | success: (uploadFileRes) => { |
| | | let res = JSON.parse(uploadFileRes.data) |
| | | console.log('res', res.data) |
| | | if (res.data && res.data.length > 0) { |
| | | res.data.forEach(i => { |
| | | i.type = 0 |
| | | i.fileurl = i.imgaddr |
| | | i.fileurlFull = i.url |
| | | this.submitFileList.push(i) |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | fail(err) { |
| | | console.log('err', err) |
| | | }, |
| | | complete() { |
| | | uni.hideLoading() |
| | | // if (i === chooseImageRes.tempFilePaths.length - 1) { |
| | | // uni.hideLoading() |
| | | // } |
| | | } |
| | | }) |
| | | // } |
| | | } |
| | | }) |
| | | }, |
| | | uploadVideo() { |
| | | this.showUpload = false |
| | | let that = this |
| | | let token = uni.getStorageSync('token') || '' |
| | | uni.chooseVideo({ |
| | | success: (chooseImageRes) => { |
| | | uni.showLoading({ title: '上传中', mask: true }) |
| | | for (let i = 0; i < chooseImageRes.tempFilePaths.length; i++) { |
| | | uni.uploadFile({ |
| | | url: `${uploadUrl}`, |
| | | filePath: chooseImageRes.tempFilePaths[i], |
| | | name: 'file', |
| | | formData: { |
| | | folderCode: 'HIDDEN_DANGER_FILE' |
| | | }, |
| | | success: (uploadFileRes) => { |
| | | let res = JSON.parse(uploadFileRes.data) |
| | | console.log('uploadFileRes', res) |
| | | let obj = { type: '1' } |
| | | obj.fileurl = res.data.halfPath |
| | | obj.fileurlFull = res.data.addr |
| | | that.submitFileList.push(obj) |
| | | console.log(that.submitFileList) |
| | | }, |
| | | complete() { |
| | | if (i === chooseImageRes.tempFilePaths.length - 1) { |
| | | uni.hideLoading() |
| | | } |
| | | uni.uploadFile({ |
| | | url: `${uploadUrl}`, |
| | | filePath: chooseImageRes.tempFilePath, |
| | | header: { |
| | | Dm_user_token: token |
| | | }, |
| | | name: 'file', |
| | | formData: { |
| | | folder: 'HIDDEN_DANGER_FILE' |
| | | }, |
| | | success: (uploadFileRes) => { |
| | | let res = JSON.parse(uploadFileRes.data) |
| | | if (res.data && res.data.length > 0) { |
| | | res.data.forEach(i => { |
| | | i.type = 1 |
| | | i.fileurl = i.imgaddr |
| | | i.fileurlFull = i.url |
| | | this.submitFileList.push(i) |
| | | }) |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | complete() { |
| | | uni.hideLoading() |
| | | } |
| | | }) |
| | | } |
| | | }) |
| | | }, |
| | |
| | | |
| | | <style lang="scss"> |
| | | .main_wrap { |
| | | padding-bottom: 200rpx; |
| | | .line { |
| | | display: flex; |
| | | justify-content: space-between; |
| | |
| | | } |
| | | .upload_line { |
| | | padding: 30rpx 0; |
| | | .wrap{ |
| | | .wrap { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | } |
| | |
| | | color: #666666; |
| | | font-size: 22rpx; |
| | | display: flex; |
| | | flex-direction: column; |
| | | align-items: center; |
| | | justify-content: center; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .close { |
| | | position: absolute; |
| | | right: -20rpx; |
| | | top: -20rpx; |
| | | z-index: 9999; |
| | | } |
| | | image { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | video { |
| | | width: 100%; |
| | | max-height: 120rpx; |
| | | } |
| | | } |
| | | } |
| | |
| | | height: 88rpx; |
| | | line-height: 88rpx; |
| | | text-align: center; |
| | | background: #4e99a9; |
| | | background: $uni-color-primary; |
| | | border-radius: 44rpx; |
| | | font-size: 32rpx; |
| | | color: #ffffff; |