|
@@ -121,7 +121,7 @@
|
|
<template v-if="ins == 24">
|
|
<template v-if="ins == 24">
|
|
<el-radio-group v-model="tabPosition" size="small" @input="getGroupConsumptionData">
|
|
<el-radio-group v-model="tabPosition" size="small" @input="getGroupConsumptionData">
|
|
<el-radio-button label="0">表格</el-radio-button>
|
|
<el-radio-button label="0">表格</el-radio-button>
|
|
- <el-radio-button label="1">柱状图</el-radio-button>
|
|
|
|
|
|
+ <el-radio-button label="1">图表</el-radio-button>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -139,7 +139,7 @@
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
|
|
|
|
- <el-select v-if="ins == 24 && tabPosition == 1" v-model="groupConsumptionName" placeholder="请选择任务分组" clearable filterable size="small" @change="getList(true)" multiple collapse-tags style="margin-left:10px; width: 250px">
|
|
|
|
|
|
+ <el-select v-if="ins == 24 && tabPosition == 1" v-model="groupConsumptionName" placeholder="请选择任务分组" :clearable="tabsType == 'all' ? true : false" filterable size="small" @change="getList(true)" :multiple="tabsType == 'all' ? true : false" collapse-tags style="margin-left:10px; width: 250px" :key="groupTaskKey">
|
|
<el-option v-for="(item, index) in groupConsumptionList" :key="item.id" :label="item" :value="item"> </el-option>
|
|
<el-option v-for="(item, index) in groupConsumptionList" :key="item.id" :label="item" :value="item"> </el-option>
|
|
</el-select>
|
|
</el-select>
|
|
|
|
|
|
@@ -217,7 +217,7 @@
|
|
</div>
|
|
</div>
|
|
<!-- <p :style="ins == 9 ? 'float: right;margin-right: 25px;width:20%' : 'float: right;margin-right: 25px;width:10%'" > -->
|
|
<!-- <p :style="ins == 9 ? 'float: right;margin-right: 25px;width:20%' : 'float: right;margin-right: 25px;width:10%'" > -->
|
|
<p :style="`${ins == 9 || ins == 14 || ins == 21 ? 'width: 20%' : 'width: 10%'}`" class="tableRightBtn">
|
|
<p :style="`${ins == 9 || ins == 14 || ins == 21 ? 'width: 20%' : 'width: 10%'}`" class="tableRightBtn">
|
|
- <el-button type="primary" @click="exportExcel" size="mini">{{ $t('reporderived') }}</el-button>
|
|
|
|
|
|
+ <el-button type="primary" :loading="exportReportLoading" @click="exportExcel" size="mini">{{ $t('reporderived') }}</el-button>
|
|
<el-button type="primary" @click="fillAll" size="mini" v-if="ins == 14">{{ $t('quanBuBuZu') }}</el-button>
|
|
<el-button type="primary" @click="fillAll" size="mini" v-if="ins == 14">{{ $t('quanBuBuZu') }}</el-button>
|
|
<el-button type="primary" @click="exportExcelByQuarter" size="mini" v-if="ins == 9 && user.companyId == 876">{{ $t('an-ji-du-dao-chu') }}</el-button>
|
|
<el-button type="primary" @click="exportExcelByQuarter" size="mini" v-if="ins == 9 && user.companyId == 876">{{ $t('an-ji-du-dao-chu') }}</el-button>
|
|
<el-button type="primary" @click="setWarning" size="mini" v-if="ins == 21">{{ $t('sheZhiYuJing') }}</el-button>
|
|
<el-button type="primary" @click="setWarning" size="mini" v-if="ins == 21">{{ $t('sheZhiYuJing') }}</el-button>
|
|
@@ -1170,39 +1170,115 @@
|
|
<el-table-column align="center" prop="projectCode" :label="$t('Itemno')"></el-table-column>
|
|
<el-table-column align="center" prop="projectCode" :label="$t('Itemno')"></el-table-column>
|
|
<el-table-column align="center" prop="residueTime" :label="$t('shengYuGongShiH')" width="150"></el-table-column>
|
|
<el-table-column align="center" prop="residueTime" :label="$t('shengYuGongShiH')" width="150"></el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
|
|
+ <div class="packetConsumption" v-if="ins == 24" :style="`height:${tabPosition == 0 ? tableHeight : tableHeight + 50}px`" v-loading="listLoading">
|
|
|
|
+ <el-tabs v-model="tabsType" :tab-position="'left'" @tab-click="handleClick"
|
|
|
|
+ :style="`height: 100%;width: 100%;margin-right: 20px`">
|
|
|
|
+ <el-tab-pane name="all" label="分组耗用表">
|
|
|
|
+ <PackTables :datas="{
|
|
|
|
+ type: tabsType,
|
|
|
|
+ tabPosition: tabPosition,
|
|
|
|
+ list: isbeCustomReport.consumptionSchedule,
|
|
|
|
+ height: tableHeight,
|
|
|
|
+ listArr1,
|
|
|
|
+ listArr2,
|
|
|
|
+ listArr3,
|
|
|
|
+ params: {
|
|
|
|
+ groupNames: groupConsumptionName,
|
|
|
|
+ projectIds: proJuctId,
|
|
|
|
+ pageIndex: page,
|
|
|
|
+ pageSize: size,
|
|
|
|
+ dataTime: rangeDatas
|
|
|
|
+ },
|
|
|
|
+ echartsData: groupConsumptionOption
|
|
|
|
+ }" />
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ <el-tab-pane name="technology" label="研发工艺">
|
|
|
|
+ <PackTables :datas="{ type: tabsType, regular: 'technology', height: tableHeight, tabPosition, params: {
|
|
|
|
+ projectIds: proJuctId,
|
|
|
|
+ groupNames: groupConsumptionName,
|
|
|
|
+ dataTime: rangeDatas
|
|
|
|
+ } }" />
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ <el-tab-pane name="bim" label="研发BIM">
|
|
|
|
+ <PackTables :datas="{ type: tabsType, regular: 'bim', height: tableHeight, tabPosition, params: {
|
|
|
|
+ projectIds: proJuctId,
|
|
|
|
+ groupNames: groupConsumptionName,
|
|
|
|
+ dataTime: rangeDatas
|
|
|
|
+ } }" />
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ <el-tab-pane name="structure" label="研发结构">
|
|
|
|
+ <PackTables :datas="{ type: tabsType, regular: 'structure', height: tableHeight, tabPosition, params: {
|
|
|
|
+ projectIds: proJuctId,
|
|
|
|
+ groupNames: groupConsumptionName,
|
|
|
|
+ dataTime: rangeDatas
|
|
|
|
+ } }" />
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ <el-tab-pane name="electrical" label="研发电气">
|
|
|
|
+ <PackTables :datas="{ type: tabsType, regular: 'electrical', height: tableHeight, tabPosition, params: {
|
|
|
|
+ projectIds: proJuctId,
|
|
|
|
+ groupNames: groupConsumptionName,
|
|
|
|
+ dataTime: rangeDatas
|
|
|
|
+ } }" />
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ <el-tab-pane name="shakedown" label="研发调试">
|
|
|
|
+ <PackTables :datas="{ type: tabsType, regular: 'shakedown', height: tableHeight, tabPosition, params: {
|
|
|
|
+ projectIds: proJuctId,
|
|
|
|
+ groupNames: groupConsumptionName,
|
|
|
|
+ dataTime: rangeDatas
|
|
|
|
+ } }" />
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ <el-tab-pane name="produce" label="生产部">
|
|
|
|
+ <PackTables :datas="{ type: tabsType, regular: 'produce', height: tableHeight, tabPosition, params: {
|
|
|
|
+ projectIds: proJuctId,
|
|
|
|
+ groupNames: groupConsumptionName,
|
|
|
|
+ dataTime: rangeDatas
|
|
|
|
+ } }" />
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ <el-tab-pane name="engineering" label="工程部">
|
|
|
|
+ <PackTables :datas="{ type: tabsType, regular: 'engineering', height: tableHeight, tabPosition, params: {
|
|
|
|
+ projectIds: proJuctId,
|
|
|
|
+ groupNames: groupConsumptionName,
|
|
|
|
+ dataTime: rangeDatas
|
|
|
|
+ } }" />
|
|
|
|
+ </el-tab-pane>
|
|
|
|
+ </el-tabs>
|
|
|
|
+ <!-- <div>
|
|
|
|
|
|
- <!-- 分组耗用进度表 -->
|
|
|
|
- <el-table v-if="ins == 24 && tabPosition==0" :key="24" border :data="isbeCustomReport.consumptionSchedule" highlight-current-row v-loading="listLoading" :height="(+tableHeight - 0) - 1" style="width: 100%;" :span-method="objectSpanMethod">
|
|
|
|
- <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')" min-width="200"></el-table-column>
|
|
|
|
- <el-table-column align="center" prop="department_name" :label="$t('fuZeBuMen')" min-width="150">
|
|
|
|
- <template slot-scope="scope">
|
|
|
|
- <div>
|
|
|
|
- <span v-if="user.userNameNeedTranslate == '1'">
|
|
|
|
- <TranslationOpenDataText type='departmentName' :openid='scope.row.corpwxDeptId'></TranslationOpenDataText>
|
|
|
|
- </span>
|
|
|
|
- <span v-if="user.userNameNeedTranslate != '1'">
|
|
|
|
- {{scope.row.departmentName}}
|
|
|
|
- </span>
|
|
|
|
- <!-- {{ scope.row.corpwxDeptId }} -->
|
|
|
|
- </div>
|
|
|
|
- </template>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column align="center" prop="groupName" :label="$t('lable.taskGrouping')" min-width="150"></el-table-column>
|
|
|
|
- <el-table-column align="center" prop="planHour" :label="$t('jiHuaGongShiCaiWu')" width="120"></el-table-column>
|
|
|
|
- <el-table-column align="center" :label="$t('shiJiGongShiChengBen')">
|
|
|
|
- <el-table-column align="center" prop="afterSetPlanHour" :label="$t('zengBuGongShiH')" width="120"></el-table-column>
|
|
|
|
- <el-table-column align="center" prop="normalHour" :label="$t('zhengChangGongShiH')" width="100"></el-table-column>
|
|
|
|
- <el-table-column align="center" prop="overHour" :label="$t('jiaBanGongShiH')" width="100"></el-table-column>
|
|
|
|
- <el-table-column align="center" prop="realHour" :label="$t('heJiGongShiH')" width="100"></el-table-column>
|
|
|
|
- <el-table-column align="center" prop="realCost" :label="$t('heJiGongShiChengBen')" width="140"></el-table-column>
|
|
|
|
- </el-table-column>
|
|
|
|
- <el-table-column align="center" prop="process" :label="$t('gongShiHaoYongShuai')" width="150"></el-table-column>
|
|
|
|
- </el-table>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="packetConsumption-flex"></div> -->
|
|
|
|
+ <!-- 分组耗用进度表 -->
|
|
|
|
+ <!-- <el-table v-if="ins == 24 && tabPosition==0" :key="24" border :data="isbeCustomReport.consumptionSchedule" highlight-current-row v-loading="listLoading" :height="(+tableHeight - 0) - 1" style="width: 100%;" :span-method="objectSpanMethod">
|
|
|
|
+ <el-table-column align="center" prop="projectName" :label="$t('headerTop.projectName')" min-width="200"></el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="department_name" :label="$t('fuZeBuMen')" min-width="150">
|
|
|
|
+ <template slot-scope="scope">
|
|
|
|
+ <div>
|
|
|
|
+ <span v-if="user.userNameNeedTranslate == '1'">
|
|
|
|
+ <TranslationOpenDataText type='departmentName' :openid='scope.row.corpwxDeptId'></TranslationOpenDataText>
|
|
|
|
+ </span>
|
|
|
|
+ <span v-if="user.userNameNeedTranslate != '1'">
|
|
|
|
+ {{scope.row.departmentName}}
|
|
|
|
+ </span>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="groupName" :label="$t('lable.taskGrouping')" min-width="150"></el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="planHour" :label="$t('jiHuaGongShiCaiWu')" width="120"></el-table-column>
|
|
|
|
+ <el-table-column align="center" :label="$t('shiJiGongShiChengBen')">
|
|
|
|
+ <el-table-column align="center" prop="afterSetPlanHour" :label="$t('zengBuGongShiH')" width="120"></el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="normalHour" :label="$t('zhengChangGongShiH')" width="100"></el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="overHour" :label="$t('jiaBanGongShiH')" width="100"></el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="realHour" :label="$t('heJiGongShiH')" width="100"></el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="realCost" :label="$t('heJiGongShiChengBen')" width="140"></el-table-column>
|
|
|
|
+ </el-table-column>
|
|
|
|
+ <el-table-column align="center" prop="process" :label="$t('gongShiHaoYongShuai')" width="150"></el-table-column>
|
|
|
|
+ </el-table> -->
|
|
|
|
|
|
- <!-- 分组耗用进度图表 -->
|
|
|
|
- <div v-if="ins == 24 && tabPosition!=0" class="useASchedule" :style="`height:${tableHeight + 50}px`" v-loading="groupConsumptionLoading">
|
|
|
|
- <EchartsEchar :options="groupConsumptionOption"></EchartsEchar>
|
|
|
|
|
|
+ <!-- 分组耗用进度图表 -->
|
|
|
|
+ <!-- <div v-if="ins == 24 && tabPosition == 1 && tabsType == 'all'" class="useASchedule" :style="`height:${tableHeight + 50}px;width: 100%`" v-loading="groupConsumptionLoading">
|
|
|
|
+ <EchartsEchar :options="groupConsumptionOption"></EchartsEchar>
|
|
|
|
+ </div> -->
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
|
|
|
|
<!-- 项目耗用进度表 -->
|
|
<!-- 项目耗用进度表 -->
|
|
<el-table v-if="ins == 25" :key="25" border :data="isbeCustomReport.consumptionScheduleTwo" highlight-current-row v-loading="listLoading" :height="(+tableHeight) - 1" style="width: 100%;" >
|
|
<el-table v-if="ins == 25" :key="25" border :data="isbeCustomReport.consumptionScheduleTwo" highlight-current-row v-loading="listLoading" :height="(+tableHeight) - 1" style="width: 100%;" >
|
|
@@ -1330,7 +1406,7 @@
|
|
<el-table-column align="center" prop="onTimePercent" :label="$t('anShiWanChengShuai')" min-width="150"></el-table-column>
|
|
<el-table-column align="center" prop="onTimePercent" :label="$t('anShiWanChengShuai')" min-width="150"></el-table-column>
|
|
</el-table>
|
|
</el-table>
|
|
<!--工具条-->
|
|
<!--工具条-->
|
|
- <el-col :span="24" class="toolbar" v-if="ins != 6 && ins != 20 && ins != 21 && tabPosition==0">
|
|
|
|
|
|
+ <el-col :span="24" class="toolbar" v-if="ins != 6 && ins != 20 && ins != 21 && tabPosition==0 && tabsType == 'all'">
|
|
<el-pagination
|
|
<el-pagination
|
|
v-if="ins == 12"
|
|
v-if="ins == 12"
|
|
@size-change="groupSizeChange"
|
|
@size-change="groupSizeChange"
|
|
@@ -1647,14 +1723,16 @@ import selectCat from "@/components/select.vue"
|
|
// 引入自定义级联组件
|
|
// 引入自定义级联组件
|
|
import vueCascader from "@/components/cascader.vue"
|
|
import vueCascader from "@/components/cascader.vue"
|
|
import EchartsEchar from "@/components/echartsEchar.vue"
|
|
import EchartsEchar from "@/components/echartsEchar.vue"
|
|
-import { getGroupConsumption } from "./echartsData"
|
|
|
|
|
|
+import { getGroupConsumption, fixedTaskGrouping, fixedGrouping } from "./echartsData"
|
|
|
|
+import PackTables from "./packetConsumption/tables.vue"
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "expense",
|
|
name: "expense",
|
|
components: {
|
|
components: {
|
|
selectCat,
|
|
selectCat,
|
|
vueCascader,
|
|
vueCascader,
|
|
- EchartsEchar
|
|
|
|
|
|
+ EchartsEchar,
|
|
|
|
+ PackTables
|
|
},
|
|
},
|
|
props: {},
|
|
props: {},
|
|
data() {
|
|
data() {
|
|
@@ -1885,9 +1963,13 @@ export default {
|
|
// 分组耗用进度图表
|
|
// 分组耗用进度图表
|
|
groupConsumptionOption: {},
|
|
groupConsumptionOption: {},
|
|
groupConsumptionLoading: false,
|
|
groupConsumptionLoading: false,
|
|
- groupConsumptionList: ['工程部现场安装施工', '工程部配合调试', '生产部电气', '生产部车间', '研发部BIM设计', '研发部工艺设计', '研发部工艺调试验收', '研发部电气设计', '研发部电气调试验收', '研发部结构设计'],
|
|
|
|
|
|
+ groupConsumptionList: fixedTaskGrouping,
|
|
groupConsumptionName: [],
|
|
groupConsumptionName: [],
|
|
- groupConsumptionTimer: null
|
|
|
|
|
|
+ groupConsumptionTimer: null,
|
|
|
|
+ tabsType: 'all',
|
|
|
|
+ tabParams: {},
|
|
|
|
+ groupTaskKey: 1,
|
|
|
|
+ exportReportLoading: false
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {},
|
|
computed: {},
|
|
@@ -1968,6 +2050,26 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ handleClick() {
|
|
|
|
+ console.log(this.tabsType, '<==== 返回的书')
|
|
|
|
+ this.groupTaskKey++
|
|
|
|
+ if(this.tabsType == 'all') {
|
|
|
|
+ this.$set(this, 'groupConsumptionName', '')
|
|
|
|
+ this.$set(this, 'groupConsumptionList', fixedTaskGrouping)
|
|
|
|
+ this.$set(this, 'rangeDatas', null)
|
|
|
|
+ if(this.tabPosition == 1) {
|
|
|
|
+ this.getGroupConsumptionData()
|
|
|
|
+ } else {
|
|
|
|
+ this.getConsumptionSchedule()
|
|
|
|
+ }
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ this.rangeDatas = this.getCurrentRangeTime()
|
|
|
|
+ const type = this.tabsType
|
|
|
|
+ const list = fixedGrouping[type].tabPicFileds
|
|
|
|
+ this.groupConsumptionName = list[0].filed
|
|
|
|
+ this.groupConsumptionList = list.map(item => item.filed)
|
|
|
|
+ },
|
|
authorityToJudge() {
|
|
authorityToJudge() {
|
|
if(this.permissions.reportProject || this.permissions.reportAllProject) {this.ssl(0);this.defaultActive = '1-1';return} else
|
|
if(this.permissions.reportProject || this.permissions.reportAllProject) {this.ssl(0);this.defaultActive = '1-1';return} else
|
|
if(this.permissions.reportTask || this.permissions.reportAllTask) {this.ssl(1);this.defaultActive = '1-2';return} else
|
|
if(this.permissions.reportTask || this.permissions.reportAllTask) {this.ssl(1);this.defaultActive = '1-2';return} else
|
|
@@ -2273,7 +2375,9 @@ export default {
|
|
getList(e) {
|
|
getList(e) {
|
|
let noUserList = [16, 17, 18, 19, 20, 21, 22, 24, 25, 26,27]
|
|
let noUserList = [16, 17, 18, 19, 20, 21, 22, 24, 25, 26,27]
|
|
if(this.ins == 24) {
|
|
if(this.ins == 24) {
|
|
- this.rangeDatas = []
|
|
|
|
|
|
+ if(this.tabsType == 'all') {
|
|
|
|
+ this.rangeDatas = []
|
|
|
|
+ }
|
|
} else if(this.ins == 15) {
|
|
} else if(this.ins == 15) {
|
|
this.rangeDatas = null
|
|
this.rangeDatas = null
|
|
} else if(!e){
|
|
} else if(!e){
|
|
@@ -2535,11 +2639,24 @@ export default {
|
|
this.userId ? sl.userId = this.userId : ''
|
|
this.userId ? sl.userId = this.userId : ''
|
|
dept ? sl.deptId = dept : ''
|
|
dept ? sl.deptId = dept : ''
|
|
} else if(this.ins == 24) {
|
|
} else if(this.ins == 24) {
|
|
- fName = this.$t('fenZuHaoYongJinDuBiao') + '.xlsx'
|
|
|
|
- url = "/project/exportGroupExpendProcessList"
|
|
|
|
- this.proJuctId ? sl.projectId = this.proJuctId : ''
|
|
|
|
- sl.startDate = this.rangeDatas[0]
|
|
|
|
- sl.endDate = this.rangeDatas[1]
|
|
|
|
|
|
+ this.exportReportLoading = true
|
|
|
|
+ if(this.tabsType == 'all') {
|
|
|
|
+ fName = this.$t('fenZuHaoYongJinDuBiao') + '.xlsx'
|
|
|
|
+ url = "/project/exportGroupExpendProcessList"
|
|
|
|
+ this.proJuctId ? sl.projectId = this.proJuctId : ''
|
|
|
|
+ sl.startDate = this.rangeDatas[0]
|
|
|
|
+ sl.endDate = this.rangeDatas[1]
|
|
|
|
+ } else {
|
|
|
|
+ const type = this.tabsType
|
|
|
|
+ const row = fixedGrouping[type]
|
|
|
|
+ const listText = row.tableFileds.map(item => item.label).join(',')
|
|
|
|
+ fName = row + '表' + '.xlsx'
|
|
|
|
+ url = "/project/exportGroupExpendProcessListForUser"
|
|
|
|
+ this.proJuctId ? sl.projectId = this.proJuctId : ''
|
|
|
|
+ sl.startDate = this.rangeDatas[0]
|
|
|
|
+ sl.endDate = this.rangeDatas[1]
|
|
|
|
+ sl.titleStr = (listText || '')+',所属部门,工号,员工,总计'
|
|
|
|
+ }
|
|
} else if(this.ins == 25) {
|
|
} else if(this.ins == 25) {
|
|
fName = this.$t('xiangMuHaoYongJinDuBiao') + '.xlsx'
|
|
fName = this.$t('xiangMuHaoYongJinDuBiao') + '.xlsx'
|
|
url = "/project/exportProjectExpendProcessList"
|
|
url = "/project/exportProjectExpendProcessList"
|
|
@@ -2572,6 +2689,7 @@ export default {
|
|
}
|
|
}
|
|
this.http.post(url, sl,
|
|
this.http.post(url, sl,
|
|
res => {
|
|
res => {
|
|
|
|
+ this.exportReportLoading = false
|
|
if (res.code == "ok") {
|
|
if (res.code == "ok") {
|
|
var filePath = res.data;
|
|
var filePath = res.data;
|
|
const a = document.createElement('a'); // 创建a标签
|
|
const a = document.createElement('a'); // 创建a标签
|
|
@@ -2587,6 +2705,7 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
error => {
|
|
error => {
|
|
|
|
+ this.exportReportLoading = false
|
|
this.$message({
|
|
this.$message({
|
|
message: error,
|
|
message: error,
|
|
type: "error"
|
|
type: "error"
|
|
@@ -2651,6 +2770,7 @@ export default {
|
|
this.userId = null
|
|
this.userId = null
|
|
this.selUserList = this.userList
|
|
this.selUserList = this.userList
|
|
this.tabPosition="0"
|
|
this.tabPosition="0"
|
|
|
|
+ this.tabsType = 'all'
|
|
this.getList();
|
|
this.getList();
|
|
},
|
|
},
|
|
stateKeySel(){
|
|
stateKeySel(){
|
|
@@ -4176,6 +4296,9 @@ export default {
|
|
},
|
|
},
|
|
// 分组耗用进度表
|
|
// 分组耗用进度表
|
|
async getConsumptionSchedule() {
|
|
async getConsumptionSchedule() {
|
|
|
|
+ if(this.tabsType != 'all') {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
let parameter = {
|
|
let parameter = {
|
|
// startDate: this.rangeDatas[0],
|
|
// startDate: this.rangeDatas[0],
|
|
// endDate: this.rangeDatas[1],
|
|
// endDate: this.rangeDatas[1],
|
|
@@ -4293,18 +4416,23 @@ export default {
|
|
clearTimeout(this.groupConsumptionTimer)
|
|
clearTimeout(this.groupConsumptionTimer)
|
|
}
|
|
}
|
|
this.groupConsumptionTimer = setTimeout(async () => {
|
|
this.groupConsumptionTimer = setTimeout(async () => {
|
|
|
|
+ if(this.tabsType != 'all') {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
if(this.tabPosition == 0) {
|
|
if(this.tabPosition == 0) {
|
|
this.proJuctId = ''
|
|
this.proJuctId = ''
|
|
return
|
|
return
|
|
}
|
|
}
|
|
- this.groupConsumptionLoading = true
|
|
|
|
|
|
+ // this.groupConsumptionLoading = true
|
|
|
|
+ this.listLoading = true
|
|
let { data } = await this.postData('/project/groupExpendProcessListForChart', {
|
|
let { data } = await this.postData('/project/groupExpendProcessListForChart', {
|
|
startDate: this.rangeDatas[0],
|
|
startDate: this.rangeDatas[0],
|
|
endDate: this.rangeDatas[1],
|
|
endDate: this.rangeDatas[1],
|
|
projectIds: this.proJuctId,
|
|
projectIds: this.proJuctId,
|
|
groupNames: this.groupConsumptionName.join(',')
|
|
groupNames: this.groupConsumptionName.join(',')
|
|
})
|
|
})
|
|
- this.groupConsumptionLoading = false
|
|
|
|
|
|
+ // this.groupConsumptionLoading = false
|
|
|
|
+ this.listLoading = false
|
|
let nameList = data.map(item => (item.groupName || ''))
|
|
let nameList = data.map(item => (item.groupName || ''))
|
|
let realHourList = data.map(item => returnNum((item.realHour || 0)))
|
|
let realHourList = data.map(item => returnNum((item.realHour || 0)))
|
|
let actualPlan = data.map(item => returnNum((item.planHour || 0)))
|
|
let actualPlan = data.map(item => returnNum((item.planHour || 0)))
|
|
@@ -4548,4 +4676,15 @@ export default {
|
|
.useASchedule {
|
|
.useASchedule {
|
|
width: 100%;
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+.packetConsumption {
|
|
|
|
+ width: 100%;
|
|
|
|
+ display: flex;
|
|
|
|
+ &>div {
|
|
|
|
+ height: 100%;
|
|
|
|
+ }
|
|
|
|
+ .packetConsumption-flex {
|
|
|
|
+ flex: 1;
|
|
|
|
+ }
|
|
|
|
+}
|
|
</style>
|
|
</style>
|