zhaoxiaohai 3 лет назад
Родитель
Сommit
4fde1f46d4

+ 28 - 123
packageA/project/modules/task/add.js

@@ -1,125 +1,30 @@
-    const _Http = getApp().globalData.http;
-    Page({
-        data: {
-            detail: null,
-            isFollow: false,
-            isSubmit: true, //是否可以提交
-            files: {
-                images: [],
-                viewImages: [],
-                videos: [],
-                viewVideos: [],
-                files: []
-            },
-        },
-        onLoad(options) {
+const _Http = getApp().globalData.http;
+Page({
+    data: {
+        taskname: ""
+    },
+    onLoad(options) {
+        let content = JSON.parse(options.content);
+        this.setData({})
+        _Http.basic({
+            "id": 20221129152304,
+            "content": {
+                ...content,
+                pageSize: 999
+            }
+        }).then(res => {
+            console.log("获取评估项", res)
+            content.actionnotes = ''
             this.setData({
-                detail: JSON.parse(options.data),
-                isFollow: options.isFollow == 'true'
-            });
-            if (this.data.detail.attinfos.length != 0) this.selectComponent("#Yl_files").handleFiles(res.data)
-            if (this.data.detail.notes != '' && this.data.isFollow) this.setData({
-                isSubmit: false
+                taskname: options.taskname,
+                content,
+                list: res.data
             })
-        },
-        //文本域输入
-        onInput(e) {
-            this.setData({
-                "detail.notes": e.detail.value
-            })
-        },
-        /* 绑定媒体 */
-        insertImgEdit({
-            detail
-        }) {
-            _Http.basic({
-                "classname": "system.attachment.Attachment",
-                "method": "createFileLink",
-                "content": {
-                    "ownertable": "sa_project_stagework",
-                    "ownerid": this.data.detail.sa_project_stageworkid,
-                    "usetype": "default",
-                    "attachmentids": detail
-                }
-            }).then(res => {
-                console.log('跟进记录绑定附件', res)
-                if (res.msg != '成功') return wx.showToast({
-                    title: res.data,
-                    icon: "none"
-                })
-                this.selectComponent("#Yl_files").handleFiles(res.data)
-                this.data.detail.attinfos.push(res.data[0])
-                this.changeFile();
-            })
-        },
-        /* 修改源文件附件 */
-        changeFile() {
-            let pages = getCurrentPages(),
-                page = pages[pages.length - 2].selectComponent("#Task"),
-                i = page.data.list[page.data.viewIndex].work.findIndex(v => v.sa_project_stageworkid == this.data.detail.sa_project_stageworkid);
-            page.setData({
-                [`list[${page.data.viewIndex}].work[${i}].attinfos`]: this.data.detail.attinfos
-            })
-        },
-        /* 保存 */
-        save() {
-            _Http.basic({
-                "id": 20221024160202,
-                "content": {
-                    sa_project_stageworkid: this.data.detail.sa_project_stageworkid,
-                    notes: this.data.detail.notes,
-                }
-            }).then(res => {
-                wx.showToast({
-                    title: res.msg == '成功' ? '保存成功' : res.data,
-                    icon: "none"
-                });
-                if (res.msg != '成功') return;
-                this.setData({
-                    isSubmit: false
-                })
-                let pages = getCurrentPages(),
-                    page = pages[pages.length - 2].selectComponent("#Task"),
-                    i = page.data.list[page.data.viewIndex].work.findIndex(v => v.sa_project_stageworkid == this.data.detail.sa_project_stageworkid);
-                page.setData({
-                    [`list[${page.data.viewIndex}].work[${i}].notes`]: this.data.detail.notes
-                })
-            })
-
-        },
-        /* 提交 */
-        submit() {
-            let that = this;
-            wx.showModal({
-                title: '提示',
-                content: `是否提交该任务,提交后将计算分值(仅可提交一次)`,
-                complete: ({
-                    confirm
-                }) => {
-                    if (confirm) _Http.basic({
-                        "id": 20221024160302,
-                        "content": {
-                            "sa_project_stageworkid": that.data.detail.sa_project_stageworkid
-                        }
-                    }).then(res => {
-                        console.log("任务提交", res)
-                        if (res.msg != '成功') return wx.showToast({
-                            title: res.data,
-                            icon: "none"
-                        });
-                        let pages = getCurrentPages(),
-                            page = pages[pages.length - 2].selectComponent("#Task");
-                        pages[pages.length - 2].getDetail();
-                        page.getList();
-                        wx.showToast({
-                            title: '提交成功',
-                            icon: "none"
-                        });
-                        that.setData({
-                            "detail.finished": 1
-                        })
-                    })
-                }
-            })
-        }
-    })
+        });
+    },
+    onInput(e) {
+        this.setData({
+            'content.actionnotes': e.detail.value
+        })
+    }
+})

+ 2 - 4
packageA/project/modules/task/add.json

@@ -1,6 +1,4 @@
 {
-    "usingComponents": {
-        "My_upload": "/components/My_upload/index"
-    },
-    "navigationBarTitleText": "任务阶段"
+    "usingComponents": {},
+    "navigationBarTitleText": "项目评估"
 }

+ 36 - 64
packageA/project/modules/task/add.scss

@@ -1,99 +1,71 @@
-.item {
+.head {
     width: 100vw;
     box-sizing: border-box;
     padding: 20rpx 30rpx;
-    font-size: 24rpx;
-    font-family: PingFang SC-Regular, PingFang SC;
-    color: #666666;
-    border-bottom: 2rpx solid #DDDDDD;
-    background: #fff;
+    background-color: #fff;
 
     .title {
-        display: flex;
-
-        .name {
-            flex: 1;
-        }
+        line-height: 40rpx;
+        font-size: 28rpx;
+        color: #333333;
+        margin-bottom: 20rpx;
     }
 
-    .remarks{
-        margin-top: 20rpx;
+    text {
+        font-size: 24rpx;
+        font-family: PingFang SC-Regular, PingFang SC;
+        color: #333333;
     }
 }
 
-.box {
-    width: 100vw;
+.label {
+    width: 750rpx;
+    height: 80rpx;
+    background: #FFFFFF;
+    font-size: 28rpx;
+    color: #333333;
     box-sizing: border-box;
-    background-color: #fff;
-    padding-top: 20rpx;
+    padding: 20rpx 30rpx;
     margin-top: 20rpx;
-    .title {
-        font-size: 28rpx;
-        font-family: PingFang SC-Regular, PingFang SC;
-        color: #333333;
-        padding-left: 30rpx;
-    }
-    .content {
-        width: 690rpx;
-        border-radius: 8rpx;
-        border: 2rpx solid #CCCCCC;
-        margin-top: 20rpx;
-        box-sizing: border-box;
-        padding-bottom: 20rpx;
-        margin-left: 30rpx;
-        margin-bottom: 20rpx;
-
-        .textarea {
-            width: 625rpx;
-            height: 130rpx;
-            margin: 20rpx 0 20rpx 30rpx;
-        }
-
-        .upload {
-            display: flex;
-            align-items: center;
-            width: 100%;
-            height: 88rpx;
-            box-sizing: border-box;
-            border-bottom: 2rpx solid #CCCCCC;
-            border-top: 2rpx solid #CCCCCC;
-            background-color: #F4F5F7;
+}
 
-            navigator {
-                width: 100rpx;
-                height: 80rpx;
-                line-height: 80rpx;
-                text-align: center;
-                padding: 0;
-                background-color: #F4F5F7;
-            }
-        }
+.text {
+    padding: 0 30rpx 20rpx;
+    background-color: #fff;
 
-        .title {
-            margin: 20rpx 0 0 0;
-        }
+    textarea {
+        width: 690rpx;
+        height: 180rpx;
+        background: #F5F5F5 !important;
+        border-radius: 16rpx;
+        box-sizing: border-box;
+        padding: 20rpx;
+        font-size: 24rpx !important;
     }
 }
+
+
 .footer {
     display: flex;
+    justify-content: space-between;
     align-items: center;
-    justify-content: flex-end;
+    padding: 0 30rpx;
     position: fixed;
-    width: 750rpx;
+    width: 100vw;
     height: 130rpx;
     background: #FFFFFF;
     box-shadow: 0px -4rpx 16rpx 2rpx rgba(150, 157, 165, 0.16);
     bottom: 0;
+    box-sizing: border-box;
 
     .but {
         width: 156rpx;
         height: 90rpx;
-        background: #FA8C16;
+        background: #3874F6;
         border-radius: 8rpx;
         font-size: 28rpx;
         font-family: PingFang SC-Bold, PingFang SC;
         font-weight: bold;
         color: #FFFFFF;
-        margin-right: 30rpx;
     }
 }

+ 13 - 30
packageA/project/modules/task/add.wxml

@@ -1,41 +1,24 @@
-<view class="item" url="#">
+<view class="head">
     <view class="title">
-        <view class="name">
-            {{detail.workname}}
-        </view>
-        <view wx:if="{{detail.finished==1}}" style="color: #3874F6;">已完成</view>
-        <view wx:else style="color:{{isFollow?'#52C41A':'#999999'}};">{{isFollow?'跟进中':'未开始'}}</view>
-    </view>
-    <view class="remarks">
-        任务:{{detail.remarks}}
+        评估项
     </view>
+    <text>{{taskname}}</text>
 </view>
 
+<view class="label">
+    评估内容
+</view>
 
-<view class="box">
-    <view class="title">任务内容</view>
-    <view class="content">
-        <view class="upload">
-            <My_upload accept='media' binduploadCallback="insertImgEdit">
-                <navigator url="#">
-                    <text class="iconfont icon-a-tonggaofujian" />
-                </navigator>
-            </My_upload>
-            <My_upload accept='file' binduploadCallback="insertImgEdit">
-                <navigator url="#">
-                    <text class="iconfont icon-a-biaoqianlanzhiku" />
-                </navigator>
-            </My_upload>
-        </view>
-
-        <textarea class="textarea" placeholder='请填写' value="{{detail.notes}}" bindinput='onInput' />
 
-    </view>
-    <Yl_Files files='{{files}}' id='Yl_files'/>
+<view class="label">
+    评估说明
+</view>
+<view class="text">
+    <textarea value="{{content.actionnotes}}" placeholder="评估说明" bindinput='onInput' />
 </view>
 
 <view style="height: 130rpx;" />
 <view class="footer">
-    <van-button custom-class='but' disabled='{{isSubmit || detail.finished==1}}' bind:click="submit">提交</van-button>
-    <van-button custom-class='but' disabled='{{!detail.notes || !isFollow}}' bind:click="save">保存</van-button>
+    <view />
+    <van-button custom-class='but' disabled='{{result.length==0}}' bind:click="submit">确定</van-button>
 </view>

+ 5 - 7
packageA/project/modules/task/index.js

@@ -27,19 +27,17 @@ Component({
                     "content.total": res.data.sumscore,
                     sa_projectid: id
                 })
-                console.log(this.data.sumscore,this.data.list)
+                console.log(this.data.sumscore, this.data.list)
             })
         },
-        onChange({
-            detail
-        }) {
+        onChange() {
             this.setData({
-                "content.isAll": detail ? 1 : 0
+                "content.isAll": this.data.content.isAll == 0 ? 1 : 0
             });
             this.getList(this.data.sa_projectid, true)
         },
-        handleRoute(item, list){
-            console.log(item, list)
+        handleSelectProject(item, list) {
+            this.selectComponent("#List").handleAdd(list.map(v => v.sa_project_partiesid))
         }
     }
 })

+ 2 - 2
packageA/project/modules/task/index.wxml

@@ -5,9 +5,9 @@
     <view class="right">
         <view class="switch">
             <text>仅显示当前阶段任务</text>
-            <van-switch checked="{{ content.isAll==1 }}" active-color="#085CDF" size="40rpx" bind:change='onChange' />
+            <van-switch checked="{{ content.isAll==0 }}" active-color="#085CDF" size="40rpx" bind:change='onChange' />
         </view>
     </view>
 </view>
 
-<List list="{{list}}" />
+<List list="{{list}}" id="List" />

+ 38 - 47
packageA/project/modules/task/list/index.js

@@ -6,62 +6,53 @@ Component({
     data: {
         viewIndex: null
     },
+    options: {
+        addGlobalClass: true
+    },
     methods: {
-        handleDetail(e) {
+        selectClient(e) {
             const {
-                index
+                item
             } = e.currentTarget.dataset,
-                item = this.data.list[index],
                 pages = getCurrentPages(),
                 page = pages[pages.length - 1];
-            _Http.basic({
-                "id": 20221128144904,
-                "content": {
-                    "sa_projectid": page.data.detail.sa_projectid,
+            this.setData({
+                taskname: item.taskname,
+                content: {
+                    sa_projectid: page.data.detail.sa_projectid,
                     "sa_projtaskmagid": item.sa_projtaskmagid,
-                    "sa_projstagemagid": item.sa_projtaskmagid || 0,
-                    "pageNumber": 1,
-                    "pageSize": 999
+                    "sa_projstagemagid": item.sa_projstagemagid,
                 }
-            }).then(res => {
-                console.log(res)
-                if (res.msg != '成功') return wx.showToast({
-                    title: res.msg,
-                    icon: "none"
-                });
-                this.setData({
-                    viewIndex: index == this.data.viewIndex ? null : index,
-                    workList: res.data
-                })
             })
-
-
+            if (item.partiestype.length != 0) {
+                wx.navigateTo({
+                    url: '/packageA/select/setclient/select?params=' + JSON.stringify({
+                        "id": 20221129152204,
+                        content: {
+                            model: "#Task",
+                            nocache: true,
+                            sa_projectid: page.data.detail.sa_projectid,
+                            "sa_projtaskmagid": item.sa_projtaskmagid,
+                            pageNumber: 1,
+                            pageTotal: 1,
+                            pageSize: 20,
+                            total: null,
+                            where: {
+                                condition: "",
+                            }
+                        },
+                    }),
+                });
+            } else {
+                this.handleAdd([]);
+            }
         },
-        selectClient(e) {
-            const {
-                item
-            } = e.currentTarget.dataset,
-                pages = getCurrentPages(),
-                page = pages[pages.length - 1];
-            console.log(item)
-            wx.navigateTo({
-                url: '/packageA/select/setclient/select?params=' + JSON.stringify({
-                    id: 20221129152204,
-                    model: "#Task",
-                    content: {
-                        nocache: true,
-                        sa_projectid: page.data.detail.sa_projectid,
-                        "sa_projtaskmagid": item.sa_projtaskmagid,
-                        pageNumber: 1,
-                        pageTotal: 1,
-                        pageSize: 20,
-                        total: null,
-                        where: {
-                            condition: "",
-                        }
-                    },
-                }),
+        handleAdd(ids) {
+            let content = this.data.content;
+            content.sa_project_partiesids = ids
+            wx.redirectTo({
+                url: '/packageA/project/modules/task/add?content=' + JSON.stringify(content) + '&taskname=' + this.data.taskname,
             })
-        },
+        }
     }
 })

+ 29 - 3
packageA/project/modules/task/list/index.scss

@@ -14,6 +14,22 @@
             color: #333333;
             line-height: 34rpx;
             word-wrap: break-word;
+
+            .pivotal {
+                display: inline-block;
+                width: 60rpx;
+                height: 36rpx;
+                text-align: center;
+                line-height: 36rpx;
+                background: #E5EEFF;
+                border-radius: 4rpx;
+                border: 1rpx solid #3874F6;
+                box-sizing: border-box;
+                font-size: 20rpx;
+                font-family: PingFang SC-Regular, PingFang SC;
+                color: #3874F6;
+                margin-right: 15rpx;
+            }
         }
 
         .right {
@@ -37,12 +53,11 @@
             height: 50rpx;
             width: 100%;
             box-sizing: border-box;
-            border-bottom: 1rpx solid #ddd;
-            padding-right: 40rpx;
+            padding-right: 20rpx;
 
             .tag-box {
                 display: flex;
-                width: 90%;
+                width: 85%;
                 height: 100%;
 
                 .tag {
@@ -56,6 +71,17 @@
                     margin-right: 10rpx;
                 }
             }
+
+            .history {
+                flex: 1;
+                display: flex;
+                height: 100%;
+                align-items: center;
+                justify-content: flex-end;
+                font-size: 24rpx;
+                font-family: PingFang SC-Regular, PingFang SC;
+                color: #3874F6;
+            }
         }
     }
 

+ 10 - 18
packageA/project/modules/task/list/index.wxml

@@ -1,31 +1,23 @@
-<view class="task-item" wx:for="{{list}}" wx:key="item.sa_projtaskmagid">
-    <navigator url="#" class="head" data-item="{{item}}" bindtap="selectClient">
+<navigator url="#" class="task-item" wx:for="{{list}}" wx:key="item.sa_projtaskmagid" data-item="{{item}}" bindtap="selectClient">
+    <view class="head">
         <view class="left">
-            {{item.rowindex}}、{{item.taskname}}
+            <view class="pivotal">关键</view>{{item.rowindex}}、{{item.taskname}}
         </view>
         <view class="right">
             分值:{{item.sequence}}
         </view>
-    </navigator>
-
-    <navigator url="#" class="footer" data-index="{{index}}" bindtap="handleDetail">
+    </view>
+    <view class="footer">
         <view class="box">
             <view class="tag-box">
                 <view class="tag" wx:for="{{item.partiestype}}" wx:for-item="it" wx:key="index">{{it}}</view>
             </view>
-            <van-icon wx:if="{{index == viewIndex}}" name="arrow-up" />
-            <van-icon wx:else name="arrow-down" />
-        </view>
-    </navigator>
-
-    <van-transition show="{{ index == viewIndex }}" custom-class="block">
-        <view class="unfold">
-            <view wx:if="{{workList.length==0}}" class="empty">
-                暂无数据
-            </view>
+            <navigator class="history" url="#" catch:tap>
+                记录<text class="iconfont icon-a-shouyezuixintonggaolantiaozhuan"></text>
+            </navigator>
         </view>
-    </van-transition>
-</view>
+    </view>
+</navigator>
 
 
 <My_empty wx:if="{{list.length==0}}" />

+ 2 - 2
packageA/select/setclient/select.js

@@ -74,7 +74,7 @@ Page({
     /* 获取列表标签 */
     getTags() {
         let list = this.data.list,
-            ownerids = list.map(v => v.sa_customersid)
+            ownerids = list.map(v => v.sys_enterpriseid)
         _Http.basic({
             "id": 20221018102001,
             "content": {
@@ -83,7 +83,7 @@ Page({
             }
         }).then(res => {
             for (let key in res.data) {
-                let index = list.findIndex(v => v.sa_customersid == key);
+                let index = list.findIndex(v => v.sys_enterpriseid == key);
                 list[index].tags = res.data[key]
             };
             this.setData({