yumeng vor 1 Woche
Ursprung
Commit
a200b06ede

+ 2 - 2
.env.development

@@ -2,8 +2,8 @@
 VUE_APP_BASE_API_URL = http://118.24.244.213:3030
 
 #快手账户报表/素材报表接口地址
-VUE_APP_BASE_REPORT_URL = http://api.bjhcstszkj.cnreportModule
-# 测试地址 http://gateway..bjhcstszkj.cn
+VUE_APP_BASE_REPORT_URL = http://localhost:3000/jeecg-boot/reportModule
+# 测试地址 http://gateway.bjhcstszkj.cn
 # 线上地址 http://api.bjhcstszkj.cn
 # 宋英豪 http://192.168.1.67:9999
 # 周泽宇 http://192.168.1.134:9999

+ 44 - 0
src/components/formComponents/selectAccount.vue

@@ -40,6 +40,7 @@ import Treeselect from '@riophae/vue-treeselect' // 引用树组件
 import '@riophae/vue-treeselect/dist/vue-treeselect.css' //树组件样式
 import { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect' //树组件参数
 import { mapGetters } from 'vuex'
+import { getAction } from '@/api/manage'
 // We just use `setTimeout()` here to simulate an async operation
 // instead of requesting a real API server for demo purpose.
 export default {
@@ -167,6 +168,49 @@ export default {
             var params = {}
             params.userId = this.userInfo().id
             params.type = this.type
+            if (this.reqUrl === '/ctop/projectMember/getProjectAccountByUserId') {
+                let mediaType = '2'
+                if (this.type === 'bytedance') {
+                    mediaType = '1'
+                } else if (this.type === 'tencent') {
+                    mediaType = '16'
+                }
+                getAction(this.reqUrl, {
+                    userId: this.userInfo().id,
+                    mediaType
+                }).then(res => {
+                    if (res.success || res.code === 0) {
+                        const list = res.data || res.result || []
+                        this.options = list.map(item => {
+                            const project = item.project || {}
+                            const accountList = item.account || []
+                            return {
+                                id: project.projectId + 'projectId',
+                                label: project.projectName,
+                                children: accountList.map(c => {
+                                    return {
+                                        id: c.accountId,
+                                        label:
+                                            (c.userName && c.userName.length == 2
+                                                ? c.userName + '\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0'
+                                                : c.userName && c.userName.length == 3
+                                                ? c.userName + '\xa0\xa0\xa0\xa0'
+                                                : c.userName) +
+                                            '\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0' +
+                                            c.accountId +
+                                            '\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0' +
+                                            c.authName
+                                    }
+                                })
+                            }
+                        })
+                        if (this.multiple) {
+                            this.options.unshift({ id: 'all', label: '全选' })
+                        }
+                    }
+                })
+                return
+            }
             this.postDataAction(this.reqUrl, params).then(res => {
                 if (res.success) {
                     this.options = res.data

+ 265 - 0
src/views/modules/Statistics/tencentReport/kuaishouReport.less

@@ -0,0 +1,265 @@
+.account-report {
+    .directional-content {
+        background: #fff;
+        // height: calc(100vh - 137px);
+        padding: 20px;
+        margin-bottom: 15px;
+        ::v-deep.table-page-search-wrapper {
+            ::v-deep.ant-form-inline {
+                .ant-form-item {
+                    display: flex;
+                    margin-bottom: 24px;
+                    margin-right: 0;
+
+                    .ant-form-item-control-wrapper {
+                        flex: 1 1;
+                        display: inline-block;
+                        vertical-align: middle;
+                    }
+
+                    > .ant-form-item-label {
+                        line-height: 32px;
+                        padding-right: 8px;
+                        width: auto;
+                    }
+
+                    ::v-deep.ant-form-item-control {
+                        height: auto;
+                        line-height: 32px;
+                    }
+                }
+            }
+
+            .table-page-search-submitButtons {
+                display: block;
+                margin-bottom: 24px;
+                white-space: nowrap;
+            }
+        }
+
+        .middle-button {
+            margin: 0 8px;
+        }
+        .control-con-header {
+            margin-bottom: 20px;
+            position: relative;
+            ::v-deep .ant-form-inline .ant-form-item > .ant-form-item-control-wrapper,
+            .ant-form-inline .ant-form-item > .ant-form-item-label {
+                width: 200px !important;
+            }
+            .reset-class {
+                margin-right: 10px !important;
+            }
+            .upload-person {
+                position: absolute;
+                right: 10px;
+                top: 0;
+            }
+        }
+        .cause-text-class {
+            cursor: pointer;
+        }
+        .pagin-table-class {
+            display: flex;
+            justify-content: flex-end;
+            margin-top: 20px;
+        }
+        .acount-search-class {
+            width: 200% !important;
+        }
+        .grid-form-type {
+            margin-left: 210px;
+        }
+    }
+    .show {
+        // background-color: #fff;
+        width: 100%;
+        display: flex;
+        justify-content: space-between;
+        // padding: 0px 15px;
+        box-sizing: border-box;
+        margin-bottom: 15px;
+
+        .showBox {
+            width: 19%;
+            box-sizing: border-box;
+            padding: 15px 15px;
+            background-color: #fff;
+
+            .title {
+                color: #999;
+                font-size: 16px;
+                position: relative;
+                text-align: center;
+                .infotitle {
+                    padding: 8px 0;
+                }
+
+                span {
+                    font-size: 1rem;
+                    // color: #1890ff;
+                    position: absolute;
+                    top: 0;
+                    right: 0;
+                    cursor: pointer;
+                }
+            }
+            .infoNum {
+                padding: 10px 0;
+                text-align: center;
+                font-weight: 600;
+                font-size: 20px;
+                span {
+                    font-weight: 600;
+                    font-size: 16px;
+                }
+                .red {
+                    font-size: 20px;
+                    font-weight: 600;
+                    color: red;
+                }
+                .green {
+                    display: block;
+                    text-align: center;
+                    margin-left: 0.2rem;
+                    font-size: 14px;
+                    font-weight: 700;
+                    color: #32cd32;
+                    .huanbi {
+                        // color:#999;
+                        font-weight: 400;
+                        font-size: 14px;
+                    }
+                }
+            }
+        }
+    }
+    .chartBox {
+        background-color: #fff;
+        margin: 15px 0px;
+        padding: 2px 10px 30px;
+    }
+    .tableBox {
+        background-color: #fff;
+        margin: 15px 0px;
+        padding: 15px 10px;
+        .tableTop {
+            position: relative;
+            padding-bottom: 15px;
+            border-bottom: 1px solid #e0e0e0;
+            .selectTime {
+                margin-right: 20px;
+            }
+            .add {
+                position: absolute;
+                top: 0;
+                right: 0;
+            }
+        }
+    }
+    ::v-deep .push-modal {
+        width: 600px !important;
+        .acount-title {
+            display: flex;
+            font-size: 14px;
+            height: 40px;
+            line-height: 40px;
+            .acount-title-left {
+                margin-right: 20px;
+                width: 100px;
+            }
+        }
+        .push-plate {
+            margin-bottom: 20px;
+        }
+    }
+    .person-modal {
+        width: 500px;
+        ::v-deep .ant-form-item {
+            display: flex;
+        }
+        ::v-deep .ant-form-item-label {
+            width: 20%;
+        }
+        ::v-deep .ant-form-item-control-wrapper {
+            width: 80%;
+        }
+        .acount-search-class {
+            width: 100% !important;
+        }
+        .upload-txt-rules {
+            margin-top: 10px;
+            margin-bottom: 10px;
+            line-height: 1.5;
+        }
+        ::v-deep .ant-radio-group {
+            line-height: 30px;
+        }
+    }
+    ::v-deep .cause-modal {
+        width: 600px !important;
+        .cause-modal-table-class {
+            height: 500px;
+            overflow-y: auto;
+        }
+        .pagin-table-class {
+            display: flex;
+            justify-content: flex-end;
+            margin-top: 20px;
+        }
+    }
+    ::v-deep .relax-modal {
+        width: 600px !important;
+        .acount-title {
+            display: flex;
+            font-size: 14px;
+            height: 40px;
+            line-height: 40px;
+            .acount-title-left {
+                width: 80px;
+            }
+            .acount-title-left::after {
+                content: ' : ';
+            }
+        }
+        .push-plate {
+            margin-bottom: 20px;
+        }
+    }
+
+    .grid-form-item-account {
+        ::v-deep .ant-form-item-control {
+            line-height: inherit;
+        }
+    }
+}
+
+.video-report {
+    .directional-content {
+        background: #fff;
+        // height: calc(100vh - 137px);
+        padding: 20px;
+        margin-bottom: 15px;
+        .middle-button {
+            margin: 0 8px;
+        }
+    }
+    .tableBox {
+        background-color: #fff;
+        margin: 15px 0px;
+        padding: 15px 10px;
+        .tableTop {
+            position: relative;
+            padding-bottom: 15px;
+            border-bottom: 1px solid #e0e0e0;
+            .selectTime {
+                margin-right: 20px;
+            }
+            .add {
+                position: absolute;
+                top: 0;
+                right: 0;
+            }
+        }
+    }
+}

Datei-Diff unterdrückt, da er zu groß ist
+ 1384 - 0
src/views/modules/Statistics/tencentReport/videoReport.vue


+ 7 - 7
src/views/modules/policy-management/policy-management.vue

@@ -1346,7 +1346,7 @@
                     creativeAdvance: undefined,
                     creativeSale: undefined,
                     creativeOperate: 'no',
-                    time: [moment().subtract(30, 'days').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')],
+                    time: [moment().subtract(30, 'days'), moment()],
                     searchStatus: 'no'
                 },
                 tablePag: {
@@ -1430,8 +1430,8 @@
                     saleId: this.configForm.creativeSale === 'no' ? '' : this.configForm.creativeSale,
                     promotionType: this.configForm.creativeOperate === 'no' ? '' : this.configForm.creativeOperate,
                     approvedStatus: this.configForm.searchStatus === 'no' ? '' : this.configForm.searchStatus,
-                    startTime: this.configForm.time[0],
-                    endTime: this.configForm.time[1],
+                    startTime: this.configForm.time && this.configForm.time[0] ? moment(this.configForm.time[0]).format('YYYY-MM-DD') : '',
+                    endTime: this.configForm.time && this.configForm.time[1] ? moment(this.configForm.time[1]).format('YYYY-MM-DD') : '',
                     pageNo: this.tablePag.page,
                     pageSize: this.tablePag.size
                 };
@@ -1614,7 +1614,7 @@
                 return defaultScope;
             },
             handleLaunchData(date, dateString) {
-                this.configForm.time = dateString;
+                this.configForm.time = date;
             },
             handleFilterOption(input, option) {
                 return option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0;
@@ -1741,8 +1741,8 @@
                     saleId: this.configForm.creativeSale === 'no' ? '' : this.configForm.creativeSale,
                     promotionType: this.configForm.creativeOperate === 'no' ? '' : this.configForm.creativeOperate,
                     approvedStatus: this.configForm.searchStatus === 'no' ? '' : this.configForm.searchStatus,
-                    startTime: this.configForm.time[0],
-                    endTime: this.configForm.time[1],
+                    startTime: this.configForm.time && this.configForm.time[0] ? moment(this.configForm.time[0]).format('YYYY-MM-DD') : '',
+                    endTime: this.configForm.time && this.configForm.time[1] ? moment(this.configForm.time[1]).format('YYYY-MM-DD') : '',
                     pageNo: this.tablePag.page,
                     pageSize: this.tablePag.size
                 };
@@ -2154,7 +2154,7 @@
                     creativeAdvance: undefined,
                     creativeSale: undefined,
                     creativeOperate: 'no',
-                    time: [moment().subtract(30, 'days').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')],
+                    time: [moment().subtract(30, 'days'), moment()],
                     searchStatus: 'no'
                 };
                 this.tablePag = {

+ 5 - 5
src/views/modules/settlement-account/settlement-account.vue

@@ -371,7 +371,7 @@ export default {
                 accountName: '',
                 creativeSale: 2,
                 mediaId: 'no',
-                time: [moment().subtract(7, 'days').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')]
+                time: [moment().subtract(7, 'days'), moment()]
             },
             tablePag: {
                 page: 1,
@@ -399,7 +399,7 @@ export default {
             this.handleGetAllAdverList(e.target.value)
         },
         handleAddTimesChange(date, dateString) {
-            this.configForm.time = dateString;
+            this.configForm.time = date;
         },
         handleProductOptionChange(e) {
             this.policyOperationForm.projectId = undefined;
@@ -489,8 +489,8 @@ export default {
                 accountName: this.configForm.accountName,
                 createUserName: this.configForm.createUserName,
                 mediaId: this.configForm.mediaId === 'no' ? '' : this.configForm.mediaId,
-                startTime: this.configForm.time[0],
-                endTime: this.configForm.time[1],
+                startTime: this.configForm.time && this.configForm.time[0] ? moment(this.configForm.time[0]).format('YYYY-MM-DD') : '',
+                endTime: this.configForm.time && this.configForm.time[1] ? moment(this.configForm.time[1]).format('YYYY-MM-DD') : '',
                 pageNo: this.tablePag.page,
                 pageSize: this.tablePag.size
             };
@@ -660,7 +660,7 @@ export default {
                 accountName: '',
                 creativeSale: 2,
                 mediaId: 'no',
-                time: [moment().subtract(7, 'days').format('YYYY-MM-DD'), moment().format('YYYY-MM-DD')]
+                time: [moment().subtract(7, 'days'), moment()]
             };
             this.tablePag = {
                 page: 1,

+ 5 - 5
src/views/modules/settlement-information/settlement-information.vue

@@ -643,7 +643,7 @@ export default {
                 accountName: '',
                 createUserName: undefined,
                 mediaId: 'no',
-                time: [moment().startOf('months').format('YYYY-MM'), moment().startOf('months').format('YYYY-MM')],
+                time: [moment().startOf('months'), moment().startOf('months')],
             },
             noUploadAccountDataSource: [],
             tablePagNoAccount: {
@@ -739,7 +739,7 @@ export default {
             })
         },
         handlePanelChange2(value, mode) {
-            this.configForm.time = [moment(value[0]).format('YYYY-MM'), moment(value[1]).format('YYYY-MM')]
+            this.configForm.time = value
             this.mode2 = [mode[0] === 'date' ? 'month' : mode[0], mode[1] === 'date' ? 'month' : mode[1]]
         },
         handleProductIdNoChange(e) {
@@ -938,8 +938,8 @@ export default {
                 accountName: this.configForm.accountName,
                 createUserName: this.configForm.createUserName,
                 mediaId: this.configForm.mediaId === 'no' ? '' : this.configForm.mediaId,
-                startTime: this.configForm.time[0],
-                endTime: this.configForm.time[1],
+                startTime: this.configForm.time && this.configForm.time[0] ? moment(this.configForm.time[0]).format('YYYY-MM') : '',
+                endTime: this.configForm.time && this.configForm.time[1] ? moment(this.configForm.time[1]).format('YYYY-MM') : '',
                 pageNo: this.tablePag.page,
                 pageSize: this.tablePag.size,
             }
@@ -1154,7 +1154,7 @@ export default {
                 accountName: '',
                 createUserName: undefined,
                 mediaId: 'no',
-                time: [moment().startOf('months').format('YYYY-MM'), moment().startOf('months').format('YYYY-MM')],
+                time: [moment().startOf('months'), moment().startOf('months')],
             }
             this.tablePag = {
                 page: 1,

+ 9 - 0
vue.config.js

@@ -104,6 +104,14 @@ module.exports = {
     disableHostCheck: true,
     open: true,
     proxy: {
+      '/jeecg-boot/reportModule': {
+        target: 'http://127.0.0.1:7006',
+        ws: false,
+        changeOrigin: true,
+        pathRewrite: {
+          '^/jeecg-boot/reportModule': '/reportModule'
+        }
+      },
       '/jeecg-boot/material': {
         target: 'http://127.0.0.1:7006',
         ws: false,
@@ -130,6 +138,7 @@ module.exports = {
         ws: false,
         changeOrigin: true
       },
+
     },
     // before(app) {
     //     app.get('/seller', (req, res) => {