|
@@ -1,193 +1,197 @@
|
|
|
<template>
|
|
|
- <div class="container">
|
|
|
- <el-header class="requirement-header">
|
|
|
- <el-row>
|
|
|
- <el-col :span="3">
|
|
|
- <el-input id="requirement_basicName1" v-model="searchForm.name" placeholder="需求名称" />
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <el-dropdown @command="handleCommand">
|
|
|
- <span class="el-dropdown-link">
|
|
|
- {{ getTitle(searchTitle.project) }}
|
|
|
- <i class="el-icon-arrow-down el-icon--right" />
|
|
|
- </span>
|
|
|
- <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
|
|
|
- <el-dropdown-item
|
|
|
- v-for="(item,index) in searchInfo.belongingProject"
|
|
|
- :key="index"
|
|
|
- :command="{value: item,flag: 1}"
|
|
|
- >{{ item.msg }}</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <el-dropdown @command="handleCommand">
|
|
|
- <span class="el-dropdown-link">
|
|
|
- {{ getTitle(searchTitle.businessline) }}
|
|
|
- <i class="el-icon-arrow-down el-icon--right" />
|
|
|
- </span>
|
|
|
- <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
|
|
|
- <el-dropdown-item
|
|
|
- v-for="(item,index) in searchInfo.bizType"
|
|
|
- :key="index"
|
|
|
- :command="{value: item,flag: 2}"
|
|
|
- >{{ item.msg }}</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <el-dropdown @command="handleCommand">
|
|
|
- <span class="el-dropdown-link">
|
|
|
- {{ getTitle(searchTitle.source) }}
|
|
|
- <i class="el-icon-arrow-down el-icon--right" />
|
|
|
- </span>
|
|
|
- <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
|
|
|
- <el-dropdown-item
|
|
|
- v-for="(item,index) in searchInfo.sourceType"
|
|
|
- :key="index"
|
|
|
- :command="{value: item,flag: 3}"
|
|
|
- >{{ item.msg }}</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <el-dropdown @command="handleCommand">
|
|
|
- <span class="el-dropdown-link">
|
|
|
- {{ getTitle(searchTitle.priority) }}
|
|
|
- <i class="el-icon-arrow-down el-icon--right" />
|
|
|
- </span>
|
|
|
- <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
|
|
|
- <el-dropdown-item
|
|
|
- v-for="(item,index) in searchInfo.priority"
|
|
|
- :key="index"
|
|
|
- :command="{value: item,flag: 4}"
|
|
|
- >{{ item.msg }}</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <el-select
|
|
|
- id="requirement_basicName2"
|
|
|
- v-model="searchForm.pm"
|
|
|
- filterable
|
|
|
- remote
|
|
|
- placeholder="PM"
|
|
|
- :remote-method="searchUser"
|
|
|
- :loading="userLoading"
|
|
|
- >
|
|
|
- <el-option v-for="item in options" :key="item.idap" :label="item.name" :value="item.idap">
|
|
|
- <div style="text-align: center">
|
|
|
- <span style="float: left;color: #8492a6; font-size: 13px">{{ item.idap }}</span>
|
|
|
- <span>{{ item.name }}</span>
|
|
|
- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.deptName }}</span>
|
|
|
- </div>
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <el-select
|
|
|
- id="requirement_basicName3"
|
|
|
- v-model="searchForm.creator"
|
|
|
- filterable
|
|
|
- remote
|
|
|
- placeholder="创建人"
|
|
|
- :remote-method="searchUser"
|
|
|
- :loading="userLoading"
|
|
|
- >
|
|
|
- <el-option v-for="item in options" :key="item.idap" :label="item.name" :value="item.idap">
|
|
|
- <div style="text-align: center">
|
|
|
- <span style="float: left;color: #8492a6; font-size: 13px">{{ item.idap }}</span>
|
|
|
- <span>{{ item.name }}</span>
|
|
|
- <span style="float: right; color: #8492a6; font-size: 13px">{{ item.deptName }}</span>
|
|
|
- </div>
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-col>
|
|
|
- <el-col :span="3">
|
|
|
- <div style="float: right">
|
|
|
- <el-button type="primary" size="mini" @click="getTableData">查询</el-button>
|
|
|
- <el-button size="mini" @click="reset">重置</el-button>
|
|
|
+ <div style="width:100%;height:100%;padding-top:1px;background-color: #F2F3F6;">
|
|
|
+ <div class="container">
|
|
|
+ <el-header class="requirement-header">
|
|
|
+ <el-row>
|
|
|
+ <!-- <el-col :span="3">
|
|
|
+ <el-input id="requirement_basicName1" v-model="searchForm.name" placeholder="需求名称" />
|
|
|
+ </el-col> -->
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-dropdown @command="handleCommand">
|
|
|
+ <span class="el-dropdown-link">
|
|
|
+ {{ getTitle(searchTitle.project) }}
|
|
|
+ <i class="el-icon-arrow-down el-icon--right" />
|
|
|
+ </span>
|
|
|
+ <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
|
|
|
+ <el-dropdown-item
|
|
|
+ v-for="(item,index) in searchInfo.belongingProject"
|
|
|
+ :key="index"
|
|
|
+ :command="{value: item,flag: 1}"
|
|
|
+ >{{ item.msg }}</el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-dropdown @command="handleCommand">
|
|
|
+ <span class="el-dropdown-link">
|
|
|
+ {{ getTitle(searchTitle.businessline) }}
|
|
|
+ <i class="el-icon-arrow-down el-icon--right" />
|
|
|
+ </span>
|
|
|
+ <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
|
|
|
+ <el-dropdown-item
|
|
|
+ v-for="(item,index) in searchInfo.bizType"
|
|
|
+ :key="index"
|
|
|
+ :command="{value: item,flag: 2}"
|
|
|
+ >{{ item.msg }}</el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-dropdown @command="handleCommand">
|
|
|
+ <span class="el-dropdown-link">
|
|
|
+ {{ getTitle(searchTitle.source) }}
|
|
|
+ <i class="el-icon-arrow-down el-icon--right" />
|
|
|
+ </span>
|
|
|
+ <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
|
|
|
+ <el-dropdown-item
|
|
|
+ v-for="(item,index) in searchInfo.sourceType"
|
|
|
+ :key="index"
|
|
|
+ :command="{value: item,flag: 3}"
|
|
|
+ >{{ item.msg }}</el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="3">
|
|
|
+ <el-dropdown @command="handleCommand">
|
|
|
+ <span class="el-dropdown-link">
|
|
|
+ {{ getTitle(searchTitle.priority) }}
|
|
|
+ <i class="el-icon-arrow-down el-icon--right" />
|
|
|
+ </span>
|
|
|
+ <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
|
|
|
+ <el-dropdown-item
|
|
|
+ v-for="(item,index) in searchInfo.priority"
|
|
|
+ :key="index"
|
|
|
+ :command="{value: item,flag: 4}"
|
|
|
+ >{{ item.msg }}</el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="3">
|
|
|
+ <el-select
|
|
|
+ id="requirement_basicName2"
|
|
|
+ v-model="searchForm.pm"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ placeholder="PM"
|
|
|
+ :remote-method="searchUser"
|
|
|
+ :loading="userLoading"
|
|
|
+ >
|
|
|
+ <el-option v-for="item in options" :key="item.idap" :label="item.name" :value="item.idap">
|
|
|
+ <div style="text-align: center">
|
|
|
+ <span style="float: left;color: #8492a6; font-size: 13px">{{ item.idap }}</span>
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
+ <span style="float: right; color: #8492a6; font-size: 13px">{{ item.deptName }}</span>
|
|
|
+ </div>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="3">
|
|
|
+ <el-select
|
|
|
+ id="requirement_basicName3"
|
|
|
+ v-model="searchForm.creator"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ placeholder="创建人"
|
|
|
+ :remote-method="searchUser"
|
|
|
+ :loading="userLoading"
|
|
|
+ >
|
|
|
+ <el-option v-for="item in options" :key="item.idap" :label="item.name" :value="item.idap">
|
|
|
+ <div style="text-align: center">
|
|
|
+ <span style="float: left;color: #8492a6; font-size: 13px">{{ item.idap }}</span>
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
+ <span style="float: right; color: #8492a6; font-size: 13px">{{ item.deptName }}</span>
|
|
|
+ </div>
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="3">
|
|
|
+ <div style="float: right">
|
|
|
+ <el-button type="primary" size="mini" @click="getTableData">查询</el-button>
|
|
|
+ <el-button size="mini" @click="reset">重置</el-button>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-header>
|
|
|
+ <div style="height:100%;width:100%;padding-bottom: 14px;">
|
|
|
+ <el-main class="requirement-main">
|
|
|
+ <div style="font-size: 18px;margin: 2%;display:flex;justify-content:space-between;align-items: center;">
|
|
|
+ <div style="display:flex;justify-content: center;align-items: center;">
|
|
|
+ <div style="width:4px;height:17px;background:rgba(64,158,255,1);border-radius:1px;" />
|
|
|
+ <div style="width:83px;height:20px;font-size:18px;font-family:MicrosoftYaHei;color:rgba(51,59,74,1);margin-left:6px">需求列表</div>
|
|
|
+ </div>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="mini"
|
|
|
+ icon="el-icon-plus"
|
|
|
+ style="float: right;"
|
|
|
+ @click="createDialogVisible = true"
|
|
|
+ >新建</el-button>
|
|
|
</div>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-header>
|
|
|
- <el-main class="requirement-main">
|
|
|
- <div style="font-size: 18px;margin: 2%;display:flex;justify-content:space-between;align-items: center;">
|
|
|
- <div style="display:flex;justify-content: center;align-items: center;">
|
|
|
- <div style="width:4px;height:17px;background:rgba(64,158,255,1);border-radius:1px;" />
|
|
|
- <div style="width:83px;height:20px;font-size:18px;font-family:MicrosoftYaHei;color:rgba(51,59,74,1);margin-left:6px">需求列表</div>
|
|
|
- </div>
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- size="mini"
|
|
|
- icon="el-icon-plus"
|
|
|
- style="float: right;"
|
|
|
- @click="createDialogVisible = true"
|
|
|
- >新建</el-button>
|
|
|
+ <el-table
|
|
|
+ v-loading="loading"
|
|
|
+ :data="tableData"
|
|
|
+ style="width: 100%"
|
|
|
+ highlight-current-row
|
|
|
+ :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF'}"
|
|
|
+ size="mini"
|
|
|
+ >
|
|
|
+ <el-table-column prop="priority" label="优先级" width="100" sortable align="center">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <div class="div_priority" :style="{background: priorityColors[scope.row.priority % priorityColors.length]}">{{ 'P'+scope.row.priority }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="需求名称" show-overflow-tooltip width="400">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <div style="cursor: pointer;" @click="getToRequirementDetails(scope.row.id)">{{ scope.row.name }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="bizId" label="业务线" show-overflow-tooltip align="center">
|
|
|
+ <template v-slot="scope">
|
|
|
+ {{ getBizName(scope.row.bizId) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="sourceType" label="需求来源" show-overflow-tooltip align="center">
|
|
|
+ <template v-slot="scope">
|
|
|
+ {{ sourceTypeOb[scope.row.sourceType] }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="belongingProjectName" label="归属的项目" show-overflow-tooltip align="center">
|
|
|
+ <template v-slot="scope">
|
|
|
+ {{ getProjectName(scope.row.belongingProject) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="pm" label="PM" show-overflow-tooltip align="center">
|
|
|
+ <template v-slot="scope">
|
|
|
+ {{ scope.row.pm[0]?scope.row.pm[0].name:'无' }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="taskCount" label="任务总数" show-overflow-tooltip align="center" />
|
|
|
+ <el-table-column prop="bugCount" label="bug总数" show-overflow-tooltip align="center" />
|
|
|
+ <el-table-column prop="creator" label="创建人" show-overflow-tooltip align="center" />
|
|
|
+ <el-table-column prop="createTime" label="创建日期" show-overflow-tooltip align="center">
|
|
|
+ <template v-slot="scope">{{ getcreateTime(scope.row.createTime) }}</template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ layout="->,total, sizes, prev, pager, next, jumper"
|
|
|
+ :current-page="searchForm.curIndex"
|
|
|
+ :page-size="searchForm.pageSize"
|
|
|
+ :page-sizes="[15,30,45,total]"
|
|
|
+ :total="total"
|
|
|
+ @size-change="handleSizeChange"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ />
|
|
|
+ </el-main>
|
|
|
</div>
|
|
|
- <el-table
|
|
|
- v-loading="loading"
|
|
|
- :data="tableData"
|
|
|
- style="width: 100%"
|
|
|
- highlight-current-row
|
|
|
- :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF'}"
|
|
|
- size="mini"
|
|
|
- >
|
|
|
- <el-table-column prop="priority" label="优先级" width="100" sortable align="center">
|
|
|
- <template v-slot="scope">
|
|
|
- <div class="div_priority" :style="{background: priorityColors[scope.row.priority % priorityColors.length]}">{{ 'P'+scope.row.priority }}</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="name" label="需求名称" show-overflow-tooltip width="400">
|
|
|
- <template v-slot="scope">
|
|
|
- <div style="cursor: pointer;" @click="getToRequirementDetails(scope.row.id)">{{ scope.row.name }}</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="bizId" label="业务线" show-overflow-tooltip align="center">
|
|
|
- <template v-slot="scope">
|
|
|
- {{ getBizName(scope.row.bizId) }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="sourceType" label="需求来源" show-overflow-tooltip align="center">
|
|
|
- <template v-slot="scope">
|
|
|
- {{ sourceTypeOb[scope.row.sourceType] }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="belongingProjectName" label="归属的项目" show-overflow-tooltip align="center">
|
|
|
- <template v-slot="scope">
|
|
|
- {{ getProjectName(scope.row.belongingProject) }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="pm" label="PM" show-overflow-tooltip align="center">
|
|
|
- <template v-slot="scope">
|
|
|
- {{ scope.row.pm[0]?scope.row.pm[0].name:'无' }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="taskCount" label="任务总数" show-overflow-tooltip align="center" />
|
|
|
- <el-table-column prop="bugCount" label="bug总数" show-overflow-tooltip align="center" />
|
|
|
- <el-table-column prop="creator" label="创建人" show-overflow-tooltip align="center" />
|
|
|
- <el-table-column prop="createTime" label="创建时间" show-overflow-tooltip align="center">
|
|
|
- <template v-slot="scope">{{ getcreateTime(scope.row.createTime) }}</template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- layout="->,total, sizes, prev, pager, next, jumper"
|
|
|
- :current-page="searchForm.curIndex"
|
|
|
- :page-size="searchForm.pageSize"
|
|
|
- :page-sizes="[15,30,45,total]"
|
|
|
- :total="total"
|
|
|
- @size-change="handleSizeChange"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
+ <requirement-create
|
|
|
+ title="新建需求"
|
|
|
+ :visible="createDialogVisible"
|
|
|
+ :info="searchInfo"
|
|
|
+ @cancel="createDialogVisible=false"
|
|
|
+ @confirm="getTableData();createDialogVisible=false"
|
|
|
/>
|
|
|
- </el-main>
|
|
|
- <requirement-create
|
|
|
- title="新建需求"
|
|
|
- :visible="createDialogVisible"
|
|
|
- :info="searchInfo"
|
|
|
- @cancel="createDialogVisible=false"
|
|
|
- @confirm="getTableData();createDialogVisible=false"
|
|
|
- />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|