| | |
| | | <template>
|
| | | <view class="main_app">
|
| | | <view class="main_app" :style="{height: windowHeight + 'px'}">
|
| | | <view class="status_wrap">
|
| | | <view class="name">{{ info.categoryName }}</view>
|
| | | <view v-if="info.status == '0'" class="status">{{ statusMap[info.status] }}</view>
|
| | |
| | | class="status_img"></image>
|
| | | <view>{{ info.content }}</view>
|
| | | <view class="file_list">
|
| | | <view class="img_wrap" v-for="item in info.submitFileList" :key="item.id">
|
| | | <view class="img_wrap" v-for="item, i in info.submitFileList" :key="item.id">
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" @click="priviewImage(item.fileurlFull)" mode="widthFix"
|
| | | class="img" />
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull" class="video" controls />
|
| | | <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
|
| | | <video :src="item.fileurlFull" initial-time="0.01" :show-center-play-btn="false" :controls="false"
|
| | | class="video" :enable-progress-gesture="false" muted />
|
| | | <image src="@/static/play.png" class="play" mode=""></image>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="text_wrap">
|
| | |
| | | </view>
|
| | | <!-- -->
|
| | | <view class="emyty"></view>
|
| | | <view v-if="info.status == 1 || info.status == 2" class="module_list"> |
| | | <view class="flow_title">处理结果</view>
|
| | | <view v-if="info.status == 1 || info.status == 2" class="module_list">
|
| | | <view class="title">处理结果</view>
|
| | | <view class="item">
|
| | | <view class="label">处理结果</view>
|
| | | <view class="value primaryColor" :class="{ red: info.status == 2 }">{{ statusMap[info.status] }}</view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="label">{{info.status == '1' ? '整改前' : '视频/图片'}}</view>
|
| | | <view class="label">{{ info.status == '1' ? '整改前' : '视频/图片' }}</view>
|
| | | <view class="value">
|
| | | <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealBeforeFileList" :key="i">
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull"></video>
|
| | | <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
|
| | | mode="widthFix"></image>
|
| | | <!-- <video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" :show-center-play-btn="false" :controls="false" class="video"
|
| | | :enable-progress-gesture="false" autoplay muted></video> -->
|
| | | <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
|
| | | <video :src="item.fileurlFull" :initial-time="0.01" :show-center-play-btn="false" :controls="false"
|
| | | class="video" :enable-progress-gesture="false" muted />
|
| | | <image src="@/static/play.png" class="play" mode=""></image>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | <view class="label">整改后</view>
|
| | | <view class="value">
|
| | | <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealAfterFileList" :key="i">
|
| | | <image v-if="item.type == 0" :src="item.fileurlFull" mode="widthFix"></image>
|
| | | <video v-if="item.type == 1" :src="item.fileurlFull"></video>
|
| | | <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
|
| | | mode="widthFix"></image>
|
| | | <!-- <video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" initial-time="0.01" :show-center-play-btn="false" :controls="false" class="video"
|
| | | :enable-progress-gesture="false" autoplay muted></video> -->
|
| | | <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
|
| | | <video :src="item.fileurlFull" :initial-time="0.01" :show-center-play-btn="false" :controls="false"
|
| | | class="video" :enable-progress-gesture="false" muted />
|
| | | <image src="@/static/play.png" class="play" mode=""></image>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="item">
|
| | | <view class="label">{{info.status == '1' ? '整改说明' : '退回说明'}}</view>
|
| | | <view class="label">{{ info.status == '1' ? '整改说明' : '退回说明' }}</view>
|
| | | <view class="value">{{ info.checkInfo }}</view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | v-if="info.status == 1 || index < flowList.length - 1" />
|
| | | <image src="@/static/staff/liucheng_fail@2x.png" class="status"
|
| | | v-if="info.status == 2 && index == flowList.length - 1" />
|
| | | <image v-if="item.avatar != null && item.avatar != ''" :src="item.avatar" class="img" alt="" /> |
| | | <image v-if="item.avatar != null && item.avatar != ''" :src="item.avatar" class="img" alt="" />
|
| | | <!-- <image v-else src="@/static/default_avatar.png" class="img" mode=""></image> -->
|
| | | <span v-if="item.avatar == null || item.avatar == ''"
|
| | | class="img_name">{{ item.createUserName && item.createUserName.slice(0, 1) }}</span>
|
| | | <span v-if="item.avatar == null || item.avatar == ''" class="img_name">{{ item.createUserName &&
|
| | | item.createUserName.slice(0, 1) }}</span>
|
| | | </view>
|
| | | <view class="content">
|
| | | <view class="head">
|
| | | <view class="event">{{ item.title }}</view>
|
| | | <view class="time">{{ item.createDate }}</view>
|
| | | <view class="time" v-if="item.createDate">{{ item.createDate.slice(0, 16) }}</view>
|
| | | </view>
|
| | | <view class="line">
|
| | | <view class="company">
|
| | |
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view v-if="info.status == 0 && info.checkUserId == userInfo.memberId" style="height: 90rpx;"></view>
|
| | | <view class="emyty"></view>
|
| | | <view class="main_footer">
|
| | | <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn" @click="handleBack">退回</view>
|
| | | <view v-if="info.status==0 && info.checkUserId == userInfo.memberId" class="btn transfer" @click="handleTransfer">转交</view>
|
| | | <view v-if="info.status==0&& info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">处理</view>
|
| | | <view class="main_footer" v-if="info.status == 0 && info.checkUserId == userInfo.memberId">
|
| | | <view v-if="info.status == 0 && info.checkUserId == userInfo.memberId" class="btn" @click="handleBack">退回</view>
|
| | | <view v-if="info.status == 0 && info.checkUserId == userInfo.memberId" class="btn transfer"
|
| | | @click="handleTransfer">
|
| | | 转交</view>
|
| | | <view v-if="info.status == 0 && info.checkUserId == userInfo.memberId" class="btn handle" @click="handleOpen">处理
|
| | | </view>
|
| | | </view>
|
| | |
|
| | | <!-- 退回 -->
|
| | |
| | | <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in dealBeforeFileList" :key="i">
|
| | | <u-icon class="close" size="20" name="close-circle-fill" color="red"
|
| | | @click="fileDel('dealBeforeFileList', 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>
|
| | | <image v-if="item.type == 0" @click="priviewImage(item.fileurlFull)" :src="item.fileurlFull"
|
| | | mode="widthFix"></image>
|
| | | <!-- <video v-if="item.type == 1" @click="videoClick(item, i)" :src="item.fileurlFull" show-center-play-btn="false" :controls="false" class="video"
|
| | | :enable-progress-gesture="false" autoplay muted></video> -->
|
| | | <view v-if="item.type == 1" @click="videoClick(item, i)" class="video_wrap">
|
| | | <video :src="item.fileurlFull" :initial-time="0.01" :show-center-play-btn="false" :controls="false"
|
| | | class="video" :enable-progress-gesture="false" muted />
|
| | | <image src="@/static/play.png" class="play" mode=""></image>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="label">退回说明</view>
|
| | |
| | | <u-icon class="close" size="20" name="close-circle-fill" color="red"
|
| | | @click="fileDel('dealBeforeFileList', 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>
|
| | | <!-- <video v-if="item.type == 1" :src="item.fileurlFull" :show-center-play-btn="false" :controls="false" class="video"
|
| | | :enable-progress-gesture="false" muted></video> -->
|
| | | <view v-if="item.type == 1" class="video_wrap">
|
| | | <video :src="item.fileurlFull" :initial-time="0.01" :show-center-play-btn="false" :controls="false"
|
| | | class="video" :enable-progress-gesture="false" muted />
|
| | | <image src="@/static/play.png" class="play" mode=""></image>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="label">
|
| | |
| | | <u-icon class="close" size="20" name="close-circle-fill" color="red"
|
| | | @click="fileDel('dealAfterFileList', 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>
|
| | | <!-- <video v-if="item.type == 1" :src="item.fileurlFull" :show-center-play-btn="false" :controls="false"></video> -->
|
| | | <view v-if="item.type == 1" class="video_wrap">
|
| | | <video :src="item.fileurlFull" :initial-time="0.01" :show-center-play-btn="false" :controls="false"
|
| | | class="video" :enable-progress-gesture="false" muted />
|
| | | <image src="@/static/play.png" class="play" mode=""></image>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <view class="label">整改说明</view>
|
| | |
| | | </u-popup>
|
| | | <!-- 转交 -->
|
| | | <u-popup :show="isShowTransfer" :round="10" safeAreaInsetBottom mode="bottom" @close="isShowTransfer = false">
|
| | | <view class="appr_modal">
|
| | | <view class="appr_modal" :style="{height: (windowHeight - 120) + 'px'}">
|
| | | <view class="title">选择员工</view>
|
| | | <view class="search_inp df_ac">
|
| | | <image class="mr12 search" src="@/static/ic_search@2x.png" mode="widthFix"></image>
|
| | | <input v-model="transferModel.name" @blur="getMemList()" type="text" placeholder="搜索部门/人员"
|
| | | placeholder-style="color: #999999;" />
|
| | | <input v-model="transferModel.queryParam" @focus="showKeyboard = true" @blur="showKeyboard = false"
|
| | | @confirm="getMemList()" type="text" placeholder="搜索人员姓名" placeholder-style="color: #999999;" />
|
| | | </view>
|
| | | <view class="member_list">
|
| | | <view class="mt24 placeholder6">共{{ memberList.length }}条数据</view>
|
| | | <view class="mt24 placeholder6">共{{ memberList.length }}条数据</view>
|
| | | <view class="member_list" :style="{height: (windowHeight - 320) + 'px'}">
|
| | | <view v-for="item in memberList" :key="item.id" class="line">
|
| | | <image :src="item.faceImgFull ? item.faceImgFull : require('@/static/meeting/common/default_user@2x.png')"
|
| | | class="avatar" mode=""></image>
|
| | | <image v-if="item.faceImg" :src="item.faceImg" class="avatar"></image>
|
| | | <span v-else class="img_name">{{ item.realname && item.realname.slice(0, 1) }}</span>
|
| | | <view class="content">
|
| | | <view class="info">
|
| | | <text class="name">{{ item.name }}</text>
|
| | | <!-- <text class="tag">tag</text> -->
|
| | | <text class="name">{{ item.realname }}</text>
|
| | | </view>
|
| | | <view class="depart">{{ item.companyName }}</view>
|
| | | </view>
|
| | | <image @click="changeMem(item)" v-if="transferParam.id == item.id"
|
| | | src="@/static/checkbox_sel@2x.png" mode="widthFix" class="checked"></image>
|
| | | <image @click="changeMem(item)" v-else src="@/static/video@2x.png" mode="widthFix"
|
| | | class="checked"></image>
|
| | | <image @click="changeMem(item)" v-if="transferParam.id == item.id" src="@/static/checkbox_sel@2x.png"
|
| | | mode="widthFix" class="checked"></image>
|
| | | <image @click="changeMem(item)" v-else src="@/static/video@2x.png" mode="widthFix" class="checked"></image>
|
| | | <text></text>
|
| | | </view>
|
| | | <view class="empty"></view>
|
| | | </view>
|
| | | <view class="Transfer_footer">
|
| | | <view class="btn" @click="isShowTransfer = fales">取消</view>
|
| | | <view class="btn" @click="isShowTransfer = false">取消</view>
|
| | | <view class="btn active" @click="enterTransfer">确认转交</view>
|
| | | </view>
|
| | | </view>
|
| | | </u-popup>
|
| | | <!-- 退回时间 -->
|
| | | <u-datetime-picker :show="isShowBackDate" @confirm="confirmBackDate" @cancel="isShowBackDate = false"
|
| | | <u-datetime-picker :show="isShowBackDate" :minDate="new Date().getTime()" :closeOnClickOverlay="false"
|
| | | @confirm="confirmBackDate" @close="isShowBackDate = false" @cancel="isShowBackDate = false"
|
| | | mode="datetime"></u-datetime-picker>
|
| | |
|
| | | <u-datetime-picker :minDate="new Date().getTime()" :show="isShowHandleDate" @confirm="confirmHandleDate"
|
| | | @cancel="isShowHandleDate = false" mode="datetime"></u-datetime-picker>
|
| | | <!-- -->
|
| | |
|
| | | <view v-if="videoPlay" class="video_app">
|
| | | <video controls autoplay muted x5-video-player-type="h5" x5-video-player-fullscreen="true" id="myvideo"
|
| | | :src="videoUrl" @fullscreenchange="screenChange"></video>
|
| | | <view class="bg" @click="closeVideo"></view>
|
| | | </view>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | | import {
|
| | | hiddenDangerDetail,
|
| | | uploadUrl,
|
| | | findHiddenAreaMemberList,
|
| | | userPagePost,
|
| | | dealHiddenDanger,
|
| | | transferHiddenDanger,
|
| | | findListFlowDanger
|
| | | } from '@/api';
|
| | | import dayjs from 'dayjs';
|
| | | } from '@/api'
|
| | | import dayjs from 'dayjs'
|
| | | export default {
|
| | | data() {
|
| | | return {
|
| | | isShowBack: false,
|
| | | param: {},
|
| | | info: {}, |
| | | info: {},
|
| | | userInfo: this.$store.state.userInfo,
|
| | | flowList: [],
|
| | |
|
| | | id: '',
|
| | | type: '',
|
| | | windowHeight: '',
|
| | | cateList: [{
|
| | | name: '访客申请',
|
| | | id: 0
|
| | |
| | | page: 1,
|
| | | capacity: 50
|
| | | },
|
| | | memberList: []
|
| | | };
|
| | | memberList: [],
|
| | |
|
| | | videoPlay: false,
|
| | | videoContext: null,
|
| | | videoUrl: '',
|
| | | showKeyboard: false,
|
| | | }
|
| | | },
|
| | | onLoad(op) {
|
| | | this.id = op.id;
|
| | | this.type = op.objType;
|
| | | this.getDetail();
|
| | | const result = uni.getWindowInfo()
|
| | | this.windowHeight = result.windowHeight
|
| | | console.log('windowHeight', this.windowHeight);
|
| | | uni.setStorageSync('ywinfo', {})
|
| | | this.id = op.id
|
| | | this.getDetail()
|
| | | // this.handleTransfer()
|
| | | },
|
| | | mounted() {
|
| | | window.addEventListener('resize', () => {
|
| | | const currentHeight = window.innerHeight; |
| | | this.windowHeight = currentHeight
|
| | | });
|
| | | },
|
| | | methods: {
|
| | | priviewImage(url) {
|
| | | uni.previewImage({
|
| | | urls: [url]
|
| | | });
|
| | | })
|
| | | },
|
| | | screenChange(e) {
|
| | | let fullScreen = e.detail.fullScreen // 值true为进入全屏,false为退出全屏
|
| | | if (!fullScreen) {
|
| | | //退出全屏
|
| | | this.videoPlay = false // 隐藏播放盒子
|
| | | }
|
| | | },
|
| | | closeVideo() {
|
| | | this.videoPlay = false
|
| | | this.videoContext = null
|
| | | },
|
| | | videoClick(item, i) {
|
| | | this.videoPlay = true
|
| | | this.videoContext = uni.createVideoContext("myvideo", this) // this这个是实例对象 必传
|
| | | this.videoUrl = item.fileurlFull
|
| | | this.videoContext.requestFullScreen()
|
| | | this.$nextTick(() => {
|
| | | this.videoContext.play()
|
| | | })
|
| | | },
|
| | | handleOpen() {
|
| | | this.isShowHandle = true;
|
| | | const submitFileList = this.info.submitFileList || [] |
| | | this.submitFileList = [...submitFileList];
|
| | | this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
|
| | | this.isShowHandle = true
|
| | | const submitFileList = this.info.submitFileList || []
|
| | | this.dealBeforeFileList = [...submitFileList]
|
| | | this.submitFileList = [...submitFileList]
|
| | | this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'))
|
| | | },
|
| | | handleBack() {
|
| | | this.isShowBack = true; |
| | | this.isShowBack = true
|
| | | // const submitFileList = this.info.submitFileList || []
|
| | | // this.submitFileList = [...submitFileList]; |
| | | // this.submitFileList = [...submitFileList];
|
| | | this.dealBeforeFileList = []
|
| | | this.$set(this.backParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'));
|
| | | this.$set(this.backParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'))
|
| | | },
|
| | | getDetail() {
|
| | | const {
|
| | | id
|
| | | } = this;
|
| | | } = this
|
| | | hiddenDangerDetail(id).then(res => {
|
| | | this.info = res.data;
|
| | | });
|
| | | this.info = res.data
|
| | | })
|
| | | findListFlowDanger({
|
| | | hiddenDangerId: id
|
| | | }).then(res => {
|
| | | this.flowList = res.data;
|
| | | });
|
| | | this.flowList = res.data || []
|
| | | })
|
| | | },
|
| | | onSubmit() {
|
| | | const {
|
| | | dealBeforeFileList,
|
| | | dealAfterFileList,
|
| | | handleParam
|
| | | } = this;
|
| | | } = this
|
| | | if (dealBeforeFileList.length === 0)
|
| | | return uni.showToast({
|
| | | title: '请上传整改前图片或视频',
|
| | | icon: 'none'
|
| | | });
|
| | | })
|
| | | if (dealAfterFileList.length === 0)
|
| | | return uni.showToast({
|
| | | title: '请上传整改后图片或视频',
|
| | | icon: 'none'
|
| | | });
|
| | | })
|
| | | dealHiddenDanger({
|
| | | ...handleParam,
|
| | | dealBeforeFileList: dealBeforeFileList,
|
| | |
| | | id: this.id
|
| | | }).then(res => {
|
| | | if (res.code === 200) {
|
| | | this.isShowHandle = false;
|
| | | this.isShowHandle = false
|
| | | setTimeout(() => {
|
| | | uni.showToast({
|
| | | title: '操作成功',
|
| | | icon: 'success'
|
| | | });
|
| | | });
|
| | | uni.navigateBack();
|
| | | })
|
| | | })
|
| | | uni.navigateBack()
|
| | | }
|
| | | });
|
| | | })
|
| | | },
|
| | | enterTransfer() {
|
| | | const {
|
| | | transferParam,
|
| | | id
|
| | | } = this;
|
| | | } = this
|
| | | if (!transferParam.id)
|
| | | return uni.showToast({
|
| | | title: '请选择人员',
|
| | | icon: 'none'
|
| | | });
|
| | | })
|
| | | transferHiddenDanger({
|
| | | checkUserId: transferParam.id,
|
| | | checkUserId: transferParam.memberId,
|
| | | id
|
| | | }).then(res => {
|
| | | if (res.code === 200) {
|
| | | this.isShowTransfer = false;
|
| | | this.isShowTransfer = false
|
| | | setTimeout(() => {
|
| | | uni.showToast({
|
| | | title: '操作成功',
|
| | | icon: 'success'
|
| | | });
|
| | | });
|
| | | uni.navigateBack();
|
| | | })
|
| | | })
|
| | | uni.navigateBack()
|
| | | }
|
| | | });
|
| | | })
|
| | | },
|
| | | changeMem(e) {
|
| | | this.transferParam = e;
|
| | | this.transferParam = e
|
| | | },
|
| | | handleTransfer() {
|
| | | this.isShowTransfer = true;
|
| | | this.getMemList();
|
| | | this.isShowTransfer = true
|
| | | this.getMemList()
|
| | | },
|
| | | getMemList() {
|
| | | findHiddenAreaMemberList({
|
| | | model: {
|
| | | ...this.transferModel,
|
| | | id: this.info.areaId
|
| | | },
|
| | | ...this.pagination
|
| | | userPagePost({
|
| | | ...this.transferModel,
|
| | | querySpecial: 1,
|
| | | type: 2,
|
| | | companyType: 1,
|
| | | workStatus: 0
|
| | |
|
| | | }).then(res => {
|
| | | this.memberList = res.data || [];
|
| | | });
|
| | | this.memberList = res.data || []
|
| | | })
|
| | | },
|
| | | confirmBackDate(e) {
|
| | | this.$set(this.backParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'));
|
| | | this.isShowBackDate = false;
|
| | | this.$set(this.backParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'))
|
| | | this.isShowBackDate = false
|
| | | },
|
| | | confirmHandleDate(e) {
|
| | | this.$set(this.handleParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'));
|
| | | this.isShowHandleDate = false;
|
| | | this.$set(this.handleParam, 'dealTime', dayjs(e.value).format('YYYY-MM-DD HH:mm:ss'))
|
| | | this.isShowHandleDate = false
|
| | | },
|
| | | onSubBack() {
|
| | | const {
|
| | | dealBeforeFileList,
|
| | | backParam
|
| | | } = this;
|
| | | } = this
|
| | | dealHiddenDanger({
|
| | | ...backParam,
|
| | | dealBeforeFileList,
|
| | |
| | | id: this.id
|
| | | }).then(res => {
|
| | | if (res.code === 200) {
|
| | | this.isShowBack = false;
|
| | | this.isShowBack = false
|
| | | setTimeout(() => {
|
| | | uni.showToast({
|
| | | title: '操作成功',
|
| | | icon: 'success'
|
| | | });
|
| | | });
|
| | | uni.navigateBack();
|
| | | })
|
| | | })
|
| | | uni.navigateBack()
|
| | | }
|
| | | });
|
| | | })
|
| | | },
|
| | | fileDel(str, i) {
|
| | | this[str].splice(i, 1);
|
| | | this[str].splice(i, 1)
|
| | | },
|
| | | uploadBeImage() {
|
| | | this.showUploadBe = false;
|
| | | let token = uni.getStorageSync('token') || '';
|
| | | this.showUploadBe = false
|
| | | let token = uni.getStorageSync('token') || ''
|
| | | uni.chooseImage({
|
| | | count: 4,
|
| | | count: 9,
|
| | | success: chooseImageRes => {
|
| | | uni.showLoading({
|
| | | title: '上传中',
|
| | | mask: true
|
| | | });
|
| | | const tempFilePaths = chooseImageRes.tempFilePaths;
|
| | | })
|
| | | const tempFilePaths = chooseImageRes.tempFilePaths
|
| | | let imgs = tempFilePaths.map((value, index) => {
|
| | | return {
|
| | | name: 'file',
|
| | | uri: value
|
| | | };
|
| | | });
|
| | | }
|
| | | })
|
| | | uni.uploadFile({
|
| | | url: `${uploadUrl}`,
|
| | | files: imgs,
|
| | |
| | | Dm_user_token: token
|
| | | },
|
| | | success: uploadFileRes => {
|
| | | let res = JSON.parse(uploadFileRes.data);
|
| | | let res = JSON.parse(uploadFileRes.data)
|
| | | let obj = {
|
| | | type: '0'
|
| | | };
|
| | | }
|
| | | if (res.data && res.data.length > 0) {
|
| | | res.data.forEach(i => {
|
| | | i.type = 0;
|
| | | i.fileurl = i.imgaddr;
|
| | | i.fileurlFull = i.url;
|
| | | this.dealBeforeFileList.push(i);
|
| | | });
|
| | | i.type = 0
|
| | | i.fileurl = i.imgaddr
|
| | | i.fileurlFull = i.url
|
| | | this.dealBeforeFileList.push(i)
|
| | | })
|
| | | }
|
| | | },
|
| | | fail(err) {
|
| | | console.log('err', err);
|
| | | console.log('err', err)
|
| | | },
|
| | | complete() {
|
| | | uni.hideLoading();
|
| | | uni.hideLoading()
|
| | | // if (i === chooseImageRes.tempFilePaths.length - 1) {
|
| | | // uni.hideLoading()
|
| | | // }
|
| | | }
|
| | | });
|
| | | })
|
| | | }
|
| | | });
|
| | | })
|
| | | },
|
| | | uploadBeVideo() {
|
| | | this.showUploadBe = false;
|
| | | let token = uni.getStorageSync('token') || '';
|
| | | this.showUploadBe = false
|
| | | let token = uni.getStorageSync('token') || ''
|
| | | uni.chooseVideo({
|
| | | success: chooseImageRes => {
|
| | | uni.showLoading({
|
| | | title: '上传中',
|
| | | mask: true
|
| | | });
|
| | | })
|
| | | uni.uploadFile({
|
| | | url: `${uploadUrl}`,
|
| | | filePath: chooseImageRes.tempFilePath,
|
| | |
| | | folder: 'HIDDEN_DANGER_FILE'
|
| | | },
|
| | | success: uploadFileRes => {
|
| | | let res = JSON.parse(uploadFileRes.data);
|
| | | 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.dealBeforeFileList.push(i);
|
| | | });
|
| | | i.type = 1
|
| | | i.fileurl = i.imgaddr
|
| | | i.fileurlFull = i.url
|
| | | this.dealBeforeFileList.push(i)
|
| | | })
|
| | | }
|
| | | },
|
| | | complete() {
|
| | | uni.hideLoading();
|
| | | uni.hideLoading()
|
| | | }
|
| | | });
|
| | | })
|
| | | }
|
| | | });
|
| | | })
|
| | | },
|
| | | uploadAfImage() {
|
| | | this.showUploadAf = false;
|
| | | let token = uni.getStorageSync('token') || '';
|
| | | this.showUploadAf = false
|
| | | let token = uni.getStorageSync('token') || ''
|
| | | uni.chooseImage({
|
| | | count: 4,
|
| | | count: 9,
|
| | | success: chooseImageRes => {
|
| | | uni.showLoading({
|
| | | title: '上传中',
|
| | | mask: true
|
| | | });
|
| | | const tempFilePaths = chooseImageRes.tempFilePaths;
|
| | | })
|
| | | const tempFilePaths = chooseImageRes.tempFilePaths
|
| | | let imgs = tempFilePaths.map((value, index) => {
|
| | | return {
|
| | | name: 'file',
|
| | | uri: value
|
| | | };
|
| | | });
|
| | | }
|
| | | })
|
| | | uni.uploadFile({
|
| | | url: `${uploadUrl}`,
|
| | | files: imgs,
|
| | |
| | | Dm_user_token: token
|
| | | },
|
| | | success: uploadFileRes => {
|
| | | let res = JSON.parse(uploadFileRes.data);
|
| | | let res = JSON.parse(uploadFileRes.data)
|
| | | if (res.data && res.data.length > 0) {
|
| | | res.data.forEach(i => {
|
| | | i.type = 0;
|
| | | i.fileurl = i.imgaddr;
|
| | | i.fileurlFull = i.url;
|
| | | this.dealAfterFileList.push(i);
|
| | | });
|
| | | i.type = 0
|
| | | i.fileurl = i.imgaddr
|
| | | i.fileurlFull = i.url
|
| | | this.dealAfterFileList.push(i)
|
| | | })
|
| | | }
|
| | | },
|
| | | fail(err) {
|
| | | console.log('err', err);
|
| | | console.log('err', err)
|
| | | },
|
| | | complete() {
|
| | | uni.hideLoading();
|
| | | uni.hideLoading()
|
| | | // if (i === chooseImageRes.tempFilePaths.length - 1) {
|
| | | // uni.hideLoading()
|
| | | // }
|
| | | }
|
| | | });
|
| | | })
|
| | | }
|
| | | });
|
| | | })
|
| | | },
|
| | | uploadAfVideo() {
|
| | | this.showUploadAf = false;
|
| | | let token = uni.getStorageSync('token') || '';
|
| | | this.showUploadAf = false
|
| | | let token = uni.getStorageSync('token') || ''
|
| | | uni.chooseVideo({
|
| | | success: chooseImageRes => {
|
| | | uni.showLoading({
|
| | | title: '上传中',
|
| | | mask: true
|
| | | });
|
| | | })
|
| | | uni.uploadFile({
|
| | | url: `${uploadUrl}`,
|
| | | filePath: chooseImageRes.tempFilePath,
|
| | |
| | | folder: 'HIDDEN_DANGER_FILE'
|
| | | },
|
| | | success: uploadFileRes => {
|
| | | let res = JSON.parse(uploadFileRes.data);
|
| | | 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.dealAfterFileList.push(i);
|
| | | });
|
| | | i.type = 1
|
| | | i.fileurl = i.imgaddr
|
| | | i.fileurlFull = i.url
|
| | | this.dealAfterFileList.push(i)
|
| | | })
|
| | | }
|
| | | },
|
| | | complete() {
|
| | | uni.hideLoading();
|
| | | uni.hideLoading()
|
| | | }
|
| | | });
|
| | | })
|
| | | }
|
| | | });
|
| | | })
|
| | | },
|
| | | uploadImage() {
|
| | | this.showUpload = false;
|
| | | let token = uni.getStorageSync('token') || '';
|
| | | this.showUpload = false
|
| | | let token = uni.getStorageSync('token') || ''
|
| | | uni.chooseImage({
|
| | | count: 4,
|
| | | count: 9,
|
| | | success: chooseImageRes => {
|
| | | uni.showLoading({
|
| | | title: '上传中',
|
| | | mask: true
|
| | | });
|
| | | const tempFilePaths = chooseImageRes.tempFilePaths;
|
| | | })
|
| | | const tempFilePaths = chooseImageRes.tempFilePaths
|
| | | let imgs = tempFilePaths.map((value, index) => {
|
| | | return {
|
| | | name: 'file',
|
| | | uri: value
|
| | | };
|
| | | });
|
| | | }
|
| | | })
|
| | | uni.uploadFile({
|
| | | url: `${uploadUrl}`,
|
| | | files: imgs,
|
| | |
| | | Dm_user_token: token
|
| | | },
|
| | | success: uploadFileRes => {
|
| | | let res = JSON.parse(uploadFileRes.data);
|
| | | let res = JSON.parse(uploadFileRes.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);
|
| | | });
|
| | | i.type = 0
|
| | | i.fileurl = i.imgaddr
|
| | | i.fileurlFull = i.url
|
| | | this.submitFileList.push(i)
|
| | | })
|
| | | }
|
| | | },
|
| | | fail(err) {
|
| | | console.log('err', err);
|
| | | console.log('err', err)
|
| | | },
|
| | | complete() {
|
| | | uni.hideLoading();
|
| | | uni.hideLoading()
|
| | | // if (i === chooseImageRes.tempFilePaths.length - 1) {
|
| | | // uni.hideLoading()
|
| | | // }
|
| | | }
|
| | | });
|
| | | })
|
| | | }
|
| | | });
|
| | | })
|
| | | },
|
| | | uploadVideo() {
|
| | | this.showUpload = false;
|
| | | let token = uni.getStorageSync('token') || '';
|
| | | this.showUpload = false
|
| | | let token = uni.getStorageSync('token') || ''
|
| | | uni.chooseVideo({
|
| | | success: chooseImageRes => {
|
| | | uni.showLoading({
|
| | | title: '上传中',
|
| | | mask: true
|
| | | });
|
| | | })
|
| | | uni.uploadFile({
|
| | | url: `${uploadUrl}`,
|
| | | filePath: chooseImageRes.tempFilePath,
|
| | |
| | | folder: 'HIDDEN_DANGER_FILE'
|
| | | },
|
| | | success: uploadFileRes => {
|
| | | let res = JSON.parse(uploadFileRes.data);
|
| | | 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);
|
| | | });
|
| | | i.type = 1
|
| | | i.fileurl = i.imgaddr
|
| | | i.fileurlFull = i.url
|
| | | this.submitFileList.push(i)
|
| | | })
|
| | | }
|
| | | },
|
| | | complete() {
|
| | | uni.hideLoading();
|
| | | uni.hideLoading()
|
| | | }
|
| | | });
|
| | | })
|
| | | }
|
| | | });
|
| | | })
|
| | | }
|
| | | }
|
| | | };
|
| | | }
|
| | | </script>
|
| | | <style>
|
| | |
|
| | | <style lang="scss">
|
| | | page {
|
| | | background-color: #f7f7f7;
|
| | |
|
| | | ::v-deep .u-popup__content {
|
| | | border-top: 1rpx solid #cccccc;
|
| | | }
|
| | | }
|
| | | </style>
|
| | | <style lang="scss">
|
| | |
|
| | | .main_app {
|
| | | background-color: #fff;
|
| | | padding-bottom: 0;
|
| | | .flow_title { |
| | | font-weight: 600; |
| | | font-size: 32rpx; |
| | | color: #222222; |
| | | margin-bottom: 24rpx; |
| | | position: relative;
|
| | |
|
| | | .flow_title {
|
| | | font-weight: 600;
|
| | | font-size: 32rpx;
|
| | | color: #222222;
|
| | | margin-bottom: 24rpx;
|
| | | }
|
| | |
|
| | | .flow_wrap {
|
| | | padding: 30rpx 0;
|
| | | padding: 30rpx;
|
| | | margin: 0 -30rpx;
|
| | | background-color: #fff;
|
| | |
|
| | | .list {
|
| | | .item {
|
| | |
| | | position: absolute;
|
| | | right: 0;
|
| | | bottom: 0;
|
| | | z-index: 999;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | .line{ |
| | | .company{ |
| | | font-size: 26rpx; |
| | | color: #777777; |
| | | } |
| | | .status-green{ |
| | | color: $uni-color-primary; |
| | | } |
| | | .status-red{ |
| | | color: red; |
| | | } |
| | | .line {
|
| | | .company {
|
| | | font-size: 26rpx;
|
| | | color: #777777;
|
| | | }
|
| | |
|
| | | .status-green {
|
| | | color: $uni-color-primary;
|
| | | }
|
| | |
|
| | | .status-red {
|
| | | color: red;
|
| | | }
|
| | | }
|
| | |
|
| | | .remark {
|
| | |
| | | }
|
| | |
|
| | | .adduser_list_item_ipt1_upload {
|
| | | width: 120rpx;
|
| | | height: 120rpx;
|
| | | margin-right: 24rpx;
|
| | | width: 156rpx;
|
| | | height: 156rpx;
|
| | | margin-right: 20rpx;
|
| | | border: 2rpx solid #e5e5e5;
|
| | | background: #f7f7f7;
|
| | | color: #666666;
|
| | |
| | | align-items: center;
|
| | | justify-content: center;
|
| | | position: relative;
|
| | |
|
| | | &:nth-of-type(4n) {
|
| | | margin-right: 0;
|
| | | }
|
| | |
|
| | | .close {
|
| | | position: absolute;
|
| | |
| | |
|
| | | video {
|
| | | width: 100%;
|
| | | max-height: 120rpx;
|
| | | max-height: 156rpx;
|
| | | }
|
| | | }
|
| | |
|
| | | .module_list { |
| | | .title{ |
| | | |
| | | .module_list {
|
| | | .title {
|
| | | font-weight: 600;
|
| | | font-size: 32rpx;
|
| | | color: #222222;
|
| | | padding-top: 28rpx;
|
| | | }
|
| | |
|
| | | .item {
|
| | | padding: 30rpx 0;
|
| | | border-bottom: 1rpx solid #e5e5e5;
|
| | |
| | | .file_list {
|
| | | display: flex;
|
| | | margin-bottom: 20rpx;
|
| | | overflow-x: auto;
|
| | | flex-wrap: wrap;
|
| | |
|
| | | .img_wrap {
|
| | | margin-top: 24rpx;
|
| | | min-width: 160rpx;
|
| | | height: 160rpx;
|
| | | width: 156rpx;
|
| | | height: 156rpx;
|
| | | border: 2rpx solid #e5e5e5;
|
| | | background: #f7f7f7;
|
| | | color: #666666;
|
| | | font-size: 22rpx;
|
| | | display: flex;
|
| | | border-radius: 4rpx;
|
| | | flex-direction: column;
|
| | | align-items: center;
|
| | | justify-content: center;
|
| | | position: relative;
|
| | | margin-right: 16rpx;
|
| | | margin-right: 20rpx;
|
| | | flex-shrink: 0;
|
| | |
|
| | | &:nth-of-type(4n) {
|
| | | margin-right: 0;
|
| | | }
|
| | | }
|
| | |
|
| | |
|
| | | .img {
|
| | | width: 100%;
|
| | |
| | | }
|
| | |
|
| | | .video {
|
| | | height: 160rpx;
|
| | | width: 100%;
|
| | | max-height: 100%;
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | margin-top: 20rpx;
|
| | |
|
| | | .line {
|
| | | margin-bottom: 12rpx;
|
| | | margin-bottom: 18rpx;
|
| | | display: flex;
|
| | | font-size: 24rpx;
|
| | |
|
| | | &:nth-last-child(1) {
|
| | | margin-bottom: 0;
|
| | | }
|
| | |
|
| | | .label {
|
| | | color: #999999;
|
| | |
| | | line-height: 60rpx;
|
| | | padding: 0 32rpx;
|
| | | border-radius: 0rpx 0rpx 0rpx 30rpx;
|
| | | background-color: #e9edff;
|
| | | background: rgba(39, 155, 170, 0.12);
|
| | | color: $uni-color-primary;
|
| | | }
|
| | |
|
| | |
| | | position: fixed;
|
| | | bottom: 0;
|
| | | width: 100%;
|
| | | z-index: 9999;
|
| | | left: 0;
|
| | | padding: 30rpx 10rpx 60rpx;
|
| | | padding: 10rpx 10rpx 30rpx;
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | | background: #ffffff;
|
| | |
| | | }
|
| | |
|
| | | .adduser_list_item_ipt1_upload {
|
| | | margin-top: 24rpx;
|
| | | width: 120rpx;
|
| | | height: 120rpx;
|
| | | margin-right: 24rpx;
|
| | | margin-top: 20rpx;
|
| | | width: 156rpx;
|
| | | height: 156rpx;
|
| | | margin-right: 20rpx;
|
| | | border: 2rpx solid #e5e5e5;
|
| | | background: #f7f7f7;
|
| | | color: #666666;
|
| | |
| | | justify-content: center;
|
| | | position: relative;
|
| | |
|
| | | &:nth-of-type(4n) {
|
| | | margin-right: 0;
|
| | | }
|
| | |
|
| | | .close {
|
| | | position: absolute;
|
| | | right: -20rpx;
|
| | | top: -20rpx;
|
| | | z-index: 9999;
|
| | | z-index: 999999999999;
|
| | | color: #fff;
|
| | | }
|
| | |
|
| | | image {
|
| | |
| | |
|
| | | video {
|
| | | width: 100%;
|
| | | max-height: 120rpx;
|
| | | height: 100%;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | .emyty {
|
| | | width: 750rpx;
|
| | | height: 20rpx;
|
| | | background-color: #f7f7f7;
|
| | | margin: 0 -30rpx;
|
| | | }
|
| | | }
|
| | |
|
| | | .video_wrap {
|
| | | position: relative;
|
| | | border: 1px solid;
|
| | | width: 156rpx;
|
| | | height: 156rpx;
|
| | | border-radius: 4rpx;
|
| | |
|
| | | .play {
|
| | | width: 60rpx !important;
|
| | | height: 60rpx !important;
|
| | | position: absolute;
|
| | | top: 50%;
|
| | | left: 50%;
|
| | | transform: translate(-50%, -50%);
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | }
|
| | |
|
| | | .member_list {
|
| | | height: 920rpx;
|
| | | overflow: auto;
|
| | |
|
| | | .line {
|
| | | display: flex;
|
| | | align-items: center;
|
| | | border-bottom: 1rpx solid #e5e5e5;
|
| | | padding: 30rpx 0;
|
| | |
|
| | | |
| | | .avatar {
|
| | | width: 64rpx;
|
| | | height: 64rpx;
|
| | | border-radius: 50%;
|
| | | overflow: hidden;
|
| | | margin-right: 20rpx;
|
| | | }
|
| | |
|
| | | .img_name {
|
| | | width: 64rpx;
|
| | | height: 64rpx;
|
| | | line-height: 64rpx;
|
| | | text-align: center;
|
| | | border-radius: 50%;
|
| | | overflow: hidden;
|
| | | margin-right: 20rpx;
|
| | | background: $uni-color-primary;
|
| | | color: #fff;
|
| | | border: 1rpx solid $uni-color-primary;
|
| | | }
|
| | |
|
| | | .content {
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | .video_app {
|
| | | overflow: hidden;
|
| | | position: fixed;
|
| | | left: 0;
|
| | | top: 0;
|
| | | width: 100vw;
|
| | | height: 100vh;
|
| | | display: flex;
|
| | | align-items: center;
|
| | | z-index: 9990;
|
| | |
|
| | | .bg {
|
| | | background-color: rgba(0, 0, 0, .6);
|
| | | position: absolute;
|
| | | width: 100%;
|
| | | height: 100%;
|
| | | z-index: -1;
|
| | | }
|
| | |
|
| | | video {
|
| | | width: 100%;
|
| | | height: 42vh;
|
| | | }
|
| | | }
|
| | |
|
| | | .Transfer_footer {
|
| | | display: flex;
|
| | |
|