From 653075b064acbac756ee87b3617033956d6a0e16 Mon Sep 17 00:00:00 2001 From: yujk <990961482@qq.com> Date: Mon, 30 May 2022 19:03:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/contractAssets/fixedAssets.js | 381 ++++++++++++++++++++++++++ pages/contractAssets/fixedAssets.json | 14 + pages/contractAssets/fixedAssets.wxml | 52 ++++ pages/contractAssets/fixedAssets.wxss | 272 ++++++++++++++++++ 4 files changed, 719 insertions(+) create mode 100644 pages/contractAssets/fixedAssets.js create mode 100644 pages/contractAssets/fixedAssets.json create mode 100644 pages/contractAssets/fixedAssets.wxml create mode 100644 pages/contractAssets/fixedAssets.wxss diff --git a/pages/contractAssets/fixedAssets.js b/pages/contractAssets/fixedAssets.js new file mode 100644 index 0000000..5bd6b7f --- /dev/null +++ b/pages/contractAssets/fixedAssets.js @@ -0,0 +1,381 @@ +// pages/bank/bank.js +import * as UTIL from '../../utils/util.js'; +import * as API from '../../utils/API.js'; +let EVN_CONFIG = require('../../env/env'); +const DISTRIBUTE_ENVIROMENT = 'IMGURL'; +let { + URL_PREFIX, +} = EVN_CONFIG[DISTRIBUTE_ENVIROMENT]; +const app = getApp(); +Page({ + + /** + * 页面的初始数据 + */ + data: { + isIPX: app.globalData.isIPX, + list:[], + isLoading:false, + pageNums:1, + scrollHeight:"", + name:"", + showUpload:false, + uploadOptions:[], + fileList:[], + showPopup:false, + fileEvent:{}, + itemId:"", + assetTypeOptions:[] + }, + goAdd(){ + wx.navigateTo({ + url: 'add/add', + }) + }, + back:function(){ + wx.navigateBack({ + delta: 1 + }) + }, + assetTypeDict(val){ + this.data.assetTypeOptions.map(res => { + if(res.dictValue == val){ + return res.dictLabel + } + }) + }, + /** + * 生命周期函数--监听页面加载 + */ + onLoad(options) { + var that = this; + let qu = wx.createSelectorQuery() + qu.select("#top_view").boundingClientRect() + qu.select("#top_ban").boundingClientRect() + qu.exec(res => { + that.setData({ + scrollHeight:wx.getSystemInfoSync().windowHeight-res[0].height-res[0].top + }) + }) + this.setData({'itemId':options.id}) + }, + + /** + * 生命周期函数--监听页面初次渲染完成 + */ + onReady() { + + //获取附件字典 + UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'common_attach', {method:'GET'}, { + success: (res) => { + if(res.data.length>0){ + this.setData({ + uploadOptions:res.data, + }) + } + } + }) + + this.getList(); + }, + getList:function(){ + let params = { + pageNum:this.data.pageNums, + pageSize:10, + name:this.data.name, + isMin:"Y", + useType:'2', + operationType:'1', + assetStatus:'1' + } + UTIL.httpRequest(API.URL_GET_PERMANENTLIST,params,{ + success: (res) => { + console.log(res); + let _this = this + if(res.code == 200){ + if(this.data.pageNums!=1&&this.data.list.length { + if(r.data.length>0){ + let li = lists.map( res => { + r.data.map(rr => { + if(res.assetType == rr.dictValue){ + res.assetType = rr.dictLabel + } + }) + return res + }) + _this.setData({list:li}) + }else{ + _this.setData({list:lists}) + } + } + }) + }else if(this.data.pageNums==1){ + //获取资产类别 + UTIL.httpRequest(API.URL_GET_GETDICTTYPE + 'asset_type', {method:'GET'}, { + success: (r) => { + if(r.data.length>0){ + let li = res.rows.map( ress => { + r.data.map(rr => { + if(ress.assetType == rr.dictValue){ + ress.assetType = rr.dictLabel + } + }) + return ress + }) + _this.setData({list:li}) + }else{ + _this.setData({list:res.rows}) + } + } + }) + } + }else{ + UTIL.showToastNoneIcon(res.msg); + } + } + }) + }, + paging(){ + this.setData({ + pageNums:this.data.pageNums+1, + }) + this.getList(); + }, + goSearch(e){ + this.setData({name:e.detail}); + this.setData({pageNums:1}); + this.getList(); + }, + goUpdate(e){ + let data = e.currentTarget.dataset.item; + data.method = "POST"; + data.assetTable = "t_asset_permanent" + data.assetId = e.currentTarget.dataset.item.id + data.contractionId = this.data.itemId + data.num = e.currentTarget.dataset.item.quantity + UTIL.httpRequest(API.URL_GET_ASSETADD,data,{ + success: (res) => { + if(res.code == 200){ + UTIL.showToastNoneIcon(res.msg); + wx.navigateBack({ + delta: 1 + }) + }else{ + UTIL.showToastNoneIcon(res.msg); + } + } + }) + + }, + delete(e){ + UTIL.httpRequest(API.URL_GET_PERMANENTDELETE + e.currentTarget.dataset.id, {method:'GET'}, { + success: (res) => { + if(res.code==200){ + let new_list = this.data.list + new_list.splice(e.currentTarget.dataset.index,1) + this.setData({'list':new_list}) + UTIL.showToastNoneIcon('删除成功!'); + }else{ + UTIL.showToastNoneIcon('删除失败!'); + } + } + }) + }, + upload(e){ + this.setData({itemId:e.currentTarget.dataset.id}); + this.asyncFun(e.currentTarget.dataset.id) + }, + asyncFun(id){ + this.setData({"fileList":[]}) + let uploadList = this.data.uploadOptions + let newList = [] + let _this = this + uploadList.map( res => { + let oData = { + tableId: id, + tableName: "t_asset_permanent", //上传表 + bizPath: "asset", + fileType: res.dictValue, //附件类型 1原始发票 2会议纪要 3会议照片 4 参会人员签字 + method:'GET' + } + UTIL.httpRequest(API.URL_GET_ATTACHMENTLIST, oData, { + success: (rr) => { + if(rr.rows.length>0){ + rr.rows.map((rrr,index) => { + rrr.url = URL_PREFIX + rrr.fileUrl + if(index==rr.rows.length-1){ + newList.push(Object.assign({},res,{"list":rr.rows})) + _this.setData({"fileList":_this.data.fileList.concat(newList)}); + _this.setData({"showUpload":true}) + } + }) + }else{ + let newuploadList = uploadList + newuploadList.map(rd => { + rd.list = newList + }) + _this.setData({"fileList":newuploadList}); + _this.setData({"showUpload":true}) + } + }, + fail:(rr) =>{ + console.log(rr); + }, + complete:(rr) => { + console.log(rr); + } + }) + }) + + }, + closeBox(){ + this.setData({"showUpload":false}) + }, + deleteImg(event){ + this.setData({"fileEvent":event}) + this.setData({"showPopup":true}); + }, + cancelTem:function(e){ + this.setData({"fileEvent":"{}"}); + this.setData({"showPopup":false}); + }, + confirmTem:function(e){ + let event = this.data.fileEvent + console.log(event); + UTIL.httpRequest(API.URL_GET_GETFILEREMOVE+event.detail.file.id , {method:'GET'}, { + success: (res) => { + if(res.code==200){ + let ll = this.data.fileList + var jsonlist = ll[event.target.dataset.idx].list; + jsonlist.splice(event.detail.index, 1) + ll[event.target.dataset.idx].list = jsonlist + this.setData({"fileList":ll}) + this.setData({showPopup:false}); + wx.showToast({ + title: '删除成功!', + icon: 'success', + duration: 2000, + }) + } + } + }) + }, + uploadFile(uploadFile,event) { + let _this = this + return new Promise((resolve, reject) => { + wx.uploadFile({ + url: API.URL_GET_UPLOAD, + filePath: uploadFile.file.file[0].url, + name: 'file', + header: { + "Content-Type": "multipart/form-data",//记得设置 + "chartset":"utf-8", + 'Authorization':'Bearer '+getApp().globalData.userInfo.token + }, + formData:uploadFile, + success: (res) => { + res.data = JSON.parse(res.data); + if(res.statusCode == 200){ + let files = _this.data.fileList + let fName = res.data.fileUrl.split('/') + let fLength = fName.length + files[event.currentTarget.dataset.idx].list.push({ + "fileName": fName[fLength-1], + "fileType": "0", + "fileUrl":res.data.fileUrl , + "id": res.data.id, + "tableId": 6, + "url":URL_PREFIX+res.data.fileUrl + }) + _this.setData({"fileList":files}) + wx.hideLoading() + } + }, + fail: (err) => { + //上传失败:修改pedding为reject + reject(err) + } + }); + }) + }, + afterRead(event) { + let _this = this + wx.showLoading({ + title: '上传中...' + }) + let fileForm={ + file: event.detail, + fileType:event.currentTarget.dataset.idx, + tableName: "t_asset_permanent", //上传表 + bizPath: "asset", + tableId:_this.data.itemId + } + this.uploadFile(fileForm,event) + }, + lookDown(file,detail){ + // 获取指定字符串最后一次出现的位置,返回index + var index1 = file.detail.url.lastIndexOf('.'); + // substr(start, length) 抽取从start下标开始的length个字符,返回新的字符串; + var style = file.detail.url.substr(index1 + 1) + //判断图片类型,不需要下载,不做处理 + if(style=='png'||style=='jpg'||style=='jpeg'||style=='bmp'||style=='gif'||style=='webp'||style=='psd'||style== 'svg'||style=='tiff'){ + //判断非图片类型 + }else{ + wx.downloadFile({ + url: file.detail.url, + success(data){ + wx.openDocument({ + filePath: data.tempFilePath, + fileType: style, + showMenu:true, + success(res){ + } + }) + } + }) + } + }, + /** + * 生命周期函数--监听页面显示 + */ + onShow() { + + }, + + /** + * 生命周期函数--监听页面隐藏 + */ + onHide() { + + }, + + /** + * 生命周期函数--监听页面卸载 + */ + onUnload() { + + }, + + /** + * 页面相关事件处理函数--监听用户下拉动作 + */ + onPullDownRefresh() { + }, + + /** + * 页面上拉触底事件的处理函数 + */ + onReachBottom() { + }, + + /** + * 用户点击右上角分享 + */ + onShareAppMessage() { + + } +}) \ No newline at end of file diff --git a/pages/contractAssets/fixedAssets.json b/pages/contractAssets/fixedAssets.json new file mode 100644 index 0000000..39a4ff2 --- /dev/null +++ b/pages/contractAssets/fixedAssets.json @@ -0,0 +1,14 @@ +{ + "usingComponents": { + "van-checkbox": "@vant/weapp/checkbox/index", + "van-checkbox-group": "@vant/weapp/checkbox-group/index", + "van-cell": "@vant/weapp/cell/index", + "van-cell-group": "@vant/weapp/cell-group/index", + "van-search": "@vant/weapp/search/index", + "van-radio": "@vant/weapp/radio/index", + "van-radio-group": "@vant/weapp/radio-group/index", + "van-swipe-cell": "@vant/weapp/swipe-cell/index", + "van-action-sheet": "@vant/weapp/action-sheet/index", + "van-upload": "@vant/weapp/uploader/index" + } +} \ No newline at end of file diff --git a/pages/contractAssets/fixedAssets.wxml b/pages/contractAssets/fixedAssets.wxml new file mode 100644 index 0000000..3edaa63 --- /dev/null +++ b/pages/contractAssets/fixedAssets.wxml @@ -0,0 +1,52 @@ + + + + 可关联固定资产 + + + + + + + + + + + {{item.name}} + + 自用 + 闲置 + 出租或出借 + 其他 + + + + {{item.code}} + + {{item.assetType}} + + + + + + + {{item.buildTime}} + + + 原值: + ¥{{item.originalValue}} + + + + + + \ No newline at end of file diff --git a/pages/contractAssets/fixedAssets.wxss b/pages/contractAssets/fixedAssets.wxss new file mode 100644 index 0000000..4dce445 --- /dev/null +++ b/pages/contractAssets/fixedAssets.wxss @@ -0,0 +1,272 @@ +/* pages/bank/bank.wxss */ +.van-search__content { + border: 1px solid #5CAE77!important; + background: #fff!important; +} +van-search { + flex: 1; +} +.search_box{ + display: flex; +} +.add_btn{ + flex: 0.2; + padding: var(--search-padding,10px 12px); + padding-left: 0; +} +.add_btn text{ + background-color: #62AD66; + display: block; + height: 100%; + text-align: center; + line-height: 36px; + color: #fff; + border-radius: 36px; + box-shadow: 0px 5px 5px #ddd; +} +text{display: block;} +.work_plan{ + padding: 40rpx 32.5rpx 30rpx; + display: flex; +} + +.work_plan .menu_item{ + background-color: #fff; + box-shadow: 2px 5px 5px #ddd; + border-radius: 60rpx; + text-align: center; + position: relative; + margin-right: 20px; + padding: 8px 10px; +} +.work_plan .menu_item.active{ + background-color: #2C8E68; + color: #fff; +} +.work_plan .menu_item .remind{ + height: 30rpx; + background: #e90101; + color: #fff; + font-size: 26rpx; + position: absolute; + line-height: 30rpx; + padding:0 10rpx; + border-radius: 25px; + top: -10rpx; + right: -10rpx; +} + +.work_plan .more{ + flex: 1; + text-align: center; + line-height: 60rpx; + font-size: 36rpx; + color: #31936c; +} +.deleteBox{ + width: 130px; + text-align: center; + height: 100%; + background: #F6F6F6; + align-items: center; + display: flex; +} +.workflow .workflow_list{ + height: 150rpx; + background-color: #fff; + border-radius: 24rpx; + box-shadow:0rpx 0rpx 10rpx rgba(0,0,0,.1); + margin-bottom: 20rpx; + padding:15rpx 25rpx 10rpx 35rpx; +} +.workflow .workflow_list .process_intro{ + display: flex; + height: 62rpx; + align-items: center; +} + +.workflow .process_intro .name{ + width: 390rpx; + font-size: 34rpx; + margin-right: 30rpx; + display: flex; + justify-content: space-between; + align-items: center; +} +.workflow .process_intro .name .name_tit{ + width: 290rpx; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.van-swipe-cell { + width: 94%; + background: #fff; + border-radius: 10px; + box-shadow: 2px 5px 5px #ddd; + margin: 0 auto; + margin-bottom: 15px; +} +.li{ + width: 100%; + padding: 14px; +} +.tit_box{ + display: flex; +} +.detail_box{ + margin-top: 10px; + display: flex; + justify-content: space-between; +} +.li view text{ + /* margin-top: 15px; */ +} +.li .detail_box view{ + display: flex; + align-items: center; +} +.li .detail_box view text{ + color: #666666; + font-size: 12px; +} + +.li view text:nth-child(1){ + margin-top: 0px; +} +.li .fksr{ + display: flex; + align-items: center; + margin-top: 15px; + color: #2C8E68; + font-size: 16px; +} +.li .wtj{ + display: flex; + align-items: center; + justify-content: center; + padding: 3px 8px; + border-radius: 5px; + font-size: 14px; +} +.no{ + background-color:#fbe3e3; + color: #e90000; +} +.white{ + background-color:#feeadc; + color: #fc9a55; +} +.yes{ + background-color:#ddeee3; + color: #5cae77; +} +.other{ + background-color:#f0f1f6; + color: #878787; +} +.li .tit{ + font-size: 14px; + color: #444444; + line-height: 14px; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 1; + word-break: break-all; + overflow: hidden; +} +.li .fj_name{ + font-size: 14px; + color: #B3DB62; + line-height: 25px; +} +.li .time{ + font-size: 14px; + color: #9B9CAA; +} +.li .money{ + font-size: 18px; + color: #5CAE77; +} +.van-checkbox__label { + display: flex; + justify-content: space-between; + width: 100%; +} + +.van-checkbox__icon-wrap { + border-radius: 5px; +} +.van-checkbox__icon { + border-radius: 5px; + border: 2px solid #2C8E68!important; + background-color: rgba(44, 142, 104, 0.2); +} +.bottom{ + width: 100%; + margin: 0 auto; + text-align: center; + padding: 15px 0; + display: flex; + position: fixed; + bottom: 0%; + background: #fff; + box-shadow: 0 0 5px #ddd; +} + +.bottom view { + width: 47%; + margin: 0 auto; + border-radius: 30px; + display: inline-block; +} + +.bottom .btn2{ + border: 1px solid transparent; + padding: 10px 0px; + background-image: linear-gradient(to right, #2C8E68, #5CAE77); + color: #fff; +} + +.downView{ + display: flex; + justify-content: center; + align-items: center; + padding: 0 20px; + border: 1px solid #5CAE77; + border-radius: 50px; + background: #fff; + margin-left: auto; +} +.downView image{ + width: 10px; + height: 8px; + margin-left: 10px; +} +.fj-box text{ + background-color: #5CAE77; + color: #ffffff; + text-align: center; + border-radius: 5px; + white-space:pre-wrap; + padding: 5rpx 8rpx; + width: 50rpx; + margin: 0px 14px; + font-size: 24rpx; +} +.fj-li{ + margin-top: 20px; + display: flex; + /* flex-wrap: wrap; */ +} +.fj-li .img_li{ + width: 100%; + height: 18.5vw; +} + +.fj-li .img_add{ + overflow: hidden; +} +.van-icon-description{ + font-size: 60px; +} \ No newline at end of file