Skip to content

Commit

Permalink
Merge pull request #44 from huangfei1994/feature-milestone2
Browse files Browse the repository at this point in the history
wedpr-web 机构端添加sql任务流程,管理端调整项目tab
  • Loading branch information
huangfei1994 authored Sep 6, 2024
2 parents e879405 + 09db03b commit b7cb381
Show file tree
Hide file tree
Showing 9 changed files with 192 additions and 79 deletions.
17 changes: 15 additions & 2 deletions wedpr-web/src/apis/projectManage.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ const updateProject = (params) => http.post('/project/updateProject', params)
// 查询列表
const queryProject = (params) => http.post('/project/queryProjectByCondition', params)
// 管理员查询列表
const adminQueryProject = (params) => http.post('/project/admin/queryProjectByCondition', params)
const adminQueryProject = (params) => http.get('/admin/listProject', params)
// 管理员查询项目内任务列表
const adminQuerylistJobInProject = (params) => http.get('/admin/listJob', params)
// 删除项目
const deleteProject = (params) => http.post('/project/deleteProject', params)
// 提交任务
Expand All @@ -18,4 +20,15 @@ const queryRecordSyncStatus = (params) => http.post('/sync/queryRecordSyncStatus
// 数据集关联任务列表
const queryJobsByDatasetID = (params) => http.get('/project/queryJobsByDatasetID', params)

export default { adminQueryProject, createProject, queryProject, updateProject, deleteProject, submitJob, queryRecordSyncStatus, queryJobOverview, queryJobsByDatasetID }
export default {
adminQuerylistJobInProject,
adminQueryProject,
createProject,
queryProject,
updateProject,
deleteProject,
submitJob,
queryRecordSyncStatus,
queryJobOverview,
queryJobsByDatasetID
}
17 changes: 13 additions & 4 deletions wedpr-web/src/components/editorCom.vue
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
<template>
<div class="editor-container">
<div>
<el-select size="small" v-model="editorTheme" placeholder="设置主题" @change="handleTheme">
<div v-if="false">
设置主题:
<el-select size="small" @change="handleChangeTheme" v-model="theme" placeholder="设置主题">
<el-option label="Visual Studio Dark" value="vs-dark"></el-option>
<el-option label="Visual Studio" value="vs"></el-option>
<el-option label="High Contrast Dark" value="hc-black"></el-option>
</el-select>
<el-select size="small" v-model="language" placeholder="选择语言" @change="handleLanguage">
选择语言:
<el-select size="small" v-model="language" @change="handleChangeLanguage" placeholder="选择语言">
<el-option v-for="(languageItem, key) in languageOptions" :key="key" :label="languageItem" :value="languageItem"> </el-option>
</el-select>
</div>
Expand All @@ -25,9 +27,14 @@ export default {
type: String
}
},
model: {
prop: 'value'
},
data() {
return {
languageOptions: ['python', 'sql'],
theme: 'vs-dark',
language: 'sql',
// 主要配置
defaultOpts: {
// // 编辑器的值
Expand Down Expand Up @@ -92,7 +99,8 @@ export default {
this.monacoEditor = monaco.editor.create(this.$refs.container, editorOptions)
// 编辑器内容发生改变时触发
this.monacoEditor.onDidChangeModelContent(() => {
this.$emit('change', this.monacoEditor.getValue())
// this.$emit('change', this.monacoEditor.getValue())
this.$emit('input', this.monacoEditor.getValue())
})
this.addSqlTips()
},
Expand Down Expand Up @@ -168,6 +176,7 @@ div.editor-container {
div.monaco-editor {
width: 100%;
height: calc(100% - 30px);
margin-top: 10px;
}
}
</style>
3 changes: 2 additions & 1 deletion wedpr-web/src/utils/constant.js
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ export const dataStatusEnum = {
export const jobEnum = {
XGB_TRAINING: 'XGB_TRAINING',
XGB_PREDICTING: 'XGB_PREDICTING',
PSI: 'PSI'
PSI: 'PSI',
SQL: 'SQL'
}
export const agencyStatusEnum = {
OPEN: 0,
Expand Down
6 changes: 3 additions & 3 deletions wedpr-web/src/views/adminDataManage/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,10 @@
</el-form-item>
<el-form-item prop="createTime" label="上传时间:">
<el-date-picker
style="width: 280px"
value-format="yyyy-MM-dd"
style="width: 360px"
value-format="yyyy-MM-dd hh:mm:ss"
v-model="searchForm.createTime"
type="daterange"
type="datetimerange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
Expand Down
80 changes: 41 additions & 39 deletions wedpr-web/src/views/adminProjectDetail/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@
<div class="whole">
<div class="half">
<span class="title">项目简介:</span>
<span class="info" :title="dataInfo.projectDesc"> {{ dataInfo.projectDesc }} </span>
<span class="info" :title="dataInfo.desc"> {{ dataInfo.desc }} </span>
</div>
</div>
<div class="whole">
<div class="half">
<span class="title">创建模式:</span>
<span class="info"> {{ mode[dataInfo.type] }} </span>
<span class="info"> {{ mode[dataInfo.projectType] }} </span>
</div>
</div>
</div>
Expand All @@ -28,26 +28,22 @@
</div>
<div class="form-search">
<el-form :inline="true" @submit="queryHandle" :model="searchForm" ref="searchForm" size="small">
<el-form-item prop="ownerAgency" label="创建机构:">
<el-select clearable size="small" style="width: 160px" v-model="searchForm.ownerAgencyName" placeholder="请选择">
<el-option :key="item" v-for="item in agencyList" multiple :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item prop="ownerAgencyName" label="创建部门:">
<el-select clearable size="small" style="width: 160px" v-model="searchForm.ownerAgencyName" placeholder="请选择">
<el-option :key="item" v-for="item in agencyList" multiple :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item> -->
<el-form-item prop="owner" label="创建用户:">
<el-select clearable size="small" style="width: 160px" v-model="searchForm.owner" placeholder="请选择">
<el-option :key="item" v-for="item in agencyList" multiple :label="item.label" :value="item.value"></el-option>
</el-select>
<el-input style="width: 160px" placeholder="请输入" v-model="searchForm.owner" autocomplete="off"></el-input>
</el-form-item>
<el-form-item prop="name" label="任务名称:">
<el-input style="width: 160px" placeholder="请输入" v-model="searchForm.name" autocomplete="off"></el-input>
</el-form-item>
<el-form-item prop="createTime" label="创建时间:">
<el-date-picker style="width: 160px" v-model="searchForm.createTime" type="date" placeholder="请选择日期"> </el-date-picker>
<el-date-picker
value-format="yyyy-MM-dd hh:mm:ss"
v-model="searchForm.createTime"
type="datetimerange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" :loading="queryFlag" @click="queryHandle">
Expand All @@ -64,10 +60,13 @@
<el-table-column label="任务模板" prop="jobType">
<template v-slot="scope"> <img class="type-img" :src="handleData(scope.row.jobType).src" /> {{ handleData(scope.row.jobType).label }} </template>
</el-table-column>
<el-table-column label="任务ID" prop="id" />
<el-table-column label="创建时间" prop="createTime" />
<el-table-column label="发起机构" prop="ownerAgency" />
<el-table-column label="参与机构" prop="createTime" />
<el-table-column label="任务ID" prop="id" show-overflow-tooltip />
<el-table-column label="任务名称" prop="name" show-overflow-tooltip />
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip />
<el-table-column label="发起机构" prop="ownerAgency" show-overflow-tooltip />
<el-table-column label="参与机构" prop="participate" show-overflow-tooltip />
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip />
<el-table-column label="链上存证" prop="createTime" show-overflow-tooltip />
<el-table-column label="任务状态" prop="status">
<template v-slot="scope">
<el-tag size="small" v-if="scope.row.status === 'RunSuccess'" effect="dark" color="#52B81F">成功</el-tag>
Expand All @@ -76,11 +75,6 @@
<el-tag size="small" v-else effect="dark" color="#3071F2">{{ jobStatusMap[scope.row.status] }}</el-tag>
</template>
</el-table-column>
<el-table-column label="操作">
<template v-slot="scope">
<el-button size="small" @click="goDetail(scope.row.id)" type="text">查看详情</el-button>
</template>
</el-table-column>
</el-table>
<we-pagination :total="total" :page_offset="pageData.page_offset" :page_size="pageData.page_size" @paginationChange="paginationHandle"></we-pagination>
<el-empty v-if="!total" :image-size="120" description="暂无数据">
Expand All @@ -90,7 +84,7 @@
</div>
</template>
<script>
import { projectManageServer, jobManageServer, settingManageServer } from 'Api'
import { projectManageServer, settingManageServer } from 'Api'
import { tableHeightHandle } from 'Mixin/tableHeightHandle.js'
import { jobStatusList, jobStatusMap } from 'Utils/constant.js'
import { mapGetters } from 'vuex'
Expand All @@ -105,13 +99,11 @@ export default {
data() {
return {
searchForm: {
ownerAgency: '',
owner: '',
name: '',
createTime: ''
},
searchQuery: {
ownerAgency: '',
owner: '',
name: '',
createTime: ''
Expand Down Expand Up @@ -140,16 +132,13 @@ export default {
this.getConfig()
},
computed: {
...mapGetters(['algList'])
...mapGetters(['algList', 'agencyList'])
},
methods: {
handleData(key) {
const data = this.algList.filter((v) => v.value === key)
return data[0] || {}
},
goDetail(id) {
this.$router.push({ path: '/jobDetail', query: { id } })
},
reset() {
this.$refs.searchForm.resetFields()
},
Expand All @@ -172,12 +161,12 @@ export default {
async queryProject() {
this.loadingFlag = true
const { projectId } = this
const res = await projectManageServer.queryProject({ project: { id: projectId }, onlyMeta: false })
const res = await projectManageServer.adminQueryProject({ id: projectId })
this.loadingFlag = false
console.log(res)
if (res.code === 0 && res.data) {
const { dataList = [] } = res.data
this.dataInfo = dataList[0] || {}
const { projectList = [] } = res.data
this.dataInfo = projectList[0] || {}
this.queryJobByCondition()
} else {
this.dataInfo = {}
Expand Down Expand Up @@ -215,12 +204,25 @@ export default {
params.startTime = createTime[0]
params.endTime = createTime[1]
}
const res = await jobManageServer.adminQueryJobByCondition({ job: { id: '', projectName, ...params }, pageNum: page_offset, pageSize: page_size })
params.ownerAgency = this.dataInfo.ownerAgency
const res = await projectManageServer.adminQuerylistJobInProject({ projectName, ...params, pageNum: page_offset, pageSize: page_size })
this.loadingFlag = false
console.log(res)
if (res.code === 0 && res.data) {
const { jobs = [], total } = res.data
this.tableData = jobs
const { jobList = [], total } = res.data
this.tableData = jobList.map((v) => {
let participate = ''
try {
participate = JSON.parse(v.parties)
.map((v) => v.agency)
.join('')
} catch {
participate = ''
}
return {
participate,
...v
}
})
this.total = total
} else {
this.tableData = []
Expand Down
21 changes: 14 additions & 7 deletions wedpr-web/src/views/adminProjectManage/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,14 @@
</el-select>
</el-form-item>
<el-form-item prop="createTime" label="创建时间:">
<el-date-picker value-format="yyyy-MM-dd" v-model="searchForm.createTime" type="daterange" range-separator="" start-placeholder="开始日期" end-placeholder="结束日期">
<el-date-picker
value-format="yyyy-MM-dd hh:mm:ss"
v-model="searchForm.createTime"
type="datetimerange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item>
Expand Down Expand Up @@ -127,10 +134,10 @@ export default {
this.projectNameSelectList = []
return
}
const res = await projectManageServer.queryProject({ project: { id: '', name: projectName }, onlyMeta: true, pageNum: 1, pageSize: 9999 })
const res = await projectManageServer.adminQueryProject({ pageNum: 1, pageSize: 9999 })
if (res.code === 0 && res.data) {
const { dataList = [] } = res.data
this.projectNameSelectList = dataList.map((v) => {
const { projectList = [] } = res.data
this.projectNameSelectList = projectList.map((v) => {
return {
label: v.name,
value: v.name
Expand Down Expand Up @@ -158,11 +165,11 @@ export default {
this.loadingFlag = true
console.log(params)
// FIXME:
const res = await projectManageServer.adminQueryProject({ project: { id: '', ...params }, onlyMeta: false, pageNum: page_offset, pageSize: page_size })
const res = await projectManageServer.adminQueryProject({ ...params, pageNum: page_offset, pageSize: page_size })
this.loadingFlag = false
if (res.code === 0 && res.data) {
const { dataList = [], total } = res.data
this.tableData = dataList
const { projectList = [], total } = res.data
this.tableData = projectList
this.total = total
} else {
this.tableData = []
Expand Down
Loading

0 comments on commit b7cb381

Please sign in to comment.