Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

wedpr-web 机构端添加sql任务流程,管理端调整项目tab #44

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading