lm-safe-app/pages/index/index2.nvue

868 lines
31 KiB
Plaintext
Raw Permalink Normal View History

2024-06-03 09:37:52 +08:00
<template>
<view>
<u-sticky>
<HeaderNav title="任务"></HeaderNav>
</u-sticky>
<view class="todo-page">
<!-- <view class="status-bar" :style="{'width': screenWidth + 'px'}"></view> -->
<view class="main">
<view class="swiper-wrap">
<u-swiper :list="banners" height="110" radius="8" circular indicator indicatorActiveColor="#2979ff"
indicatorInactiveColor="#D7D7D7" indicatorMode="dot" indicatorStyle="right: 20px;"
@change="e => currentBanner = e.current">
</u-swiper>
<!-- <swiper :circular="true" :indicator-dots="true" :autoplay="true" :interval="1000" :duration="600" :current="currentIndex" @change="changeSwiper" v-if="banners.length!==0">
<swiper-item v-for="(item,index) in banners" :key="index">
<view style="width: 100%;bor">
<image :src="item" mode="widthFix" style="width: 100%;"></image>
</view>
</swiper-item>
</swiper> -->
</view>
<!-- <view class="tabs-bar">
<view @click="handleTab('1')" class="tab">
<view class="t">
<text class="name" :style="{color: currentTab === '1' ? '#004F9D' : ''}">任务</text>
<u-badge type="error" absolute max="99" :value="todoTotal" :offset="[0, 0]"></u-badge>
</view>
<view v-if="currentTab === '1'" class="bottom-widget"></view>
</view>
<view @click="handleTab('3')" class="tab">
<view class="t">
<text class="name" :style="{color: currentTab === '3' ? '#004F9D' : ''}">消息</text>
<u-badge type="error" absolute max="99" :value="noticeTotal" :offset="[0, 0]"></u-badge>
</view>
<view v-if="currentTab === '3'" class="bottom-widget"></view>
</view>
</view> -->
<!-- <view style="display: flex;flex-direction: row;margin: 10px 40px;background-color: #cccccc;border-radius: 15px;height: 40px;justify-content: space-around;align-items: center;">
<view @click="handleTab('1')" style="width: 50%;height: 100%;display: flex;justify-content: center;align-items: center;border-radius: 15px;" :style="{background:currentTab === '1' ? 'linear-gradient(to right, #6EB6FF, #4170f4)' : ''}">
<view style="display: flex;flex-direction: row;border-radius: 15px;align-items: center;justify-content: center;" >
<u-icon name="order" size="20" color="#fff"></u-icon>
<text class="name" :style="{color: currentTab === '1' ? '#fff' : '#fff'}" style="font-size: 18px;font-weight: bold;margin: 0px 5px;">任务</text>
<u-badge type="error" max="99" absolute :value="todoTotal" :offset="[-5,-30]" style="font-weight: bold;" ></u-badge>
</view>
</view>
<view @click="handleTab('3')" style="width: 50%;height: 100%;display: flex;justify-content: center;align-items: center;border-radius: 15px;" :style="{background:currentTab === '3' ? 'linear-gradient(to right, #6EB6FF, #4170f4)' : ''}">
<view style="display: flex;flex-direction: row;border-radius: 15px;align-items: center;" >
<u-icon name="bell" size="20" color="#fff"></u-icon>
<text class="name" :style="{color: currentTab === '3' ? '#fff' : '#fff'}" style="font-size: 18px;font-weight: bold;margin: 0px 5px;">消息</text>
<u-badge type="error" max="99" :value="noticeTotal" absolute :offset="[-5,-30]" style="font-weight: bold;" ></u-badge>
</view>
</view>
</view> -->
<view style="display: flex;flex-direction: row;height: 40px;align-items: center;margin-left: 10px;">
<view @click="handleTab('1')"
style="height: 100%;display: flex;border-radius: 15px;margin-right: 10px;flex-direction: column;">
<view style="display: flex;flex-direction: row;height: 100%;">
<view style="display: flex;flex-direction: column;height: 100%;justify-content: center;">
<text style="margin: 0px 5px;display: flex;align-items: center;margin-bottom: 5px;"
:style="{color:currentTab === '1' ? '#000' : '#999999',fontSize:'16px',fontWeight: currentTab === '1' ? 'bold' : 'normal'}">任务</text>
<view v-if="currentTab === '1'" class="bottom-widget"></view>
</view>
<view style="display: flex;align-items: flex-start;">
<u-badge type="error" max="99" :value="todoTotal"
style="font-weight: bold;z-index: 999;display:flex;align-items: flex-start;"></u-badge>
</view>
</view>
</view>
<!-- <view @click="handleTab('2')"
style="height: 100%;display: flex;border-radius: 15px;margin-right: 10px;flex-direction: column;">
<view style="display: flex;flex-direction: row;height: 100%;">
<view style="display: flex;flex-direction: column;height: 100%;justify-content: center;">
<text style="margin: 0px 5px;display: flex;align-items: center;margin-bottom: 5px;"
:style="{color:currentTab === '2' ? '#000' : '#999999',fontSize:'16px',fontWeight: currentTab === '2' ? 'bold' : 'normal'}">已办</text>
<view v-if="currentTab === '2'" class="bottom-widget"></view>
</view>
<view style="display: flex;align-items: flex-start;">
<u-badge type="error" max="99" :value="doneTotal"
style="font-weight: bold;z-index: 999;display:flex;align-items: flex-start;"></u-badge>
</view>
</view>
</view> -->
<view @click="handleTab('3')" style="height: 100%;display: flex;border-radius: 15px;">
<view style="display: flex;flex-direction: row;height: 100%;">
<view style="display: flex;flex-direction: column;height: 100%;justify-content: center;">
<text style="margin: 0px 5px;display: flex;align-items: center;margin-bottom: 5px;"
:style="{color:currentTab === '3' ? '#000' : '#999999',fontSize:currentTab === '3' ? '16px' : '16px',fontWeight: currentTab === '3' ? 'bold' : 'normal'}">消息</text>
<view v-if="currentTab === '3'" class="bottom-widget"></view>
</view>
<view style="display: flex;align-items: flex-start;">
<u-badge type="error" max="99" :value="noticeTotal"
style="font-weight: bold;z-index: 999;display:flex;align-items: flex-start;"></u-badge>
</view>
</view>
</view>
</view>
<view v-if="!lists.length" class="empty-wrap">
<u-empty text="暂无任务" icon="/static/empty@2x.png">
</u-empty>
</view>
<view v-else class="content-list">
<common-card :dataSource="item" v-for="(item, key) in lists" :key="key" icon @click="taskClisk">
</common-card>
</view>
</view>
<u-toast ref="uToast"></u-toast>
</view>
</view>
</template>
<script>
import CommonCard from '@/components/custom/common-card2.nvue';
import {
handleTaskStatus,
getTodoData,
FullGet
} from '../../services/app'
import {
initFilter,
extendRule,
extendInclude
} from '../../utils/common'
import HeaderNav from '@/components/custom/head-nav.vue';
// import '@/utils/showMsg.js'
export default {
components: {
CommonCard,
HeaderNav
},
data() {
return {
timingGet: undefined,
affairType: '1',
currentTab: '1',
todoTotal: 0,
doneTotal: 0,
noticeTotal: 0,
lists: [],
banners: [
2024-07-12 09:12:27 +08:00
// '../../static/banner5.jpg',
2024-06-05 15:43:39 +08:00
'../../static/banner6.jpg',
'../../static/banner7.png'
2024-06-03 09:37:52 +08:00
],
currentBanner: 0,
text: '',
statusBar: '54px',
IsBrush: true,
pageIndex: 1,
comPickerInfo: {
showPicker: false,
columns: [],
title: '',
name: ''
},
currentIndex: 0,
}
},
// mounted() {
// this.pushMessage()
// },
onShow() {
// let allPages=getCurrentPages()
// let lastPage=allPages-1
// let option =allPages[lastPage].options
this.pageIndex = 1
this.handleGetTodoData()
this.timingGet = setInterval(() => {
const d = getApp().globalData.noticeAndTask
if (d.Msg > this.noticeTotal || d.Task > this.todoTotal) {
this.pageIndex = 1
this.handleGetTodoData()
}
}, 1500000)
},
onHide() {
clearInterval(this.timingGet)
},
onLoad() {
uni.getSystemInfo({
success: e => {
this.screenWidth = e.screenWidth
// #ifndef H5
this.statusBar = e.statusBarHeight
// #endif
}
})
this.handleGetTodoData()
},
onPullDownRefresh() {
this.pageIndex = 1
this.handleGetTodoData()
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
},
methods: {
showToast() {
this.$refs.uToast.show({
type: 'default',
message: "此任务请到电脑上操作!"
})
},
changeSwiper(e) {
this.currentIndex = e.detail.current
},
handleTab(t) {
this.currentTab = t
this.affairType = t
this.pageIndex = 1
},
handleGetTodoData(isAdd = false) {
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, "", "", '', this.pageIndex)
json.Parameter1 = this.affairType; // 1.待办事项 2.已办事项 3.今日新增 4.待办超时
getTodoData(json).then(res => {
this.total = res.TotalCount
this.noticeTotal = res.todayNewCount
this.todoTotal = res.todoCount
this.doneTotal = res.doneCount
// const options = {
// cover: false,
// sound: 'system',
// title: '矿山安全生产标准化系统'
// }
// const pushUrl = `pages/apply/index`
// const innerAudioContext = uni.createInnerAudioContext();
// innerAudioContext.autoplay = true;
// innerAudioContext.src =
// 'https://you.induschain.cn/audio/y913.mp3';
// const content = '您有新的待办任务,快点完成吧'
// plus.push.createMessage(content, pushUrl, options)
const newRes = (res.newData || []).map(i => {
const obj = {
...i,
title: i.NOTICE_TITLE,
startTime: i.TASK_STARTDT,
endTime: i.TASK_ENDDT,
// status: i.NOTICE_STATUS,
// statusText: i.NOTICE_STATUS
}
if (this.affairType === '1') {
obj.status = i.OVER_TIME === '正常' ? 0 : 1
obj.statusText = i.OVER_TIME
}
if (this.affairType === '2') {
obj.status = i.OVER_TIME === '正常' ? 0 : 1
obj.statusText = i.OVER_TIME
}
if (this.affairType === '3') {
obj.status = i.NOTICE_STATUS
obj.statusText = i.NOTICE_STATUS === 0 ? '未读' : '已办'
}
return obj
})
if (isAdd)
this.lists = this.lists.concat(newRes)
else
this.lists = newRes
})
},
// 动态设置tabBar
// onSetTabBar() {
// uni.setTabBarItem({
// index: 2,
// text: 'text',
// pagePath: 'pages/my/index',
// iconPath: 'static/tabbar_user@2x.png',
// selectedIconPath: 'static/tabbar_user_activited@2x.png'
// })
// }
taskClisk(item) {
if (this.affairType === '3') {
const modalOption = {
title: '消息',
content: item.NOTICE_TITLE,
success: e => {
const {
confirm,
cancel
} = e
if (confirm) {
if (item.NOTICE_STATUS === 0) {
// 标记为已读
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId, item.ID)
handleTaskStatus(json).then(res => {
if (res) {
uni.showToast({
title: '标记为已读'
})
this.pageIndex = 1
this.handleGetTodoData()
}
})
} else {
// null
}
}
if (cancel) {
// cancel
}
}
}
if (item.NOTICE_STATUS === 0) {
modalOption.cancelText = '确认'
modalOption.confirmText = '标记已读'
} else {
modalOption.showCancel = false
}
uni.showModal(modalOption)
return
}
let linkToUrl = ''
if (item.SOURCE_FORMCODE == 'PF119') {
const orgId = uni.getStorageSync('orgId')
const json = initFilter(orgId)
extendRule(json, 'ID', 1, item.SOURCE_DATA_ID);
extendInclude(json, "Nav_ApproveDetails")
extendInclude(json, "Nav_ApproveDetails.Nav_ApproveUser")
FullGet(json).then(res => {
let okApi = res.CALLBACK_INTERFACE
// api 请求 获取 APPROVE_CODE ID
switch (res.APPROVE_CODE) {
case 'BS006_SHOWPRINT': //隐患上报审批 XLK100635
linkToUrl = '/pages/apply/subPages/BS/riskSumbitAudit'
break;
case 'BS032_SHOWPRINT': //制表审批
linkToUrl = '/pages/apply/subPages/BS/checkPlanNotice'
break;
case 'BS034_SHOWPRINT': //检查确认
linkToUrl = '/pages/apply/subPages/BS/safeCheckAudit' //待做
break;
case 'BS044_SHOWPRINT': //整改记录审批
linkToUrl = '/pages/apply/subPages/BS/riskSumbitDealAudit'
break;
case 'BS046_SHOWPRINT': //延期申请审批
linkToUrl = '/pages/apply/subPages/BS/delayApplyView'
break;
case 'HM061_SHOWPRINT': //危险源和风险辨识任务
linkToUrl = '/pages/apply/subPages/HM/1riskTaskShow'
break;
case 'HM063_SHOWPRINT': //危险源和风险辨识任务
linkToUrl = '/pages/apply/subPages/HM/2riskRecordShow'
break;
case 'HM101_SHOWPRINT': //职业危害辨识记录签到
linkToUrl = '/pages/apply/subPages/HM/3hazardTaskShow'
break;
case 'HM099_SHOWPRINT': //职业危害辨识记录签到
linkToUrl = '/pages/apply/subPages/HM/3hazardRecordShow'
break;
case 'SE009_SHOWPRINT': //部门计划
linkToUrl = '/pages/apply/subPages/SE/3depTrainPlanShow'
break;
case 'SE011_SHOWPRINT': //年度计划
linkToUrl = '/pages/apply/subPages/SE/4yearTrainPlanShow'
break;
case 'FO015_SHOWPRINT': //一般作业活动记录审批
linkToUrl = '/pages/apply/subPages/FO2/jobEventShow'
break;
case 'FO017_SHOWPRINT': //工作票审批
linkToUrl = '/pages/apply/subPages/FO2/jobShow'
break;
case 'FO025_SHOWPRINT': //工作票审批外包
linkToUrl = '/pages/apply/subPages/FO2/jobOutsourceShow'
break;
case 'HM104_SHOWPRINT': //作业任务识别审批
linkToUrl = '../apply/subPages/HM2/jobTaskIdentityShow'
break;
case 'HM087_SHOWPRINT': //作业任务分析审批
linkToUrl = '../apply/subPages/HM2/jobTaskAnalyzeShow'
break;
case 'HM107_SHOWPRINT': //许可作业审批
linkToUrl = '../apply/subPages/HM2/jobTaskLicenseShow'
break;
case 'HM109_SHOWPRINT': //关键作业审批
linkToUrl = '../apply/subPages/HM2/jobTaskCrucialShow'
break;
case 'HM111_SHOWPRINT': //一般作业审批
linkToUrl = '../apply/subPages/HM2/jobTaskOrdinaryShow'
break;
case 'SC030_SHOWPRINT': // 会议纪要审批
linkToUrl = '../apply/subPages/SCMT/meetingMinutesCheck'
break;
case 'PT020_SHOWPRINT': //安全生产目标与指标
linkToUrl = '../apply/subPages/SCPT/formulationDepartmentShow'
break;
case 'PT024_SHOWPRINT': //考核方案审核
linkToUrl = '../apply/subPages/SCPT/PlanAuditShow'
break;
case 'PT029_SHOWPRINT': // 监测与考核记录
linkToUrl = '../apply/subPages/SCPT/monitorAssessmentShow'
break;
case 'PR026_SHOWPRINT': //变化识别落实表
linkToUrl = '../apply/subPages/SCPT/changeImplementShow'
break;
}
if(okApi && okApi.indexOf('New')>-1){
okApi = res.CALLBACK_INTERFACE
}else{
okApi = 'PF/Approve/Submit'
}
// //特殊处理
// if (okApi === 'BS/BSSafeCheck/CheckAuditEnd' || okApi ===
// 'BS/BSSafeCheck/CheckPlanAuditEnd' || okApi === 'BS/BSRiskSubmit/Notice' ||
// okApi === 'BS/BSRiskSubmit/DealEnd' || okApi ===
// 'BS/BSRiskSubmitDelayApply/DealEnd' || okApi === 'FO/FOJobEventRecord/BackUpdate'||
// okApi === 'FO/FOCrucialLicenseJob/BackUpdate'||okApi ==='FO/FOCrucialLicenseJobOutsource/BackUpdate') {
// okApi = res.CALLBACK_INTERFACE + 'New'
// } else {
// okApi = 'PF/Approve/Submit'
// }
if (linkToUrl != '') {
linkToUrl += "?tableKey=1&ID=" + res.DATA_ID + "&ApproveID=" + item
.SOURCE_DATA_ID + "&taskID=" +
item.ID + '&isAudit=true&okApi=' + okApi + '&refuseApi=' + res
.REJECT_INTERFACE
this.$store.commit('updateAuditModel', res)
uni.navigateTo({
url: linkToUrl
})
} else {
// uni.$showMsg('此任务请到电脑上操作!', 'error')
this.showToast()
}
})
} else {
switch (item.SOURCE_FORMCODE) {
case 'BS032': //检查通知 确认
linkToUrl = '../apply/subPages/BS/plan'
break;
case 'BS032_SHOWPRINT': //检查通知 确认
linkToUrl = '../apply/subPages/BS/checkPlanNotice'
break;
case 'BS057': //检查登记
linkToUrl = '../apply/subPages/BS/safeCheckSign'
break;
case 'BS034': //检查确认
linkToUrl = '../apply/subPages/BS/safeCheckCheck'
break;
case 'BS006': //检查 隐患上报
linkToUrl = '../apply/subPages/BS/riskSumbit'
break;
case 'BS061': //检查 手动隐患上报指定整改部门
linkToUrl = '../apply/subPages/BS/riskSumbitUserDep'
break;
case 'BS073': //检查 手动隐患上报指定整改部门
linkToUrl = '../apply/subPages/BS/riskSumbitUserDepNew'
break;
case 'BS074': //指定落实人
linkToUrl = '../apply/subPages/BS/riskSumbitNoticeToActual'
break;
case 'BS062': //检查 隐患上报(驳回重新上报)
linkToUrl = '../apply/subPages/BS/riskSumbitBack'
break;
case 'BS042': //隐患整改通知
linkToUrl = '../apply/subPages/BS/riskSumbitNotice'
break;
case 'BS042_SHOWPRINT': //隐患整改通知: 确认
linkToUrl = '../apply/subPages/BS/riskSumbitNoticeCheck'
break;
case 'BS049': //指定整改落实人
linkToUrl = '../apply/subPages/BS/riskSumbitActualDeal'
break;
case 'BS042_ACTUALCHECK': //整改落实人 确认
linkToUrl = '../apply/subPages/BS/riskSumbitActualDealCheck'
break;
case 'BS044': //隐患整改单
linkToUrl = '../apply/subPages/BS/riskSumbitDeal'
break;
case 'BS044_CHECK': //整改验收 责任人
linkToUrl = '../apply/subPages/BS/riskSumbitDealCheck'
break;
case 'BS046': //隐患整改单
linkToUrl = '../apply/subPages/BS/delayApply'
break;
case 'BS046_SHOWPRINT': //延期申请审批
linkToUrl = '/pages/apply/subPages/BS/delayApplyView'
break;
case 'BS069': //检查记录确认退回
linkToUrl = '/pages/apply/subPages/BS/riskSumbitDetailBack'
break;
case 'FO003_SHOWPRINT': //班前会议签到
linkToUrl = '../apply/subPages/FO/1preShiftMeetingShow'
break;
case 'FO003': //班前会议编辑
linkToUrl = '../apply/subPages/FO/1preShiftMeetingEdit'
break;
case 'FO005_SHOWPRINT': //岗位当班签到
linkToUrl = '../apply/subPages/FO/2currentClassRecordShow'
break;
case 'FO005': //岗位当班编辑
linkToUrl = '../apply/subPages/FO/2currentClassRecordEdit'
break;
case 'FO013_SHOWPRINT': //岗位交接班签到
linkToUrl = '../apply/subPages/FO/3changeShiftRecordShow'
break;
case 'FO012': //岗位交接班编辑
linkToUrl = '../apply/subPages/FO/3changeShiftRecordEdit'
break;
case 'FO010_SHOWPRINT': //班组安全活动签到
linkToUrl = '../apply/subPages/FO/4teamActivityShow'
break;
case 'FO010': //班组安全活动编辑
linkToUrl = '../apply/subPages/FO/4teamActivityEdit'
break;
case 'HM061_SHOWPRINT': //危险辨识任务签到
linkToUrl = '../apply/subPages/HM/1riskTaskShow'
break;
case 'HM062': //危险辨识任务编辑
linkToUrl = '../apply/subPages/HM/1riskTaskEdit'
break;
case 'HM064': //危险辨识记录编辑
linkToUrl = '../apply/subPages/HM/2riskRecordEdit'
break;
case 'HM063_SHOWPRINT': //危险辨识记录签到
linkToUrl = '../apply/subPages/HM/2riskRecordShow'
break;
2024-07-05 14:35:32 +08:00
case 'HM102': //职业危害辨识记录
linkToUrl = '../apply/subPages/HM/3hazardTaskEdit'
break;
2024-06-03 09:37:52 +08:00
case 'HM101_SHOWPRINT': //职业危害辨识记录签到
linkToUrl = '../apply/subPages/HM/3hazardTaskShow'
break;
case 'HM100': //职业危害辨识记录签到
linkToUrl = '../apply/subPages/HM/3hazardRecordEdit'
break;
case 'HM099_SHOWPRINT': //职业危害辨识记录签到
linkToUrl = '../apply/subPages/HM/3hazardRecordShow'
break;
case 'HM122': //风险评价
linkToUrl = '../apply/subPages/HM/6evaluateEdit'
break;
case 'SE009_SHOWPRINT': //部门培训计划签到
linkToUrl = '../apply/subPages/SE/3depTrainPlanShow'
break;
case 'SE011_SHOWPRINT': //年度培训计划签到
linkToUrl = '../apply/subPages/SE/4yearTrainPlanShow'
break;
case 'SE013_SHOWPRINT': //培训通知签到
linkToUrl = '../apply/subPages/SE/1trainNotifyShow'
break;
case 'SE014': //培训通知编辑
linkToUrl = '../apply/subPages/SE/1trainNotifyEdit'
break;
case 'SE018': //培训记录编辑
linkToUrl = '../apply/subPages/SE/2trainRecordEdit'
break;
case 'SE017_SHOWPRINT': //培训记录签到
linkToUrl = '../apply/subPages/SE/2trainRecordShow'
break;
case 'SE042': //三级安全教育
linkToUrl = '/pages/apply/subPages/SE/5threeLevelEducateEdit'
break;
case 'SE015_SHOWPRINT': //三级安全教育
linkToUrl = '/pages/apply/subPages/SE/5threeLevelEducateShow'
break;
case 'SE018_PAPERPAGE': //培训答题页
linkToUrl = '/pages/apply/subPages/SE/7answerPageEdit'
break;
case 'SESafeSurveyTest': //安全意识培训答题页
linkToUrl = '/pages/apply/subPages/SE/8answerPageEdit'
break;
case 'SE022': //三级安全教育
linkToUrl = '/pages/apply/subPages/SE/6trainReportEdit'
break;
case 'SE007_INPUTPAGE': //培训需求填报
linkToUrl = '/pages/apply/subPages/SE/9trainDemandEdit'
break;
case 'OG030': //工余事件征集
linkToUrl = '/pages/apply/subPages/OG/1EventGetEdit'
break;
case 'OG030_EDIT': //工余事件征集
linkToUrl = '/pages/apply/subPages/OG/1EventGetUserEdit'
break;
case 'OG030_REPLY': //工余事件征集
linkToUrl = '/pages/apply/subPages/OG/1EventGetUserEdit'
break;
case 'OG030_SHOWPRINT': //工余事件征集
linkToUrl = '/pages/apply/subPages/OG/1EventGetShow'
break;
case 'OG001_SHOWPRINT': //工余事件征集
linkToUrl = '/pages/apply/subPages/OG/3SignShow'
break;
case 'OG060': //员工意见
linkToUrl = '/pages/apply/subPages/OG/2EmployeeOpinionEdit'
break;
case 'OG059_EDIT': //员工意见
linkToUrl = '/pages/apply/subPages/OG/2EmployeeOpinionReplyEdit'
break;
case 'OG059_REPORT': //员工意见
linkToUrl = '/pages/apply/subPages/OG/2EmployeeOpinionReportEdit'
break;
case 'OG059_CHECK': //员工意见负责人审核
linkToUrl = '/pages/apply/subPages/OG/2EmployeeOpinionReportEdit'
break;
case 'LR002': //法律法规
linkToUrl = '/pages/apply/subPages/LR/2LawDistinguishEdit'
break;
case 'FO015': //一般作业活动记录编辑
linkToUrl = '../apply/subPages/FO2/jobEventEdit1'
break;
case 'FO015_SHOWPRINT': //一般作业活动记录签到
linkToUrl = '../apply/subPages/FO2/jobEventShow'
break;
case 'FO017': //关键许可工作票编辑
linkToUrl = '../apply/subPages/FO2/jobEdit'
break;
case 'FO017_SHOWPRINT': //关键许可工作票签到
linkToUrl = '../apply/subPages/FO2/jobShow'
break;
case 'FO025': //关键许可工作票外包编辑
linkToUrl = '../apply/subPages/FO2/jobOutsourceEdit'
break;
case 'FO019': //技术交底表编辑
linkToUrl = '../apply/subPages/FO2/techEdit'
break;
case 'FO019_SHOWPRINT': //技术交底表签到
linkToUrl = '../apply/subPages/FO2/techShow'
break;
case 'FO008_SHOWPRINT': //作业方案讨论记录签到
linkToUrl = '../apply/subPages/FO2/preOperSchShow'
break;
case 'FO021': //关键作业活动记录编辑
linkToUrl = '../apply/subPages/FO2/jobActivityEdit'
break;
case 'FO021_SHOWPRINT': //关键作业活动记录签到
linkToUrl = '../apply/subPages/FO2/jobActivityShow'
break;
case 'HM105': //作业任务识别编辑
linkToUrl = '../apply/subPages/HM2/jobTaskIdentityEdit'
break;
case 'HM104_SHOWPRINT': //作业任务识别签到
linkToUrl = '../apply/subPages/HM2/jobTaskIdentityShow'
break;
case 'HM088': //作业任务分析编辑
linkToUrl = '../apply/subPages/HM2/jobTaskAnalyzeEdit'
break;
case 'HM113': //作业任务分析编辑
linkToUrl = '../apply/subPages/HM2/jobTaskAnalyzeEdit'
break;
case 'HM087_SHOWPRINT': //作业任务分析签到
linkToUrl = '../apply/subPages/HM2/jobTaskAnalyzeShow'
break;
case 'HM108': //许可作业编辑
linkToUrl = '../apply/subPages/HM2/jobTaskLicenseEdit'
break;
case 'HM119': //许可作业编辑
linkToUrl = '../apply/subPages/HM2/jobTaskLicenseEdit'
break;
case 'HM107_SHOWPRINT': //许可作业确认
linkToUrl = '../apply/subPages/HM2/jobTaskLicenseShow'
break;
case 'HM109': //关键作业编辑
linkToUrl = '../apply/subPages/HM2/jobTaskCrucialEdit'
break;
case 'HM115': //关键作业编辑
linkToUrl = '../apply/subPages/HM2/jobTaskCrucialEdit'
break;
case 'HM109_SHOWPRINT': //关键作业确认
linkToUrl = '../apply/subPages/HM2/jobTaskCrucialShow'
break;
case 'HM112': //一般作业编辑
linkToUrl = '../apply/subPages/HM2/jobTaskOrdinaryEdit'
break;
case 'HM117': //一般作业编辑
linkToUrl = '../apply/subPages/HM2/jobTaskOrdinaryEdit'
break;
case 'HM111_SHOWPRINT': //一般作业确认
linkToUrl = '../apply/subPages/HM2/jobTaskOrdinaryShow'
break;
case 'FM202_SHOWPRINT': // 随手拍确认
linkToUrl = '../apply/subPages/FM/snapshotConfirm'
break;
//会议模块
case 'SC028': // 会议通知 安委会
case 'SC032': // 会议通知 普通
linkToUrl = '../apply/subPages/SCMT/meeting'
break;
case 'SC028_SHOWPRINT': // 会议通知 安委会 // case 'SC032_SHOWPRINT': // 会议通知 普通
linkToUrl = '../apply/subPages/SCMT/meetingNotice'
break;
case 'SC030': // 会议纪要
linkToUrl = '../apply/subPages/SCMT/meetingMinutes'
break;
case 'SC030_SHOWPRINT': // 会议纪要签到
linkToUrl = '../apply/subPages/SCMT/meetingMinutesCheck'
break;
case 'SC030_1': // 会议纪要
linkToUrl = '../apply/subPages/SCMT/meetingMinutes_1'
break;
case 'SC030_2': // 会议纪要
linkToUrl = '../apply/subPages/SCMT/meetingMinutes_2'
break;
case 'SC034': // 普通会议纪要(会议内容 题目 意见
linkToUrl = '../apply/subPages/SCMT/meetingMinutes'
break;
case 'HM124': //文件发布表
linkToUrl = '../apply/subPages/HM2/filePublishEdit'
break;
case 'HM123_SHOWPRINT': //文件发布表
linkToUrl = '../apply/subPages/HM2/filePublishShow'
break;
case 'PT014_SHOWPRINT': //安全生产方针征集表
linkToUrl = '../apply/subPages/SCPT/policyCollectShow'
break;
case 'PT020': //安全生产目标与指标
linkToUrl = '../apply/subPages/SCPT/formulationDepartmentEdit'
break;
case 'PT020_SHOWPRINT': //安全生产目标与指标
linkToUrl = '../apply/subPages/SCPT/formulationDepartmentShow'
break;
case 'PT024': //考核方案审核
linkToUrl = '../apply/subPages/SCPT/PlanAuditEdit'
break;
case 'PT024_SHOWPRINT': //考核方案审核
linkToUrl = '../apply/subPages/SCPT/PlanAuditShow'
break;
case 'PT029': //监测与考核记录
linkToUrl = '../apply/subPages/SCPT/monitorAssessmentEdit'
break;
case 'PT029_SHOWPRINT': //监测与考核记录
linkToUrl = '../apply/subPages/SCPT/monitorAssessmentShow'
break;
case 'PR024': //变化识别评估表
linkToUrl = '../apply/subPages/SCPT/changeIdentifyEdit2'
break;
case 'PR026': //变化识别落实表
linkToUrl = '../apply/subPages/SCPT/changeImplementEdit'
break;
case 'PR028': //变化识别验收表
linkToUrl = '../apply/subPages/SCPT/changeAcceptanceEdit'
break;
case 'PT015': //安全生产方针调查表
linkToUrl = '../apply/subPages/SCPT/policyInvestigationEdit'
break;
}
if (linkToUrl != '') {
linkToUrl += "?tableKey=" + this.affairType + "&ID=" + item.SOURCE_DATA_ID + "&taskID=" + item.ID
if (item.SOURCE_FORMCODE == 'SC034' || item.SOURCE_FORMCODE == 'SC030') {
linkToUrl += "&FORMCODE=" + item.SOURCE_FORMCODE //会议 纪要 load时 添加标识
}
uni.navigateTo({
url: linkToUrl
})
} else {
// uni.$showMsg('此任务请到电脑上操作!', 'error')
this.showToast()
}
}
},
},
watch: {
affairType() {
this.handleGetTodoData()
}
},
onReachBottom() {
if (this.affairType === '2') {
if (this.doneTotal >= this.pageIndex * 10) {
this.pageIndex++
this.handleGetTodoData(true)
}
} else {
if (this.total >= this.pageIndex * 10) {
this.pageIndex++
this.handleGetTodoData(true)
}
}
}
}
</script>
<style>
.todo-page {
position: relative;
}
.todo-page .status-bar {
height: 120px;
background-image: linear-gradient(to right, #CFECFF, #6EB6FF);
position: absolute;
top: 0;
left: 0;
z-index: -10;
}
.todo-page .main {
padding: 10px 8px 62px 8px;
position: relative;
z-index: 10;
background-size: 100% 120px;
background-repeat: no-repeat;
}
.todo-page .swiper-wrap {
margin-bottom: 16px;
}
.tabs-bar {
display: flex;
flex-direction: row;
}
.tabs-bar .tab {
height: 40px;
display: flex;
align-items: center;
position: relative;
margin-right: 6px;
padding-bottom: 6px;
}
.tabs-bar .tab .t {
width: 55px;
height: 50px;
position: relative;
/* overflow: inherit; */
}
.tabs-bar .tab .t .name {
padding-top: 7px;
padding-left: 8px;
font-size: 18px;
line-height: 22px;
color: #999;
}
.bottom-widget {
width: 40px;
height: 2px;
background-color: #2979ff;
display: flex;
justify-content: flex-start;
align-items: flex-start;
/* position: absolute; */
/* bottom: -2px;
left: 0;
z-index: 999; */
/* overflow: hidden; */
/* left: 15px; */
}
.empty-wrap {
margin-top: 60px;
}
.content-list {
padding: 10px 0;
}
</style>