|
|
@@ -295,14 +295,81 @@
|
|
|
</div>
|
|
|
</Card>
|
|
|
|
|
|
- <!-- 销售趋势 -->
|
|
|
+ <!-- 经营概况 -->
|
|
|
<Card class="card card-upcoming" style="margin-top: 8px;height: 280px" @contextmenu.native.prevent>
|
|
|
<div style="display: flex">
|
|
|
<div style="font-size: 16px;font-weight:500;color:#17233d;margin-right: 40px">
|
|
|
- 销售趋势
|
|
|
+ 经营概况
|
|
|
+ </div>
|
|
|
+ <DatePickerPop type="daterange" clearable size="small" :editable="true"
|
|
|
+ transfer v-model="accDate"
|
|
|
+ placement="bottom-end" @on-change="(val) => btnDatePickerOk(val)"
|
|
|
+ style="width:218px" :short-cut-flag="true"></DatePickerPop>
|
|
|
+ </div>
|
|
|
+ <Tooltip style="cursor: pointer" slot="extra" :content="$v('refresh')" theme="light">
|
|
|
+ <Button icon="md-refresh" shape="circle" class="circle-button" @click="selectBusinessOverview "></Button>
|
|
|
+ </Tooltip>
|
|
|
+ <div style="display: flex;align-items: center;">
|
|
|
+ <div class="upcoming">
|
|
|
+ <!--库存资产-->
|
|
|
+ <div class="upcoming-card" @click="openDrawer($config.homeDrawType.waitAudit)">
|
|
|
+ <Row>
|
|
|
+ <Col span="6" class="upcoming-card-icon">
|
|
|
+ <img :src="require('@/assets/images/menu-image/' + 'web-order-pending.png')"
|
|
|
+ style="width: 40px;height: 40px;"/>
|
|
|
+ </Col>
|
|
|
+ <Col span="18">
|
|
|
+ <Row class="upcoming-card-text" style="margin: 15px 0px 0px 5px">
|
|
|
+ ¥ {{ intAssets }}
|
|
|
+ </Row>
|
|
|
+ </Col>
|
|
|
+ <Col span="18">
|
|
|
+ <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
|
|
|
+ 库存资产(实时)
|
|
|
+ </Row>
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ </div>
|
|
|
+ <!--客户欠款-->
|
|
|
+ <div class="upcoming-card" @click="openDrawer($config.homeDrawType.waitAudit)">
|
|
|
+ <Row>
|
|
|
+ <Col span="6" class="upcoming-card-icon">
|
|
|
+ <img :src="require('@/assets/images/menu-image/' + 'web-out-pending.png')"
|
|
|
+ style="width: 40px;height: 40px;"/>
|
|
|
+ </Col>
|
|
|
+ <Col span="18">
|
|
|
+ <Row class="upcoming-card-text" style="margin: 15px 0px 0px 5px">
|
|
|
+ ¥ {{ receivableResidue }}
|
|
|
+ </Row>
|
|
|
+ </Col>
|
|
|
+ <Col span="18">
|
|
|
+ <Row class="upcoming-card-text" style="margin: 5px 0px 0px 5px">
|
|
|
+ 客户欠款(实时)
|
|
|
+ </Row>
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ </div>
|
|
|
+ <!--销售利润-->
|
|
|
+ <div class="upcoming-card1" @click="openDrawer($config.homeDrawType.waitAudit)">
|
|
|
+ <Row>
|
|
|
+ <Col span="3" class="upcoming-card1-icon">
|
|
|
+ <img :src="require('@/assets/images/menu-image/' + 'web-into-pending.png')"
|
|
|
+ style="width: 40px;height: 40px;"/>
|
|
|
+ </Col>
|
|
|
+ <Col span="18">
|
|
|
+ <Row class="upcoming-card1-text" style="margin: 15px 0px 0px 5px">
|
|
|
+ 销售金额: ¥{{ receivable }} 销售成本: ¥{{ costAmt }}
|
|
|
+ </Row>
|
|
|
+ </Col>
|
|
|
+ <Col span="18">
|
|
|
+ <Row class="upcoming-card1-text" style="margin: 0px 0px 0px 55px">
|
|
|
+ 销售利润: ¥{{ profit }} 利润率: {{ profitMargin }}%
|
|
|
+ </Row>
|
|
|
+ </Col>
|
|
|
+ </Row>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
-
|
|
|
</Card>
|
|
|
</div>
|
|
|
<!--右侧-->
|
|
|
@@ -593,6 +660,18 @@ export default {
|
|
|
{"id": "经营月报", "name": "经营月报"}
|
|
|
],
|
|
|
/***************** 实时数据 ******************/
|
|
|
+
|
|
|
+ /***************** 经营概况 ******************/
|
|
|
+ accDate: [new Date().addMonths(-1).format('yyyy-MM-dd'), new Date().format('yyyy-MM-dd')],
|
|
|
+ accDateStart: new Date().addMonths(-1).format('yyyy-MM-dd'),
|
|
|
+ accDateEnd: new Date().format('yyyy-MM-dd'),
|
|
|
+ intAssets: 0,
|
|
|
+ receivableResidue: 0,
|
|
|
+ costAmt: 0,
|
|
|
+ profitMargin: 0,
|
|
|
+ receivable: 0,
|
|
|
+ profit: 0,
|
|
|
+ /***************** 经营概况 ******************/
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
|
@@ -1328,7 +1407,46 @@ export default {
|
|
|
*/
|
|
|
beginnersGuide() {
|
|
|
this.open(this.$config.routeUrl['home']['beginnersGuide'])
|
|
|
- }
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 选择区间
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2024-07-02 14:48
|
|
|
+ */
|
|
|
+ btnDatePickerOk(date) {
|
|
|
+ if (date && date.length > 1) {
|
|
|
+ this.accDateStart = date[0]
|
|
|
+ this.accDateEnd = date[1]
|
|
|
+ } else {
|
|
|
+ this.accDateStart = null
|
|
|
+ this.accDateEnd = null
|
|
|
+ }
|
|
|
+ this.selectBusinessOverview()
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * @desc : 查询经营概况
|
|
|
+ * @author : 付斌
|
|
|
+ * @date : 2024-06-20 10:40
|
|
|
+ */
|
|
|
+ selectBusinessOverview() {
|
|
|
+ let querys = {
|
|
|
+ accDateStart: this.accDateStart,
|
|
|
+ accDateEnd: this.accDateEnd
|
|
|
+ }
|
|
|
+ let params = {
|
|
|
+ querys: JSON.stringify(querys)
|
|
|
+ }
|
|
|
+ this.excute(this.$service.detailReportService, this.$service.detailReportService.getBusinessOverview, params).then(res => {
|
|
|
+ if (res.code === this.$config.SUCCESS_CODE) {
|
|
|
+ this.intAssets = res.data.intAssets[0].intAssets
|
|
|
+ this.receivableResidue = res.data.receivableResidue[0].receivableResidue
|
|
|
+ this.receivable = res.data.profitMargin[0].receivable
|
|
|
+ this.costAmt = res.data.profitMargin[0].costAmt
|
|
|
+ this.profit = res.data.profitMargin[0].profit
|
|
|
+ this.profitMargin = res.data.profitMargin[0].profitMargin
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
},
|
|
|
created() {
|
|
|
this.routeObjName = 'appMenu' // 设置路由名称
|
|
|
@@ -1337,6 +1455,7 @@ export default {
|
|
|
this.selectPending();//获取代办事项个数
|
|
|
this.selectRealTimeData();//查询实时数据
|
|
|
this.selectCarousel();//查询轮播图
|
|
|
+ this.selectBusinessOverview(); //经营概况
|
|
|
// this.getApprovalCount();// 获取待审中心数据
|
|
|
// this.getUnreadNoticeCount();// 获取未读公告条数
|
|
|
this.waitApprovalRight = this.$libaray.checkButtonHasRight('wait-approval')
|
|
|
@@ -1427,6 +1546,33 @@ export default {
|
|
|
font-weight: 500;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .upcoming-card1 {
|
|
|
+ height: 100px;
|
|
|
+ width: 420px;
|
|
|
+ background-color: #f4f8ff;
|
|
|
+ padding: 20px 10px 30px 10px;
|
|
|
+ margin-right: 20px;
|
|
|
+ cursor: pointer;
|
|
|
+ border-radius: 15px;
|
|
|
+ //margin-bottom: 10px;
|
|
|
+
|
|
|
+ .upcoming-card1-icon {
|
|
|
+ //todo 2024年4月29日13:56:25 注释掉
|
|
|
+ /*padding: 16px 0;*/
|
|
|
+ }
|
|
|
+
|
|
|
+ .upcoming-card1-number {
|
|
|
+ font-size: 26px;
|
|
|
+ padding-left: 10px;
|
|
|
+ font-weight: bolder;
|
|
|
+ }
|
|
|
+
|
|
|
+ .upcoming-card1-text {
|
|
|
+ font-size: 13px;
|
|
|
+ font-weight: 500;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.upcoming::-webkit-scrollbar {
|