Skip to content

Commit

Permalink
Merge branch 'main' into dev/YFCui
Browse files Browse the repository at this point in the history
  • Loading branch information
SarekCuimian authored Nov 28, 2024
2 parents ca7b8e3 + 50f0430 commit f97c05a
Show file tree
Hide file tree
Showing 7 changed files with 218 additions and 21 deletions.
37 changes: 29 additions & 8 deletions frontend/src/views/project/project/defects.vue
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,34 @@
</div>
</template>

<div class="search"><el-form :inline="true" :model="Params" class="sF"><el-form-item label="">
<el-input v-model="Params.title" placeholder="" clearable style="width: 200px"/>
</el-form-item>

<el-form-item>
<el-button type="primary" :icon="Search" @click="getReqs">Select</el-button><el-button :icon="Refresh" @click="clearAll">Refresh</el-button>
</el-form-item>
</el-form>
<div class="search">
<el-form :inline="true" :model="Params" class="sF">
<el-form-item label="Title">
<el-input v-model="Params.title" placeholder="" clearable style="width: 240px" @keyup.enter="getReqs"/>
</el-form-item>
<el-form-item label="Priority">
<el-select v-model="Params.priority" placeholder="Please select priority" clearable style="width: 240px">
<el-option label="High - 1" value="1"/>
<el-option label="Medium - 2" value="2"/>
<el-option label="Low - 3" value="3"/>
</el-select>
</el-form-item>
<el-form-item label="Status">
<el-select v-model="Params.status" placeholder="Please select status" clearable style="width: 240px">
<el-option label="Pending" value="pending" />
<el-option label="Processing" value="processing" />
<el-option label="Fixed" value="fixed" />
<el-option label="To Verify" value="to_verify" />
<el-option label="Closed" value="closed" />
<el-option label="Reopened" value="reopened" />
<el-option label="Rejected" value="rejected" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" :icon="Search" @click="getReqs">Search</el-button>
<el-button :icon="Refresh" @click="clearAll">Refresh</el-button>
</el-form-item>
</el-form>
</div>
<div class="rList">
<el-table v-loading="loading" :data="reqList" style="width: 100%">
Expand Down Expand Up @@ -161,6 +181,7 @@ import useUserStore from "@/store/modules/user.js"
import { getUser } from "@/api/system/user.js"
import {addDefect, delDefect, exportDefect, getDefect, listDefect, updateDefect} from "@/api/project/defect.js";
import {listItem} from "@/api/project/item.js";
const userStore = useUserStore()
const route = useRoute()
const projectId = route.params.id
Expand Down
45 changes: 43 additions & 2 deletions frontend/src/views/project/project/iterations.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
<template>
<div class="app-container">
<div class="search">
<el-form :inline="true" :model="queryParams" label-width="120">
<el-form-item label="Iteration Name" prop="iterationName">
<el-input
v-model="queryParams.name"
placeholder="Please input name"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="Story Points" prop="iterationStoryPoints">
<el-input
v-model="queryParams.plannedStoryPoints"
placeholder="Please input story points"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" :icon="Search" @click="handleQuery">Search</el-button>
<el-button :icon="Refresh" @click="resetQuery">Refresh</el-button>
</el-form-item>
</el-form>
</div>

<div class="mb-20">
<el-button type="primary" :icon="Plus" @click="doDiga">Add Iteration</el-button>
<el-button type="primary" :icon="Download" @click="downloadIterationList()" class="download-button">Download</el-button>
Expand Down Expand Up @@ -82,13 +109,13 @@
</template>

<script setup>
import { ref, onMounted, watch } from 'vue'
import {ref, onMounted, watch, reactive} from 'vue'
import { useRoute } from 'vue-router'
import {ElMessage, ElMessageBox} from 'element-plus'
import {listIteration, addIteration, updateIteration, exportIteration} from '@/api/project/iteration'
import { listItem } from '@/api/project/item'
import * as echarts from 'echarts'
import {Delete, Download, Edit, Plus, TrendCharts} from "@element-plus/icons-vue";
import {Delete, Download, Edit, Plus, Refresh, Search, TrendCharts} from "@element-plus/icons-vue";
import {listRole} from "@/api/system/role.js";
import html2canvas from "html2canvas";
Expand All @@ -115,6 +142,20 @@ const form = ref({
plannedStoryPoints: 0,
status:'1',
})
const queryParams = reactive({
projectId: projectId,
})
const handleQuery = async () => {
loading.value = true
const searchProject = await listIteration(queryParams)
list.value = searchProject.rows
loading.value = false
}
const resetQuery = async () => {
queryParams.plannedStoryPoints = ''
queryParams.name = ''
getList()
}
const checkRoles = async () => {
const res = await listRole()
Expand Down
58 changes: 57 additions & 1 deletion frontend/src/views/project/project/releases.vue
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,45 @@
</div>
</template>

<div class="search">
<el-form :inline="true" :model="Params" class="sF" label-width="70">
<el-form-item label="Title">
<el-input v-model="Params.title"
placeholder="Input title"
clearable
style="width: 180px"
@keyup.enter="handleQuery"/>
</el-form-item>
<el-form-item label="Status">
<el-select v-model="Params.status" placeholder="Select status" clearable style="width: 180px">
<el-option label="To Do" value="To Do" />
<el-option label="In Progress" value="In Progress" />
<el-option label="Done" value="Done" />
<el-option label="Blocked" value="Blocked" />
</el-select>
</el-form-item>
<el-form-item label="Priority">
<el-select v-model="Params.priority" placeholder="Select priority" clearable style="width: 180px">
<el-option label="Low - 0" :value="0" />
<el-option label="Medium - 1" :value="1" />
<el-option label="High - 2" :value="2" />
<el-option label="Urgent - 3" :value="3" />
</el-select>
</el-form-item>
<el-form-item label="Complexity">
<el-select v-model="Params.complexity" placeholder="Select complexity" clearable style="width: 180px">
<el-option label="Simple - 0" :value="0" />
<el-option label="Medium - 1" :value="1" />
<el-option label="Complex - 2" :value="2" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" :icon="Search" @click="handleQuery">Search</el-button>
<el-button :icon="Refresh" @click="resetQuery">Refresh</el-button>
</el-form-item>
</el-form>
</div>

<el-table v-loading="loading" :data="treeD" row-key="taskId" :tree-props="{ children: 'children', hasChildren: 'hasChildren' }">
<el-table-column prop="title" label="Title" min-width="200">
<template #default="{ row }">
Expand Down Expand Up @@ -118,7 +157,7 @@ import { ref, reactive, onMounted } from 'vue'
import {listTask, getTask, addTask, updateTask, delTask, exportTask} from '@/api/project/tasks'
import { useRoute } from 'vue-router'
import { ElMessage, ElMessageBox } from 'element-plus'
import {Delete, Download, Edit, Plus} from "@element-plus/icons-vue";
import {Delete, Download, Edit, Plus, Refresh, Search} from "@element-plus/icons-vue";
const route = useRoute()
const taskFormRef = ref(null)
Expand All @@ -133,6 +172,23 @@ const projectId = route.params.id
const queryParams = reactive({
projectId: route.params.id
})
const Params = reactive({
projectId: projectId,
})
const handleQuery = async () => {
loading.value = true
const searchProject = await listTask(Params)
taskD.value = searchProject.rows
treeD.value = doEleTree(taskD.value)
loading.value = false
}
const resetQuery = async () => {
Params.title = ''
Params.status = ''
Params.priority = ''
Params.complexity = ''
getList()
}
const checkRoles = async () => {
const res = await listRole()
Expand Down
7 changes: 4 additions & 3 deletions frontend/src/views/project/project/requirements.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,22 +25,22 @@
</el-input>
</div>
<el-form-item label="Priority">
<el-select v-model="Params.priority" placeholder="select priority"
<el-select v-model="Params.priority" placeholder="Select priority"
clearable style="width: 150px">
<el-option label="High" value="1"/>
<el-option label="Medium" value="2"/>
<el-option label="Low" value="3"/>
</el-select>
</el-form-item>
<el-form-item label="Status">
<el-select v-model="Params.status" placeholder="status" clearable style="width: 150px">
<el-select v-model="Params.status" placeholder="Select status" clearable style="width: 150px">
<el-option label="Pending" value="pending"/>
<el-option label="Processing" value="processing"/>
<el-option label="Completed" value="completed"/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" :icon="Search" @click="getReqs">select</el-button>
<el-button type="primary" :icon="Search" @click="getReqs">Search</el-button>
<el-button :icon="Refresh" @click="clearAll">Refresh</el-button>
</el-form-item>
</el-form>
Expand Down Expand Up @@ -348,6 +348,7 @@ const clearAll = () => {
assignedTo: '',
projectId: projectId
}
searchQuery.value = ''
getReqs()
}
const loadGanttData = () => {
Expand Down
64 changes: 61 additions & 3 deletions frontend/src/views/project/project/tasks.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,45 @@
<el-button type="primary" :icon="Download" @click="downloadItemList()">Download</el-button>
</div>

<div class="search">
<el-form :inline="true" :model="Params" label-width="50">
<el-form-item label="Title">
<el-input v-model="Params.title"
placeholder="Please input title"
clearable
style="width: 200px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="Type">
<el-select v-model="Params.type" placeholder="Please select type" clearable style="width: 200px">
<el-option label="Development Task" value="Development Task"/>
<el-option label="Test Task" value="Test Task"/>
<el-option label="Design Task" value="Design Task"/>
</el-select>
</el-form-item>
<el-form-item label="Status">
<el-select v-model="Params.status" placeholder="Please select priority" clearable style="width: 200px">
<el-option label="Not Started" value="Not Started"/>
<el-option label="In Progress" value="In Progress"/>
<el-option label="Completed" value="Completed"/>
</el-select>
</el-form-item>
<el-form-item label="Priority">
<el-select v-model="Params.priority" placeholder="Please select priority" clearable style="width: 200px">
<el-option label="P1" :value="1"/>
<el-option label="P2" :value="2"/>
<el-option label="P3" :value="3"/>
<el-option label="P4" :value="4"/>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" :icon="Search" @click="handleQuery">Search</el-button>
<el-button :icon="Refresh" @click="resetQuery">Refresh</el-button>
</el-form-item>
</el-form>
</div>

<el-table :data="list" v-loading="loading">
<!-- <el-table-column label="ID" prop="workItemId" width="80" align="center"/>-->
<el-table-column label="Title" prop="title" width="300" align="center"/>
Expand Down Expand Up @@ -119,7 +158,7 @@
</template>

<script setup>
import {ref, onMounted} from 'vue'
import {ref, onMounted, reactive} from 'vue'
import {useRoute} from 'vue-router'
import {listItem, addItem, updateItem, delItem, exportItem} from '@/api/project/item'
import {listProjectMember} from '@/api/project/member'
Expand All @@ -129,7 +168,7 @@ import {addNotice} from "@/api/notice/noticeapi.js";
import { listRole } from '@/api/system/role.js'
import { gantt } from 'dhtmlx-gantt'
import 'dhtmlx-gantt/codebase/dhtmlxgantt.css'
import {Delete, Download, Edit, Plus} from "@element-plus/icons-vue";
import {Delete, Download, Edit, Plus, Refresh, Search} from "@element-plus/icons-vue";
import {delTask} from "@/api/project/tasks.js";
import {ElMessageBox} from "element-plus";
const booladmin=ref(false)
Expand All @@ -146,7 +185,7 @@ const addDialog = ref(false)
const queryParams = ref({
pageNum: 1,
pageSize: 10,
pageSize: 999,
projectId: projectId
})
Expand All @@ -164,6 +203,25 @@ const form = ref({
description: '',
projectId: projectId
})
const Params = reactive({
pageNum: 1,
pageSize: 999,
projectId: projectId,
})
const handleQuery = async () => {
loading.value = true
const searchProject = await listItem(Params)
list.value = searchProject.rows
total.value = searchProject.total
loading.value = false
}
const resetQuery = async () => {
Params.title = ''
Params.type = ''
Params.priority = ''
Params.status = ''
getList()
}
async function getList() {
loading.value = true
Expand Down
14 changes: 12 additions & 2 deletions frontend/src/views/system/role/index.vue
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryRef" v-show="showSearch" :inline="true" label-width="68px">
<el-form :model="queryParams" ref="queryRef" v-show="showSearch" :inline="true" label-width="70px">
<el-form-item label="角色编号" prop="roleId">
<el-input
v-model="queryParams.roleId"
placeholder="请输入角色编号"
clearable
style="width: 240px"
@keyup.enter="handleQuery"
/>
</el-form-item>
<el-form-item label="角色名称" prop="roleName">
<el-input
v-model="queryParams.roleName"
Expand Down Expand Up @@ -34,7 +43,7 @@
/>
</el-select>
</el-form-item>
<el-form-item label="创建时间" style="width: 308px">
<el-form-item label="创建时间" style="width: 310px">
<el-date-picker
v-model="dateRange"
value-format="YYYY-MM-DD"
Expand Down Expand Up @@ -283,6 +292,7 @@ const data = reactive({
queryParams: {
pageNum: 1,
pageSize: 10,
roleId: undefined,
roleName: undefined,
roleKey: undefined,
status: undefined
Expand Down
Loading

0 comments on commit f97c05a

Please sign in to comment.