| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381 |
- <template>
- <view class="task-box" :class="isExecute>0?'task-info':'task-info-two'">
- <en-nav :isBackShow="true" :backType="false" :titleColor="titleColor" :title="title"
- :bgckgroundBox="titleBg"></en-nav>
- <view class="task-title">
- <text >{{business.status_name}}</text>
- </view>
- <view class="switch-box">
- <view class="switch-left" @click="switchShow(1)">
- <view class="" :class="switchNum===1?'switch-left-style':''">
- 任务信息
- </view>
- <view class="switch-left-styles" v-if="switchNum===1"></view>
- </view>
- <view class="switch-left switch-right" @click="switchShow(2)">
- <view class="" :class="switchNum===2?'switch-left-style':''">
- 流程进度
- </view>
- <view class="switch-left-styles" v-if="switchNum===2"></view>
- </view>
- </view>
- <view class="" v-if="switchNum===1">
- <view class="content">
- <uni-collapse>
- <uni-collapse-item v-for="typeItem in product.type_data" :title="typeItem.type_name" v-show="product.product_types.indexOf('1')>=0">
- <view class="basic-information" v-if="typeItem.type==='1'">
- <task-client :business="business" :type-keys="typeItem.type_keys" @onShowImg="onShowImg"></task-client>
- </view>
- <view class="basic-information" v-else-if="typeItem.type==='2'">
- <task-property :property-list="propertyList" :type-keys="typeItem.type_keys" @onShowImg="onShowImg"></task-property>
- </view>
- <view class="basic-information" v-else-if="typeItem.type==='3'">
- <task-apply-for :apply-for="applyFor" :type-keys="typeItem.type_keys" @onShowImg="onShowImg"></task-apply-for>
- </view>
- <view class="basic-information" v-else-if="typeItem.type==='4'">
- <task-tripartite :tripartite="tripartite" :type-keys="typeItem.type_keys" @onShowImg="onShowImg"></task-tripartite>
- </view>
- <view class="basic-information" v-else-if="typeItem.type==='5'">
- <task-linkman :linkman="linkman" :type-keys="typeItem.type_keys" ></task-linkman>
- </view>
- <view class="basic-information" v-else-if="typeItem.type==='6'">
- <task-credit :credit="credit" :type-keys="typeItem.type_keys" @onShowImg="onShowImg"></task-credit>
- </view>
- <view class="basic-information" v-else-if="typeItem.type==='7'">
- <task-post-loan :post-loan="postLoan" :type-keys="typeItem.type_keys"></task-post-loan>
- </view>
- </uni-collapse-item>
- </uni-collapse>
- </view>
- <view class="set-box">
- <view class="set-title">
- 任务执行信息
- </view>
- <view class="task-phase">
- <view class="task-phase-left">
- 任务阶段
- </view>
- <view class="task-phase-right">
- {{ stageData.stageName ? stageData.stageName : '未设置阶段' }}
- </view>
- </view>
- <view class="task-phase perform-personnel">
- <view class="task-phase-left">
- 执行人员
- </view>
- <view class="task-phase-left">
- {{ stageData.userName ? stageData.userName : '暂无执行人' }}
- </view>
- </view>
- </view>
- <view class="leave-message-box">
- <view class="title-name">
- 留言
- </view>
- <view class="leave-message" v-for="(msg,mIndex) in msgList">
- <image class="head-portrait" :src="msg.head_img" mode=""></image>
- <view class="leave-message-right">
- <view class="leave-message-right-one">
- <view class="one-name">
- <view class="name">
- {{ msg.name }}
- </view>
- <view class="state">
- {{ msg.position_name }}
- </view>
- </view>
- <view class="one-reply" @click="goToUrl(1,msg.id)">
- 回复
- </view>
- </view>
- <view class="leave-message-right-two">
- <text>{{ msg.msg }}</text>
- </view>
- <view class="leave-message-right-three">
- <view class="three-item" v-for="(msg_img,index) in msg.msg_img" :key="index">
- <view class="three-img" @click.stop="onShowImg(msg_img.url)" v-if="msg_img.type===1">
- <image
- :src="msg_img.url" mode="aspectFill"></image>
- </view>
- <view class="three-img three-video" @click.stop="showVideoImg(msg_img.url)" v-else>
- <image class="three-img"
- :src="getVideoImg(msg_img.url)" mode="aspectFill"></image>
- <image class="video-img" src="@/static/task/video-img.png" mode=""></image>
- </view>
- </view>
- </view>
- <view class="leave-message-right-file" v-if="msg.file_list.length>0">
- <view class="file-list">
- <view class="file-item" @click.stop="openFile(file)" v-for="(file,fileIndex) in msg.file_list">
- <view class="file-img">
- <image src="/static/task/file-icon.png"></image>
- <view class="img-icon" v-if="file.file_type===1">PDF</view>
- <view class="img-icon icon-four" v-else-if="file.file_type===2">Word</view>
- <view class="img-icon icon-two" v-else>XLS</view>
- </view>
- <view class="file-text">
- {{ file.name }}
- </view>
- </view>
- </view>
- </view>
- <view class="leave-message-right-four">
- {{ msg.created_at }}
- </view>
- <view class="leave-message-right-five" v-for="replyItem in msg.reply_list">
- <view class="info-list">
- <view class="reply-info">
- <view>
- <text class="info-name">{{ replyItem.name }}</text>
- <text
- class="reply"> 回复
- </text>
- <text
- class="info-name">{{ replyItem.ru_name }}:
- </text>
- </view>
- <view>
- <text class="info-content">{{ replyItem.msg }}</text>
- </view>
- </view>
- </view>
- <view class="info-img-box" v-if="replyItem.msg_img.length>0">
- <view class="info-item" v-for="(r_img,index) in replyItem.msg_img">
- <view class="info-img" @click.stop="onShowImg(r_img.url)" v-if="r_img.type===1">
- <image :src="r_img.url" mode="aspectFill"></image>
- </view>
- <view class="info-img info-video" @click.stop="showVideoImg(r_img.url)" v-else>
- <image class="three-img"
- :src="getVideoImg(r_img.url)" mode="aspectFill"></image>
- <image class="video-img" src="@/static/task/video-img.png" mode=""></image>
- </view>
- </view>
- </view>
- <view class="info-file-list" v-if="replyItem.file_list.length>0">
- <view class="file-list">
- <view class="file-item" @click.stop="openFile(file)" v-for="(file,fileIndex) in replyItem.file_list">
- <view class="file-img">
- <image src="/static/task/file-icon.png"></image>
- <view class="img-icon" v-if="file.file_type===1">PDF</view>
- <view class="img-icon icon-four" v-else-if="file.file_type===2">Word</view>
- <view class="img-icon icon-two" v-else>XLS</view>
- </view>
- <view class="file-text">
- {{ file.name }}
- </view>
- </view>
- </view>
- </view>
- <view class="one-reply" @click="goToUrl(1,replyItem.id)">
- 回复
- </view>
- </view>
- </view>
- </view>
- <view class="blank-box" v-if="msgList.length<=0">
- <image class="blank-box-img" src="https://wealfavor-1257406827.cos.ap-beijing.myqcloud.com/static/rwzx/blank-img.png" mode=""></image>
- <view class="blank-box-text">
- 暂无内容
- </view>
- </view>
- </view>
- <view class="but-box" v-if="isExecute>0 && business.status<4">
- <view class="but" v-if="isExecute===3" @click="takeTask">
- <!--领取操作-->
- 领取
- </view>
- <view class="but" v-else-if="isExecute===5" @click="endTask">
- <!--完成操作-->
- 完成
- </view>
- <view class="but-box-two" v-else-if="isExecute===4">
- <!-- 部门主管操作-->
- <view class="turn-single but-two" @click="cancellation" >
- 作废
- </view>
- <view class="turn-single but-two" @click="openExecute">
- 交接
- </view>
- <view class="operation but-two" @click="goToUrl(1)">
- 反馈
- </view>
- </view>
- <view class="but-box-two" v-else-if="isExecute===2">
- <!-- 超级管理员操作-->
- <view class="turn-single but-two" @click="cancellation" >
- 作废
- </view>
- <view class="operation but-two" @click="goToUrl(1)">
- 反馈
- </view>
- </view>
- <view class="but-box-two" v-else-if="isExecute===7">
- <!-- 超级管理员操作-->
- <view class="operation but-one" @click="editTask()">
- 编辑
- </view>
- </view>
- <view class="but-box-two" v-else-if="isExecute===8">
- <!-- 超级管理员操作-->
- <view class="operation but-one" @click="setPostLoan()">
- 完善贷后
- </view>
- </view>
- <view class="but-box-two" v-else-if="isExecute===6">
- <view class="turn-single but-three" @click="openExecute">
- 交接
- </view>
- <view class="turn-single but-three" @click="auditTask(2)">
- 拒绝
- </view>
- <view class="operation but-three" @click="auditTask(1)">
- 同意
- </view>
- </view>
- <view class="but-box-two" v-else>
- <view class="turn-single but-two" @click="openExecute">
- 交接
- </view>
- <view class="operation but-two" @click="setStage()">
- 操作
- </view>
- </view>
- </view>
- <view v-show="showExecute">
- <uni-data-picker class="" popup-title="选择执行人" :localdata="executeData" ref="popupObj"
- @change="setNewExecute"
- :border="false" :clear-icon="false" @popupclosed="setPopupClosed">
- </uni-data-picker>
- </view>
- </view>
- <view class="schedule-box" v-else>
- <view class="schedule-list" v-for="(item,index) in businessStageList" :key="index">
- <view class="list-one">
- <view class="list-left">
- <view class="mark">
- <view class="mark-two" :class="{'mark-two-no':item.id<=0}"></view>
- </view>
- <text class="switch-digital" :class="{'switch-digital-no':item.id<=0}">
- {{ item.stage_name }}
- </text>
- <text class="switch-hr" v-if="item.id>0"></text>
- {{ item.id <= 0 ? '' : item.name }}
- </view>
- <view class="list-right">
- {{ item.updated_at }}
- </view>
- </view>
- <view class="list-hr" v-if="businessStageList.length>(index+1)"></view>
- </view>
- </view>
- <uni-popup ref="popup" type="bottom">
- <view class="task-msg-box">
- <taskSet ref="taskSetObj" :businessId="businessId" @endTaskSet="endTaskSet"></taskSet>
- </view>
- </uni-popup>
- <uni-popup ref="feedback" type="bottom">
- <view class="task-msg-box">
- <taskMsg :businessId="businessId" :replyId="replyId"></taskMsg>
- </view>
- </uni-popup>
- <uni-popup ref="videoPopup" @change="closeVideoImg">
- <view class="video-box" v-if="videoUrl">
- <video class="myVideo" :src="videoUrl" :autoplay="true"></video>
- </view>
- </uni-popup>
- </view>
- </template>
- <script>
- import taskSet from "./task-set"
- import taskMsg from "./task-msg"
- import {
- getStageList,
- getTaskDetail,
- cancellation,
- endTask,
- getExecuteList,
- getMsgList,
- setExecute,
- takeTask, getBusinessStageList,
- } from "@/api/task";
- import tools from "@/service/tools";
- import UniPopup from "@/uni_modules/uni-popup/components/uni-popup/uni-popup";
- import EnNav from "@/components/en-utils/en-nav/en-nav";
- import TaskClient from "./module/task-client";
- import TaskProperty from "./module/task-property";
- import TaskApplyFor from "./module/task-apply-for";
- import TaskLinkman from "./module/task-linkman";
- import TaskTripartite from "./module/task-tripartite";
- import TaskCredit from "./module/task-credit";
- import TaskPostLoan from "./module/task-post-loan";
- export default {
- components: {
- TaskPostLoan,
- TaskCredit,
- TaskTripartite,
- TaskLinkman,
- TaskApplyFor,
- TaskProperty,
- TaskClient,
- EnNav,
- UniPopup,
- taskSet,
- taskMsg
- },
- data() {
- return {
- title: '任务详情',
- titleColor: '#fff',
- titleBg: '',
- switchNum: 1,
- product: {
- product_name: '',
- product_types: [],
- type_data:[]
- },
- business: {
- status: 1,
- phone: '',
- identity_one: '',
- identity_two: '',
- marriage_img: [],
- credit_img: [],
- }, //基本信息
- propertyList: [], //资产信息
- applyFor: {}, //申请信息
- credit: {}, //征信信息
- postLoan: {}, //贷后信息
- tripartite: [], //第三方信息
- linkman: [], //联系人信息
- stageData: {
- stageName: '',
- userName: ""
- },
- isAjax: false,
- isExecute: 0,
- msgList: [],
- executeData: [],
- showExecute: false,
- businessId: 0,
- auditType: 0,
- previewList: [],
- current: 0,
- imgKey: 0,
- imgList: [],
- replyId: "",
- stageList: [],
- businessStageList: [],
- businessFile: {
- fileList: [],
- imgList: [],
- videoList: [],
- },
- videoUrl: ''
- }
- },
- onPageScroll(e) {
- if (e.scrollTop > 50) {
- this.titleBg = '#fff'
- this.titleColor = '#333333'
- } else {
- this.titleBg = ''
- this.titleColor = '#fff'
- }
- },
- onLoad(data) {
- if (data.id === undefined) {
- this.backEvent();
- } else {
- this.businessId = data.id
- this.getTaskDetail()
- this.getStageList()
- }
- },
- mounted() {
- uni.$on('newMsg', () => {
- if (this.$refs.feedback) {
- this.$refs.feedback.close()
- }
- //重新加载msg信息
- this.getMsgList();
- })
- uni.$on('newTaskInfo',()=>{
- this.getTaskDetail()
- })
- },
- methods: {
- openFile(file) {
- if (!file.url) {
- tools.error('下载地址不存在')
- return
- }
- tools.showLoading()
- uni.downloadFile({
- url: file.url, //仅为示例,并非真实的资源
- success: (dRes) => {
- tools.hideLoading()
- if (dRes.statusCode === 200) {
- tools.success('下载成功')
- uni.saveFile({
- tempFilePath: dRes.tempFilePath,
- success: (res) => {
- uni.openDocument({
- filePath: res.savedFilePath,
- showMenu: true,
- success: function (res) {
- }
- });
- }
- });
- }
- }
- });
- },
- getVideoImg(url) {
- return tools.getOssVideo(url)
- },
- closeVideoImg(e) {
- if (!e.show) {
- console.log('关闭视频了')
- this.videoUrl = ''
- }
- },
- showVideoImg(url) {
- console.log(url)
- this.videoUrl = url
- this.$refs.videoPopup.open('center')
- },
- setPostLoan(){
- uni.navigateTo({
- url: '/pages-task/task-info/task-loan?id=' + this.business.id
- });
- },
- editTask() {
- // uni.reLaunch({
- // url: '/pages/add-client/add-client?businessId=' + this.business.id
- // })
- uni.reLaunch({
- url: '/pages-task/add-client/new-add?businessId=' + this.business.id
- })
- },
- getBusinessStageList() {
- getBusinessStageList({'business_id': this.businessId}).then((res) => {
- if (res.code === 1) {
- this.businessStageList = res.data
- }
- })
- },
- getStageList() {
- getStageList({'id': this.businessId}).then((res) => {
- if (res.code === 1) {
- this.stageList = res.data
- }
- })
- },
- switchShow(num) {
- this.switchNum = num
- },
- onShowImg(item) {
- if (this.businessFile.imgList.length < 0) {
- this.businessFile.imgList.push(item)
- }
- // 预览图片
- uni.previewImage({
- current: item,
- urls: this.businessFile.imgList,
- });
- },
- makingCall() {
- tools.makingCall(this.business.phone)
- },
- openExecute() {
- this.executeData = [];
- getExecuteList({
- 'business_id': this.business.id
- }).then((res) => {
- if (res.code === 1) {
- res.data.forEach((item) => {
- this.executeData.push({
- 'text': item.name,
- 'value': item.id
- })
- })
- this.showExecute = true;
- this.$refs.popupObj.show();
- }
- })
- },
- setPopupClosed() {
- //关闭选择器
- this.showExecute = false;
- },
- setNewExecute(e) {
- //设置新执行人
- console.log(e)
- let newUid = e.detail.value[0].value
- console.log(newUid)
- if (!newUid) {
- newUid = 0;
- }
- setExecute({
- 'business_id': this.business.id,
- 'user_id': newUid
- }).then((res) => {
- if (res.code === 1) {
- tools.success(res.msg)
- uni.$emit('newReceiving')
- this.getTaskDetail()
- } else {
- tools.error(res.msg)
- }
- this.showExecute = false
- })
- },
- getMsgList() {
- getMsgList({
- 'business_id': this.business.id
- }).then((res) => {
- if (res.code === 1) {
- this.msgList = res.data;
- // this.setImgList()
- }
- })
- },
- goToUrl(type, id) {
- this.replyId = id
- this.$refs.feedback.open()
- },
- endTaskSet() {
- this.$refs.popup.close();
- this.getTaskDetail()
- this.getStageList()
- },
- setStage() {
- this.$refs.popup.open("bottom");
- this.$refs.taskSetObj.startStage();
- },
- auditTask(auditType) {
- this.$refs.popup.open("bottom");
- this.auditType = auditType
- this.$refs.taskSetObj.startAuditType(auditType);
- },
- takeTask() {
- if (this.isAjax) {
- // return;
- }
- this.isAjax = true;
- takeTask({
- 'id': this.business.id
- }).then((res) => {
- if (res.code === 1) {
- tools.success('领取成功')
- uni.$emit('newReceiving')
- this.getTaskDetail()
- } else {
- this.isAjax = false;
- tools.error(res.msg)
- }
- })
- },
- endTask() {
- uni.showModal({
- title: '提示',
- content: '是否完成当前任务?',
- success: (res) => {
- console.log(res)
- if (res.confirm) {
- endTask({
- 'id': this.business.id
- }).then((res) => {
- if (res.code === 1) {
- this.business.status = 4;
- this.isExecute = 0;
- tools.success(res.msg)
- uni.$emit('newReceiving')
- } else {
- tools.error(res.msg)
- }
- })
- }
- }
- });
- },
- cancellation() {
- uni.showModal({
- title: '提示',
- content: '是否作废当前任务?',
- success: (res) => {
- console.log(res)
- if (res.confirm) {
- cancellation({
- 'id': this.business.id
- }).then((res) => {
- if (res.code === 1) {
- this.business.status = 5;
- this.isExecute = 0;
- tools.success(res.msg)
- uni.$emit('newReceiving')
- } else {
- tools.error(res.msg)
- }
- })
- }
- }
- });
- },
- async getTaskDetail() {
- const res = await getTaskDetail({
- id: this.businessId
- })
- if (res.code === 1) {
- this.product = res.data.product
- this.title = this.product.product_name
- this.business = res.data.business
- this.propertyList = res.data.propertyList
- this.applyFor = res.data.applyFor
- this.tripartite = res.data.tripartite
- this.linkman = res.data.linkman
- this.credit = res.data.credit
- this.postLoan = res.data.postLoan
- this.stageData = res.data.stageData
- this.isExecute = res.data.isExecute
- this.businessFile = res.data.businessFile
- this.getMsgList();
- this.getBusinessStageList()
- } else {
- this.backEvent();
- }
- },
- backEvent() {
- uni.navigateBack({
- delta: 1
- })
- }
- },
- }
- </script>
- <style lang="scss" scoped>
- /deep/ .uni-collapse-item__title-text {
- color: #333333 !important;
- font-size: 34rpx !important;
- font-weight: 600 !important;
- }
- .task-box {
- background-image: url("@/static/img/task/task-bg.png");
- background-repeat: no-repeat;
- background-size: 100% auto;
- background-color: #F6F7FB;
- min-height: 100vh;
- .task-title{
- padding: 0 32rpx;
- height: 120rpx;
- line-height: 120rpx;
- text{
- font-size: 44rpx;
- font-weight: 600;
- color: #fff;
- }
- }
- .video-box {
- height: 70vh;
- width: 100vw;
- .myVideo {
- height: 70vh;
- width: 100vw;
- }
- }
- .blank-box {
- width: 100%;
- min-height: 30vh;
- .blank-box-img {
- width: 500rpx;
- height: 500rpx;
- margin: 0 auto;
- }
- .blank-box-text {
- font-size: 15px;
- color: #666666;
- text-align: center;
- }
- }
- .content {
- margin: 0 0 22rpx 0;
- }
- .switch-box {
- width: 100%;
- height: auto;
- padding: 26rpx 0 6rpx 0;
- display: flex;
- background: #fff;
- margin: 0 0 20rpx 0;
- .switch-left {
- width: 50%;
- font-size: 32rpx;
- color: #999999;
- text-align: center;
- }
- .switch-left-text {
- padding: 0 0 20rpx 0;
- }
- .switch-left-style {
- color: #306AFB;
- font-weight: 600;
- padding: 0 0 20rpx 0;
- }
- .switch-left-styles {
- width: 134rpx;
- height: 4rpx;
- background: #306AFB;
- margin: 0 auto;
- }
- }
- .set-box {
- margin: 0 0 20rpx 0;
- background: #fff;
- .set-title {
- font-size: 34rpx;
- color: #333333;
- font-weight: 600;
- padding: 17px 32rpx;
- box-sizing: border-box;
- }
- .task-phase {
- display: flex;
- align-items: center;
- justify-content: space-between;
- padding: 17px 32rpx;
- box-sizing: border-box;
- border-top: 1px solid #F0F0F0;
- .task-phase-left {
- font-size: 16px;
- color: #666666;
- }
- .task-phase-right {
- font-size: 16px;
- color: #232A35;
- }
- }
- .perform-personnel {
- .perform-personnel-left {
- }
- .perform-personnel-right {
- }
- }
- }
- .leave-message-box {
- width: 100%;
- height: auto;
- background: #fff;
- padding: 32rpx 32rpx;
- box-sizing: border-box;
- // margin: 0 0 20rpx 0;
- .title-name {
- font-size: 34rpx;
- color: #232A35;
- font-weight: 600;
- margin: 0 0 32rpx 0;
- }
- .leave-message {
- width: 100%;
- height: auto;
- display: flex;
- .head-portrait {
- width: 90rpx;
- height: 90rpx;
- display: block;
- margin: 0 20rpx 0 0;
- border-radius: 50%;
- flex-shrink: 0;
- }
- .leave-message-right {
- width: 100%;
- height: auto;
- box-sizing: border-box;
- .leave-message-right-one {
- width: 95%;
- height: auto;
- display: flex;
- justify-content: space-between;
- margin: 0 0 24rpx 0;
- .one-name {
- display: flex;
- align-items: center;
- .name {
- font-size: 16px;
- color: #5C7C9B;
- padding: 0 20rpx 0 0;
- box-sizing: border-box;
- }
- .state {
- height: 32rpx;
- padding: 0 4rpx;
- box-sizing: border-box;
- background: #3169FA;
- border-radius: 3px;
- font-size: 10px;
- color: #FFFFFF;
- line-height: 32rpx;
- }
- }
- .one-reply {
- padding: 6rpx 12rpx;
- border: 1px solid #DCDCDC;
- border-radius: 2px;
- font-size: 12px;
- color: #000000;
- }
- }
- .leave-message-right-two {
- width: 578rpx;
- height: auto;
- margin: 0 0 16rpx 0;
- box-sizing: border-box;
- display: inline-block;
- text{
- font-size: 14px;
- color: #232A35;
- word-wrap: break-word;
- }
- }
- .leave-message-right-three {
- width: 100%;
- height: auto;
- // background: pink;
- display: flex;
- flex-wrap: wrap;
- .three-item {
- width: calc((100vw - 220rpx) / 3);
- height: calc((100vw - 220rpx) / 3);
- margin-right: 16rpx;
- .three-img {
- image {
- width: calc((100vw - 220rpx) / 3);
- height: calc((100vw - 220rpx) / 3);
- }
- }
- .three-video {
- position: relative;
- .video-img {
- position: absolute;
- top: calc(50% - 28rpx);
- left: calc(50% - 28rpx);
- width: 56rpx;
- height: 56rpx;
- }
- }
- }
- .three-item:nth-of-type(3n+0) {
- margin-right: 0;
- }
- .three-item:nth-of-type(n+4) {
- margin-top: 16rpx;
- }
- }
- .leave-message-right-file {
- margin-top: 20rpx;
- margin-bottom: 20rpx;
- width: calc(100vw - 174rpx);
- .file-list {
- border: 2rpx solid #F0F0F0;
- .file-item {
- height: 72rpx;
- padding: 19rpx 20rpx;
- display: flex;
- justify-content: left;
- .file-img {
- height: 72rpx;
- width: 72rpx;
- position: relative;
- .img-icon {
- position: absolute;
- left: 0;
- top: 37rpx;
- width: 32rpx;
- height: 20rpx;
- background: #F24949;
- font-weight: 600;
- color: #FFFFFF;
- font-size: 12rpx;
- line-height: 20rpx;
- text-align: center;
- }
- .icon-two {
- background: #00BF72;
- }
- .icon-three {
- background: #F9742C;
- }
- .icon-four {
- background: #0083FB;
- }
- image {
- height: 72rpx;
- width: 72rpx;
- }
- }
- .file-text {
- margin-left: 24rpx;
- width: calc(100vw - 184rpx);
- height: 72rpx;
- line-height: 72rpx;
- color: #333333;
- display: -webkit-box;
- -webkit-line-clamp: 1;
- -webkit-box-orient: vertical;
- overflow: hidden;
- }
- }
- }
- }
- .leave-message-right-four {
- font-size: 12px;
- color: #A6A6A6;
- margin: 0 0 21rpx 0;
- }
- .leave-message-right-five {
- width: 100%;
- height: auto;
- background: #F6F6F6;
- border-radius: 6rpx;
- padding: 24rpx 24rpx 10rpx;
- box-sizing: border-box;
- .info-list {
- width: 100%;
- flex-wrap: wrap;
- .reply-info{
- .info-name {
- font-size: 28rpx;
- color: #5C7C9B;
- flex-shrink: 0;
- word-wrap: break-word;
- box-sizing: border-box;
- display: inline-block;
- }
- .reply {
- font-size: 28rpx;
- color: #232A35;
- flex-shrink: 0;
- padding-left: 6rpx;
- padding-right: 6rpx;
- }
- .info-content {
- font-size: 28rpx;
- color: #232A35;
- //flex-wrap: wrap-reverse
- word-wrap: break-word;
- box-sizing: border-box;
- display: inline-block;
- }
- }
- }
- .one-reply {
- padding: 6rpx 12rpx;
- border: 1px solid #DCDCDC;
- border-radius: 2px;
- font-size: 12px;
- color: #000000;
- width: 50rpx;
- margin-top: 20rpx;
- }
- .info-img-box {
- margin-top: 28rpx;
- width: 100%;
- height: auto;
- display: flex;
- flex-wrap: wrap;
- .info-item {
- width: calc((100vw - 244rpx) / 4);
- height: calc((100vw - 244rpx) / 4);
- margin-right: 8rpx;
- .info-img {
- image {
- width: calc((100vw - 244rpx) / 4);
- height: calc((100vw - 244rpx) / 4);
- }
- }
- .info-video {
- position: relative;
- .video-img {
- position: absolute;
- top: calc(50% - 15rpx);
- left: calc(50% - 15rpx);
- width: 30rpx;
- height: 30rpx;
- }
- }
- }
- .info-item:nth-of-type(4n+0) {
- margin-right: 0;
- }
- .info-item:nth-of-type(n+5) {
- margin-top: 16rpx;
- }
- }
- .info-file-list {
- margin-top: 20rpx;
- //margin-bottom: 20rpx;
- width: calc(100vw - 174rpx);
- .file-list {
- border: 2rpx solid #F0F0F0;
- .file-item {
- height: 72rpx;
- padding: 19rpx 20rpx;
- display: flex;
- justify-content: left;
- .file-img {
- height: 72rpx;
- width: 72rpx;
- position: relative;
- .img-icon {
- position: absolute;
- left: 0;
- top: 37rpx;
- width: 32rpx;
- height: 20rpx;
- background: #F24949;
- font-weight: 600;
- color: #FFFFFF;
- font-size: 12rpx;
- line-height: 20rpx;
- text-align: center;
- }
- .icon-two {
- background: #00BF72;
- }
- .icon-three {
- background: #F9742C;
- }
- .icon-four {
- background: #0083FB;
- }
- image {
- height: 72rpx;
- width: 72rpx;
- }
- }
- .file-text {
- margin-left: 24rpx;
- width: calc(100vw - 184rpx);
- height: 72rpx;
- line-height: 72rpx;
- color: #333333;
- display: -webkit-box;
- -webkit-line-clamp: 1;
- -webkit-box-orient: vertical;
- overflow: hidden;
- }
- }
- }
- }
- }
- }
- }
- .leave-message:nth-of-type(n+1) {
- margin-top: 20rpx;
- }
- }
- .but-box {
- width: 100%;
- height: auto;
- padding: 12rpx 32rpx;
- box-sizing: border-box;
- background: #fff;
- position: fixed;
- left: 0;
- bottom: 0;
- .but {
- width: 100%;
- height: auto;
- padding: 11px 0;
- background: #3169FA;
- text-align: center;
- font-size: 16px;
- color: #FFFFFF;
- border-radius: 4px;
- }
- .but-box-two {
- display: flex;
- align-items: center;
- .Leave-message {
- // padding: 0 26rpx;
- //width: 118rpx;
- //height: 88rpx;
- border: 1px solid #DCDCDC;
- line-height: 88rpx;
- background: #fff;
- color: #232A35;
- border-radius: 8rpx;
- text-align: center;
- }
- .contact-user {
- padding: 8rpx 0;
- //width: 174rpx;
- // height: 88rpx;
- border: 1px solid #3169FA;
- // line-height: 88rpx;
- background: #fff;
- margin: 0 16rpx;
- text-align: center;
- border-radius: 8rpx;
- .contact-user-one {
- color: #3169FA;
- }
- .contact-user-two {
- font-size: 10px;
- color: #3169FA;
- }
- }
- .turn-single {
- // padding: 0 56rpx;
- //width: 174rpx;
- //height: 88rpx;
- border: 1px solid #3169FA;
- line-height: 88rpx;
- background: #fff;
- margin: 0 16rpx;
- color: #3169FA;
- border-radius: 8rpx;
- text-align: center;
- }
- .operation {
- // padding: 0 56rpx;
- //width: 174rpx;
- //height: 88rpx;
- line-height: 88rpx;
- background: #3169FA;
- color: #fff;
- border-radius: 8rpx;
- text-align: center;
- }
- .but-one {
- width: 100%;
- height: auto;
- text-align: center;
- border-radius: 8rpx;
- }
- .but-two {
- width: 50%;
- height: auto;
- text-align: center;
- border-radius: 8rpx;
- }
- .but-three {
- width: 33.33%;
- height: auto;
- text-align: center;
- border-radius: 8rpx;
- }
- }
- }
- .schedule-box {
- padding: 32rpx 34rpx 26rpx;
- box-sizing: border-box;
- background: #fff;
- .schedule-list {
- .list-one {
- display: flex;
- justify-content: space-between;
- .list-left {
- max-width: 364rpx;
- display: flex;
- align-items: flex-start;
- font-size: 14px;
- color: #333333;
- .mark {
- // width: 22rpx;
- // height: 22rpx;
- background: rgba(#3169FA, 0.1);
- border-radius: 50%;
- margin: 10rpx 9px 0 0;
- padding: 6rpx;
- flex-shrink: 0;
- .mark-two {
- width: 12rpx;
- height: 12rpx;
- background: #3169FA;
- border-radius: 50%;
- margin: 0 auto;
- }
- .mark-two-no {
- background: #999;
- }
- }
- .switch-digital {
- color: #333333;
- font-size: 28rpx;
- font-weight: 600;
- flex-shrink: 0;
- line-height: 36rpx;
- }
- .switch-digital-no {
- color: #999;
- font-weight: 400;
- }
- .switch-hr {
- width: 18rpx;
- height: 2rpx;
- background: #707070;
- margin: 18rpx 13rpx 0;
- flex-shrink: 0;
- }
- }
- .list-right {
- font-size: 13px;
- color: #999999;
- }
- }
- .list-hr {
- width: 2rpx;
- height: 50rpx;
- background: #F0F0F0;
- margin: 9rpx 0 9rpx 12rpx;
- }
- }
- }
- .task-msg-box {
- width: 100%;
- border-radius: 20rpx 20rpx 0rpx 0rpx;
- }
- }
- .task-info-two {
- width: 100%;
- height: auto;
- padding: 0;
- }
- .task-info {
- width: 100%;
- height: auto;
- padding: 0 0 112rpx 0;
- }
- </style>
|