2026.1.19
1. 新增台账提交期限可配置
2. 新增自巡查可承诺(待完成)
| | |
| | | "pages/mLearn/learn/learn", |
| | | "pages/mLearn/learfile/learnfile", |
| | | "pages/mLearn/learncase/learncase", |
| | | "pages/mLedger/ledgerhome/ledgerhome", |
| | | "pages/mLedger/ledgerupload/ledgerupload", |
| | | "pages/mLedger/ledgerhistory/ledgerhistory", |
| | | "pages/mNotice/notice/notice", |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | /** |
| | | * 仿å¡å¨å è½½å¨æé
ç½® |
| | | */ |
| | | |
| | | import configservice from '../service/configservice'; |
| | | |
| | | const app = getApp(); |
| | | |
| | | function loadConfig() { |
| | | const pList = []; |
| | | const userId = app.globalData.accessToken.userId; |
| | | const f1 = new Promise((resolve, reject) => { |
| | | configservice.fetchUserSetting(userId, { |
| | | success: res => { |
| | | if (res.data) { |
| | | app.globalData.userSetting = res.data |
| | | } else { |
| | | app.globalData.userSetting = {} |
| | | } |
| | | // å°è´¦æäº¤æé |
| | | if (app.globalData.userSetting.ledgerDeadline == undefined) { |
| | | app.globalData.userSetting.ledgerDeadline = 10 |
| | | } |
| | | // èªå·¡æ¥æ¯å¦å
许æ¿è¯ºä¸å¹´å
æ ééå¤æäº¤ |
| | | if (app.globalData.userSetting.selfPatrolPromise == undefined) { |
| | | app.globalData.userSetting.selfPatrolPromise = false |
| | | } |
| | | wx.setStorage({ |
| | | key: 'user_setting', |
| | | data: res.data, |
| | | }); |
| | | console.log('app.globalData.userSetting', app.globalData.userSetting); |
| | | resolve() |
| | | }, |
| | | fail: e => { |
| | | reject(e) |
| | | } |
| | | }); |
| | | }); |
| | | |
| | | pList.push(f1); |
| | | return Promise.all(pList); |
| | | } |
| | | |
| | | export { |
| | | loadConfig |
| | | }; |
| | |
| | | const moment = require('../utils/moment.min'); |
| | | const app = getApp(); |
| | | |
| | | function name(params) { |
| | | const DEADLINEDAY = 10; |
| | | const DEADLINEDAY = app.globalData.userSetting.ledgerDeadline; |
| | | let monthInfo = { |
| | | totalMust: 0, |
| | | finishedMust: 0, |
| | |
| | | .page__title { |
| | | margin-left: 10px; |
| | | font-size: 18px; |
| | | font-weight: 600; |
| | | color: var(--fyui-text-color_1); |
| | | /* font-weight: 600; */ |
| | | white-space: nowrap; |
| | |
| | | |
| | | Page({ |
| | | //æ¯æå°è´¦æäº¤æéæ¥ |
| | | DEADLINEDAY: 10, |
| | | DEADLINEDAY: app.globalData.userSetting.ledgerDeadline, |
| | | behaviors: [useTab, useSummary, useToolbar, useList], |
| | | data: { |
| | | tabList: [], |
| | |
| | | @import '../ledgerhome/ledgerhome.wxss'; |
| | | @import '../ledgerhome/ledgerhome.wxss';.banner-bg { |
| | | position: fixed; |
| | | width: 100%; |
| | | height: 60%; |
| | | background: linear-gradient(to bottom, #57E4CB, #83b6ae); |
| | | } |
| | | |
| | | .page__hd { |
| | | /* text-align: center; */ |
| | | display: flex; |
| | | flex-flow: column; |
| | | justify-content: flex-start; |
| | | /* color: #50854C; */ |
| | | color: white; |
| | | padding: 8px 16px; |
| | | } |
| | | |
| | | .card{ |
| | | height: 26vh; |
| | | /* background-color: royalblue; */ |
| | | } |
| | | |
| | | .head_row{ |
| | | display: flex; |
| | | /* padding: 0 30px; */ |
| | | justify-content: space-between; |
| | | align-items: baseline; |
| | | } |
| | | |
| | | .head_row_item{ |
| | | text-align: center; |
| | | /* width: 20vw; */ |
| | | flex: 1; |
| | | /* background-color: red; */ |
| | | } |
| | | |
| | | .head_row_item_tag{ |
| | | font-size: 12px; |
| | | font-weight: 559; |
| | | } |
| | | |
| | | .head_right { |
| | | text-align: end; |
| | | font-size: 12px; |
| | | /* background-color: brown; */ |
| | | margin-bottom: 8px; |
| | | vertical-align: middle; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | } |
| | | |
| | | .head_tag{ |
| | | font-size: 12px; |
| | | color: white; |
| | | } |
| | | |
| | | .head_btn{ |
| | | /* background-color: rgb(11, 90, 77); |
| | | padding: 4px 6px; |
| | | border-radius: 4px; */ |
| | | background-color: initial; |
| | | padding: 4px 0px; |
| | | border-radius: 4px; |
| | | } |
| | | |
| | | .head_btn:active{ |
| | | background-color: rgba(11, 90, 77, 0.5); |
| | | } |
| | | |
| | | .head_tag>text { |
| | | font-size: 40px; |
| | | font-weight: 600; |
| | | } |
| | | |
| | | .head_1 { |
| | | font-size: 30px; |
| | | } |
| | | |
| | | .head_1_big{ |
| | | font-size: 30px; |
| | | } |
| | | |
| | | .head_3 { |
| | | font-size: 12px; |
| | | margin-bottom: 16px; |
| | | } |
| | | |
| | | .page__bd { |
| | | padding-bottom: 0; |
| | | } |
| | | |
| | | .swiper-tab{ |
| | | width: 100%; |
| | | text-align: center; |
| | | line-height: 80rpx; |
| | | white-space: nowrap; |
| | | z-index: 2; |
| | | /* background-color: #65EAD2; */ |
| | | /* background-color: #70ea65; */ |
| | | /* padding: 2px; */ |
| | | } |
| | | |
| | | .swiper-tab_view{ |
| | | /* background-color: blueviolet; */ |
| | | } |
| | | |
| | | .swiper-tab-list{ |
| | | position: relative; |
| | | font-size: 30rpx; |
| | | display: inline-block; |
| | | min-width: 18%; |
| | | padding: 0 16px; |
| | | color: rgba(255, 255, 255, 0.658); |
| | | } |
| | | |
| | | .swiper-tab-list__tag{ |
| | | position: absolute; |
| | | top: 2px; |
| | | right: 4px; |
| | | font-size: 10px; |
| | | line-height: 16px; |
| | | width: 16px; |
| | | background-color: brown; |
| | | border-radius: 50%; |
| | | } |
| | | |
| | | .on{ |
| | | color: white; |
| | | font-weight: bold; |
| | | border-bottom: 4rpx solid white; |
| | | } |
| | | |
| | | .swiper-box{ |
| | | display: block; |
| | | top: 80rpx; |
| | | width: 100%; |
| | | margin-top: 1px; |
| | | background-color: white; |
| | | } |
| | | |
| | | .ledger-group { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | /* background-color: white; */ |
| | | justify-content: flex-start; |
| | | } |
| | | |
| | | .ledger-item { |
| | | position: relative; |
| | | width: 33.33333vw; |
| | | text-align: center; |
| | | /* background-color: teal; */ |
| | | margin-top: 16px; |
| | | margin-bottom: 16px; |
| | | font-size: x-small; |
| | | } |
| | | |
| | | .ledger-item:active{ |
| | | background-color: var(--fyui-BG-COLOR-ACTIVE); |
| | | } |
| | | |
| | | .ledger-icon { |
| | | width: 60px; |
| | | height: 60px; |
| | | } |
| | | |
| | | .ledger-tag { |
| | | position: absolute; |
| | | right: 6vw; |
| | | top: 6px; |
| | | width: 32px; |
| | | height: 16px; |
| | | color: white; |
| | | padding: 1px; |
| | | border-radius: 50%; |
| | | font-size: 10px; |
| | | } |
| | | |
| | | /* .head_right { |
| | | |
| | | } */ |
| | | |
| | | /* .head_btn{ |
| | | background-color: initial; |
| | | padding: 4px 0px; |
| | | border-radius: 4px; |
| | | } */ |
| | |
| | | import { parseSelfPatrol, refreshLedgerStatus } from '../../../../model/ledger'; |
| | | import configservice from '../../../../service/configservice'; |
| | | const ledgerservice = require('../../../../service/ledgerservice'); |
| | | const moment = require('../../../../utils/moment.min'); |
| | | const app = getApp(); |
| | |
| | | thisMonth: '', |
| | | tags1: { count: 0 }, |
| | | pageList1: [], |
| | | // æ¯å¦ææéå¯ä»¥è¿è¡èªå·¡æ¥æ¿è¯º |
| | | promiseValid: app.globalData.userSetting.selfPatrolPromise, |
| | | promised: false |
| | | }, |
| | | |
| | | lifetimes: { |
| | |
| | | }); |
| | | }, |
| | | |
| | | getPromise() { |
| | | configservice.fetchUserSettingRecord(app.globalData.accessToken.userId, { |
| | | success: res => { |
| | | |
| | | }, |
| | | }) |
| | | }, |
| | | |
| | | getLedgerType(time, success, lastMonth) { |
| | | var that = this; |
| | | ledgerservice.getLedgerSummary( |
| | |
| | | <!-- <scroll-view |
| | | bindrefresherrefresh="init" |
| | | refresher-enabled |
| | | refresher-triggered="{{refresh}}" |
| | | scroll-y |
| | | style="height: 90vh;" |
| | | > --> |
| | | <view class="self-patrol-promise" bindtap="gotoPromise"> |
| | | <t-icon name="notification-error" size="32rpx"/> |
| | | <text class="promise-text"></text> |
| | | <text class="promise_btn">廿¿è¯º ></text> |
| | | </view> |
| | | <view class="self-patrol-static"> |
| | | <view> {{thisMonth}} </view> |
| | | <view class="head_right"> |
| | | <view style="font-size: 14px"> {{thisMonth}} </view> |
| | | <text class="head_btn" bindtap="gotoHistory">åå²è®°å½ ></text> |
| | | </view> |
| | | <view class="head_row"> |
| | | <view class="head_row_item"> |
| | | <view class="head_tag">èªå·¡æ¥æäº¤æ°</view> |
| | |
| | | >{{progress}}<text class="head_row_item_tag">%</text></view |
| | | > |
| | | </view> |
| | | </view> |
| | | <view class="head_right"> |
| | | <text class="head_btn" bindtap="gotoHistory">åå²è®°å½ ></text> |
| | | </view> |
| | | <!-- <view class="self-patrol-progress"> |
| | | <t-progress percentage="{{progress}}" /> |
| | |
| | | t-class-text="grid-item" |
| | | /> |
| | | </t-grid> |
| | | <!-- </scroll-view> --> |
| | |
| | | .self-patrol-promise { |
| | | color: var(--fyui-text-color_1); |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | font-size: 12px; |
| | | padding: 8rpx 8rpx; |
| | | background-color: var(--fyui-primary-color-2); |
| | | } |
| | | .promise_btn { |
| | | font-weight: 600; |
| | | white-space: nowrap; |
| | | } |
| | | .promise-text { |
| | | /* white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; */ |
| | | position: relative; |
| | | display: -webkit-box; |
| | | -webkit-line-clamp: 1; |
| | | -webkit-box-orient: vertical; |
| | | overflow-x: hidden; |
| | | text-overflow: ellipsis; |
| | | width: 80%; |
| | | height: 20px; |
| | | line-height: 20px; |
| | | } |
| | | .promise-text::after { |
| | | content: "ç¾ç½²èªå·¡æ¥æ¿è¯ºï¼å¯å°èªå·¡æ¥æææå»¶é¿ä¸ºå½å¹´ææï¼"; |
| | | position: absolute; |
| | | top: 0; |
| | | left: 0%; |
| | | white-space: nowrap; |
| | | animation: scrollText 10s linear 0s infinite normal; |
| | | } |
| | | |
| | | @keyframes scrollText { |
| | | 0% { |
| | | transform: translateX(100%); /* å¼å§ä½ç½® */ |
| | | } |
| | | 100% { |
| | | transform: translateX(-100%); /* ç»æä½ç½®ï¼æ ¹æ®éè¦è°æ´ */ |
| | | } |
| | | } |
| | | |
| | | .self-patrol-static { |
| | | padding: 16rpx 32rpx; |
| | | margin: 16rpx 32rpx; |
| | | padding: 4rpx; |
| | | background-color: white; |
| | | border-radius: 8px; |
| | | } |
| | | |
| | | .self-patrol-progress { |
| | |
| | | } |
| | | |
| | | .head_right { |
| | | text-align: end; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | font-size: 12px; |
| | | /* background-color: brown; */ |
| | | margin-bottom: 8px; |
| | | vertical-align: middle; |
| | | /* vertical-align: middle; */ |
| | | } |
| | | |
| | | .head_tag{ |
| | | font-size: 12px; |
| | | color: var(--fyui-text-color_3); |
| | | color: var(--fyui-text-color_2); |
| | | } |
| | | |
| | | .head_btn{ |
| | |
| | | padding: 4px 6px; |
| | | border-radius: 4px; |
| | | color: white; |
| | | white-space: nowrap; |
| | | } |
| | | |
| | | .head_btn:active{ |
| | |
| | | <view class="page"> |
| | | <view class="page__hd"></view> |
| | | <!-- <view class="page__hd"></view> --> |
| | | <view class="page__bd"> |
| | | <t-self-patrol wx:if="{{!exist}}" /> |
| | | <t-tabs wx:else sticky stickyProps="{{stickyProps}}" defaultValue="{{0}}"> |
| | |
| | | import userservice from '../../../service/userservice' |
| | | import moment from '../../../utils/moment.min' |
| | | import { |
| | | loadConfig |
| | | } from "../../../config/loadConfig"; |
| | | |
| | | const app = getApp() |
| | | |
| | |
| | | }, |
| | | complete() { |
| | | // wx.hideLoading() |
| | | that.setData({ |
| | | loading: false |
| | | }) |
| | | // 2026.1.19 å è½½ç¶æç±ä¸é¢é
ç½®è·åæ¥å£ ç»æ |
| | | // that.setData({ |
| | | // loading: false |
| | | // }) |
| | | } |
| | | }) |
| | | }, |
| | |
| | | }, |
| | | |
| | | gotoHomePage() { |
| | | var that = this |
| | | if (app.globalData.accessToken.userName == 'pcheck') { |
| | | wx.navigateTo({ |
| | | url: '/pages/mExtra/pSupervisiontask/pSupervisiontask', |
| | |
| | | const now = moment() |
| | | app.globalData.newUser = now.diff(registerTime, 'months') <= 1 |
| | | } |
| | | console.log(app.globalData.newUser); |
| | | |
| | | console.log('app.globalData.newUser', app.globalData.newUser); |
| | | app.globalData.userInfo = data |
| | | app.globalData.isLogin = true |
| | | wx.setStorage({ |
| | | key: 'userInfo', |
| | | data: data, |
| | | success: (result) => { |
| | | loadConfig().then(() => { |
| | | wx.switchTab({ |
| | | url: '/pages/home/home', |
| | | }) |
| | | } |
| | | }) |
| | | .finally(() => { |
| | | that.setData({ |
| | | loading: false, |
| | | }); |
| | | }); |
| | | }, |
| | | fail: err => { |
| | | that.setData({ |
| | | loading: false, |
| | | }); |
| | | }, |
| | | }) |
| | | } |
| | | }) |
| | |
| | | }, |
| | | "description": "项ç®ç§æé
ç½®æä»¶ãæ¤æä»¶ä¸çå
容å°è¦ç project.config.json ä¸çç¸ååæ®µã项ç®çæ¹å¨ä¼å
忥尿¤æä»¶ä¸ãè¯¦è§ææ¡£ï¼https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", |
| | | "projectname": "ep-law-abiding", |
| | | "libVersion": "3.3.4" |
| | | "libVersion": "3.11.2" |
| | | } |
| | |
| | | const util = require('../utils/util.js'); |
| | | |
| | | // å°ç¨åºåå° |
| | | // const baseUrl = "http://192.168.0.138:8082" |
| | | const baseUrl = 'https://fyami.com.cn'; |
| | | const baseUrl = "http://192.168.1.9:8082" |
| | | // const baseUrl = 'https://fyami.com.cn'; |
| | | const bu = 'https://fyami.com.cn'; |
| | | const basePicUrl = `${bu}/images/`; |
| | | const baseIconUrl = `${bu}/images/weixin/eplaw/`; |
| | |
| | | const spBu = "https://fyami.com.cn:447" |
| | | const spPicUrl = `${spBu}/images/`; |
| | | |
| | | // const mode = 'debug'; |
| | | const mode = 'prod'; |
| | | const mode = 'debug'; |
| | | // const mode = 'prod'; |
| | | |
| | | function request(fun, hostUrl) { |
| | | const bUrl = hostUrl ? hostUrl : baseUrl; |
| | |
| | | const $f = require("./baserequest") |
| | | |
| | | module.exports = { |
| | | |
| | | // è·åç¨æ·çä¸å¡å±æ§é
置信æ¯ï¼ä¾å¦å°è´¦ä¸æ¥æ¥æï¼èªå·¡æ¥æ¯å¦éè¦æ¿è¯ºçï¼ |
| | | fetchUserSetting(userId, fun) { |
| | | let cb = { |
| | | url: `/config/user/setting`, |
| | | params: { |
| | | userId: userId, |
| | | } |
| | | } |
| | | Object.assign(cb, fun) |
| | | |
| | | $f.get(cb) |
| | | }, |
| | | |
| | | // è·åç¨æ·çä¸å¡å±æ§é
ç½®ç»æï¼ä¾å¦èªå·¡æ¥æ¯å¦å·²ç»æ¿è¯ºçï¼ |
| | | fetchUserSettingRecord(userId, fun) { |
| | | let cb = { |
| | | url: `/config/user/setting/record`, |
| | | params: { |
| | | userId: userId, |
| | | } |
| | | } |
| | | Object.assign(cb, fun) |
| | | |
| | | $f.get(cb) |
| | | } |
| | | } |