ll
liukangdong
2025-02-27 88a34566f7c3f77d90daa3fd57fb0abca3e1b5e6
ll
已修改7个文件
2204 ■■■■ 文件已修改
h5/pages/staff/meetingSubOrder.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/snapshot.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/task/vDangetAppr.vue 2129 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/task/visitorApprove.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pda/pages/index/center.vue 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pda/pages/index/queueup.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pda/utils/config.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
h5/pages/staff/meetingSubOrder.vue
@@ -137,7 +137,8 @@
            })
            this.$eventBus.$on('meetingSub', (res) => {
                this.param = {
                    ...res
                    ...res,
                    joinNotice: 1
                }
                this.$set(this.param, 'activeDate', dayjs(res.yudingDate).format('YYYY年M月D日'))
                const bookingTimeList = res.bookingTimeList.split(',').map(i => {
h5/pages/staff/snapshot.vue
@@ -18,7 +18,7 @@
                    <text>*</text>
                    <text>隐患区域</text>
                </view>
                <view class="value" @click="isShowArea = true">
                <view class="value" @click="openArea">
                    <text class="mr6"
                        :style="{ color: param.areaName ? '#000000' : '#999999' }">{{ param.areaName ? param.areaName : "请选择" }}</text>
                    <u-icon name="arrow-right" color="#CCCCCC" size="20"></u-icon>
@@ -235,7 +235,10 @@
                this.$set(this.param, 'companyId', item.id)
                this.$set(this.param, 'companyName', item.name)
                this.$set(this.param, 'areaId', '')
                this.$set(this.param, 'areaName', '')
                this.$set(this.param, 'areaName', '')
                this.$set(this.param, 'checkUserId', '')
                this.$set(this.param, 'applyCheckUserId', '')
                this.$set(this.param, 'checkorName', '')
                DangerConfigType({
                    type: '0',
                    companyId: item.id
@@ -243,6 +246,10 @@
                    this.areaOptions = [res.data]
                })
                this.isShowCompany = false
            },
            openArea() {
                if(!this.param.companyId) return this.showToast('请先选择责任部门')
                this.isShowArea = true
            },
            seletedArea(e) {
                const item = e.value[0]
h5/pages/staff/task/vDangetAppr.vue
@@ -113,11 +113,12 @@
                </view>
            </view>
        </view>
        <view v-if="info.status == 0 && info.checkUserId == userInfo.memberId" style="height: 90rpx;border: 1px solid red;"></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 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>
@@ -255,23 +256,21 @@
        </u-popup>
        <!-- 转交 -->
        <u-popup :show="isShowTransfer" :round="10" safeAreaInsetBottom mode="bottom" @close="isShowTransfer = false">
            <view class="appr_modal tran_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.queryParam" @focus="showKeyboard = true" @blur="showKeyboard = false" @confirm="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="mt24 placeholder6">共{{ memberList.length }}条数据</view>
                <view class="member_list">
                <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>
                                <!-- <text class="tag">tag</text> -->
                            </view>
                            <view class="depart">{{ item.companyName }}</view>
                        </view>
@@ -282,8 +281,8 @@
                    </view>
                    <view class="empty"></view>
                </view>
                <view v-if="!showKeyboard" class="Transfer_footer">
                    <view class="btn" @click="isShowTransfer = fales">取消</view>
                <view class="Transfer_footer">
                    <view class="btn" @click="isShowTransfer = false">取消</view>
                    <view class="btn active" @click="enterTransfer">确认转交</view>
                </view>
            </view>
@@ -306,959 +305,686 @@
</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: [],
    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: '他人拒绝'
            },
                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: {},
                showUpload: false,
                isShowBackDate: false,
                submitFileList: [],
                backParam: {},
            isShowHandle: false,
            handleParam: {},
            isShowHandleDate: false,
            showUploadBe: false,
            showUploadAf: false,
            dealBeforeFileList: [],
            dealAfterFileList: [],
                isShowHandle: false,
                handleParam: {},
                isShowHandleDate: false,
                showUploadBe: false,
                showUploadAf: false,
                dealBeforeFileList: [],
                dealAfterFileList: [],
            isShowTransfer: false,
            transferParam: {},
            transferModel: {},
            pagination: {
                page: 1,
                capacity: 50
            },
            memberList: [],
                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
        uni.setStorageSync('ywinfo', {})
        this.id = op.id
        this.getDetail()
        // this.handleTransfer()
    },
    methods: {
        priviewImage(url) {
            uni.previewImage({
                urls: [url]
            })
        },
        screenChange(e) {
            let fullScreen = e.detail.fullScreen // 值true为进入全屏,false为退出全屏
            if (!fullScreen) {
                //退出全屏
                this.videoPlay = false // 隐藏播放盒子
                videoPlay: false,
                videoContext: null,
                videoUrl: '',
                showKeyboard: false,
            }
        },
        closeVideo() {
            this.videoPlay = false
            this.videoContext = null
        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()
        },
        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()
            })
        mounted() {
            window.addEventListener('resize', () => {
                const currentHeight = window.innerHeight;
                this.windowHeight = currentHeight
            });
        },
        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'
        methods: {
            priviewImage(url) {
                uni.previewImage({
                    urls: [url]
                })
            if (dealAfterFileList.length === 0)
                return uni.showToast({
                    title: '请上传整改后图片或视频',
                    icon: 'none'
            },
            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()
                })
            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'
            },
            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
                })
            transferHiddenDanger({
                checkUserId: transferParam.memberId,
                id
            }).then(res => {
                if (res.code === 200) {
                    this.isShowTransfer = false
                    setTimeout(() => {
                        uni.showToast({
                            title: '操作成功',
                            icon: 'success'
                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'
                    })
                    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'
                transferHiddenDanger({
                    checkUserId: transferParam.memberId,
                    id
                }).then(res => {
                    if (res.code === 200) {
                        this.isShowTransfer = 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 {
                        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',
                            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'
                            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()
                                // }
                            }
                            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 {
                        })
                    }
                })
            },
            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',
                            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)
                                })
                            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()
                            }
                        },
                        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)
                                })
                        })
                    }
                })
            },
            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
                            }
                        },
                        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 {
                        })
                        uni.uploadFile({
                            url: `${uploadUrl}`,
                            files: imgs,
                            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)
                                })
                            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()
                                // }
                            }
                        },
                        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)
                                })
                        })
                    }
                })
            },
            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()
                            }
                        },
                        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;
    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;
        ::v-deep .u-popup__content {
            border-top: 1rpx solid #cccccc;
        }
    }
    .flow_wrap {
        padding: 30rpx 0 30rpx;
    .main_app {
        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;
                }
        padding-bottom: 0;
        position: relative;
                .avatar {
                    width: 80rpx;
                    height: 80rpx;
        .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;
                    margin-right: 20rpx;
                    .img {
                    .separate {
                        position: absolute;
                        width: 4rpx;
                        height: 100%;
                        background-color: #eeeeee;
                        left: 40rpx;
                        transform: translate(-50%, 0);
                        top: 80rpx;
                    }
                    .avatar {
                        width: 80rpx;
                        height: 80rpx;
                        border-radius: 50%;
                    }
                        position: relative;
                        margin-right: 20rpx;
                    .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;
                        .img {
                            width: 80rpx;
                            height: 80rpx;
                            border-radius: 50%;
                        }
                        .time {
                            font-size: 26rpx;
                            color: #999999;
                        }
                    }
                    .name_wrap {
                        font-size: 26rpx;
                        color: #777777;
                        .status {
                            color: $uni-color-primary;
                            width: 28rpx;
                            height: 28rpx;
                            border-radius: 50%;
                            position: absolute;
                            right: 0;
                            bottom: 0;
                            z-index: 999;
                        }
                    }
                    .line {
                        .company {
                    .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;
                            }
                        }
                        .status-green {
                            color: $uni-color-primary;
                        .line {
                            .company {
                                font-size: 26rpx;
                                color: #777777;
                            }
                            .status-green {
                                color: $uni-color-primary;
                            }
                            .status-red {
                                color: red;
                            }
                        }
                        .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;
                        }
                    }
                    .remark {
                    .carbon {
                        display: flex;
                        width: 590rpx;
                        overflow-x: auto;
                        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;
                    .carbon_item {
                        text-align: center;
                        flex-shrink: 0;
                        width: 100rpx;
                            image {
                                width: 60rpx;
                                height: 60rpx;
                                margin: 0 auto;
                            }
                        image {
                            width: 60rpx;
                            height: 60rpx;
                            margin: 0 auto;
                            view {
                                font-size: 26rpx;
                                color: #777777;
                            }
                        }
                    }
                        view {
                            font-size: 26rpx;
                            color: #777777;
                    &:nth-last-child(1) {
                        .separate {
                            height: 0;
                        }
                    }
                }
                &: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;
@@ -1280,8 +1006,7 @@
                position: absolute;
                right: -20rpx;
                top: -20rpx;
                z-index: 999999999999;
                color: #fff;
                z-index: 9999;
            }
            image {
@@ -1291,180 +1016,464 @@
            video {
                width: 100%;
                height: 100%;
                max-height: 156rpx;
            }
        }
    }
    .tran_modal{
        height: 1260rpx;
    }
    .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;
        .module_list {
            .title {
                font-weight: 600;
                font-size: 32rpx;
                color: #222222;
                padding-top: 28rpx;
            }
    .play {
        width: 60rpx !important;
        height: 60rpx !important;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
}
            .item {
                padding: 30rpx 0;
                border-bottom: 1rpx solid #e5e5e5;
.sel_upload_wrap {
    width: 100%;
    border-top: 1px solid #333333;
    box-shadow: 0 1 1 #333333;
                .label {
                    font-size: 26rpx;
                    color: #666666;
                    margin-bottom: 20rpx;
                }
    .btn {
        height: 90rpx;
        line-height: 90rpx;
        text-align: center;
    }
}
                .value {
                    font-size: 30rpx;
                    display: flex;
                    align-items: center;
.member_list {
    height: 900rpx;
    overflow: auto;
    // border: 1px solid;
    .line {
        display: flex;
        align-items: center;
        border-bottom: 1rpx solid #e5e5e5;
        padding: 30rpx 0;
                    .avatar {
                        margin-right: 20rpx;
                        width: 120rpx;
                        height: 120rpx;
                        border-radius: 8rpx;
                        border: 2rpx solid #e5e5e5;
                    }
        .avatar {
            width: 64rpx;
            height: 64rpx;
            border-radius: 50%;
            overflow: hidden;
            margin-right: 20rpx;
                    .info {
                        flex: 1;
                        display: flex;
                        flex-direction: column;
                        justify-content: space-between;
                        font-size: 26rpx;
                        color: #666666;
                        .name {
                            font-size: 30rpx;
                            color: #333333;
                        }
                    }
                }
            }
        }
        .img_name {
            width: 64rpx;
            height: 64rpx;
            line-height: 64rpx;
        .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;
            border-radius: 50%;
            overflow: hidden;
            margin-right: 20rpx;
        }
    }
    .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;
        }
        .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>
h5/pages/staff/task/visitorApprove.vue
@@ -250,7 +250,6 @@
        .flow_wrap {
            padding: 30rpx 0;
            .flow_title {
                font-weight: 600;
                font-size: 32rpx;
pda/pages/index/center.vue
@@ -41,6 +41,10 @@
                    <text class="label">合同单号</text>
                    <text class="value">{{ item.contractNum }}</text>
                    <text class="primaryColor" @click="subDetail(item)">预约详情</text>
                </view>
                <view class="line line2" v-if="item.billCode && item.wmsContractNum">
                    <text class="label">合同单号</text>
                    <text class="value">{{ item.wmsContractNum }}</text>
                </view>
                <view class="line">
                    <text class="label">驾驶员</text>
@@ -82,6 +86,10 @@
                    <u-icon name="search" class="mr12" size="19" color="#999999" />
                    <input v-model="platformCallSearch" type="text" placeholder="搜索车辆牌照" placeholder-class="placeholder9"
                        @confirm="callQuery" />
                </view>
                <view v-if="platformCallList.length == 0" class="empty_wrap">
                    <image src="@/static/default_nodata@2x.png" />
                    <text>暂无排队车辆</text>
                </view>
                <view class="order_list">
                    <scroll-view scroll-y="true" @scrolltolower="callScrolltolower" class="scroll_view">
@@ -106,6 +114,10 @@
                                <text class="label">合同单号</text>
                                <text class="value">{{ item.contractNum }}</text>
                                <text class="primaryColor" @click="subDetail(item)">预约详情</text>
                            </view>
                            <view class="line line2" v-if="item.billCode && item.wmsContractNum">
                                <text class="label">合同单号</text>
                                <text class="value">{{ item.wmsContractNum }}</text>
                            </view>
                            <view class="line">
                                <text class="label">驾驶员</text>
@@ -253,9 +265,6 @@
        },
        onLoad() {
            this.getPlatformGroup()
            // setInterval(() => {
            //     this.getPlatformGroup()
            // }, 1000 * 30)
        },
        onHide(){
            if(this.timer1){
@@ -328,7 +337,10 @@
                let time = this.currentDate
                if (this.platformTaskInfo && this.platformTaskInfo.platformJobList && this.platformTaskInfo.platformJobList
                    .length > 0) {
                    this.platformTaskInfo.platformJobList.forEach(item => {
                    this.platformTaskInfo.platformJobList.forEach(item => {
                        if(item.wmsContractNum){
                            item.wmsContractNum = item.wmsContractNum.split(',').join(',')
                        }
                        if (item.newCallDate) {
                            let timeNum = 0
                            if(time > new Date(item.newCallDate).getTime()){
@@ -497,7 +509,12 @@
                    page: platformCallPage
                }).then(res => {
                    if (res.data && res.data.records) {
                        this.platformCallList = [...this.platformCallList, ...res.data.records]
                        this.platformCallList = [...this.platformCallList, ...res.data.records]
                        this.platformCallList.forEach(item => {
                            if(item.wmsContractNum){
                                item.wmsContractNum = item.wmsContractNum.split(',').join(',')
                            }
                        })
                        this.platformCallTotal = res.data.total
                    }
                })
@@ -694,12 +711,15 @@
                margin-bottom: 20rpx;
                .label {
                    width: 144rpx;
                    color: #666666;
                    width: 132rpx;
                    color: #666666;
                    flex-shrink: 0;
                }
                .value {
                    flex: 1;
                    flex: 1;
                    display: flex;
                    flex-wrap: wrap;
                }
            }
@@ -840,7 +860,8 @@
                    .label {
                        font-size: 28rpx;
                        color: #666666;
                        width: 88rpx;
                        width: 88rpx;
                        flex-shrink: 0;
                    }
                    .value {
@@ -1082,5 +1103,9 @@
                }
            }
        }
    }
    .line2{
        margin-right: -30rpx;
        padding-right: 0;
    }
</style>
pda/pages/index/queueup.vue
@@ -48,6 +48,10 @@
          <text class="value">{{ item.contractNum }}</text>
                    <text class="primaryColor" @click="subDetail(item)">预约详情</text>
        </view>
                <view class="line line2" v-if="item.billCode && item.wmsContractNum">
                    <text class="label">合同单号</text>
                    <text class="value">{{ item.wmsContractNum }}</text>
                </view>
        <view class="line">
          <text class="label">驾驶员</text>
          <text class="value"
@@ -100,7 +104,7 @@
                        <view class="value">{{ wmsInfo.carrierName }}</view>
                    </view>
                </view>
                <view class="separate"></view>
                <!-- <view class="separate"></view> -->
                <view class="contract_wrap">
                    <view class="contract_list" v-for="item in wmsInfo.wmsJobContractVOList">
                        <view class="title">合同号:{{ item.contractCode }}</view>
@@ -188,6 +192,11 @@
      }).then(res => {
        if (res.data) {
          this.platformLineUpList = [...this.platformLineUpList, ...res.data.records || []]
                    this.platformLineUpList.forEach(item => {
                        if(item.wmsContractNum){
                            item.wmsContractNum = item.wmsContractNum.split(',').join(',')
                        }
                    })
          this.total = res.data.total || 0
        }
      })
@@ -298,6 +307,7 @@
        margin-bottom: 20rpx;
        .label {
          width: 144rpx;
                    flex-shrink: 0;
          color: #666666;
        }
        .value {
@@ -451,4 +461,8 @@
            }
        }
    }
    .line2{
        margin-right: -30rpx;
        padding-right: 0;
    }
</style>
pda/utils/config.js
@@ -1,6 +1,7 @@
// export const baseUrl = 'gateway_interface/'
export const baseUrl = 'http://10.50.250.253:8088/gateway_interface/'
// export const baseUrl = 'https://atwl.ahzyssl.com/zhyq_interface/'
export const uploadAvatar = `${baseUrl}visitsAdmin/cloudService/web/public/uploadFtp.do`
export const uploadUrl = `${baseUrl}visitsAdmin/cloudService/public/uploadBatch`