From a2c5def7cf9562312a54216bc195a6ea071a26c5 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 21 一月 2026 17:38:36 +0800
Subject: [PATCH] 2026.1.21
---
component/uploader/uploader.wxml | 110 ++++--
pages/mSelfPatrol/components/self-patrol/index.wxml | 4
component/actionsheet/actionsheet.wxml | 2
component/uploader/uploader.wxss | 65 ++++
pages/mLedger/home/tab.js | 34 ++
config/loadConfig.js | 1
pages/mLedger/ledgerupload/ledgerupload.wxss | 48 +++
service/ledgerservice.js | 21 +
component/actionsheet/actionsheet.js | 5
pages/mLedger/ledgerupload/ledgerupload.js | 135 ++++++++-
pages/mLedger/ledgerupload/ledgerupload.wxml | 82 +----
component/uploader/uploader.json | 3
pages/mSelfPatrol/patrolpromise/index.js | 11
pages/mLedger/behaviors/bUploadLedger.js | 15 +
pages/mLedger/behaviors/bUploadSelfPatrol.js | 2
pages/mLedger/home/index.js | 62 ++--
component/uploader/uploader.js | 188 +++++++++++--
pages/mSelfPatrol/components/self-patrol/index.js | 15 +
pages/mSelfPatrol/patrolpromise/index.wxml | 32 +-
19 files changed, 632 insertions(+), 203 deletions(-)
diff --git a/component/actionsheet/actionsheet.js b/component/actionsheet/actionsheet.js
index e89857b..f166293 100644
--- a/component/actionsheet/actionsheet.js
+++ b/component/actionsheet/actionsheet.js
@@ -105,6 +105,11 @@
type: String,
value: ''
},
+ showClose: {
+ // 鏄惁鏄剧ず鍏抽棴鎸夐挳
+ type: Boolean,
+ value: true
+ },
showCancel: {
// 鏄惁鏄剧ず鍙栨秷鎸夐挳
type: Boolean,
diff --git a/component/actionsheet/actionsheet.wxml b/component/actionsheet/actionsheet.wxml
index 78e6ef2..7baa8ff 100644
--- a/component/actionsheet/actionsheet.wxml
+++ b/component/actionsheet/actionsheet.wxml
@@ -14,7 +14,7 @@
<view wx:if="{{mask}}" class="weui-mask {{show ? '' : 'weui-mask_hidden'}} {{maskClass}}" bindtap="closeActionSheet"></view>
<view class="weui-actionsheet {{show ? 'weui-actionsheet_toggle' : ''}} {{extClass}}">
<!-- 鍏抽棴鍥炬爣 -->
- <view class="close">
+ <view wx:if="{{showClose}}" class="close">
<mp-icon bindtap="closeActionSheet" icon="close" size="{{20}}"></mp-icon>
</view>
<!-- 鏍囬 -->
diff --git a/component/uploader/uploader.js b/component/uploader/uploader.js
index 889eea3..0e1e484 100644
--- a/component/uploader/uploader.js
+++ b/component/uploader/uploader.js
@@ -238,12 +238,24 @@
data: {
currentFiles: [],
showPreview: false,
- previewImageUrls: []
+ previewImageUrls: [],
+ groups: [{
+ text: '閫夋嫨鍥剧墖',
+ value: 0
+ }, {
+ text: '浠庤亰澶╄褰曢�夋嫨鏂囦欢',
+ value: 1
+ }],
},
ready() {},
methods: {
+ showActionSheet() {
+ this.setData({
+ showSheet: true
+ })
+ },
previewImage(e) {
const {
index
@@ -258,15 +270,42 @@
showPreview: true
});
},
+ previewFile(e) {
+ const {
+ index
+ } = e.currentTarget.dataset;
+ const file = this.data.files[index]
+ wx.openDocument({
+ filePath: file.url,
+ });
+ },
+ actionClick(e) {
+ switch (e.detail.value) {
+ case 0:
+ this.chooseImage()
+ break;
+ case 1:
+ this.chooseMessageFile()
+ break;
+ default:
+ this.chooseImage()
+ break;
+ }
+ this.setData({
+ showSheet: false
+ })
+ },
chooseImage() {
if (this.uploading) return;
- wx.chooseImage({
+ wx.chooseMedia({
count: this.data.maxCount - this.data.files.length,
- sizeType:['compressed'],
+ sizeType: ['compressed'],
+ mediaType: ['image'],
success: res => {
console.log('chooseImage resp', res)
// 棣栧厛妫�鏌ユ枃浠跺ぇ灏�
let invalidIndex = -1; // @ts-ignore
+ res.tempFilePaths = res.tempFiles.map(item => item.tempFilePath)
res.tempFiles.forEach((item, index) => {
if (item.size > this.data.maxSize) {
invalidIndex = index;
@@ -287,7 +326,7 @@
}, {});
return;
} // 鑾峰彇鏂囦欢鍐呭
-
+
const mgr = wx.getFileSystemManager();
const contents = res.tempFilePaths.map(item => {
@@ -302,40 +341,23 @@
}; // 瑙﹀彂閫変腑鐨勪簨浠讹紝寮�鍙戣�呮牴鎹唴瀹规潵涓婁紶鏂囦欢锛屼笂浼犱簡鎶婁笂浼犵殑缁撴灉鍙嶉鍒癴iles灞炴�ч噷闈�
this.triggerEvent('select', obj, {});
- // const files = res.tempFilePaths.map((item, i) => ({
- // loading: true,
- // // @ts-ignore
- // url: `data:image/jpg;base64,${wx.arrayBufferToBase64(contents[i])}`
- // }));
- // var locationPath = []
- // res.tempFilePaths.forEach(item =>{
- // wx.getImageInfo({
- // src: item,
- // success(data){
- // console.log(data)
- // locationPath = data.path
- // }
- // })
- // })
-
- let files = res.tempFilePaths.map((item, i) => ({
+
+ let files = res.tempFiles.map((item, i) => ({
loading: true,
- url: item
+ url: item.tempFilePath,
+ type: item.fileType,
}))
//鍘嬬缉鍥剧墖
wx.compressImage({
- src:files[0].url,
- quality:20,
- success(data){
+ src: files[0].url,
+ quality: 20,
+ success(data) {
console.log('compressImage', data)
},
- fail(){
+ fail() {
}
})
-
-
-
if (!files || !files.length) return;
const newFiles = this.data.files.concat(files);
@@ -357,7 +379,112 @@
}
});
},
+ chooseMessageFile() {
+ if (this.uploading) return;
+ wx.chooseMessageFile({
+ count: this.data.maxCount - this.data.files.length,
+ type: 'file',
+ extension: ['xls', 'xlsx', 'csv', 'doc', 'docx', 'pdf', 'ppt', 'pptx'],
+ success: res => {
+ console.log('chooseMessageFile', res)
+ // 棣栧厛妫�鏌ユ枃浠跺ぇ灏�
+ let invalidIndex = -1; // @ts-ignore
+ res.tempFilePaths = res.tempFiles.map(item => item.path)
+ res.tempFiles.forEach((item, index) => {
+ if (item.size > this.data.maxSize) {
+ invalidIndex = index;
+ }
+ });
+ if (typeof this.data.select === 'function') {
+ const ret = this.data.select(res);
+ if (ret === false) {
+ return;
+ }
+ }
+ if (invalidIndex >= 0) {
+ this.triggerEvent('fail', {
+ type: 1,
+ errMsg: `chooseMessageFile:fail size exceed ${this.data.maxSize}`,
+ total: res.tempFilePaths.length,
+ index: invalidIndex
+ }, {});
+ return;
+ } // 鑾峰彇鏂囦欢鍐呭
+
+ const mgr = wx.getFileSystemManager();
+ const contents = res.tempFilePaths.map(item => {
+ // @ts-ignore
+ const fileContent = mgr.readFileSync(item);
+ return fileContent;
+ });
+ const obj = {
+ tempFilePaths: res.tempFilePaths,
+ tempFiles: res.tempFiles,
+ contents
+ }; // 瑙﹀彂閫変腑鐨勪簨浠讹紝寮�鍙戣�呮牴鎹唴瀹规潵涓婁紶鏂囦欢锛屼笂浼犱簡鎶婁笂浼犵殑缁撴灉鍙嶉鍒癴iles灞炴�ч噷闈�
+
+ this.triggerEvent('select', obj, {});
+
+ let files = res.tempFiles.map((item, i) => {
+ // 鍒ゆ柇鏂囦欢绫诲瀷锛屽搴斾笉鍚屾牱寮�
+ let extensionClass = ''
+ switch (item.name.split('.')[1]) {
+ case 'xls':
+ case 'xlsx':
+ case 'csv':
+ extensionClass = 'file_xlsx'
+ break;
+ case 'doc':
+ case 'docx':
+ extensionClass = 'file_word'
+ break;
+ case 'pdf':
+ extensionClass = 'file_pdf'
+ break;
+ case 'ppt':
+ case 'pptx':
+ extensionClass = 'file_ppt'
+ break;
+ default:
+ break;
+ }
+ // 鎷嗗垎鏂囦欢鍚嶇О锛屽疄鐜版枃鏈繃闀挎椂锛屼腑闂寸渷鐣�
+ const ellipsisName = {
+ start: item.name.slice(0, -5),
+ // 鍙栨湯灏�5涓瓧绗﹀父鎬佹樉绀�
+ end: item.name.substr(-5, 5)
+ }
+ // 鏂囦欢澶у皬鏍煎紡鍖�
+ let size = parseInt(item.size / 1024)
+ if (size > 1024) {
+ size = parseInt(size / 1024) + ' MB'
+ } else {
+ size += ' KB'
+ }
+ return {
+ loading: true,
+ url: item.path,
+ name: item.name,
+ ellipsisName,
+ styleClass: extensionClass,
+ type: item.type,
+ time: item.time,
+ size
+ }
+ })
+ if (!files || !files.length) return;
+ const newFiles = this.data.files.concat(files);
+ this.setData({
+ files: newFiles,
+ currentFiles: newFiles
+ });
+ this.triggerEvent('uploadImg', {
+ newFiles
+ }, {})
+ }
+ })
+ },
deletePic(e) {
const index = e.detail.index;
const files = this.data.files;
@@ -370,7 +497,8 @@
index,
item: file[0]
});
- }
+ },
+
}
});
diff --git a/component/uploader/uploader.json b/component/uploader/uploader.json
index e3479ce..834dd12 100644
--- a/component/uploader/uploader.json
+++ b/component/uploader/uploader.json
@@ -1,6 +1,7 @@
{
"component": true,
"usingComponents": {
- "mp-gallery": "../gallery/gallery"
+ "mp-gallery": "../gallery/gallery",
+ "mp-actionSheet": "/component/actionsheet/actionsheet"
}
}
diff --git a/component/uploader/uploader.wxml b/component/uploader/uploader.wxml
index 2b17a15..3e09af0 100644
--- a/component/uploader/uploader.wxml
+++ b/component/uploader/uploader.wxml
@@ -15,48 +15,68 @@
<view class="weui-uploader__bd">
<view class="weui-uploader__files">
<block wx:for="{{currentFiles}}" wx:key="*this">
- <view
- wx:if="{{item.error}}"
- data-index="{{index}}"
- bindtap="previewImage"
- class="weui-uploader__file weui-uploader__file_status"
- >
- <image
- class="weui-uploader__img"
- src="{{item.url}}"
- mode="aspectFill"
- />
- <view class="weui-uploader__file-content">
- <icon type="warn" size="23" color="#F43530"></icon>
+ <!-- 鍥剧墖 -->
+ <block wx:if="{{item.type == 'image'}}">
+ <view
+ wx:if="{{item.error}}"
+ data-index="{{index}}"
+ bindtap="previewImage"
+ class="weui-uploader__file weui-uploader__file_status"
+ >
+ <image
+ class="weui-uploader__img"
+ src="{{item.url}}"
+ mode="aspectFill"
+ />
+ <view class="weui-uploader__file-content">
+ <icon type="warn" size="23" color="#F43530"></icon>
+ </view>
</view>
- </view>
- <view
- wx:elif="{{item.loading}}"
- data-index="{{index}}"
- bindtap="previewImage"
- class="weui-uploader__file weui-uploader__file_status"
- >
- <image
- class="weui-uploader__img"
- src="{{item.url}}"
- mode="aspectFill"
- />
- <view class="weui-uploader__file-content">
- <view class="weui-loading"></view>
+ <view
+ wx:elif="{{item.loading}}"
+ data-index="{{index}}"
+ bindtap="previewImage"
+ class="weui-uploader__file weui-uploader__file_status"
+ >
+ <image
+ class="weui-uploader__img"
+ src="{{item.url}}"
+ mode="aspectFill"
+ />
+ <view class="weui-uploader__file-content">
+ <view class="weui-loading"></view>
+ </view>
</view>
- </view>
- <view
- wx:else
- class="weui-uploader__file"
- data-index="{{index}}"
- bindtap="previewImage"
- >
- <image
- class="weui-uploader__img"
- src="{{item.url}}"
- mode="aspectFill"
- />
- </view>
+ <view
+ wx:else
+ class="weui-uploader__file"
+ data-index="{{index}}"
+ bindtap="previewImage"
+ >
+ <image
+ class="weui-uploader__img"
+ src="{{item.url}}"
+ mode="aspectFill"
+ />
+ </view>
+ </block>
+ <block wx:elif="{{item.type == 'file'}}">
+ <view
+ data-index="{{index}}"
+ bindtap="previewFile"
+ class="weui-uploader__file"
+ >
+ <view class="{{'weui-uploader__img uploader-preview__file ' + styleClass}}">
+ <view class="wrap">
+ <span class="{{'txt ' + styleClass}}">{{item.name}}</span>
+ <span class="{{'filename ' + styleClass}}" data-title="{{item.name}}"
+ >{{item.name}}</span
+ >
+ </view>
+ <text class="unit">{{item.size + ' KB'}}</text>
+ </view>
+ </view>
+ </block>
</block>
</view>
<view
@@ -64,7 +84,7 @@
class="weui-uploader__input-box"
hover-class="weui-active"
>
- <view class="weui-uploader__input" bindtap="chooseImage"></view>
+ <view class="weui-uploader__input" bindtap="showActionSheet"></view>
</view>
</view>
</view>
@@ -77,3 +97,11 @@
img-urls="{{previewImageUrls}}"
current="{{previewCurrent}}"
></mp-gallery>
+<mp-actionSheet
+ bindactiontap="actionClick"
+ show="{{showSheet}}"
+ actions="{{groups}}"
+ showCancel="{{true}}"
+ showClose="{{false}}"
+>
+</mp-actionSheet>
diff --git a/component/uploader/uploader.wxss b/component/uploader/uploader.wxss
index e69de29..3a22cf2 100644
--- a/component/uploader/uploader.wxss
+++ b/component/uploader/uploader.wxss
@@ -0,0 +1,65 @@
+.uploader-preview__file {
+ --default-bg-color: #888888;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+ background-color: var(--default-bg-color);
+ color: white;
+ height: 100%;
+ font-size: 12px;
+}
+
+.wrap {
+ /* background-color: rgb(109, 109, 4); */
+ height: 3em;
+ line-height: 1.5;
+ overflow: hidden;
+ margin: 8rpx 8rpx 0 8rpx;
+}
+
+.wrap .txt {
+ display: block;
+ max-height: 3em;
+ /* margin: 8rpx 8rpx 0 8rpx; */
+}
+
+.wrap .filename {
+ position: relative;
+ /* display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical; */
+ /* display: none; */
+ top: -3em;
+ background-color: rgb(115, 172, 118);
+ /* background-color: var(--default-bg-color); */
+ overflow: hidden;
+ /* text-overflow: ellipsis; */
+ text-align: justify;
+ /* white-space: nowrap; */
+ /* margin: 8rpx 8rpx 0 8rpx; */
+}
+
+.filename::before {
+ content: attr(data-title);
+ width: 100%;
+ float: right;
+ margin-top: 1.5em;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ direction: rtl;
+ /* background-color: rgb(141, 141, 3); */
+ background-color: var(--default-bg-color);
+}
+
+.unit {
+ margin: 0rpx 8rpx 8rpx 8rpx;
+}
+
+.file_xlsx {}
+
+.file_word {}
+
+.file_pdf {}
+
+.file_ppt {}
\ No newline at end of file
diff --git a/config/loadConfig.js b/config/loadConfig.js
index ba9f4ac..729fae5 100644
--- a/config/loadConfig.js
+++ b/config/loadConfig.js
@@ -33,7 +33,6 @@
key: 'user_setting',
data: res.data,
});
- console.log('app.globalData.userSetting', app.globalData.userSetting);
resolve()
},
fail: e => {
diff --git a/pages/mLedger/behaviors/bUploadLedger.js b/pages/mLedger/behaviors/bUploadLedger.js
index fa10fc9..7077420 100644
--- a/pages/mLedger/behaviors/bUploadLedger.js
+++ b/pages/mLedger/behaviors/bUploadLedger.js
@@ -87,5 +87,20 @@
},
);
},
+
+ _uploadCopyLedger(copyLedgerList) {
+ const time = moment().format('YYYY-MM');
+ ledgerservice.copyLedger(app.globalData.accessToken.userId, time,copyLedgerList, {
+ success:res=>{
+ this.setData({ loading: false });
+ if (typeof this._success === 'function') {
+ this._success(res);
+ }
+ },
+ fail(err) {
+ this.setData({ loading: false });
+ },
+ })
+ }
},
});
diff --git a/pages/mLedger/behaviors/bUploadSelfPatrol.js b/pages/mLedger/behaviors/bUploadSelfPatrol.js
index 43200ed..94278af 100644
--- a/pages/mLedger/behaviors/bUploadSelfPatrol.js
+++ b/pages/mLedger/behaviors/bUploadSelfPatrol.js
@@ -6,7 +6,7 @@
const app = getApp();
/**
- * 鑷贰鏌ヤ笂浼犵鐞�
+ * 搴旀�ヨ嚜宸℃煡涓婁紶绠$悊
*/
module.exports = Behavior({
behaviors: [bUpload, bLoadingStatus],
diff --git a/pages/mLedger/home/index.js b/pages/mLedger/home/index.js
index 9401309..05fe77d 100644
--- a/pages/mLedger/home/index.js
+++ b/pages/mLedger/home/index.js
@@ -72,36 +72,36 @@
},
);
},
- gotoLedgerDetail(e) {
- var indexGroup = e.currentTarget.dataset.index;
- // var indexGroup = [parseInt(i[0]), parseInt(i[1])];
- var ledger = this.data.pageList[indexGroup[0]][indexGroup[1]];
+ // gotoLedgerDetail(e) {
+ // var indexGroup = e.currentTarget.dataset.index;
+ // // var indexGroup = [parseInt(i[0]), parseInt(i[1])];
+ // var ledger = this.data.pageList[indexGroup[0]][indexGroup[1]];
- var that = this;
- wx.navigateTo({
- url: '/pages/mLedger/ledgerupload/ledgerupload',
- events: {
- uploadOver: function (data) {
- let i = data.indexGroup;
- let { pageList, tabList } = that.data;
- tabList[i[0]].tag--;
- pageList[i[0]][i[1]].upLoad = true;
- pageList[i[0]][i[1]].tag = '/res/icons/round_check_fill.png';
- pageList[i[0]][i[1]].opacity = 0.7;
- that.setData({
- pageList,
- tabList,
- });
- },
- },
- success: res => {
- // 閫氳繃 eventChannel 鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
- res.eventChannel.emit('acceptDataFromOpenerPage', {
- ledger: ledger,
- indexGroup: indexGroup,
- type: 0,
- });
- },
- });
- },
+ // var that = this;
+ // wx.navigateTo({
+ // url: '/pages/mLedger/ledgerupload/ledgerupload',
+ // events: {
+ // uploadOver: function (data) {
+ // let i = data.indexGroup;
+ // let { pageList, tabList } = that.data;
+ // tabList[i[0]].tag--;
+ // pageList[i[0]][i[1]].upLoad = true;
+ // pageList[i[0]][i[1]].tag = '/res/icons/round_check_fill.png';
+ // pageList[i[0]][i[1]].opacity = 0.7;
+ // that.setData({
+ // pageList,
+ // tabList,
+ // });
+ // },
+ // },
+ // success: res => {
+ // // 閫氳繃 eventChannel 鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+ // res.eventChannel.emit('acceptDataFromOpenerPage', {
+ // ledger: ledger,
+ // indexGroup: indexGroup,
+ // type: 0,
+ // });
+ // },
+ // });
+ // },
});
diff --git a/pages/mLedger/home/tab.js b/pages/mLedger/home/tab.js
index 08b03a2..14648a9 100644
--- a/pages/mLedger/home/tab.js
+++ b/pages/mLedger/home/tab.js
@@ -11,6 +11,38 @@
},
onTabsClick(e){
- }
+ },
+ gotoLedgerDetail(e) {
+ var indexGroup = e.currentTarget.dataset.index;
+ // var indexGroup = [parseInt(i[0]), parseInt(i[1])];
+ var ledger = this.data.pageList[indexGroup[0]][indexGroup[1]];
+
+ var that = this;
+ wx.navigateTo({
+ url: '/pages/mLedger/ledgerupload/ledgerupload',
+ events: {
+ uploadOver: function (data) {
+ let i = data.indexGroup;
+ let { pageList, tabList } = that.data;
+ tabList[i[0]].tag--;
+ pageList[i[0]][i[1]].upLoad = true;
+ pageList[i[0]][i[1]].tag = '/res/icons/round_check_fill.png';
+ pageList[i[0]][i[1]].opacity = 0.7;
+ that.setData({
+ pageList,
+ tabList,
+ });
+ },
+ },
+ success: res => {
+ // 閫氳繃 eventChannel 鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+ res.eventChannel.emit('acceptDataFromOpenerPage', {
+ ledger: ledger,
+ indexGroup: indexGroup,
+ type: 0,
+ });
+ },
+ });
+ },
},
});
diff --git a/pages/mLedger/ledgerupload/ledgerupload.js b/pages/mLedger/ledgerupload/ledgerupload.js
index 2544bb5..38baa06 100644
--- a/pages/mLedger/ledgerupload/ledgerupload.js
+++ b/pages/mLedger/ledgerupload/ledgerupload.js
@@ -24,7 +24,14 @@
previewCurrent: 0,
showPreview: false,
+ // 涓婁紶妯″紡锛�0锛氭櫘閫氫笂浼狅紱1锛氫笉娑夊強锛�2锛氬欢鐢ㄥ鍒跺巻鍙茶褰�
uploadMode: 0,
+ // 绫诲瀷锛�0锛氬彴璐﹀拰鑷贰鏌ワ紱1锛氬簲鎬ヨ嚜宸℃煡
+ type: 0,
+ // 鍘嗗彶鏈�鏂拌褰�
+ lastLedger: undefined,
+
+
},
/**
@@ -55,6 +62,11 @@
});
that.checkStatus();
+
+ // 瀵逛簬鍙鍒剁殑骞朵笖涓嶆槸閲嶄紶鐘舵�佺殑鍙拌处锛岃幏鍙栨渶鏂扮殑鍘嗗彶璁板綍鐢ㄤ簬澶嶅埗
+ if (data.ledger.copy && !data.reUpload) {
+ that.getLatestLedger()
+ }
},
);
},
@@ -71,7 +83,11 @@
let remark = this.data.remark;
if (this.data.ledger.remark1) remark = this.data.ledger.remark1;
let remarkDisable = true;
- this.setData({ imgFiles, remark, remarkDisable });
+ this.setData({
+ imgFiles,
+ remark,
+ remarkDisable
+ });
} else if (this.data.ledger.upLoad) {
var that = this;
var userId = app.globalData.accessToken.userId;
@@ -88,7 +104,12 @@
let imgFiles = detail.path1;
let remark = detail.remark1 ? detail.remark1 : '';
let remarkDisable = true;
- that.setData({ imgFiles, remark, remarkDisable, detail });
+ that.setData({
+ imgFiles,
+ remark,
+ remarkDisable,
+ detail
+ });
}
}
},
@@ -102,13 +123,46 @@
let imgFiles = detail.path1;
let remark = detail.remark1 ? detail.remark1 : '';
let remarkDisable = true;
- that.setData({ imgFiles, remark, remarkDisable, detail });
+ that.setData({
+ imgFiles,
+ remark,
+ remarkDisable,
+ detail
+ });
}
}
},
});
}
}
+ },
+
+ // 鑾峰彇鏈�鏂颁竴娆$殑鍘嗗彶璁板綍锛岀敤浜庡欢鐢ㄥ鍒跺姛鑳�
+ getLatestLedger() {
+ var userId = app.globalData.accessToken.userId;
+ var typeId = this.data.ledger.ledgerSubTypeId;
+ var sceneType = app.globalData.userInfo.extension2;
+ this.setData({
+ latestLedgerLoading: true
+ })
+ ledgerservice.getLedgerDetail(userId, typeId, sceneType, null, {
+ success: (res) => {
+ if (res.length > 0) {
+ const ledger = res[0]
+ this.setData({
+ lastLedger: {
+ ...ledger,
+ _updateTimeStr: moment(ledger.updateDate).format('YYYY骞碝M鏈圖D鏃�')
+ }
+ })
+ }
+ },
+ complete: () => {
+ this.setData({
+ latestLedgerLoading: false
+ })
+ }
+ });
},
// 涓婁紶鍙拌处
@@ -134,26 +188,62 @@
});
},
+ // 寤剁敤澶嶅埗鍙拌处
+ onCopyLedger() {
+ if (this.data.latestLedgerLoading) {
+ return
+ } else if (this.data.lastLedger == undefined) {
+ wx.showToast({
+ title: '娌℃湁鍙欢鐢ㄧ殑璁板綍',
+ icon: 'none',
+ });
+ } else {
+ this.setData({
+ showDialog: true,
+ uploadMode: 2,
+ });
+ }
+ },
+
//鎻愪氦鍙拌处
submitLedger() {
this.setData({
showDialog: false,
});
- if (this.data.uploadMode == 0) {
- if (this.data.type == 0) {
- this._uploadLedger();
- } else {
- this._uploadSelfPatrol();
- }
- } else {
- if (this.data.type == 0) {
- this._uploadNoLedger();
- } else {
- this._uploadNoSelfPatrol();
- }
+ switch (this.data.uploadMode) {
+ case 0:
+ if (this.data.type == 0) {
+ this._uploadLedger();
+ } else {
+ this._uploadSelfPatrol();
+ }
+ break;
+ case 1:
+ if (this.data.type == 0) {
+ this._uploadNoLedger();
+ } else {
+ this._uploadNoSelfPatrol();
+ }
+ break;
+ case 2:
+ if (this.data.type == 0) {
+ const {
+ lastLedger
+ } = this.data
+ const copyLedgerList = [{
+ subTypeId: lastLedger.ledgerSubTypeId,
+ time: `${lastLedger.year}-${lastLedger.month}`
+ }]
+ this._uploadCopyLedger(copyLedgerList);
+ }
+ break;
+
+ default:
+ break;
}
},
+ // 璺宠浆閲嶄紶鐣岄潰
reUpload() {
wx.navigateTo({
url: '/pages/mLedger/ledgerupload/ledgerupload',
@@ -188,7 +278,9 @@
//鍥剧墖鏀惧ぇ棰勮
previewImage(e) {
- const { index } = e.currentTarget.dataset;
+ const {
+ index
+ } = e.currentTarget.dataset;
const previewImageUrls = this.data.imgFiles;
this.setData({
previewImageUrls,
@@ -197,8 +289,13 @@
});
},
+ // 鍙拌处澶囨敞鐩戝惉
onRemarkChange(e) {
- const { value } = e.detail;
- this.setData({ remark: value });
+ const {
+ value
+ } = e.detail;
+ this.setData({
+ remark: value
+ });
},
-});
+});
\ No newline at end of file
diff --git a/pages/mLedger/ledgerupload/ledgerupload.wxml b/pages/mLedger/ledgerupload/ledgerupload.wxml
index 7b43e76..d5790d1 100644
--- a/pages/mLedger/ledgerupload/ledgerupload.wxml
+++ b/pages/mLedger/ledgerupload/ledgerupload.wxml
@@ -11,59 +11,30 @@
</view>
<text>{{ledger.description}}</text>
</view>
- <view
- wx:if="{{!ledger.upLoad || reUpload}}"
- class="weui-upload-view"
- style="margin-top: 16px"
- >
- <mp-upload
- title="涓婁紶鍥剧墖锛堝繀濉級"
- titleClass="upload-title-class"
- max-count="6"
- files="{{imgFiles}}"
- binduploadImg="uploadFile"
- binddelete="delImg"
- ></mp-upload>
- <textarea
- disabled="{{remarkDisable}}"
- value="{{remark}}"
- class="text-area"
- auto-height="{{false}}"
- name="des"
- placeholder="娣诲姞澶囨敞锛堥�夊~锛�"
- bindinput="onRemarkChange"
- ></textarea>
+ <view wx:if="{{!ledger.upLoad || reUpload}}" class="weui-upload-view" style="margin-top: 16px">
+ <mp-upload title="涓婁紶鍥剧墖锛堝繀濉級" titleClass="upload-title-class" max-count="6" files="{{imgFiles}}" binduploadImg="uploadFile" binddelete="delImg"></mp-upload>
+ <textarea disabled="{{remarkDisable}}" value="{{remark}}" class="text-area" auto-height="{{false}}" name="des" placeholder="娣诲姞澶囨敞锛堥�夊~锛�" bindinput="onRemarkChange"></textarea>
</view>
<block wx:else>
<view style="font-size: 14px; margin-top: 16px">鍥剧墖</view>
<view class="img-group">
- <image
- wx:for="{{imgFiles}}"
- wx:key="index"
- class="img-group_img"
- src="{{item}}"
- mode="aspectFill"
- bindtap="previewImage"
- data-index="{{index}}"
- show-menu-by-longpress="{{true}}"
- ></image>
+ <image wx:for="{{imgFiles}}" wx:key="index" class="img-group_img" src="{{item}}" mode="aspectFill" bindtap="previewImage" data-index="{{index}}" show-menu-by-longpress="{{true}}"></image>
</view>
<view style="font-size: 14px; margin-top: 16px">澶囨敞</view>
- <textarea
- class="text-area text-area-read"
- placeholder="鏃犲娉�"
- value="{{remark}}"
- ></textarea>
+ <textarea class="text-area text-area-read" placeholder="鏃犲娉�" value="{{remark}}"></textarea>
</block>
</view>
<view class="page__ft">
<view wx:if="{{!ledger.upLoad || reUpload}}" class="fix-bottom">
- <view
- wx:if="{{ledger.notRelated}}"
- class="submit submit-2 left"
- bindtap="onSubmitNoLedger"
- >涓嶆秹鍙�</view
- >
+ <view wx:if="{{type == 0 && ledger.copy && !reUpload}}" class="submit submit-3 left" bindtap="onCopyLedger">
+ <t-loading wx:if="{{latestLedgerLoading}}" theme="spinner" size="20rpx" class="wrapper" />
+ <text>寤剁敤</text>
+ <!-- <view class="small-tag-text">
+ <text wx:if="{{lastLedger}}">涓婃璁板綍锛歿{lastLedger._updateTimeStr}}</text>
+ <text wx:else>鏃犱笂浼犺褰�</text>
+ </view> -->
+ </view>
+ <view wx:if="{{ledger.notRelated}}" class="submit submit-2 left" bindtap="onSubmitNoLedger">涓嶆秹鍙�</view>
<view class="submit right" bindtap="onSubmit">鎻愪氦</view>
</view>
<view wx:else class="fix-bottom">
@@ -72,21 +43,12 @@
</view>
<c-dialog show="{{showDialog}}" yes="纭" bindconfirm="submitLedger">
- <view>{{uploadMode == 0 ? '纭鏄惁鎻愪氦锛�' : '纭涓嶆秹鍙婏紵'}}</view>
+ <view wx:if="{{uploadMode == 0}}">纭鏄惁鎻愪氦锛�</view>
+ <view wx:elif="{{uploadMode == 1}}">纭涓嶆秹鍙婏紵</view>
+ <view wx:else="{{uploadMode == 2}}">
+ <view>涓婃璁板綍锛歿{lastLedger._updateTimeStr}}</view>
+ <view>纭寤剁敤锛�</view>
+ </view>
</c-dialog>
- <!-- <mp-gallery
- class="gallery"
- hide-on-click="{{true}}"
- show-delete="{{false}}"
- show="{{showPreview}}"
- img-urls="{{previewImageUrls}}"
- current="{{previewCurrent}}"
- ></mp-gallery> -->
- <my-gallery
- hide-on-click="{{true}}"
- show-delete="{{false}}"
- show="{{showPreview}}"
- img-urls="{{previewImageUrls}}"
- current="{{previewCurrent}}"
-></my-gallery>
-</view>
+ <my-gallery hide-on-click="{{true}}" show-delete="{{false}}" show="{{showPreview}}" img-urls="{{previewImageUrls}}" current="{{previewCurrent}}"></my-gallery>
+</view>
\ No newline at end of file
diff --git a/pages/mLedger/ledgerupload/ledgerupload.wxss b/pages/mLedger/ledgerupload/ledgerupload.wxss
index 0d1e1c9..7483f69 100644
--- a/pages/mLedger/ledgerupload/ledgerupload.wxss
+++ b/pages/mLedger/ledgerupload/ledgerupload.wxss
@@ -25,7 +25,6 @@
padding-top: 0;
display: flex;
align-items: flex-end;
- z-index: 1;
background-color: white;
}
@@ -85,10 +84,57 @@
background: #dfdfdf;
}
+.submit-3 {
+ background: white;
+ border: 1px solid #005994;
+ color: #005994;
+ padding: 7px 0;
+}
+
+.submit-2:active {
+ background: #dfdfdf;
+}
+
.ledger-des {
font-size: 12px;
color: var(--fyui-text-color_2);
background-color: var(--fyui-BG_1);
padding: 4px;
border-radius: 4px;
+}
+
+/* .small-tag-text {
+ position: absolute;
+ bottom: 40rpx;
+ font-size: 10px;
+} */
+
+
+.custom-action {
+ position: relative;
+ min-height: 40vh;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.custom-action__bg{
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+
+.custom-action__tag{
+ font-size: 14px;
+ color: var(--fyui-text-color_1);
+ font-weight: 600;
+ width: 50%;
+ text-align: center;
+ z-index: 2;
+}
+
+.custom-action__tag>image{
+ width: 64px;
+ height: 64px;
}
\ No newline at end of file
diff --git a/pages/mSelfPatrol/components/self-patrol/index.js b/pages/mSelfPatrol/components/self-patrol/index.js
index 4d471f4..5791ed7 100644
--- a/pages/mSelfPatrol/components/self-patrol/index.js
+++ b/pages/mSelfPatrol/components/self-patrol/index.js
@@ -159,5 +159,20 @@
},
});
},
+
+ /**
+ * 鏌ョ湅鑷贰鏌ユ壙璇�
+ */
+ reviewPromise() {
+ wx.navigateTo({
+ url: '/pages/mSelfPatrol/patrolpromise/index',
+ success: (res)=> {
+ // 閫氳繃 eventChannel 鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+ res.eventChannel.emit('acceptDataFromOpenerPage', {
+ review: true
+ });
+ },
+ });
+ }
},
});
\ No newline at end of file
diff --git a/pages/mSelfPatrol/components/self-patrol/index.wxml b/pages/mSelfPatrol/components/self-patrol/index.wxml
index dc0a5e1..3adad4b 100644
--- a/pages/mSelfPatrol/components/self-patrol/index.wxml
+++ b/pages/mSelfPatrol/components/self-patrol/index.wxml
@@ -10,9 +10,11 @@
<view
wx:else
class="self-patrol-promise-done"
+ bindtap="reviewPromise"
>
<t-icon name="check" size="32rpx" />
- <text class="promise-done-text">鑷贰鏌ユ壙璇哄凡绛剧讲</text>
+ <text class="promise-done-text">鑷贰鏌ユ壙璇哄凡绛剧讲锛屾湁鏁堟湡寤堕暱涓哄綋骞存湁鏁堬紒</text>
+ <text class="promise_btn">鏌ョ湅鎵胯涔� ></text>
</view>
<view class="self-patrol-static">
<view class="head_right">
diff --git a/pages/mSelfPatrol/patrolpromise/index.js b/pages/mSelfPatrol/patrolpromise/index.js
index 36971b9..7b506cb 100644
--- a/pages/mSelfPatrol/patrolpromise/index.js
+++ b/pages/mSelfPatrol/patrolpromise/index.js
@@ -17,6 +17,7 @@
content: '纭',
variant: 'base'
},
+ isReview:false,
},
/**
@@ -27,6 +28,16 @@
this.setData({
date: now.format('YYYY骞碝M鏈圖D鏃�'),
});
+
+ // 鑾峰彇鍙傛暟锛氭槸鍚︽槸鏌ョ湅鎵胯涔�
+ this.getOpenerEventChannel().on(
+ 'acceptDataFromOpenerPage',
+ (data) => {
+ this.setData({
+ isReview: data.review
+ })
+ },
+ );
},
checkboxChange(e) {
diff --git a/pages/mSelfPatrol/patrolpromise/index.wxml b/pages/mSelfPatrol/patrolpromise/index.wxml
index f993255..81d5fed 100644
--- a/pages/mSelfPatrol/patrolpromise/index.wxml
+++ b/pages/mSelfPatrol/patrolpromise/index.wxml
@@ -5,26 +5,28 @@
<view class="p-title">鐜繚鑷贰鏌ユ壙璇轰功</view>
<text class="p-content"> {{promiseText}} </text>
<text style="text-align: end">\n绛剧讲鏃堕棿锛歿{date}}</text>
- <text style="font-weight: 600"
+ <text wx:if="{{!isReview}}" style="font-weight: 600"
>\n*璇蜂粩缁嗛槄璇讳互涓婃壙璇烘潯娆撅紝纭鏃犺鍚庤鍦ㄤ笅鏂圭缃�</text
>
</view>
</view>
<view class="page__ft">
- <view class="weui-agree">
- <label bindtap="checkboxChange">
- <checkbox
- class="weui-agree__checkbox-check"
- value="{{agree}}"
- checked="{{agree}}"
- />
- <span class="weui-agree__checkbox"></span>
- <span class="weui-agree__text"
- >鎴戝凡闃呰銆佺悊瑙e苟鍚屾剰浠ヤ笂銆婄幆淇濊嚜宸℃煡鎵胯涔︺�嬬殑鍏ㄩ儴鍐呭銆�</span
- >
- </label>
- </view>
- <view class="submit" bindtap="showCheckDialog">绛剧讲</view>
+ <template wx:if="{{!isReview}}">
+ <view class="weui-agree">
+ <label bindtap="checkboxChange">
+ <checkbox
+ class="weui-agree__checkbox-check"
+ value="{{agree}}"
+ checked="{{agree}}"
+ />
+ <span class="weui-agree__checkbox"></span>
+ <span class="weui-agree__text"
+ >鎴戝凡闃呰銆佺悊瑙e苟鍚屾剰浠ヤ笂銆婄幆淇濊嚜宸℃煡鎵胯涔︺�嬬殑鍏ㄩ儴鍐呭銆�</span
+ >
+ </label>
+ </view>
+ <view class="submit" bindtap="showCheckDialog">绛剧讲</view>
+ </template>
</view>
</view>
<t-dialog
diff --git a/service/ledgerservice.js b/service/ledgerservice.js
index 7c522e5..034a20e 100644
--- a/service/ledgerservice.js
+++ b/service/ledgerservice.js
@@ -93,4 +93,25 @@
$f.get(fun1);
},
+
+ /**
+ * 澶嶅埗鍙拌处
+ * @param {string} userId 鐢ㄦ埛id
+ * @param {string} time 骞存湀锛屾牸寮廦YYY-MM
+ * @param {Array} sourceLedgerList 鍙拌处澶嶅埗婧恵subTypeId:寰呭鍒剁殑鍙拌处绫诲瀷id, time: 寰呭鍒剁殑鍙拌处鎵�鍦ㄦ湀浠斤紝涓嶅~鍐欏垯榛樿浣跨敤鏈�鏂颁竴鏉¤褰曚綔涓哄鍒舵簮}
+ * @param {*} fun
+ */
+ copyLedger: function (userId, time, sourceLedgerList, fun) {
+ let cb = {
+ url: '/ledger/copy',
+ params: {
+ userId: userId,
+ time: time,
+ },
+ data: sourceLedgerList,
+ };
+ Object.assign(cb, fun);
+
+ $f.post(cb);
+ },
};
--
Gitblit v1.9.3