|
@@ -0,0 +1,529 @@
|
|
|
+<template>
|
|
|
+ <!-- -------------------------- 待处理 ----------------------------- -->
|
|
|
+ <div class="bgColorSz">
|
|
|
+ <el-tabs v-model="activeName" class="abc" @tab-click="handleClick">
|
|
|
+ <el-tab-pane label="待处理" name="first">
|
|
|
+ <div class="titStyle">近期代办</div>
|
|
|
+ <div style="height:6em;margin: 1% 0% 0% 2%;">
|
|
|
+ <el-button v-show="show1" type="primary" class="itemName" size="small" plain @click="clickNum(1)">{{ oneData.name }}</el-button>
|
|
|
+ <el-button v-show="show2" type="primary" class="itemName" size="small" plain @click="clickNum(2)">{{ oneData1.name }}</el-button>
|
|
|
+ <el-button v-show="show3" type="primary" class="itemName" size="small" plain @click="clickNum(3)">{{ oneData2.name }}</el-button>
|
|
|
+ <el-button v-show="show1" style="margin-bottom:24px;" type="primary" size="mini" @click="clickNum(4)"> · · · </el-button>
|
|
|
+ </div>
|
|
|
+ <div style="background:#F2F3F6; padding: 0.5%;" />
|
|
|
+ <div style="height:64vh; text-align:center; border-radius:8px;">
|
|
|
+ <div align="center" style="height:55vh;">
|
|
|
+ 类型
|
|
|
+ <el-select v-model="bugOrTask1.isBugOrTask" size="medium" style="width: 13%;margin: 2% 5% 2% 1%;" clearable placeholder="类型" @change="getstatus(bugOrTask1.isBugOrTask)">
|
|
|
+ <el-option v-for="item in bugTask" :key="item.value" :label="item.name" :value="item.value" />
|
|
|
+ </el-select>
|
|
|
+ 状态
|
|
|
+ <el-select v-model="bugOrTask1.status" size="medium" multiple collapse-tags style="width: 13%;margin: 2% 5% 2% 1%;" clearable placeholder="状态">
|
|
|
+ <el-option v-for="item in bugStatusStr1" :key="item.code" :label="item.name" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
+ 优先级
|
|
|
+ <el-select v-model="bugOrTask1.priority" size="medium" style="width: 13%;margin: 2% 5% 2% 1%;" clearable placeholder="优先级">
|
|
|
+ <el-option v-for="item in bugLevelStr" :key="item.code" :label="item.name" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
+ 主题 <el-input v-model="bugOrTask1.titles" size="medium" placeholder="主题" clearable style="width: 14%; margin: 2% 5% 2% 1%;" />
|
|
|
+
|
|
|
+ <el-button type="primary" size="small" style="margin:2% 0%;" @click="clickQuery(bugOrTask1)">查询</el-button>
|
|
|
+
|
|
|
+ <el-table v-if="bug" :data="tableType" border max-height="335" :header-cell-style="getRowClass" style="width:95%;cursor:pointer" align="center" @row-click="clickQueryTableTask">
|
|
|
+ <el-table-column type="index" label="序号" width="150" align="center" />
|
|
|
+ <el-table-column label="类型" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.isBugOrTask }}</template></el-table-column>
|
|
|
+ <el-table-column label="主题" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.bugName }}</template></el-table-column>
|
|
|
+ <el-table-column label="优先级" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.priorityName }}</template></el-table-column>
|
|
|
+ <el-table-column label="状态" min-width="100" align="center"><template slot-scope="scope"><el-tag type="success">{{ scope.row.bugStatusName }}</el-tag></template></el-table-column>
|
|
|
+ <el-table-column label="最近更新时间" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.gmtModify }}</template></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-table v-if="task" :data="tableType" border max-height="335" :header-cell-style="getRowClass" style="width: 95%;cursor:pointer" align="center" @row-click="clickQueryTableTask">
|
|
|
+ <el-table-column type="index" label="序号" width="150" align="center" />
|
|
|
+ <el-table-column label="类型" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.isBugOrTask }}</template></el-table-column>
|
|
|
+ <el-table-column label="主题" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.name }}</template></el-table-column>
|
|
|
+ <el-table-column label="优先级" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.priorityString }}</template></el-table-column>
|
|
|
+ <el-table-column label="状态" min-width="100" align="center"><template slot-scope="scope"><el-tag type="success">{{ scope.row.statusString }}</el-tag></template></el-table-column>
|
|
|
+ <el-table-column label="最近更新时间" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.modifyTime }}</template></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ </el-tab-pane>
|
|
|
+
|
|
|
+ <!-- ------------------------- 工作统计 ------------------------------ -->
|
|
|
+
|
|
|
+ <el-tab-pane label="工作统计" name="second">
|
|
|
+ <div style="white-space:nowrap;"><img v-show="img" style="width:10px;height:10px;margin: 0 1% 0.45% 0" :src="imgUrl"><span class="titStyle">本周统计</span></div>
|
|
|
+ <div style=" margin: 2% 0 0 2%;">
|
|
|
+ <el-badge :value="HashSet" class="item"><el-button type="primary" class="itemName" size="small" plain @click="queryClickTable(1)">任务进行中</el-button></el-badge>
|
|
|
+ <el-badge :value="HashSet1" class="item"><el-button type="primary" class="itemName" size="small" plain @click="queryClickTable(2)">任务已上线</el-button></el-badge>
|
|
|
+ <el-badge :value="Vector" class="item"><el-button type="primary" class="itemName" size="small" plain @click="queryClickTable(3)">bug待解决</el-button></el-badge>
|
|
|
+ <el-badge :value="Vector1" class="item"><el-button type="primary" class="itemName" size="small" plain @click="queryClickTable(4)">bug已解决</el-button></el-badge>
|
|
|
+ </div>
|
|
|
+ <div style="height:55vh; text-align:center;">
|
|
|
+ <div style="white-space:nowrap; padding: 0 2.5%;">
|
|
|
+ 时间
|
|
|
+ <el-date-picker v-model="bugOrTask.value2" size="medium" style="margin: 2% 6% 2% 1%;" type="datetimerange" :picker-options="pickerOptions" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" />
|
|
|
+ 类型
|
|
|
+ <el-select v-model="bugOrTask.isBugOrTask" size="medium" style="width: 13%; margin: 2% 6% 2% 1%;" clearable placeholder="类型" @change="Setstatus(bugOrTask.isBugOrTask)">
|
|
|
+ <el-option v-for="item in bugTask" :key="item.value" :label="item.name" :value="item.value" />
|
|
|
+ </el-select>
|
|
|
+ 状态
|
|
|
+ <el-select v-model="bugOrTask.status" size="medium" multiple collapse-tags style="width: 13%;margin: 2% 6% 2% 1%;" clearable placeholder="状态">
|
|
|
+ <el-option v-for="item in bugStatusStr" :key="item.code" :label="item.name" :value="item.code" />
|
|
|
+ </el-select>
|
|
|
+ <el-button type="primary" size="small" @click="clickQueryTaskAndBug(bugOrTask)">查询</el-button>
|
|
|
+ </div>
|
|
|
+ <div align="center" style="height:auto;">
|
|
|
+ <el-table v-if="taskShow" :data="tableData" :header-cell-style="getRowClass" border max-height="335" style="width: 95%;cursor:pointer" align="center" @row-click="clickQueryTableTask">
|
|
|
+ <el-table-column type="index" label="序号" width="150" align="center" />
|
|
|
+ <el-table-column label="主题" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.name }}</template></el-table-column>
|
|
|
+ <el-table-column label="类型" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.isBugOrTask }}</template></el-table-column>
|
|
|
+ <el-table-column label="状态" min-width="100" align="center"><template slot-scope="scope"><el-tag type="success">{{ scope.row.statusString }}</el-tag></template></el-table-column>
|
|
|
+ <el-table-column label="最近更新时间" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.modifyTime }}</template></el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <el-table v-if="bugShow" :data="tableData" :header-cell-style="getRowClass" border max-height="335" style="width: 95%;cursor:pointer" align="center" @row-click="clickQueryTableTask">
|
|
|
+ <el-table-column type="index" label="序号" width="150" align="center" />
|
|
|
+ <el-table-column label="主题" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.bugName }}</template></el-table-column>
|
|
|
+ <el-table-column label="进展" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.stageName }}</template></el-table-column>
|
|
|
+ <el-table-column label="优先级" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.priorityName }}</template></el-table-column>
|
|
|
+ <el-table-column label="状态" min-width="100" align="center"><template slot-scope="scope"><el-tag type="success">{{ scope.row.bugStatusName }}</el-tag></template></el-table-column>
|
|
|
+ <el-table-column label="最近更新时间" min-width="100" align="center"><template slot-scope="scope">{{ scope.row.gmtModify }}</template></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+
|
|
|
+ <!-- 项目展示 -->
|
|
|
+ <el-dialog tltle="详情" :visible.sync="dialogTableVisible" width="70%">
|
|
|
+ <el-table :data="gridData" max-height="390" style="cursor:pointer" @row-click="clickQueryTable">
|
|
|
+ <el-table-column type="index" label="序号" min-width="120" align="center" />
|
|
|
+ <el-table-column label="任务" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.name }}</template></el-table-column>
|
|
|
+ <el-table-column label="进展" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.stageString }}</template></el-table-column>
|
|
|
+ <el-table-column label="优先级" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.priorityString }}</template></el-table-column>
|
|
|
+ <el-table-column label="状态" min-width="120" align="center"><template slot-scope="scope"><el-tag type="success">{{ scope.row.statusString }}</el-tag></template></el-table-column>
|
|
|
+ <el-table-column label="最近更新时间" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.modifyTime }}</template></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <!-- 项目转任务 -->
|
|
|
+ <el-dialog tltle="详情" :visible.sync="dialogTableVisible0" width="70%">
|
|
|
+ <el-table :data="gridData3" max-height="390" style="cursor:pointer" @row-click="clickQueryTable1">
|
|
|
+ <el-table-column type="index" label="序号" min-width="120" align="center" />
|
|
|
+ <el-table-column label="项目" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.name }}</template></el-table-column>
|
|
|
+ <el-table-column label="进展" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.stageString }}</template></el-table-column>
|
|
|
+ <el-table-column label="优先级" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.priorityString }}</template></el-table-column>
|
|
|
+ <el-table-column label="状态" min-width="120" align="center"><template slot-scope="scope"><el-tag type="success">{{ scope.row.statusString }}</el-tag></template></el-table-column>
|
|
|
+ <el-table-column label="最近更新时间" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.modifyTime }}</template></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <!-- 任务展示 -->
|
|
|
+ <el-dialog tltle="详情" :visible.sync="dialogTableVisible1" width="70%">
|
|
|
+ <el-table :data="gridData1" max-height="390" style="cursor:pointer" :header-cell-style="getRowClass" @row-click="clickQueryTable2">
|
|
|
+ <el-table-column type="index" label="序号" min-width="120" align="center" />
|
|
|
+ <el-table-column label="任务" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.name }}</template></el-table-column>
|
|
|
+ <el-table-column label="进展" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.stageString }}</template></el-table-column>
|
|
|
+ <el-table-column label="平台类型" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.typeString }}</template></el-table-column>
|
|
|
+ <el-table-column label="优先级" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.priorityString }}</template></el-table-column>
|
|
|
+ <el-table-column label="状态" min-width="120" align="center"><template slot-scope="scope"><el-tag type="success">{{ scope.row.statusString }}</el-tag></template></el-table-column>
|
|
|
+ <el-table-column label="最近更新时间" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.modifyTime }}</template></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <!-- 缺陷展示 -->
|
|
|
+ <el-dialog tltle="详情" :visible.sync="dialogTableVisibleTow" width="70%">
|
|
|
+ <el-table :data="gridData2" max-height="390" style="cursor:pointer" :header-cell-style="getRowClass" @row-click="clickQueryTable3">
|
|
|
+ <el-table-column type="index" label="序号" min-width="120" align="center" />
|
|
|
+ <el-table-column label="缺陷" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.bugName }}</template></el-table-column>
|
|
|
+ <el-table-column label="类型" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.bugTypeName }}</template></el-table-column>
|
|
|
+ <el-table-column label="优先级" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.priorityName }}</template></el-table-column>
|
|
|
+ <el-table-column label="状态" min-width="120" align="center"><template slot-scope="scope"><el-tag type="success">{{ scope.row.bugStatusName }}</el-tag></template></el-table-column>
|
|
|
+ <el-table-column label="最近更新时间" min-width="120" align="center"><template slot-scope="scope">{{ scope.row.gmtModify }}</template></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+<script>
|
|
|
+
|
|
|
+import { personalworkstationQueryBackLog, personalworkstationQueryBackLogBugAndTask, personalworkstationQueryStatusAndPriority, personalworkstationQueryPeriodBugAndTask } from '@/api/workbench'
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'PersonalWorkbench',
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ imgUrl: require('@/assets/1566993017042.jpg'),
|
|
|
+ bugTask: [{ name: '缺陷', value: 0 }, { name: '任务', value: 1 }],
|
|
|
+ taskStatus: [{ name: '进行中', value: 0 }, { name: '已上线', value: 1 }],
|
|
|
+ bugStatus: [{ name: '待解决', value: 0 }, { name: '已解决', value: 1 }],
|
|
|
+ userInformation: localStorage.getItem('username'),
|
|
|
+ bizJson: localStorage.getItem('key'),
|
|
|
+ dialogTableVisible: false,
|
|
|
+ dialogTableVisible1: false,
|
|
|
+ dialogTableVisible0: false,
|
|
|
+ dialogTableVisibleTow: false,
|
|
|
+ img: false,
|
|
|
+ clievent: '{ background:#409EFF; color: #FFFFFF;}',
|
|
|
+ Vector1Arry: '',
|
|
|
+ VectorArry: '',
|
|
|
+ HashSetArray: '',
|
|
|
+ HashSet1Array: '',
|
|
|
+ activeName: 'first',
|
|
|
+ bugOrTask: {},
|
|
|
+ bugOrTask1: {},
|
|
|
+ value2: '',
|
|
|
+ userName: '',
|
|
|
+ Informationen: {},
|
|
|
+ tableData: [],
|
|
|
+ tableType: [],
|
|
|
+ bugLevelStr: [],
|
|
|
+ bugStatusStr: [],
|
|
|
+ bugStatusStr1: [],
|
|
|
+ gridData: [],
|
|
|
+ gridData1: [],
|
|
|
+ gridData2: [],
|
|
|
+ gridData3: [],
|
|
|
+ isBugOrTask: '',
|
|
|
+ oneData: {},
|
|
|
+ oneData1: {},
|
|
|
+ oneData2: {},
|
|
|
+ oneData3: {},
|
|
|
+ show1: false,
|
|
|
+ show2: false,
|
|
|
+ show3: false,
|
|
|
+ task: true,
|
|
|
+ bug: false,
|
|
|
+ bugShow: false,
|
|
|
+ taskShow: true,
|
|
|
+ HashSet: '',
|
|
|
+ HashSet1: '',
|
|
|
+ Vector: '',
|
|
|
+ Vector1: '',
|
|
|
+ selectData: '',
|
|
|
+ pickerOptions: {
|
|
|
+ shortcuts: [{
|
|
|
+ text: '最近一周',
|
|
|
+ onClick(picker) {
|
|
|
+ localStorage.setItem('selectData', 0)
|
|
|
+ const end = new Date()
|
|
|
+ const start = new Date()
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
|
|
|
+ picker.$emit('pick', [start, end])
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '最近一个月',
|
|
|
+ onClick(picker) {
|
|
|
+ localStorage.setItem('selectData', 1)
|
|
|
+ const end = new Date()
|
|
|
+ const start = new Date()
|
|
|
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
|
|
|
+ picker.$emit('pick', [start, end])
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.getTopShowData(localStorage.getItem('key'))
|
|
|
+ this.Setstatus(1)
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 待处理 list
|
|
|
+ getTopShowData(e) {
|
|
|
+ this.userName = { bizId: e, ename: this.userInformation }
|
|
|
+ personalworkstationQueryBackLog(this.userName).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ this.getAllData = res.data.list
|
|
|
+ if (res.data.list[0]) {
|
|
|
+ this.oneData = res.data.list[0]
|
|
|
+ this.show1 = true
|
|
|
+ }
|
|
|
+ if (res.data.list[1]) {
|
|
|
+ this.oneData1 = res.data.list[1]
|
|
|
+ this.show2 = true
|
|
|
+ }
|
|
|
+ if (res.data.list[2]) {
|
|
|
+ this.oneData2 = res.data.list[2]
|
|
|
+ this.show3 = true
|
|
|
+ }
|
|
|
+ this.oneData3 = res.data.list
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ // 表头样式
|
|
|
+ getRowClass({ row, rowIndex }) {
|
|
|
+ if (rowIndex === 0) {
|
|
|
+ return 'background:#F0F2F4;color:#333B4A;'
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 展示项目和任务table
|
|
|
+ clickNum(e) {
|
|
|
+ switch (e) {
|
|
|
+ case 1:
|
|
|
+ this.gridData = this.oneData.taskInfoDOList
|
|
|
+ this.dialogTableVisible = true
|
|
|
+ break
|
|
|
+ case 2:
|
|
|
+ this.gridData = this.oneData1.taskInfoDOList
|
|
|
+ this.dialogTableVisible = true
|
|
|
+ break
|
|
|
+ case 3:
|
|
|
+ this.gridData = this.oneData2.taskInfoDOList
|
|
|
+ this.dialogTableVisible = true
|
|
|
+ break
|
|
|
+ case 4:
|
|
|
+ this.gridData3 = this.oneData3
|
|
|
+ this.dialogTableVisible0 = true
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 待处理 查询
|
|
|
+ clickQuery(e) {
|
|
|
+ console.log(this.bizJson)
|
|
|
+ e.status === '' ? e.status = [] : ''
|
|
|
+ if (e.isBugOrTask === 0 || e.isBugOrTask === 1) {
|
|
|
+ this.isBugOrTask = e.isBugOrTask
|
|
|
+ this.userName = e
|
|
|
+ this.userName.status = e.status
|
|
|
+ this.userName.bizId = localStorage.getItem('key')
|
|
|
+ this.userName.handlerPerson = this.userInformation
|
|
|
+ this.userName.title = e.titles
|
|
|
+ personalworkstationQueryBackLogBugAndTask(this.userName).then(res => {
|
|
|
+ if (e.isBugOrTask === 0) {
|
|
|
+ res.data.bugBaseInfoList.list === null ? this.total = 0 : this.total = res.data.bugBaseInfoList.list.length
|
|
|
+ res.data.bugBaseInfoList.list === null ? this.tableType = [] : this.tableType = res.data.bugBaseInfoList.list
|
|
|
+ }
|
|
|
+ if (e.isBugOrTask === 1) {
|
|
|
+ res.data.taskInfoList === null ? this.total = 0 : this.total = res.data.taskInfoList.length
|
|
|
+ res.data.taskInfoList === null ? this.tableType = [] : this.tableType = res.data.taskInfoList
|
|
|
+ }
|
|
|
+ for (var a of this.tableType) {
|
|
|
+ e.isBugOrTask === 1 ? a.isBugOrTask = '任务' : a.isBugOrTask = '缺陷'
|
|
|
+ }
|
|
|
+ res.data.taskInfoList === null ? this.task = false : this.task = true
|
|
|
+ res.data.bugBaseInfoList === null ? this.bug = false : this.bug = true
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$message({ message: '请选择类型', type: 'success', center: true })
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 待处理的缺陷和任务切换
|
|
|
+ getstatus(e) {
|
|
|
+ this.$set(this.bugOrTask1, 'status', '')
|
|
|
+ this.tableType = []
|
|
|
+ this.Informationen.isBugOrTask = e
|
|
|
+ this.Informationen.bizId = localStorage.getItem('key')
|
|
|
+ this.Informationen.handlerPerson = this.userInformation
|
|
|
+ personalworkstationQueryStatusAndPriority(this.Informationen).then(res => {
|
|
|
+ var backLogStatusList = res.data.backLogStatusList
|
|
|
+ var arr = []
|
|
|
+ for (var a in backLogStatusList) {
|
|
|
+ arr.push({ 'code': a, 'name': backLogStatusList[a] })
|
|
|
+ }
|
|
|
+ var priorityList = res.data.priorityList
|
|
|
+ var brr = []
|
|
|
+ for (var b in priorityList) {
|
|
|
+ brr.push({ 'code': b, 'name': priorityList[b] })
|
|
|
+ }
|
|
|
+ this.bugLevelStr = brr
|
|
|
+ this.bugStatusStr1 = arr
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ // 工作统计全局list
|
|
|
+ handleClick(tab) {
|
|
|
+ this.total = 0
|
|
|
+ this.$set(this.bugOrTask, 'isBugOrTask', 1)
|
|
|
+ if (tab.label === '工作统计') {
|
|
|
+ this.userName = { bizId: localStorage.getItem('key'), handlerPerson: this.userInformation, timeType: 0 }
|
|
|
+ personalworkstationQueryPeriodBugAndTask(this.userName).then(res => {
|
|
|
+ this.HashSet = res.data.taskInfoDoingList.length
|
|
|
+ this.HashSetArray = res.data.taskInfoDoingList
|
|
|
+ this.HashSet1 = res.data.taskInfoDoneList.length
|
|
|
+ this.HashSet1Array = res.data.taskInfoDoneList
|
|
|
+ this.Vector = res.data.bugBaseInfoDoingList.length
|
|
|
+ this.VectorArray = res.data.bugBaseInfoDoingList
|
|
|
+ this.Vector1 = res.data.bugBaseInfoDoneList.length
|
|
|
+ this.Vector1Arry = res.data.bugBaseInfoDoneList
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 工作统计展示task,bug
|
|
|
+ queryClickTable(e) {
|
|
|
+ switch (e) {
|
|
|
+ case 1:
|
|
|
+ this.gridData1 = this.HashSetArray
|
|
|
+ this.dialogTableVisible1 = true
|
|
|
+ break
|
|
|
+ case 2:
|
|
|
+ this.gridData1 = this.HashSet1Array
|
|
|
+ this.dialogTableVisible1 = true
|
|
|
+ break
|
|
|
+ case 3:
|
|
|
+ this.gridData2 = this.VectorArray
|
|
|
+ this.dialogTableVisibleTow = true
|
|
|
+ break
|
|
|
+ case 4:
|
|
|
+ this.gridData2 = this.Vector1Arry
|
|
|
+ this.dialogTableVisibleTow = true
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 工作统计查询
|
|
|
+ clickQueryTaskAndBug(e) {
|
|
|
+ this.selectData = localStorage.getItem('selectData')
|
|
|
+ if (this.selectData === null) {
|
|
|
+ this.selectData = 2
|
|
|
+ }
|
|
|
+ e.status === '' ? e.status = [] : ''
|
|
|
+ this.isBugOrTask = e.isBugOrTask
|
|
|
+ if (e.value2) {
|
|
|
+ if (e.value2 !== '') {
|
|
|
+ var obj = {
|
|
|
+ bizId: localStorage.getItem('key'),
|
|
|
+ timeType: this.selectData,
|
|
|
+ status: e.status,
|
|
|
+ isBugOrTask: e.isBugOrTask,
|
|
|
+ startTime: e.value2[0],
|
|
|
+ endTime: e.value2[1],
|
|
|
+ handlerPerson: this.userInformation
|
|
|
+ }
|
|
|
+ personalworkstationQueryPeriodBugAndTask(obj).then(res => {
|
|
|
+ localStorage.removeItem('selectData')
|
|
|
+ if (obj.isBugOrTask === 0) {
|
|
|
+ this.tableData = res.data.bugBaseInfoList.list
|
|
|
+ this.bugShow = true
|
|
|
+ this.taskShow = false
|
|
|
+ } else {
|
|
|
+ this.tableData = res.data.taskInfoList
|
|
|
+ this.bugShow = false
|
|
|
+ this.taskShow = true
|
|
|
+ }
|
|
|
+ this.total = this.tableData.length
|
|
|
+ for (var a of this.tableData) {
|
|
|
+ this.isBugOrTask === 1 ? a.isBugOrTask = '任务' : a.isBugOrTask = '缺陷'
|
|
|
+ }
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.$message({ message: '请选择想要查看的时间段或日期', type: 'success', center: true })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.$message({ message: '请选择想要查看的时间段或日期', type: 'success', center: true })
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 工作统计状态切换
|
|
|
+ Setstatus(e) {
|
|
|
+ this.$set(this.bugOrTask, 'status', '')
|
|
|
+ this.Informationen.isBugOrTask = e
|
|
|
+ this.Informationen.bizId = localStorage.getItem('key')
|
|
|
+ this.Informationen.handlerPerson = this.userInformation
|
|
|
+ personalworkstationQueryStatusAndPriority(this.Informationen).then(res => {
|
|
|
+ if (res.code === 200) {
|
|
|
+ var periodStatusList = res.data.periodStatusList
|
|
|
+ var arr = []
|
|
|
+ for (var a in periodStatusList) {
|
|
|
+ arr.push({ 'code': a, 'name': periodStatusList[a] })
|
|
|
+ }
|
|
|
+ this.bugStatusStr = arr
|
|
|
+ // e === 0 ? this.bugStatusStr = arr : this.bugStatusStr = brr
|
|
|
+ }
|
|
|
+ })
|
|
|
+ e === 1 ? this.tableData.isBugOrTask = '任务' : this.tableData.isBugOrTask = '缺陷'
|
|
|
+ },
|
|
|
+
|
|
|
+ clickQueryTable1(e) {
|
|
|
+ for (var el of this.getAllData) {
|
|
|
+ el.id === e.id ? this.gridData = el.taskInfoDOList : ''
|
|
|
+ }
|
|
|
+ this.dialogTableVisible = true
|
|
|
+ this.dialogTableVisible0 = false
|
|
|
+ // this.$router.push({ path: '/Platform/presentation/projectQuery', query: { id: e.id }})
|
|
|
+ },
|
|
|
+ clickQueryTable(e) {
|
|
|
+ this.$router.push({ path: '/Platform/projectManage/taskPreview', query: { id: e.id }})
|
|
|
+ },
|
|
|
+ clickQueryTable2(e) {
|
|
|
+ this.$router.push({ path: '/Platform/projectManage/taskPreview', query: { id: e.id }})
|
|
|
+ },
|
|
|
+ clickQueryTable3(e) {
|
|
|
+ this.$router.push({ path: '/Platform/defectManagement/bugQuery', query: { id: e.id }})
|
|
|
+ },
|
|
|
+ clickQueryTableTask(e) {
|
|
|
+ if (e.isBugOrTask === '任务') {
|
|
|
+ this.$router.push({ path: '/Platform/projectManage/taskPreview', query: { id: e.id }})
|
|
|
+ }
|
|
|
+ if (e.isBugOrTask === '缺陷') {
|
|
|
+ this.$router.push({ path: '/Platform/defectManagement/bugQuery', query: { id: e.id }})
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</script>
|
|
|
+<style lang="scss">
|
|
|
+ .abc .el-tabs__nav-wrap::after {
|
|
|
+ background-color:#FFFFFF !important;
|
|
|
+ }
|
|
|
+ .bgColorSz .el-tabs__nav-scroll {
|
|
|
+ padding: 1% 2% !important;
|
|
|
+ }
|
|
|
+ .item .el-badge__content.is-fixed {
|
|
|
+ right: 50px;
|
|
|
+ }
|
|
|
+</style>
|
|
|
+<style scoped>
|
|
|
+ .abc {
|
|
|
+ background:#FFFFFF;
|
|
|
+ border-radius:8px;
|
|
|
+ margin: 0 1%;
|
|
|
+ width: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .titStyle {
|
|
|
+ font-size: 20px;
|
|
|
+ color: #333B4A;
|
|
|
+ font-weight: bold;
|
|
|
+ margin-left: 2%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .bgColorSz {
|
|
|
+ width: 100%;
|
|
|
+ height: 96vh;
|
|
|
+ background: #F2F3F6;
|
|
|
+ font-size: 0.9rem;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+
|
|
|
+.itemName {
|
|
|
+ margin-right: 2.5em;
|
|
|
+ width: 13em;
|
|
|
+ height: 3.25em;
|
|
|
+ font-size: 1em;
|
|
|
+ border: 1px solid #BFC6DC;
|
|
|
+ border-radius: 0.25em;
|
|
|
+ background: #FFFFFF;
|
|
|
+ color:#6F7C93;
|
|
|
+ margin-bottom: 24%;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow:ellipsis;
|
|
|
+ }
|
|
|
+
|
|
|
+ .item {
|
|
|
+ margin-top: 10px;
|
|
|
+ margin-right: 4%;
|
|
|
+}
|
|
|
+
|
|
|
+.itemName:hover {
|
|
|
+ background:#409EFF;
|
|
|
+ color: #FFFFFF;
|
|
|
+ }
|
|
|
+</style>
|