From 88a34566f7c3f77d90daa3fd57fb0abca3e1b5e6 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期四, 27 二月 2025 09:12:06 +0800
Subject: [PATCH] ll
---
h5/pages/staff/task/vDangetAppr.vue | 2681 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 1,479 insertions(+), 1,202 deletions(-)
diff --git a/h5/pages/staff/task/vDangetAppr.vue b/h5/pages/staff/task/vDangetAppr.vue
index f1a67ba..2f6b65d 100644
--- a/h5/pages/staff/task/vDangetAppr.vue
+++ b/h5/pages/staff/task/vDangetAppr.vue
@@ -1,1202 +1,1479 @@
-<template>
- <view class="main_app">
- <view class="status_wrap">
- <view class="name">{{ info.name }}鎻愪氦鐨剓{ cateList[type].name }}</view>
- <view v-if="info.status == '0'" class="status">{{
- statusMap[info.status]
- }}</view>
- <image
- v-if="info.status == '2'"
- src="@/static/ic_passed@2x.png"
- mode="widthFix"
- class="status_img"
- ></image>
- <image
- v-if="info.status == '3' || info.status == '6'"
- src="@/static/ic_refused@2x.png"
- mode="widthFix"
- class="status_img"
- ></image>
- <view>{{ info.content }}</view>
- <view class="file_list">
- <template v-for="item in info.submitFileList">
- <image
- v-if="item.type == 0"
- :key="item.id"
- :src="item.fileurlFull"
- mode="widthFix"
- class="img"
- />
- <video
- v-if="item.type == 1"
- :key="item.id"
- :src="item.fileurlFull"
- class="img"
- controls
- />
- </template>
- </view>
- <view class="text_wrap">
- <view class="line">
- <text class="label">闅愭偅鍖哄煙锛�</text>
- <text>{{ info.areaName }}</text>
- </view>
- <view class="line">
- <text class="label">鎻愭姤浜猴細</text>
- <text>{{ info.memberName }} {{ info.memberPhone }}</text>
- </view>
- </view>
- </view>
- <!-- -->
- <view class="emyty"></view>
- <view v-if="info.status == 1" class="module_list">
- <view class="item">
- <view class="label">澶勭悊缁撴灉</view>
- <!-- <view class="value">{{ info. }}</view> -->
- </view>
- <view class="item">
- <view class="label">鏁存敼鍓�</view>
- <view class="value">
- <view
- class="adduser_list_item_ipt1_upload"
- v-for="(item, i) in 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
- ></view>
- </view>
- </view>
- <view class="item">
- <view class="label">鏁存敼鍚�</view>
- <view class="value">
- <view
- class="adduser_list_item_ipt1_upload"
- v-for="(item, i) in 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
- ></view>
- </view>
- </view>
- <view class="item">
- <view class="label">鏁存敼璇存槑</view>
- <view class="value">{{ info.checkInfo }}</view>
- </view>
- </view>
- <!-- 娴佺▼ -->
- <view class="flow_wrap">
- <view class="flow_title">澶勭悊娴佺▼</view>
- <view
- class="list"
- v-if="
- info.approveDateVO != null && info.approveDateVO.approveList != null
- "
- >
- <view
- class="item"
- v-for="(item, index) in info.approveDateVO.approveList"
- :key="item.id"
- >
- <view class="separate"></view>
- <view class="avatar">
- <image
- class="img"
- :src="
- item.faceImg
- ? item.faceImg
- : require('@/static/meeting/common/default_user@2x.png')
- "
- />
- <image
- class="status"
- src="@/static/staff/liucheng_success@2x.png"
- mode="widthFix"
- />
- </view>
- <view class="content">
- <view class="head">
- <view class="event">{{ item.title }}</view>
- <view class="time">{{ item.checkDate }}</view>
- </view>
- <view class="name_wrap">
- <text
- >{{ item.memberName
- }}<text class="status" v-if="item.statusInfo"
- >({{ item.statusInfo }})</text
- ></text
- >
- </view>
- <view v-if="item.checkInfo" class="remark">{{
- item.checkInfo
- }}</view>
- <!-- 鎶勯�佷汉 -->
- <view v-if="item.approveType == 1" class="children">
- <view
- class="child"
- v-for="child in item.approveList"
- :key="child.id"
- >
- <image
- class="child_img"
- :src="
- child.faceImg
- ? child.faceImg
- : require('@/static/meeting/common/default_user@2x.png')
- "
- />
- <view>{{ child.memberName }}</view>
- </view>
- </view>
- </view>
- </view>
- </view>
- </view>
- <view class="emyty"></view>
- <view class="main_footer">
- <view class="btn" @click="isShowBack = true">閫�鍥�</view>
- <view class="btn transfer" @click="handleTransfer">杞氦</view>
- <view class="btn handle" @click="isShowHandle = true">澶勭悊</view>
- </view>
-
- <u-popup
- :show="isShowBack"
- :round="10"
- :safeAreaInsetBottom="true"
- mode="bottom"
- @close="isShowBack = false"
- >
- <view class="appr_modal">
- <view class="title">闅愭偅閫�鍥�</view>
- <view class="df_sb">
- <view>閫�鍥炴椂闂�</view>
- <view @click="isShowBackDate = true" v-if="backParam.dealTime">{{
- backParam.dealTime.slice(0, 16)
- }}</view>
- <view @click="isShowBackDate = true" v-else class="placeholder9"
- >璇烽�夋嫨</view
- >
- </view>
-
- <view class="label">鍥剧墖/瑙嗛</view>
- <view class="upload_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"
- v-for="(item, i) in submitFileList"
- :key="i"
- ><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 class="label">閫�鍥炶鏄�</view>
- <textarea
- v-model="backParam.checkInfo"
- placeholder="璇疯缁嗘弿杩扮幇鍦烘儏鍐碉紝涓嶅皯浜�10涓瓧"
- placeholder-class="placeholder9"
- />
- <view class="back_footer">
- <view class="btn" @click="isShowBack = false">鍙栨秷</view>
- <view class="btn agree" @click="onSubBack">鎻愪氦</view>
- </view>
- </view>
- </u-popup>
- <!-- 澶勭悊 -->
- <u-popup
- :show="isShowHandle"
- :round="10"
- :safeAreaInsetBottom="true"
- mode="bottom"
- @close="isShowBack = false"
- >
- <view class="appr_modal">
- <view class="title">闅愭偅鏁存敼</view>
- <view class="df_sb">
- <view>鏁存敼鏃堕棿</view>
- <view @click="isShowHandleDate = true" v-if="handleParam.dealTime">{{
- handleParam.dealTime.slice(0, 16)
- }}</view>
- <view @click="isShowHandleDate = true" v-else class="placeholder9"
- >璇烽�夋嫨</view
- >
- </view>
-
- <view class="label"><text>*</text>鏁存敼鍓�</view>
- <view class="upload_wrap">
- <view
- class="adduser_list_item_ipt1_upload"
- @click="showUploadBe = true"
- ><u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon
- ></view>
- <view
- class="adduser_list_item_ipt1_upload"
- v-for="(item, i) in 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
- ></view>
- </view>
- <view class="label"><text>*</text>鏁存敼鍚�</view>
- <view class="upload_wrap">
- <view
- class="adduser_list_item_ipt1_upload"
- @click="showUploadAf = true"
- ><u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon
- ></view>
- <view
- class="adduser_list_item_ipt1_upload"
- v-for="(item, i) in 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
- ></view>
- </view>
- <view class="label">鏁存敼璇存槑</view>
- <textarea
- v-model="handleParam.checkInfo"
- placeholder="璇疯缁嗘弿杩扮幇鍦烘儏鍐碉紝涓嶅皯浜�10涓瓧"
- placeholder-class="placeholder9"
- />
- <view class="back_footer">
- <view class="btn" @click="isShowHandle = false">鍙栨秷</view>
- <view class="btn agree" @click="onSubmit">鎻愪氦</view>
- </view>
- </view>
- </u-popup>
- <!-- 涓婁紶 -->
- <u-popup :show="showUpload" @close="showUpload = false" closeOnClickOverlay>
- <view class="sel_upload_wrap">
- <view class="btn" @click="uploadImage">閫夋嫨鍥剧墖</view>
- <view class="btn" @click="uploadVideo">閫夋嫨瑙嗛</view>
- </view>
- </u-popup>
- <u-popup
- :show="showUploadBe"
- @close="showUploadBe = false"
- closeOnClickOverlay
- >
- <view class="sel_upload_wrap">
- <view class="btn" @click="uploadBeImage">閫夋嫨鍥剧墖</view>
- <view class="btn" @click="uploadBeVideo">閫夋嫨瑙嗛</view>
- </view>
- </u-popup>
- <u-popup
- :show="showUploadAf"
- @close="showUploadAf = false"
- closeOnClickOverlay
- >
- <view class="sel_upload_wrap">
- <view class="btn" @click="uploadAfImage">閫夋嫨鍥剧墖</view>
- <view class="btn" @click="uploadAfVideo">閫夋嫨瑙嗛</view>
- </view>
- </u-popup>
- <!-- 杞氦 -->
- <u-popup
- :show="isShowTransfer"
- :round="10"
- safeAreaInsetBottom
- mode="bottom"
- @close="isShowTransfer = false"
- >
- <view class="appr_modal">
- <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;"
- />
- </view>
- <view class="member_list">
- <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>
- <view class="content">
- <view class="info">
- <text class="name">{{ item.name }}</text>
- <!-- <text class="tag">tag</text> -->
- </view>
- <view class="depart">{{ item.companyName }}</view>
- </view>
- <image
- @click="changeMem(item)"
- v-if="transferParam.id == item.id"
- src="@/static/meeting/icon/ic_choose_sel@2x.png"
- mode="widthFix"
- class="checked"
- ></image>
- <image
- @click="changeMem(item)"
- v-else
- src="@/static/meeting/icon/ic_choose@2x.png"
- mode="widthFix"
- class="checked"
- ></image>
- <text></text>
- </view>
- <view class="empty"></view>
- </view>
- <view class="Transfer_footer">
- <view class="btn" @click="isShowTransfer = fale">鍙栨秷</view>
- <view class="btn active" @click="enterTransfer">纭杞氦</view>
- </view>
- </view>
- </u-popup>
- <!-- 閫�鍥炴椂闂� -->
- <u-datetime-picker
- :show="isShowBackDate"
- @confirm="confirmBackDate"
- @cancel="isShowBackDate = false"
- mode="datetime"
- ></u-datetime-picker>
-
- <u-datetime-picker
- :show="isShowHandleDate"
- @confirm="confirmHandleDate"
- @cancel="isShowHandleDate = false"
- mode="datetime"
- ></u-datetime-picker>
- </view>
-</template>
-
-<script>
-import {
- hiddenDangerDetail,
- uploadUrl,
- findHiddenAreaMemberList,
- dealHiddenDanger,
- transferHiddenDanger
-} from '@/api'
-import dayjs from 'dayjs'
-export default {
- data() {
- return {
- isShowBack: false,
- param: {},
- info: {},
-
- id: '',
- type: '',
- cateList: [
- { name: '璁垮鐢宠', id: 0 },
- { name: '璁垮鎶ュ', id: 1 },
- { name: '鐢ㄨ溅鐢宠', id: 2 },
- { name: '闅愭偅闅忔墜鎷�', id: 3 },
- { name: '鐗╂祦杞︾敵璇�', id: 4 },
- ],
- statusMap: {
- 0: '寰呭鎵�',
- 1: '瀹℃壒涓�',
- 2: '瀹℃壒閫氳繃',
- 3: '瀹℃壒鏈�氳繃',
- 4: '宸插彇娑�',
- 5: '浠栦汉鎴栫',
- 6: '浠栦汉鎷掔粷',
- },
-
-
- showUpload: false,
- isShowBackDate: false,
- submitFileList: [],
- backParam: {},
-
- isShowHandle: false,
- handleParam: {},
- isShowHandleDate: false,
- showUploadBe: false,
- showUploadAf: false,
- dealBeforeFileList: [],
- dealAfterFileList: [],
-
- isShowTransfer: false,
- transferParam: {},
- transferModel: {},
- pagination: {
- page: 1,
- capacity: 50
- },
- memberList: []
- }
- },
- onLoad(op) {
- this.id = op.id
- this.type = op.objType
- this.getDetail()
- },
- methods: {
- getDetail() {
- const { id } = this
- hiddenDangerDetail(id).then(res => {
- this.info = res.data
- })
- },
- onSubmit() {
- const { dealBeforeFileList, dealAfterFileList, handleParam } = this
- dealHiddenDanger({
- ...handleParam,
- dealBeforeFileList: dealBeforeFileList,
- dealAfterFileList: dealAfterFileList,
- status: 1,
- id: this.id
- }).then(res => {
- if (res.code === 200) {
- this.isShowHandle = false
- setTimeout(() => {
- uni.showToast({
- title: '鎿嶄綔鎴愬姛',
- icon: 'success'
- })
- })
- uni.navigateBack()
- }
- })
- },
- enterTransfer() {
- const { transferParam, id } = this
- transferHiddenDanger({
- checkUserId: transferParam.id,
- id
- }).then(res => {
- if (res.code === 200) {
- this.isShowTransfer = false
- setTimeout(() => {
- uni.showToast({
- title: '鎿嶄綔鎴愬姛',
- icon: 'success'
- })
- })
- uni.navigateBack()
- }
- })
- },
- changeMem(e) {
- this.transferParam = e
- },
- handleTransfer() {
- this.isShowTransfer = true
- this.getMemList()
- },
- getMemList() {
- findHiddenAreaMemberList({
- model: { ...this.transferModel },
- ...this.pagination,
- }).then(res => {
- this.memberList = res.data || []
- })
- },
- confirmBackDate(e) {
- 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
- },
- onSubBack() {
- const { submitFileList, backParam } = this
- dealHiddenDanger({
- ...backParam,
- dealBeforeFileList: submitFileList,
- status: 2,
- id: this.id
- }).then(res => {
- if (res.code === 200) {
- this.isShowBack = false
- setTimeout(() => {
- uni.showToast({
- title: '鎿嶄綔鎴愬姛',
- icon: 'success'
- })
- })
- uni.navigateBack()
- }
- })
- },
- uploadBeImage() {
- this.showUploadBe = false
- uni.chooseImage({
- count: 1,
- 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],
- 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.dealBeforeFileList.push(obj)
- },
- complete() {
- if (i === chooseImageRes.tempFilePaths.length - 1) {
- uni.hideLoading()
- }
- }
- })
- }
- }
- })
- },
- uploadBeVideo() {
- this.showUploadBe = false
- let that = this
- uni.chooseVideo({
- success: (chooseImageRes) => {
- uni.showLoading({ title: '涓婁紶涓�', mask: true })
- uni.uploadFile({
- url: `${uploadUrl}`,
- filePath: chooseImageRes.tempFilePath,
- name: 'file',
- formData: {
- folderCode: 'HIDDEN_DANGER_FILE'
- },
- success: (uploadFileRes) => {
- let res = JSON.parse(uploadFileRes.data)
- console.log('res', res)
- let obj = {
- type: '1'
- }
- obj.fileurl = res.data.halfPath
- obj.fileurlFull = res.data.addr
- this.dealBeforeFileList.push(obj)
- },
- complete() {
- uni.hideLoading()
- }
- })
- }
- })
- },
- uploadAfImage() {
- this.showUploadAf = false
- uni.chooseImage({
- count: 1,
- 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],
- 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.dealAfterFileList.push(obj)
- },
- complete() {
- if (i === chooseImageRes.tempFilePaths.length - 1) {
- uni.hideLoading()
- }
- }
- })
- }
- }
- })
- },
- uploadAfVideo() {
- this.showUploadAf = false
- let that = this
- uni.chooseVideo({
- success: (chooseImageRes) => {
- uni.showLoading({ title: '涓婁紶涓�', mask: true })
- uni.uploadFile({
- url: `${uploadUrl}`,
- filePath: chooseImageRes.tempFilePath,
- name: 'file',
- formData: {
- folderCode: 'HIDDEN_DANGER_FILE'
- },
- success: (uploadFileRes) => {
- let res = JSON.parse(uploadFileRes.data)
- console.log('res', res)
- let obj = {
- type: '1'
- }
- obj.fileurl = res.data.halfPath
- obj.fileurlFull = res.data.addr
- this.dealAfterFileList.push(obj)
- },
- complete() {
- uni.hideLoading()
- }
- })
- }
- })
- },
- uploadImage() {
- this.showUpload = false
- uni.chooseImage({
- count: 1,
- 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],
- 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()
- }
- }
- })
- }
- }
- })
- },
- uploadVideo() {
- this.showUpload = false
- let that = this
- uni.chooseVideo({
- success: (chooseImageRes) => {
- uni.showLoading({ title: '涓婁紶涓�', mask: true })
- uni.uploadFile({
- url: `${uploadUrl}`,
- filePath: chooseImageRes.tempFilePath,
- name: 'file',
- formData: {
- folderCode: 'HIDDEN_DANGER_FILE'
- },
- success: (uploadFileRes) => {
- let res = JSON.parse(uploadFileRes.data)
- console.log('res', res)
- let obj = {
- type: '1'
- }
- obj.fileurl = res.data.halfPath
- obj.fileurlFull = res.data.addr
- this.submitFileList.push(obj)
- },
- complete() {
- uni.hideLoading()
- }
- })
- }
- })
- },
- },
-}
-</script>
-<style>
-page {
- background-color: #f7f7f7;
-}
-</style>
-<style lang="scss">
-.main_app {
- background-color: #fff;
- padding-bottom: 0;
-
- .flow_wrap {
- padding: 30rpx 0;
-
- .flow_title {
- font-weight: 600;
- font-size: 32rpx;
- color: #222222;
- margin-bottom: 24rpx;
- }
-
- .list {
- .item {
- display: flex;
- margin-bottom: 48rpx;
- position: relative;
- .separate {
- position: absolute;
- width: 4rpx;
- height: 100%;
- background-color: #eeeeee;
- left: 40rpx;
- transform: translate(-50%, 0);
- top: 80rpx;
- }
- .avatar {
- width: 80rpx;
- height: 80rpx;
- position: relative;
- margin-right: 20rpx;
-
- .img {
- width: 80rpx;
- height: 80rpx;
- border-radius: 50%;
- }
-
- .status {
- width: 28rpx;
- height: 28rpx;
- border-radius: 50%;
- position: absolute;
- right: 0;
- bottom: 0;
- }
- }
-
- .content {
- flex: 1;
-
- .head {
- display: flex;
- justify-content: space-between;
- margin-bottom: 4rpx;
-
- .event {
- font-size: 30rpx;
- }
-
- .time {
- font-size: 26rpx;
- color: #999999;
- }
- }
-
- .name_wrap {
- font-size: 26rpx;
- color: #777777;
-
- .status {
- color: $uni-color-primary;
- }
- }
- .children {
- display: flex;
- flex-wrap: wrap;
- margin-top: 12rpx;
- .child {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- margin-right: 12rpx;
- .child_img {
- width: 48rpx;
- height: 48rpx;
- border-radius: 50%;
- }
- }
- }
-
- .remark {
- margin-top: 12rpx;
- background-color: #f7f7f7;
- padding: 14rpx 20rpx;
- border-radius: 8rpx;
- font-size: 26rpx;
- color: #666666;
- line-height: 36rpx;
- }
- }
- .carbon {
- display: flex;
- width: 590rpx;
- overflow-x: auto;
- margin-top: 12rpx;
- .carbon_item {
- text-align: center;
- flex-shrink: 0;
- width: 100rpx;
- image {
- width: 60rpx;
- height: 60rpx;
- margin: 0 auto;
- }
- view {
- font-size: 26rpx;
- color: #777777;
- }
- }
- }
- &:nth-last-child(1) {
- .separate {
- height: 0;
- }
- }
- }
- }
- }
-
- .module_list {
- .item {
- padding: 30rpx 0;
- border-bottom: 1rpx solid #e5e5e5;
-
- .label {
- font-size: 26rpx;
- color: #666666;
- margin-bottom: 20rpx;
- }
-
- .value {
- font-size: 30rpx;
- display: flex;
- align-items: center;
-
- .avatar {
- margin-right: 20rpx;
- width: 120rpx;
- height: 120rpx;
- border-radius: 8rpx;
- border: 2rpx solid #e5e5e5;
- }
-
- .info {
- flex: 1;
- display: flex;
- flex-direction: column;
- justify-content: space-between;
- font-size: 26rpx;
- color: #666666;
-
- .name {
- font-size: 30rpx;
- color: #333333;
- }
- }
- }
- }
- }
-
- .status_wrap {
- position: relative;
- padding: 30rpx 0;
-
- .name {
- font-weight: 600;
- font-size: 32rpx;
- margin-bottom: 20rpx;
- color: #222222;
- }
-
- .desc {
- font-size: 26rpx;
- color: #ed4545;
- }
- .gray {
- color: #999999;
- }
- .file_list {
- display: flex;
- flex-wrap: wrap;
- margin-bottom: 20rpx;
- .img {
- width: 140rpx;
- max-height: 120rpx;
- margin-right: 12rpx;
- margin-bottom: 12rpx;
- border-radius: 8rpx;
- }
- }
- .text_wrap {
- padding: 20rpx;
- background-color: #f8f7f7;
- border-radius: 8rpx;
- margin-top: 20rpx;
- .line {
- margin-bottom: 12rpx;
- display: flex;
- font-size: 24rpx;
- .label {
- color: #999999;
- width: 140rpx;
- }
- }
- }
-
- .status {
- position: absolute;
- right: -30rpx;
- top: 0;
- height: 60rpx;
- line-height: 60rpx;
- padding: 0 32rpx;
- border-radius: 0rpx 0rpx 0rpx 30rpx;
- background-color: #e9edff;
- color: $uni-color-primary;
- }
- .status_img {
- position: absolute;
- right: 0rpx;
- top: 20rpx;
- width: 120rpx;
- }
- }
-
- .main_footer {
- position: fixed;
- bottom: 0;
- width: 100%;
- left: 0;
- padding: 30rpx 10rpx 60rpx;
- display: flex;
- justify-content: space-between;
- background: #ffffff;
- .btn {
- flex: 1;
- height: 88rpx;
- line-height: 88rpx;
- background: #ffffff;
- border-radius: 44rpx;
- border: 1rpx solid #999999;
- font-size: 32rpx;
- text-align: center;
- margin: 16rpx 8rpx;
- }
- .transfer {
- color: $uni-color-primary;
- border: 1rpx solid $uni-color-primary;
- }
-
- .handle {
- flex: 2;
- background: $uni-color-primary;
- color: #fff;
- border: 1rpx solid $uni-color-primary;
- }
- }
-
- .appr_modal {
- padding: 36rpx 30rpx 0;
- .title {
- font-weight: 600;
- font-size: 32rpx;
- color: #222222;
- margin-bottom: 40rpx;
- text-align: center;
- }
- .label {
- text {
- color: #ed4545;
- }
- }
- .df_sb {
- display: flex;
- justify-content: space-between;
- align-items: center;
- height: 90rpx;
- border-bottom: 1rpx solid #e4e4e4;
- margin-bottom: 30rpx;
- }
- .back_footer {
- display: flex;
- .btn {
- flex: 1;
- height: 88rpx;
- line-height: 88rpx;
- background: #ffffff;
- border-radius: 44rpx;
- border: 1rpx solid #999999;
- font-size: 32rpx;
- text-align: center;
- margin: 16rpx 8rpx;
- }
- .agree {
- background: $uni-color-primary;
- color: #fff;
- border: 1rpx solid $uni-color-primary;
- }
- }
- textarea {
- box-sizing: border-box;
- width: 690rpx;
- min-height: 200rpx;
- background-color: #f7f7f7;
- font-size: 28rpx;
- color: #333333;
- padding: 24rpx;
- border-radius: 8rpx;
- margin-bottom: 30rpx;
- }
- .upload_wrap {
- display: flex;
- flex-wrap: wrap;
- margin-bottom: 30rpx;
- }
- .adduser_list_item_ipt1_upload {
- margin-top: 24rpx;
- width: 120rpx;
- height: 120rpx;
- margin-right: 24rpx;
- border: 2rpx solid #e5e5e5;
- background: #f7f7f7;
- color: #666666;
- font-size: 22rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- overflow: hidden;
- image {
- width: 100%;
- height: 100%;
- }
- video {
- width: 100%;
- }
- }
- }
-
- .emyty {
- width: 750rpx;
- height: 20rpx;
- background-color: #f7f7f7;
- margin: 0 -30rpx;
- }
-}
-.sel_upload_wrap {
- width: 100%;
- border-top: 1px solid #333333;
- box-shadow: 0 1 1 #333333;
- .btn {
- height: 90rpx;
- line-height: 90rpx;
- text-align: center;
- }
-}
-.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;
- }
- .content {
- flex: 1;
- .depart {
- font-size: 24rpx;
- color: #666666;
- }
- .info {
- display: flex;
- margin-bottom: 16rpx;
- .name {
- font-size: 30rpx;
- }
- .tag {
- font-size: 24rpx;
- border-radius: 4rpx;
- border: 1rpx solid #f62710;
- color: #f62710;
- padding: 0rpx 6rpx;
- margin-left: 8rpx;
- }
- }
- }
- .checked {
- width: 48rpx;
- }
- }
- .empty {
- width: 100%;
- height: 280rpx;
- }
-}
-.search_inp {
- height: 72rpx;
- background: #f7f7f7;
- border-radius: 4rpx;
- padding-left: 16rpx;
- .search {
- width: 28rpx;
- }
- input {
- flex: 1;
- font-size: 28rpx;
- color: #333333;
- }
-}
-.Transfer_footer {
- display: flex;
- .btn {
- flex: 1;
- height: 88rpx;
- line-height: 88rpx;
- background: #ffffff;
- border-radius: 44rpx;
- border: 1rpx solid #999999;
- font-size: 32rpx;
- text-align: center;
- margin: 16rpx 8rpx;
- }
- .active {
- background: $uni-color-primary;
- color: #fff;
- border: 1rpx solid $uni-color-primary;
- }
-}
-</style>
+<template>
+ <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>
+ <image v-if="info.status == '1'" src="@/static/ic_yizhenggai.png" mode="widthFix" class="status_img"></image>
+ <image v-if="info.status == '2'" src="@/static/ic_yituihui-1.png" mode="widthFix" class="status_img"></image>
+ <image v-if="info.status == '3' || info.status == '6'" src="@/static/ic_refused@2x.png" mode="widthFix"
+ class="status_img"></image>
+ <view>{{ info.content }}</view>
+ <view class="file_list">
+ <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" />
+ <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 class="line">
+ <text class="label">闅愭偅鍖哄煙锛�</text>
+ <text>{{ info.areaName }}</text>
+ </view>
+ <view class="line">
+ <text class="label">鎻愭姤浜猴細</text>
+ <text>{{ info.memberName }} {{ info.memberPhone }}</text>
+ </view>
+ </view>
+ </view>
+ <!-- -->
+ <view class="emyty"></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="value">
+ <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in info.dealBeforeFileList" :key="i">
+ <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="item" v-if="info.dealAfterFileList && info.dealAfterFileList.length > 0">
+ <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" @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="value">{{ info.checkInfo }}</view>
+ </view>
+ </view>
+ <!-- 娴佺▼ -->
+ <view class="flow_wrap">
+ <view class="flow_title">澶勭悊娴佺▼</view>
+ <view class="list">
+ <view class="item" v-for="(item, index) in flowList" :key="item.id">
+ <view class="separate"></view>
+ <view class="avatar">
+ <image src="@/static/staff/liucheng_success@2x.png" class="status"
+ 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-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>
+ </view>
+ <view class="content">
+ <view class="head">
+ <view class="event">{{ item.title }}</view>
+ <view class="time" v-if="item.createDate">{{ item.createDate.slice(0, 16) }}</view>
+ </view>
+ <view class="line">
+ <view class="company">
+ {{ item.createUserName }} {{ item.companyName }}
+ <view style="display: inline" v-if="index == flowList.length - 1">
+ 锛�
+ <span v-if="info.status == 1">宸插悓鎰�</span>
+ <span class="status-green" v-if="info.status == 0">寰呭鐞�</span>
+ <span class="status-red" v-if="info.status == 2">宸查��鍥�</span>
+ 锛�
+ </view>
+ </view>
+ </view>
+ </view>
+
+ </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" 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>
+
+ <!-- 閫�鍥� -->
+ <u-popup :show="isShowBack" :round="10" :safeAreaInsetBottom="true" mode="bottom" @close="isShowBack = false">
+ <view class="appr_modal">
+ <view class="title">闅愭偅閫�鍥�</view>
+ <view class="df_sb">
+ <view>閫�鍥炴椂闂�</view>
+ <view class="df_ac" @click="isShowBackDate = true" v-if="backParam.dealTime">
+ {{ backParam.dealTime }}
+ <u-icon name="arrow-right"></u-icon>
+ </view>
+ <view @click="isShowBackDate = true" v-else class="placeholder9 df_ac">
+ 璇烽�夋嫨
+ <u-icon name="arrow-right"></u-icon>
+ </view>
+ </view>
+
+ <view class="label">鍥剧墖/瑙嗛</view>
+ <view class="upload_wrap">
+ <view class="adduser_list_item_ipt1_upload" @click="showUploadBe = true">
+ <u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon>
+ <view class="mt6">鍥剧墖/瑙嗛</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" @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>
+ <textarea v-model="backParam.checkInfo" placeholder="璇疯缁嗘弿杩扮幇鍦烘儏鍐碉紝涓嶅皯浜�10涓瓧" placeholder-class="placeholder9" />
+ <view class="back_footer">
+ <view class="btn" @click="isShowBack = false">鍙栨秷</view>
+ <view class="btn agree" @click="onSubBack">鎻愪氦</view>
+ </view>
+ </view>
+ </u-popup>
+ <!-- 澶勭悊 -->
+ <u-popup :show="isShowHandle" :round="10" :safeAreaInsetBottom="true" mode="bottom" @close="isShowHandle = false">
+ <view class="appr_modal">
+ <view class="title">闅愭偅鏁存敼</view>
+ <view class="df_sb">
+ <view>鏁存敼鏃堕棿</view>
+ <view class="df_ac" @click="isShowHandleDate = true" v-if="handleParam.dealTime">
+ {{ handleParam.dealTime }}
+ <u-icon name="arrow-right"></u-icon>
+ </view>
+ <view @click="isShowHandleDate = true" v-else class="placeholder9 df_ac">
+ 璇烽�夋嫨
+ <u-icon name="arrow-right"></u-icon>
+ </view>
+ </view>
+
+ <view class="label">
+ <text>*</text>
+ 鏁存敼鍓�
+ </view>
+ <view class="upload_wrap">
+ <view class="adduser_list_item_ipt1_upload" @click="showUploadBe = true">
+ <u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon>
+ <view class="mt6">鍥剧墖/瑙嗛</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" :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">
+ <text>*</text>
+ 鏁存敼鍚�
+ </view>
+ <view class="upload_wrap">
+ <view class="adduser_list_item_ipt1_upload" @click="showUploadAf = true">
+ <u-icon name="plus" color="rgb(153, 153, 153)" size="28"></u-icon>
+ <view class="mt6">鍥剧墖/瑙嗛</view>
+ </view>
+ <view class="adduser_list_item_ipt1_upload" v-for="(item, i) in dealAfterFileList" :key="i">
+ <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" :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>
+ <textarea v-model="handleParam.checkInfo" placeholder="璇疯缁嗘弿杩扮幇鍦烘儏鍐碉紝涓嶅皯浜�10涓瓧" placeholder-class="placeholder9" />
+ <view class="back_footer">
+ <view class="btn" @click="isShowHandle = false">鍙栨秷</view>
+ <view class="btn agree" @click="onSubmit">鎻愪氦</view>
+ </view>
+ </view>
+ </u-popup>
+ <!-- 涓婁紶 -->
+ <u-popup :show="showUpload" @close="showUpload = false" closeOnClickOverlay>
+ <view class="sel_upload_wrap">
+ <view class="btn" @click="uploadImage">閫夋嫨鍥剧墖</view>
+ <view class="btn" @click="uploadVideo">閫夋嫨瑙嗛</view>
+ </view>
+ </u-popup>
+ <u-popup :show="showUploadBe" @close="showUploadBe = false" closeOnClickOverlay>
+ <view class="sel_upload_wrap">
+ <view class="btn" @click="uploadBeImage">閫夋嫨鍥剧墖</view>
+ <view class="btn" @click="uploadBeVideo">閫夋嫨瑙嗛</view>
+ </view>
+ </u-popup>
+ <u-popup :show="showUploadAf" @close="showUploadAf = false" closeOnClickOverlay>
+ <view class="sel_upload_wrap">
+ <view class="btn" @click="uploadAfImage">閫夋嫨鍥剧墖</view>
+ <view class="btn" @click="uploadAfVideo">閫夋嫨瑙嗛</view>
+ </view>
+ </u-popup>
+ <!-- 杞氦 -->
+ <u-popup :show="isShowTransfer" :round="10" safeAreaInsetBottom mode="bottom" @close="isShowTransfer = false">
+ <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.queryParam" @focus="showKeyboard = true" @blur="showKeyboard = false"
+ @confirm="getMemList()" type="text" placeholder="鎼滅储浜哄憳濮撳悕" placeholder-style="color: #999999;" />
+ </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 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.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>
+ <text></text>
+ </view>
+ <view class="empty"></view>
+ </view>
+ <view class="Transfer_footer">
+ <view class="btn" @click="isShowTransfer = false">鍙栨秷</view>
+ <view class="btn active" @click="enterTransfer">纭杞氦</view>
+ </view>
+ </view>
+ </u-popup>
+ <!-- 閫�鍥炴椂闂� -->
+ <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>
+
+<script>
+ import {
+ hiddenDangerDetail,
+ uploadUrl,
+ userPagePost,
+ dealHiddenDanger,
+ transferHiddenDanger,
+ findListFlowDanger
+ } from '@/api'
+ import dayjs from 'dayjs'
+ export default {
+ data() {
+ return {
+ isShowBack: false,
+ param: {},
+ info: {},
+ userInfo: this.$store.state.userInfo,
+ flowList: [],
+
+ id: '',
+ type: '',
+ windowHeight: '',
+ cateList: [{
+ name: '璁垮鐢宠',
+ id: 0
+ }, {
+ name: '璁垮鎶ュ',
+ id: 1
+ }, {
+ name: '鐢ㄨ溅鐢宠',
+ id: 2
+ }, {
+ name: '闅愭偅闅忔墜鎷�',
+ id: 3
+ }, {
+ name: '鐗╂祦杞︾敵璇�',
+ id: 4
+ }],
+ statusMap: {
+ 0: '寰呭鐞�',
+ 1: '宸叉暣鏀�',
+ 2: '宸查��鍥�',
+ 3: '宸叉嫆缁�',
+ 4: '宸插彇娑�',
+ 5: '浠栦汉鎴栫',
+ 6: '浠栦汉鎷掔粷'
+ },
+
+ showUpload: false,
+ isShowBackDate: false,
+ submitFileList: [],
+ backParam: {},
+
+ isShowHandle: false,
+ handleParam: {},
+ isShowHandleDate: false,
+ showUploadBe: false,
+ showUploadAf: false,
+ dealBeforeFileList: [],
+ dealAfterFileList: [],
+
+ isShowTransfer: false,
+ transferParam: {},
+ transferModel: {},
+ pagination: {
+ page: 1,
+ capacity: 50
+ },
+ memberList: [],
+
+ videoPlay: false,
+ videoContext: null,
+ videoUrl: '',
+ showKeyboard: false,
+ }
+ },
+ onLoad(op) {
+ 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 // 鍊紅rue涓鸿繘鍏ュ叏灞忥紝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.dealBeforeFileList = [...submitFileList]
+ this.submitFileList = [...submitFileList]
+ this.$set(this.handleParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'))
+ },
+ handleBack() {
+ this.isShowBack = true
+ // const submitFileList = this.info.submitFileList || []
+ // this.submitFileList = [...submitFileList];
+ this.dealBeforeFileList = []
+ this.$set(this.backParam, 'dealTime', dayjs().format('YYYY-MM-DD HH:mm:ss'))
+ },
+ getDetail() {
+ const {
+ id
+ } = this
+ hiddenDangerDetail(id).then(res => {
+ this.info = res.data
+ })
+ findListFlowDanger({
+ hiddenDangerId: id
+ }).then(res => {
+ this.flowList = res.data || []
+ })
+ },
+ onSubmit() {
+ const {
+ dealBeforeFileList,
+ dealAfterFileList,
+ handleParam
+ } = 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,
+ dealAfterFileList: dealAfterFileList,
+ status: 1,
+ id: this.id
+ }).then(res => {
+ if (res.code === 200) {
+ this.isShowHandle = false
+ setTimeout(() => {
+ uni.showToast({
+ title: '鎿嶄綔鎴愬姛',
+ icon: 'success'
+ })
+ })
+ uni.navigateBack()
+ }
+ })
+ },
+ enterTransfer() {
+ const {
+ transferParam,
+ id
+ } = this
+ if (!transferParam.id)
+ return uni.showToast({
+ title: '璇烽�夋嫨浜哄憳',
+ icon: 'none'
+ })
+ transferHiddenDanger({
+ checkUserId: transferParam.memberId,
+ id
+ }).then(res => {
+ if (res.code === 200) {
+ this.isShowTransfer = false
+ setTimeout(() => {
+ uni.showToast({
+ title: '鎿嶄綔鎴愬姛',
+ icon: 'success'
+ })
+ })
+ uni.navigateBack()
+ }
+ })
+ },
+ changeMem(e) {
+ this.transferParam = e
+ },
+ handleTransfer() {
+ this.isShowTransfer = true
+ this.getMemList()
+ },
+ getMemList() {
+ userPagePost({
+ ...this.transferModel,
+ querySpecial: 1,
+ type: 2,
+ companyType: 1,
+ workStatus: 0
+
+ }).then(res => {
+ this.memberList = res.data || []
+ })
+ },
+ confirmBackDate(e) {
+ 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
+ },
+ onSubBack() {
+ const {
+ dealBeforeFileList,
+ backParam
+ } = this
+ dealHiddenDanger({
+ ...backParam,
+ dealBeforeFileList,
+ status: 2,
+ id: this.id
+ }).then(res => {
+ if (res.code === 200) {
+ this.isShowBack = false
+ setTimeout(() => {
+ uni.showToast({
+ title: '鎿嶄綔鎴愬姛',
+ icon: 'success'
+ })
+ })
+ uni.navigateBack()
+ }
+ })
+ },
+ fileDel(str, i) {
+ this[str].splice(i, 1)
+ },
+ uploadBeImage() {
+ this.showUploadBe = false
+ let token = uni.getStorageSync('token') || ''
+ uni.chooseImage({
+ count: 9,
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ const tempFilePaths = chooseImageRes.tempFilePaths
+ let imgs = tempFilePaths.map((value, index) => {
+ return {
+ name: 'file',
+ 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)
+ 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)
+ })
+ }
+ },
+ fail(err) {
+ console.log('err', err)
+ },
+ complete() {
+ uni.hideLoading()
+ // if (i === chooseImageRes.tempFilePaths.length - 1) {
+ // uni.hideLoading()
+ // }
+ }
+ })
+ }
+ })
+ },
+ uploadBeVideo() {
+ this.showUploadBe = false
+ let token = uni.getStorageSync('token') || ''
+ uni.chooseVideo({
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ 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.dealBeforeFileList.push(i)
+ })
+ }
+ },
+ complete() {
+ uni.hideLoading()
+ }
+ })
+ }
+ })
+ },
+ uploadAfImage() {
+ this.showUploadAf = false
+ let token = uni.getStorageSync('token') || ''
+ uni.chooseImage({
+ count: 9,
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ const tempFilePaths = chooseImageRes.tempFilePaths
+ let imgs = tempFilePaths.map((value, index) => {
+ return {
+ name: 'file',
+ 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)
+ 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)
+ })
+ }
+ },
+ fail(err) {
+ console.log('err', err)
+ },
+ complete() {
+ uni.hideLoading()
+ // if (i === chooseImageRes.tempFilePaths.length - 1) {
+ // uni.hideLoading()
+ // }
+ }
+ })
+ }
+ })
+ },
+ uploadAfVideo() {
+ this.showUploadAf = false
+ let token = uni.getStorageSync('token') || ''
+ uni.chooseVideo({
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ 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.dealAfterFileList.push(i)
+ })
+ }
+ },
+ complete() {
+ uni.hideLoading()
+ }
+ })
+ }
+ })
+ },
+ uploadImage() {
+ this.showUpload = false
+ let token = uni.getStorageSync('token') || ''
+ uni.chooseImage({
+ count: 9,
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ const tempFilePaths = chooseImageRes.tempFilePaths
+ let imgs = tempFilePaths.map((value, index) => {
+ return {
+ name: 'file',
+ 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)
+ 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 token = uni.getStorageSync('token') || ''
+ uni.chooseVideo({
+ success: chooseImageRes => {
+ uni.showLoading({
+ title: '涓婁紶涓�',
+ mask: true
+ })
+ 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()
+ }
+ })
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ page {
+ background-color: #f7f7f7;
+
+ ::v-deep .u-popup__content {
+ border-top: 1rpx solid #cccccc;
+ }
+ }
+
+ .main_app {
+ background-color: #fff;
+ padding-bottom: 0;
+ position: relative;
+
+ .flow_title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+ margin-bottom: 24rpx;
+ }
+
+ .flow_wrap {
+ padding: 30rpx;
+ margin: 0 -30rpx;
+ background-color: #fff;
+
+ .list {
+ .item {
+ display: flex;
+ margin-bottom: 48rpx;
+ position: relative;
+
+ .separate {
+ position: absolute;
+ width: 4rpx;
+ height: 100%;
+ background-color: #eeeeee;
+ left: 40rpx;
+ transform: translate(-50%, 0);
+ top: 80rpx;
+ }
+
+ .avatar {
+ width: 80rpx;
+ height: 80rpx;
+ position: relative;
+ margin-right: 20rpx;
+
+ .img {
+ width: 80rpx;
+ height: 80rpx;
+ border-radius: 50%;
+ }
+
+ .status {
+ width: 28rpx;
+ height: 28rpx;
+ border-radius: 50%;
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ z-index: 999;
+ }
+ }
+
+ .content {
+ flex: 1;
+
+ .head {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 4rpx;
+
+ .event {
+ font-size: 30rpx;
+ }
+
+ .time {
+ font-size: 26rpx;
+ color: #999999;
+ }
+ }
+
+ .name_wrap {
+ font-size: 26rpx;
+ color: #777777;
+
+ .status {
+ color: $uni-color-primary;
+ }
+ }
+
+ .line {
+ .company {
+ font-size: 26rpx;
+ color: #777777;
+ }
+
+ .status-green {
+ color: $uni-color-primary;
+ }
+
+ .status-red {
+ color: red;
+ }
+ }
+
+ .remark {
+ margin-top: 12rpx;
+ background-color: #f7f7f7;
+ padding: 14rpx 20rpx;
+ border-radius: 8rpx;
+ font-size: 26rpx;
+ color: #666666;
+ line-height: 36rpx;
+ }
+ }
+
+ .carbon {
+ display: flex;
+ width: 590rpx;
+ overflow-x: auto;
+ margin-top: 12rpx;
+
+ .carbon_item {
+ text-align: center;
+ flex-shrink: 0;
+ width: 100rpx;
+
+ image {
+ width: 60rpx;
+ height: 60rpx;
+ margin: 0 auto;
+ }
+
+ view {
+ font-size: 26rpx;
+ color: #777777;
+ }
+ }
+ }
+
+ &:nth-last-child(1) {
+ .separate {
+ height: 0;
+ }
+ }
+ }
+ }
+ }
+
+ .adduser_list_item_ipt1_upload {
+ width: 156rpx;
+ height: 156rpx;
+ margin-right: 20rpx;
+ border: 2rpx solid #e5e5e5;
+ background: #f7f7f7;
+ color: #666666;
+ font-size: 22rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+
+ &:nth-of-type(4n) {
+ margin-right: 0;
+ }
+
+ .close {
+ position: absolute;
+ right: -20rpx;
+ top: -20rpx;
+ z-index: 9999;
+ }
+
+ image {
+ width: 100%;
+ height: 100%;
+ }
+
+ video {
+ width: 100%;
+ max-height: 156rpx;
+ }
+ }
+
+ .module_list {
+ .title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+ padding-top: 28rpx;
+ }
+
+ .item {
+ padding: 30rpx 0;
+ border-bottom: 1rpx solid #e5e5e5;
+
+ .label {
+ font-size: 26rpx;
+ color: #666666;
+ margin-bottom: 20rpx;
+ }
+
+ .value {
+ font-size: 30rpx;
+ display: flex;
+ align-items: center;
+
+ .avatar {
+ margin-right: 20rpx;
+ width: 120rpx;
+ height: 120rpx;
+ border-radius: 8rpx;
+ border: 2rpx solid #e5e5e5;
+ }
+
+ .info {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ font-size: 26rpx;
+ color: #666666;
+
+ .name {
+ font-size: 30rpx;
+ color: #333333;
+ }
+ }
+ }
+ }
+ }
+
+ .status_wrap {
+ position: relative;
+ padding: 30rpx 0;
+
+ .name {
+ font-weight: 600;
+ font-size: 32rpx;
+ margin-bottom: 20rpx;
+ color: $uni-color-primary;
+ }
+
+ .desc {
+ font-size: 26rpx;
+ color: #ed4545;
+ }
+
+ .gray {
+ color: #999999;
+ }
+
+ .file_list {
+ display: flex;
+ margin-bottom: 20rpx;
+ flex-wrap: wrap;
+
+ .img_wrap {
+ margin-top: 24rpx;
+ 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: 20rpx;
+ flex-shrink: 0;
+
+ &:nth-of-type(4n) {
+ margin-right: 0;
+ }
+ }
+
+
+ .img {
+ width: 100%;
+ max-height: 100%;
+ }
+
+ .video {
+ width: 100%;
+ max-height: 100%;
+ }
+ }
+
+ .text_wrap {
+ padding: 20rpx;
+ background-color: #f8f7f7;
+ border-radius: 8rpx;
+ margin-top: 20rpx;
+
+ .line {
+ margin-bottom: 18rpx;
+ display: flex;
+ font-size: 24rpx;
+
+ &:nth-last-child(1) {
+ margin-bottom: 0;
+ }
+
+ .label {
+ color: #999999;
+ width: 140rpx;
+ }
+ }
+ }
+
+ .status {
+ position: absolute;
+ right: -30rpx;
+ top: 0;
+ height: 60rpx;
+ line-height: 60rpx;
+ padding: 0 32rpx;
+ border-radius: 0rpx 0rpx 0rpx 30rpx;
+ background: rgba(39, 155, 170, 0.12);
+ color: $uni-color-primary;
+ }
+
+ .status_img {
+ position: absolute;
+ right: 0rpx;
+ top: 20rpx;
+ width: 120rpx;
+ }
+ }
+
+ .main_footer {
+ position: fixed;
+ bottom: 0;
+ width: 100%;
+ z-index: 9999;
+ left: 0;
+ padding: 10rpx 10rpx 30rpx;
+ display: flex;
+ justify-content: space-between;
+ background: #ffffff;
+
+ .btn {
+ flex: 1;
+ height: 88rpx;
+ line-height: 88rpx;
+ background: #ffffff;
+ border-radius: 44rpx;
+ border: 1rpx solid #999999;
+ font-size: 32rpx;
+ text-align: center;
+ margin: 16rpx 8rpx;
+ }
+
+ .transfer {
+ color: $uni-color-primary;
+ border: 1rpx solid $uni-color-primary;
+ }
+
+ .handle {
+ flex: 2;
+ background: $uni-color-primary;
+ color: #fff;
+ border: 1rpx solid $uni-color-primary;
+ }
+ }
+
+ .appr_modal {
+ padding: 36rpx 30rpx 0;
+
+ .title {
+ font-weight: 600;
+ font-size: 32rpx;
+ color: #222222;
+ margin-bottom: 40rpx;
+ text-align: center;
+ }
+
+ .label {
+ text {
+ color: #ed4545;
+ }
+ }
+
+ .df_sb {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ height: 90rpx;
+ border-bottom: 1rpx solid #e4e4e4;
+ margin-bottom: 30rpx;
+ }
+
+ .back_footer {
+ display: flex;
+
+ .btn {
+ flex: 1;
+ height: 88rpx;
+ line-height: 88rpx;
+ background: #ffffff;
+ border-radius: 44rpx;
+ border: 1rpx solid #999999;
+ font-size: 32rpx;
+ text-align: center;
+ margin: 16rpx 8rpx;
+ }
+
+ .agree {
+ background: $uni-color-primary;
+ color: #fff;
+ border: 1rpx solid $uni-color-primary;
+ }
+ }
+
+ textarea {
+ box-sizing: border-box;
+ width: 690rpx;
+ min-height: 200rpx;
+ background-color: #f7f7f7;
+ font-size: 28rpx;
+ color: #333333;
+ padding: 24rpx;
+ border-radius: 8rpx;
+ margin-bottom: 30rpx;
+ }
+
+ .upload_wrap {
+ display: flex;
+ flex-wrap: wrap;
+ margin-bottom: 30rpx;
+ }
+
+ .adduser_list_item_ipt1_upload {
+ margin-top: 20rpx;
+ width: 156rpx;
+ height: 156rpx;
+ margin-right: 20rpx;
+ border: 2rpx solid #e5e5e5;
+ background: #f7f7f7;
+ color: #666666;
+ font-size: 22rpx;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ position: relative;
+
+ &:nth-of-type(4n) {
+ margin-right: 0;
+ }
+
+ .close {
+ position: absolute;
+ right: -20rpx;
+ top: -20rpx;
+ z-index: 999999999999;
+ color: #fff;
+ }
+
+ image {
+ width: 100%;
+ height: 100%;
+ }
+
+ video {
+ width: 100%;
+ 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%);
+ }
+ }
+
+ .sel_upload_wrap {
+ width: 100%;
+ border-top: 1px solid #333333;
+ box-shadow: 0 1 1 #333333;
+
+ .btn {
+ height: 90rpx;
+ line-height: 90rpx;
+ text-align: center;
+ }
+ }
+
+ .member_list {
+ 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 {
+ flex: 1;
+
+ .depart {
+ font-size: 24rpx;
+ color: #666666;
+ }
+
+ .info {
+ display: flex;
+ margin-bottom: 16rpx;
+
+ .name {
+ font-size: 30rpx;
+ }
+
+ .tag {
+ font-size: 24rpx;
+ border-radius: 4rpx;
+ border: 1rpx solid #f62710;
+ color: #f62710;
+ padding: 0rpx 6rpx;
+ margin-left: 8rpx;
+ }
+ }
+ }
+
+ .checked {
+ width: 48rpx;
+ }
+ }
+
+ .empty {
+ width: 100%;
+ height: 280rpx;
+ }
+ }
+
+ .search_inp {
+ height: 72rpx;
+ background: #f7f7f7;
+ border-radius: 4rpx;
+ padding-left: 16rpx;
+
+ .search {
+ width: 28rpx;
+ }
+
+ input {
+ flex: 1;
+ font-size: 28rpx;
+ color: #333333;
+ }
+ }
+
+ .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;
+
+ .btn {
+ flex: 1;
+ height: 88rpx;
+ line-height: 88rpx;
+ background: #ffffff;
+ border-radius: 44rpx;
+ border: 1rpx solid #999999;
+ font-size: 32rpx;
+ text-align: center;
+ margin: 16rpx 8rpx;
+ }
+
+ .active {
+ background: $uni-color-primary;
+ color: #fff;
+ border: 1rpx solid $uni-color-primary;
+ }
+ }
+</style>
\ No newline at end of file
--
Gitblit v1.9.3