zhaoxiaohai 3 年之前
父節點
當前提交
14930d23fd
共有 2 個文件被更改,包括 177 次插入55 次删除
  1. 152 41
      pages/submission/details.js
  2. 25 14
      pages/submission/details.wxml

+ 152 - 41
pages/submission/details.js

@@ -1,4 +1,5 @@
-const _Http = getApp().globalData.http;
+const _Http = getApp().globalData.http,
+    MFT = require("../../utils/matchingFeilType");
 Page({
     /**
      * 页面的初始数据
@@ -10,7 +11,6 @@ Page({
         startRecord: false,
         submiteditData: {}, //新建明细
         content: "", //提交内容
-        isCommit: false, //是否提交
 
 
         CheckTheRecord: false, //查看记录
@@ -37,25 +37,84 @@ Page({
                 "sat_submiteditmodelid": options.id
             }
         }).then(res => {
-            console.log()
+            /* 处理附件 */
+            let fileList = res.data[0].attinfos.filter(v => v.usetype != 'cover');
+            res.data[0].attinfos = MFT.fileList(fileList);
+            /* 删除提报 */
             let submitedit = res.data[0].submitedit,
                 list = [];
-            for (let i = 0; i < submitedit.length; i++) {
-                (submitedit[i].status == '未提报') ? this.delete_submitdetailed(submitedit[i].sat_submiteditid): list.push(submitedit[i]);
+            if (submitedit.length) {
+                for (let i = 0; i < submitedit.length; i++) {
+                    (submitedit[i].status == '未提报') ? this.delete_submitdetailed(submitedit[i].sat_submiteditid): list.push(submitedit[i]);
+                };
+                res.data[0].submitedit = list;
             };
-            res.data[0].submitedit = list;
             this.setData({
                 detailsData: res.data[0],
-                done: res.data[0].submitedit.length == 1 && options.oneToOne
-            })
+                oneToOne: options.oneToOne
+            });
+            if (options.oneToOne == 'true' && res.data[0].submitedit.length == 1) {
+                this.setData({
+                    done: true
+                })
+            }
         });
     },
 
+    /* 上传绑定附件 */
+    getFile({
+        detail
+    }) {
+        _Http.basic({
+            "classname": "system.attachment.Attachment",
+            "method": "createFileLink",
+            "content": {
+                "ownertable": "sat_submitedit",
+                "ownerid": this.data.submiteditData.sat_submiteditid,
+                "usetype": "default",
+                "attachmentids": detail
+            }
+        }).then(res => {
+            if (res.msg != '成功') return wx.showToast({
+                title: res.data,
+                icon: "none"
+            });
+            this.setData({
+                "submiteditData.attinfos": this.data.submiteditData.attinfos.concat(MFT.fileList(res.data))
+            })
+        })
+    },
+    /* 删除附件 */
+    deleteFile({
+        detail
+    }) {
+        _Http.basic({
+            "classname": "system.attachment.Attachment",
+            "method": "deleteFileLink",
+            "content": {
+                linksids: [detail.linksid]
+            }
+        }).then(res => {
+            console.log('删除附件', res)
+            if (res.msg != '成功') return wx.showToast({
+                title: res.data,
+                icon: "none"
+            })
+            wx.showToast({
+                title: "删除成功"
+            })
+            let list = this.data.submiteditData.attinfos.filter(v => v.attinfos != detail.attinfos)
+            this.setData({
+                "submiteditData.attinfos": list
+            })
+        })
+    },
 
-
-
-    /* 创建明显 */
+    /* 创建明细 */
     establish() {
+        if (this.data.submiteditData.sat_submiteditmodelid) return this.setData({
+            startRecord: true
+        })
         _Http.basic({
             "classname": "saletool.submitedit.submitedit",
             "method": "insertorupdate",
@@ -65,19 +124,25 @@ Page({
                 "sat_submiteditid": 0
             }
         }).then(res => {
-            console.log("新增", res)
+            if (res.msg != '成功') return wx.showToast({
+                title: res.data,
+                icon: "none"
+            })
             this.setData({
+                startRecord: true,
                 submiteditData: res.data[0]
             })
         })
     },
-
-    /* 去详情 */
-    toDetails() {
-        if (this.data.isCommit) return wx.showToast({
-            title: '请勿重新提交',
-            icon: "none"
+    /* 隐藏新建 */
+    closeRecord() {
+        this.setData({
+            startRecord: false
         })
+    },
+
+    /* 提交明细 */
+    submit() {
         if (!this.data.content) return wx.showToast({
             title: '您还未输入提报内容',
             icon: "none"
@@ -91,13 +156,14 @@ Page({
         })
         _Http.basic({
             "classname": "saletool.submitedit.submitedit",
-            "method": "sub_submitdetailed",
+            "method": "insertorupdate",
             "content": {
-                "sat_submiteditmodelid": this.data.detailsData.sat_submiteditmodelid,
-                "content": this.data.content,
-                "sat_submiteditid": 0
+                "sat_submiteditmodelid": this.data.submiteditData.sat_submiteditmodelid,
+                "content": this.data.content.trim(),
+                "sat_submiteditid": this.data.submiteditData.sat_submiteditid
             }
         }).then(res => {
+            console.log(res)
             this.setData({
                 loading: false
             })
@@ -106,20 +172,39 @@ Page({
                 icon: "none"
             });
             this.setData({
-                isCommit: true
+                loading: true
             })
-            let pages = getCurrentPages();
-            let prevPage = pages[pages.length - 2];
-            if (prevPage.data.butText == '开始提报') prevPage.select_submitdetailed();
-            wx.showToast({
-                title: '提交成功',
-                icon: "success"
-            });
-            setTimeout(() => {
-                wx.navigateBack({
-                    delta: 0,
+            _Http.basic({
+                "classname": "saletool.submitedit.submitedit",
+                "method": "sub_submitdetailed",
+                "content": {
+                    "sat_submiteditmodelid": this.data.submiteditData.sat_submiteditmodelid,
+                    "sat_submiteditid": this.data.submiteditData.sat_submiteditid,
+                    onceonly: this.data.oneToOne ? 0 : 1
+                }
+            }).then(s => {
+                this.setData({
+                    loading: false
                 })
-            }, 300)
+                if (s.msg != '成功') return wx.showToast({
+                    title: s.data,
+                    icon: "none"
+                });
+                wx.showToast({
+                    title: '提交成功',
+                });
+                res.data[0].status = '已提报';
+                this.setData({
+                    "detailsData.submitedit": this.data.detailsData.submitedit.concat(res.data[0]),
+                    submiteditData: [],
+                    startRecord: false,
+                    done: this.data.oneToOne == 'true' ? true : ''
+                });
+
+                let pages = getCurrentPages();
+                let prevPage = pages[pages.length - 2];
+                prevPage.getList(true)
+            })
         })
     },
     /* 查看提报记录 */
@@ -127,13 +212,18 @@ Page({
         const {
             item
         } = e.currentTarget.dataset;
+        item.attinfos = MFT.fileList(item.attinfos);
         this.setData({
-            recordL: item
+            recordL: item,
+            CheckTheRecord: true
         })
+    },
 
-        /*    wx.navigateTo({
-               url: `./details?type=false&item=${JSON.stringify(this.data.detailsData)}&record=${JSON.stringify(item)}`,
-           }) */
+    recordClose() {
+        this.setData({
+            recordL: {},
+            CheckTheRecord: false
+        })
     },
     /**
      * 生命周期函数--监听页面初次渲染完成
@@ -165,11 +255,31 @@ Page({
      * 生命周期函数--监听页面卸载
      */
     onUnload() {
-
+        let submiteditData = this.data.submiteditData;
+        if (submiteditData != {} && submiteditData.status == '未提报') {
+            this.delete_submitdetailed(submiteditData.sat_submiteditid);
+            let attinfos = this.data.submiteditData.attinfos;
+            if (attinfos.length) {
+                let linksids = [];
+                for (let i = 0; i < attinfos.length; i++) {
+                    linksids.push(attinfos[i].linksid)
+                };
+                _Http.basic({
+                    "classname": "system.attachment.Attachment",
+                    "method": "deleteFileLink",
+                    "content": {
+                        linksids
+                    }
+                }).then(res => {
+                    console.log('删除附件', res)
+                })
+            }
+        }
     },
 
     /* 删除未提报数据 */
-    delete_submitdetailed(id) {
+    delete_submitdetailed(id, i = 0) {
+        if (i == 5) return;
         _Http.basic({
             "classname": "saletool.submitedit.submitedit",
             "method": "delete_submitdetailed",
@@ -177,7 +287,8 @@ Page({
                 "sat_submiteditid": id
             }
         }).then(res => {
-            if (res.data != "成功") return this.delete_submitdetailed(id);
+            console.log(res)
+            if (res.data != "成功") return this.delete_submitdetailed(id, i + 1);
         })
     },
 

+ 25 - 14
pages/submission/details.wxml

@@ -1,9 +1,9 @@
 <view class="box">
     <view class="title multi-line">{{detailsData.title}}</view>
-    <view class="time">有效期:{{detailsData.begdate}} ~ {{detailsData.enddate}}</view>
+    <view class="time">有效期:{{date.getDate(detailsData.begdate)}} ~ {{date.getDate(detailsData.enddate)}}</view>
     <view class="time multi-line" style="margin-top: 10rpx;">提报要求:{{detailsData.notes}}</view>
-    <view class="title" style="margin-top: 30rpx;">附件下载</view>
-    <My_accessory />
+    <view class="title" wx:if="{{detailsData.attinfos.length}}" style="margin-top: 30rpx;">附件列表</view>
+    <My_accessory list='{{detailsData.attinfos}}' />
 </view>
 <!-- 提报记录 -->
 <view class="box" style="background: none;">
@@ -12,39 +12,50 @@
         <view class="line-2">{{item.content}}</view>
         <view class="data">
             <text>提交时间:{{item.createdate}}</text>
-            <text>附件数量:1</text>
+            <text>附件数量:{{item.attinfos.length}}</text>
         </view>
     </navigator>
 </view>
 <My_empty wx:if="{{!detailsData.submitedit.length}}" />
-<!-- 提报详情 -->
-<van-popup show="{{ startRecord }}" custom-style="height:75vh;" closeable position="bottom" round bind:close="onClose">
+<!-- 开始提报 -->
+<van-popup show="{{ startRecord }}" custom-style="height:75vh;" closeable position="bottom" round bind:close="closeRecord">
     <view class="box">
         <view class="title multi-line">提报内容</view>
-        <textarea class="textarea" placeholder="请输入提报内容" bindinput="textareaInput" />
-        <view class="title multi-line">提报附件<text>已上传2个</text></view>
-        <My_accessory butType="删除" />
-        <My_upload>
+        <textarea class="textarea" placeholder-style="font-size: 24rpx;color: #BBBBBB;" placeholder="请输入提报内容" bindinput="textareaInput" />
+        <view class="title multi-line">提报附件<text>已上传{{submiteditData.attinfos.length}}个</text></view>
+        <My_accessory list="{{submiteditData.attinfos}}" butType="删除" binddeleteFile="deleteFile" />
+        <My_upload bind:uploadCallback='getFile'>
             <navigator class="uploadStyle" url="#">
                 <text class="iconfont icon-a-tuiguangsucaishangchuan1" />
                 上传附件
             </navigator>
         </My_upload>
     </view>
+    <view style="height: 130rpx;" />
+    <view class="footer">
+        <van-button round custom-class='button' loading="{{loading}}" loading-text="提交中..." bindtap="submit">提交</van-button>
+    </view>
 </van-popup>
 
 <!-- 提报详情 -->
-<van-popup show="{{ CheckTheRecord }}" custom-style="height:75vh;" closeable position="bottom" round bind:close="onClose">
+<van-popup show="{{ CheckTheRecord }}" custom-style="height:75vh;" closeable position="bottom" round bind:close="recordClose">
     <view class="box">
         <view class="title multi-line">提报内容</view>
         <view class="history" style="margin-bottom: 30rpx;">
             {{recordL.content}}
         </view>
-        <view class="title multi-line">提报附件<text>已上传2个</text></view>
-        <My_accessory />
+        <view class="title multi-line" wx:if="{{recordL.attinfos.length}}">提报附件<text>已上传{{recordL.attinfos.length}}个</text></view>
+        <My_accessory list='{{recordL.attinfos}}' />
     </view>
 </van-popup>
 <!-- 底部按钮 -->
 <view class="footer" wx:if="{{!done}}">
     <van-button round custom-class='button' bindtap="establish">开始提报</van-button>
-</view>
+</view>
+
+<view style="height: 130rpx;" />
+<wxs module="date">
+    module.exports.getDate = function (time) {
+        return time.split(" ")[0]
+    }
+</wxs>