123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413 |
- <template>
- <view style="background-color: #fff;">
- <view v-if="gwShow" style="padding: 20rpx;">
- <view style="font-size: 38rpx;font-weight: 600;">公文办理</view>
- <view style="margin-top: 40rpx;">
- <u-grid :border="false" col="4">
- <u-grid-item @click="shouwen('收文','003',1)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['003']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/swgl.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">收文</text>
- </u-grid-item>
- <u-grid-item v-if="fwBlock" @click="shouwen('发文','002',2)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['002']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/fwgl.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">发文</text>
- </u-grid-item>
- <!-- <u-grid-item @click="shouwen('其他处室收文','012',1)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['012']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/swgl.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">其他处室收文</text>
- </u-grid-item>
- <u-grid-item @click="shouwen('其他处室发文','005',2)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['005']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/fwgl.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">其他处室发文</text>
- </u-grid-item> -->
- </u-grid>
- </view>
- </view>
- <u-divider v-if="gwShow"></u-divider>
- <view v-if="rcbgShow" style="padding: 20rpx;">
- <view style="font-size: 38rpx;font-weight: bold;">日常办公</view>
- <view style="margin-top: 40rpx;">
- <u-grid :border="false" col="4">
- <u-grid-item v-if="ccbaBlock" @click="dailyWork('中层出差备案','006',1)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['006']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/ccba.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">出差备案</text>
- </u-grid-item>
- <u-grid-item v-if="wcskBlock" @click="dailyWork('外出授课备案','007',2)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['007']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/skba.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">授课备案</text>
- </u-grid-item>
- <u-grid-item v-if="qjBlock" @click="dailyWork('职工请 ( 休 ) 假申请','009',3)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['009']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/qingjia.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">请假申请</text>
- </u-grid-item>
- <u-grid-item v-if="xxfbshBlock" @click="shouwen('信息发布审核','010',3)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['010']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/xxfbsh.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">信息发布审核</text>
- </u-grid-item>
- <u-grid-item v-if="sqycBlock" @click="dailyWork('用车申请','015',4)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['015']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/usecar.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">用车申请</text>
- </u-grid-item>
- <u-grid-item v-if="tbsqBlock" @click="dailyWork('调班申请','020',5)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['020']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/tiaoban.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">调班申请 </text>
- </u-grid-item>
- <u-grid-item v-if="yzsqBlock" @click="dailyWork('用章申请','017',6)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['017']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/yongzhang.png" mode="widthFix" style="width: 99rpx;"></image>
- <text class="grid-text">用章申请 </text>
- </u-grid-item>
- <u-grid-item v-if="htyzBlock" @click="dailyWork('合同用章申请','018',7)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="numList['018']" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/htyongzhang.png" mode="widthFix" style="width: 99rpx;"></image>
- <text class="grid-text">合同用章申请 </text>
- </u-grid-item>
- <u-grid-item v-if="zbtjBlock" @click="weekly('周报')">
- <u-badge style="z-index: 2;" :type="type" max="99" :offset="[-10,10]" :showZero="false"
- absolute></u-badge>
- <image src="/static/weekly.png" mode="widthFix" style="width: 99rpx;"></image>
- <text class="grid-text">周报 </text>
- </u-grid-item>
- <u-grid-item v-if="dbsxBlock" @click="dailyWork('督办事项','016',8)">
- <u-badge style="z-index: 2;" :type="type" max="99" :value="totalValue" :offset="[-10,10]"
- :showZero="false" absolute></u-badge>
- <image src="/static/duban.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">督办事项 </text>
- </u-grid-item>
- </u-grid>
- </view>
- <u-divider></u-divider>
- </view>
- <view v-if="qtyyShow" class="">
- <view style="padding:10rpx 20rpx;">
- <view style="font-size:38rpx;font-weight: bold;">其他应用</view>
- <view style="margin-top: 40rpx;">
- <u-grid :border="false" col="4">
- <u-grid-item v-if="kq != 0&&kqglShow" @click="kaoqin">
- <image src="/static/kqgl.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">考勤管理</text>
- </u-grid-item>
- <u-grid-item v-if="zbglShow" @click="zhiban">
- <image src="/static/zhiban.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">值班安排</text>
- </u-grid-item>
- </u-grid>
- </view>
- </view>
- </view>
- <!-- <u-divider></u-divider>
- <view style="padding: 20rpx;">
- <view style="font-size:38rpx;font-weight: bold;">值班安排</view>
- <view style="margin-top: 40rpx;">
- <u-grid :border="false" col="4">
- <u-grid-item @click="zhiban">
- <image src="/static/zhiban.png" mode="widthFix" style="width: 100rpx;"></image>
- <text class="grid-text">值班安排</text>
- </u-grid-item>
- </u-grid>
- </view>
- </view> -->
- </view>
- </template>
- <script>
- export default {
- data() {
- return {
- //待办相关
- db: {
- pageNum: 1,
- pageSize: 20,
- fkFlow: null,
- title: null,
- token: uni.getStorageSync('jtoken')
- },
- numList: {},
- type: "error",
- value: 100,
- num: 0,
- kq: false,
- gwShow: false,
- rcbgShow: false,
- fwBlock: false,
- qjBlock: false,
- ccbaBlock: false,
- wcskBlock: false,
- xxfbshBlock: false,
- xslwspBlock: false,
- tbsqBlock: false,
- dbsxBlock: false,
- zbtjBlock: false,
- yzsqBlock: false,
- sqycBlock: false,
- htyzBlock: false,
- qtyyShow: false,
- kqglShow: false,
- zbglShow: false,
- totalValue: null
- }
- },
- onLoad() {
- uni.$u.http.get('/getInfo').then(res => {
- console.log('res', res)
- res.permissions.filter((item) => {
- if (
- item == "lcqd:fw:start" ||
- item == "lcqd:sw:start" ||
- item == "*:*:*"
- ) {
- this.gwShow = true;
- }
- if (
- item == "lcqd:qj:start" ||
- item == "lcqd:ccba:start" ||
- item == "lcqd:wcsk:start" ||
- item == "lcqd:xxfbsh:start" ||
- item == "lcqd:xslwsp:start" ||
- item == "lcqd:tbsq:start" ||
- item == "lcqd:sqyc:start" ||
- item == "lcqd:dbsx:start" ||
- item == "lcqd:zbtj:start" ||
- item == "lcqd:yzsq:start" ||
- item == "lcqd:htyz:start" ||
- item == "*:*:*"
- ) {
- this.rcbgShow = true;
- }
- if (item == 'oa:attendance:index' || item == 'duty:dutyl:list' ||
- item == "*:*:*") {
- this.qtyyShow = true
- }
- if (item == 'oa:attendance:index' ||
- item == "*:*:*") {
- this.kqglShow = true
- }
- if (item == 'duty:dutyl:list' ||
- item == "*:*:*") {
- this.zbglShow = true
- }
- if (item == "lcqd:fw:start" ||
- item == "*:*:*") {
- this.fwBlock = true
- }
- if (item == 'lcqd:sw:start' ||
- item == "*:*:*") {
- this.swBlock = true
- }
- if (item == 'lcqd:qj:start' ||
- item == "*:*:*") {
- this.qjBlock = true
- }
- if (item == 'lcqd:ccba:start' ||
- item == "*:*:*") {
- this.ccbaBlock = true
- }
- if (item == 'lcqd:wcsk:start' ||
- item == "*:*:*") {
- this.wcskBlock = true
- }
- if (item == 'lcqd:xxfbsh:start' ||
- item == "*:*:*") {
- this.xxfbshBlock = true
- }
- if (item == 'lcqd:xslwsp:start' ||
- item == "*:*:*") {
- this.xslwspBlock = true
- }
- if (item == 'lcqd:tbsq:start' ||
- item == "*:*:*") {
- this.tbsqBlock = true
- }
- if (item == 'lcqd:dbsx:start' ||
- item == "*:*:*") {
- this.dbsxBlock = true
- }
- if (item == 'lcqd:sqyc:start' ||
- item == "*:*:*") {
- this.sqycBlock = true
- }
- if (item == 'lcqd:yzsq:start' ||
- item == "*:*:*") {
- this.yzsqBlock = true
- }
- if (item == 'lcqd:zbtj:start' ||
- item == "*:*:*") {
- this.zbtjBlock = true
- }
- if (item == 'lcqd:htyz:start' ||
- item == "*:*:*") {
- this.htyzBlock = true
- }
- });
- })
- },
- onShow() {
- this.kq = uni.getStorageSync('type')
- console.log('kq', this.kq)
- this.getdbNum()
- this.getUnreadEmail()
- this.getdbTotal()
- },
- watch: {
- 'num': {
- handler: function(v, o) {
- if (this.num > 0) {
- this.$forceUpdate()
- }
- },
- deep: true
- },
- },
- methods: {
- getdbTotal() {
- uni.$u.http.get('/offcial/supervision/dblist', {
- params: this.db
- }).then(res => {
- console.log('res', res)
- this.totalValue = res.total
- // uni.hideLoading()
- // this.dbList = [...this.dbList, ...res.rows]
- // if (res.total <= this.db.pageSize) {
- // this.statusList[0] = "nomore"
- // } else {
- // this.statusList[0] = "loadmore"
- // }
- // this.$forceUpdate()
- // this.dbTotal = Math.ceil(res.total / this.db.pageSize)
- })
- },
- // 周报
- weekly() {
- uni.navigateTo({
- url: "/pages/weekly/weekly"
- })
- },
- //收发文
- shouwen(v, i, t) {
- uni.navigateTo({
- url: `/pages/shouwen/shouwen?title=${v}&fkFlow=${i}&type=${t}`
- })
- },
- //考勤
- kaoqin() {
- uni.navigateTo({
- url: "/pages/kaoqin/kaoqin"
- })
- },
- // 值班
- zhiban() {
- uni.navigateTo({
- url: "/pages/zhibananpai/zhibananpai"
- })
- },
- //日常办公
- dailyWork(v, i, t) {
- uni.navigateTo({
- url: `/pages/dailyWork/dailyWork?title=${v}&fkFlow=${i}&type=${t}`
- })
- },
- //查询待办数量
- getdbNum() {
- let that = this
- uni.$u.http.get('/jflow/restful/DB_Todolist_Num?token=' + uni.getStorageSync('jtoken')).then(res => {
- if (res.code == 200) {
- this.num = 0
- this.numList = {}
- if (res.list.length > 0) {
- let qwe = 0
- for (let i in res.list) {
- if (res.list[i].FK_Flow != '008' & res.list[i].FK_Flow != '016') {
- qwe = res.list[i].Total + qwe
- this.numList[res.list[i].FK_Flow] = res.list[i].Total
- this.num++
- }
- console.log('qwe', qwe)
- console.log('total', that.totalValue)
- if (qwe == '0') {
- qwe = that.totalValue
- } else {
- qwe = qwe + that.totalValue
- }
- console.log('qwe', qwe)
- if (i == res.list.length - 1) {
- this.$forceUpdate()
- uni.setTabBarBadge({ //显示数字
- index: 1, //tabbar下标
- text: '' + qwe + '' //数字
- })
- }
- }
- } else {
- this.$forceUpdate()
- uni.removeTabBarBadge({ //显示数字
- index: 1, //tabbar下标
- })
- }
- }
- })
- },
- //获取未读邮件
- getUnreadEmail() {
- uni.$u.http.get('/oa/mail/count/unread').then(res => {
- if (res == 0) {
- uni.removeTabBarBadge({ //显示数字
- index: 2, //tabbar下标
- })
- } else {
- uni.setTabBarBadge({ //显示数字
- index: 2, //tabbar下标
- text: '' + res + '' //数字
- })
- }
- })
- },
- }
- }
- </script>
- <style lang="scss" scoped>
- .grid-text {
- font-size: 28rpx;
- color: #606266;
- padding: 10rpx 0 20rpx 0rpx;
- /* #ifndef APP-PLUS */
- box-sizing: border-box;
- /* #endif */
- }
- ::v-deep .u-badge {
- width: 36rpx;
- height: 36rpx;
- display: flex;
- font-size: 28rpx;
- align-items: center;
- justify-content: center;
- // font-weight: bold;
- }
- </style>
|