|
@@ -1,244 +1,40 @@
|
|
|
<template>
|
|
|
- <div id="app" v-cloak>
|
|
|
- <div class="app-main">
|
|
|
- <div class="app-main-zhunbeixuanzhuan">
|
|
|
- <div class="app-main-xuanzhuan">
|
|
|
- <div class="search clear">
|
|
|
- <el-date-picker
|
|
|
- v-model="date"
|
|
|
- class="fr picker"
|
|
|
- :size="'small'"
|
|
|
- :editable="false"
|
|
|
- :clearable="false"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- format="yyyy-MM-dd"
|
|
|
- type="date"
|
|
|
- align="right"
|
|
|
- placeholder="选择日期"
|
|
|
- :picker-options="{
|
|
|
- disabledDate(time) {
|
|
|
- return time.getTime() > Date.now();
|
|
|
- }
|
|
|
- }"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </div>
|
|
|
-
|
|
|
- <h3>平台业绩报表</h3>
|
|
|
- <el-row class="myul">
|
|
|
- <el-col style="margin-bottom:20px">
|
|
|
- <wanyu-report :date="date" />
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
-
|
|
|
-
|
|
|
- <!-- 24 -->
|
|
|
- <h3>公司业绩报表</h3>
|
|
|
- <el-row :gutter="10">
|
|
|
- <el-col style="margin-bottom:20px" :xs="24" :sm="12" :md="12" :lg="12" :xl="6">
|
|
|
- <department-report companyNo="GS2302231125079621" :date="date" />
|
|
|
- </el-col>
|
|
|
- <el-col style="margin-bottom:20px" :xs="24" :sm="12" :md="12" :lg="12" :xl="6">
|
|
|
- <department-report companyNo="GS2302231124114965" :date="date" />
|
|
|
- </el-col>
|
|
|
- <el-col style="margin-bottom:20px" :xs="24" :sm="12" :md="12" :lg="12" :xl="6">
|
|
|
- <department-report companyNo="GS2302231323386950" :date="date" />
|
|
|
- </el-col>
|
|
|
- <el-col style="margin-bottom:20px" :xs="24" :sm="12" :md="12" :lg="12" :xl="6">
|
|
|
- <department-report companyNo="GS2203161855277894" :date="date" />
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
+ <div id="app" v-cloak v-loading="state.loading">
|
|
|
+ <control-display v-if="!state.error" :companyArr="companyArr" />
|
|
|
+ <unusual-state v-else :message="state.message" />
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
import asyncRequest from "@/api/index"
|
|
|
import { getParameterByName } from "../utils/auth"
|
|
|
+import UnusualState from "@/components/unusual/index.vue"
|
|
|
export default {
|
|
|
name:'report',
|
|
|
+ components:{ UnusualState },
|
|
|
data() {
|
|
|
return {
|
|
|
- date: ""
|
|
|
- };
|
|
|
- },
|
|
|
- async created() {
|
|
|
- this.date = this.transformTime();
|
|
|
- const { search } = window.location
|
|
|
- if(search.indexOf('?') !== -1){
|
|
|
- const query = {}
|
|
|
- search.split('?')[1].split('&').forEach(item => {
|
|
|
- const [key,value] = item.split('=')
|
|
|
- query[key] = value
|
|
|
- })
|
|
|
+ companyArr:[],
|
|
|
+ state:{
|
|
|
+ error:false,
|
|
|
+ loading:false,
|
|
|
+ message:'',
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
async mounted(){
|
|
|
- const result = await asyncRequest.userinfo({code:getParameterByName('code')})
|
|
|
- alert(JSON.stringify(result))
|
|
|
- },
|
|
|
- methods: {
|
|
|
- transformTime() {
|
|
|
- let time = new Date();
|
|
|
- let y = time.getFullYear();
|
|
|
- let M = time.getMonth() + 1;
|
|
|
- let d = time.getDate();
|
|
|
- return y + "-" + (M < 10 ? "0" + M : M) + "-" + (d < 10 ? "0" + d : d);
|
|
|
- },
|
|
|
- }
|
|
|
-};
|
|
|
-</script>
|
|
|
-<style lang="scss">
|
|
|
-@mixin layout-dev {
|
|
|
- position: fixed;
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- padding: 0;
|
|
|
- margin: 0;
|
|
|
- box-sizing: border-box;
|
|
|
- overflow-y: auto
|
|
|
-}
|
|
|
-html {
|
|
|
- @include layout-dev;
|
|
|
-
|
|
|
- body {
|
|
|
- @include layout-dev;
|
|
|
- text-align: left;
|
|
|
- }
|
|
|
- .clear::after,
|
|
|
- .clear::before {
|
|
|
- content: "";
|
|
|
- display: block;
|
|
|
- clear: both;
|
|
|
- }
|
|
|
+ this.state.loading = true
|
|
|
+ const result = await asyncRequest.userinfo({code: getParameterByName('code')})
|
|
|
+ this.state.loading = false
|
|
|
|
|
|
- #app {
|
|
|
- @include layout-dev;
|
|
|
-
|
|
|
- padding: 0;
|
|
|
- .app-main {
|
|
|
- width: 100%;
|
|
|
- padding: 0;
|
|
|
- margin: 0;
|
|
|
- box-sizing: border-box;
|
|
|
- .app-main-zhunbeixuanzhuan {
|
|
|
- position: relative;
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- box-sizing: border-box;
|
|
|
- .app-main-xuanzhuan {
|
|
|
- position: absolute;
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- // bottom: 0px;
|
|
|
- box-sizing: border-box;
|
|
|
- padding: 16px;
|
|
|
- }
|
|
|
- }
|
|
|
- .search {
|
|
|
- position: relative;
|
|
|
- padding: 0 0 12px 0;
|
|
|
- }
|
|
|
- .shengxia {
|
|
|
- float: left;
|
|
|
- height: 33px;
|
|
|
- line-height: 32px;
|
|
|
- width: calc(100% - 122px);
|
|
|
- }
|
|
|
- .picker{
|
|
|
- width: 112px;
|
|
|
- }
|
|
|
- .fr {
|
|
|
- float: right;
|
|
|
- }
|
|
|
- .fr.my-fr {
|
|
|
- width: 112px;
|
|
|
- line-height: 32px;
|
|
|
- text-align: right;
|
|
|
- i {
|
|
|
- font-size: 17px;
|
|
|
- height: 32px;
|
|
|
- line-height: 32px;
|
|
|
- color: #606266;
|
|
|
- display: inline-block;
|
|
|
- vertical-align: top;
|
|
|
- }
|
|
|
- span {
|
|
|
- display: inline-block;
|
|
|
- vertical-align: top;
|
|
|
- color: #606266;
|
|
|
- font-size: 14px;
|
|
|
- padding: 0 0 0 5px;
|
|
|
- }
|
|
|
- }
|
|
|
- .title {
|
|
|
- text-align: center;
|
|
|
- padding: 0 0 8px 0;
|
|
|
- }
|
|
|
- .el-table .el-table__header-wrapper table thead tr th {
|
|
|
- background: #f5f7fa !important;
|
|
|
- }
|
|
|
- .el-date-editor.fr.el-input.el-input--small.el-input--prefix.el-input--suffix.el-date-editor--date {
|
|
|
- .el-input__inner {
|
|
|
- padding-right: 0 !important;
|
|
|
- }
|
|
|
- }
|
|
|
- .el-drawer__wrapper {
|
|
|
- #el-drawer__title {
|
|
|
- margin: 0 !important;
|
|
|
- display: none !important;
|
|
|
- }
|
|
|
- .el-drawer__body {
|
|
|
- .demo-drawer__content_header {
|
|
|
- padding: 20px 20px 0 !important;
|
|
|
- font-size: 16px !important;
|
|
|
- color: #72767b !important;
|
|
|
- }
|
|
|
- ul.demo-drawer__content_body {
|
|
|
- width: 100% !important;
|
|
|
- box-sizing: border-box !important;
|
|
|
- li {
|
|
|
- height: 23px !important;
|
|
|
- line-height: 23px !important;
|
|
|
- font-size: 14px !important;
|
|
|
- color: #72767b !important;
|
|
|
- box-sizing: border-box !important;
|
|
|
- }
|
|
|
- li.active_e {
|
|
|
- height: 23px !important;
|
|
|
- line-height: 23px !important;
|
|
|
- color: #409eff !important;
|
|
|
- font-size: 14px !important;
|
|
|
- box-sizing: border-box !important;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .myul {
|
|
|
- position: relative;
|
|
|
- list-style-type: none;
|
|
|
- padding: 0;
|
|
|
- margin: 0;
|
|
|
- box-sizing: border-box;
|
|
|
- width: 100%;
|
|
|
- .myli {
|
|
|
- position: relative;
|
|
|
- list-style-type: none;
|
|
|
- padding: 0;
|
|
|
- margin: 0;
|
|
|
- width: 100%;
|
|
|
- }
|
|
|
- }
|
|
|
- .el-table .warning-row {
|
|
|
- background: #f5f7fa !important;
|
|
|
- // background: oldlace !important;
|
|
|
- }
|
|
|
-
|
|
|
- .el-table .success-row {
|
|
|
- background: #f0f9eb !important;
|
|
|
- }
|
|
|
+ switch(Number(result.code)){
|
|
|
+ case 0:
|
|
|
+ this.companyArr = result.data.companyArr || []
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ this.state.error = true
|
|
|
+ this.state.message = result.message
|
|
|
+ break
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
-</style>
|
|
|
+};
|
|
|
+</script>
|