From 4859877ec235a53b63b7c1b03ca265f3aeb3d8b5 Mon Sep 17 00:00:00 2001 From: liweisen Date: Fri, 29 Nov 2019 14:45:27 +0800 Subject: [PATCH 01/72] =?UTF-8?q?=E7=BB=9F=E8=AE=A1=E6=8A=A5=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/project.js | 3 +++ src/views/project/analysis/index.vue | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/api/project.js b/src/api/project.js index b0cbc79..de5313a 100644 --- a/src/api/project.js +++ b/src/api/project.js @@ -36,6 +36,9 @@ export function del(code) { export function read(code) { return $http.post('project/project/read', {projectCode: code}); } +export function analysis(data) { + return $http.post('project/project/analysis', data); +} export function _projectStats(data) { return $http.post('project/project/_projectStats', data); } diff --git a/src/views/project/analysis/index.vue b/src/views/project/analysis/index.vue index 2e6611e..02669c3 100644 --- a/src/views/project/analysis/index.vue +++ b/src/views/project/analysis/index.vue @@ -180,6 +180,7 @@ import MiniProgress from '@/components/chart/MiniProgress' import RankList from '@/components/chart/RankList' import pagination from "@/mixins/pagination"; + import {analysis} from "../../../api/project"; const rankList = []; for (let i = 0; i < 7; i++) { @@ -306,6 +307,7 @@ }, methods: { init(reset = true) { + analysis({type: 1}); if (reset) { this.pagination.page = 1; this.pagination.pageSize = 9; From 84b9b6335be2b0e494fcd25d3bcef6bddc25a2d2 Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Sun, 1 Dec 2019 20:36:57 +0800 Subject: [PATCH 02/72] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=86=E6=9E=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/project/analysis/index.vue | 62 +++++++++++++++++++++------- 1 file changed, 48 insertions(+), 14 deletions(-) diff --git a/src/views/project/analysis/index.vue b/src/views/project/analysis/index.vue index 02669c3..7f827fa 100644 --- a/src/views/project/analysis/index.vue +++ b/src/views/project/analysis/index.vue @@ -3,7 +3,7 @@
- + @@ -19,7 +19,7 @@ - + @@ -37,7 +37,7 @@ - + @@ -51,16 +51,16 @@ 11%
- + - +
- +
diff --git a/src/router/index.js b/src/router/index.js index 185ce17..38b5e93 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -151,11 +151,6 @@ router.beforeEach((to, from, next) => { }); return false; } - // 统计代码 - if (to.path) { - _hmt.push(['_trackPageview', '/#' + to.fullPath]); - console.log(_hmt); - } next(); }); router.afterEach(route => { diff --git a/src/views/project/template/index.vue b/src/views/project/template/index.vue index 2ec719d..fb05b72 100644 --- a/src/views/project/template/index.vue +++ b/src/views/project/template/index.vue @@ -130,7 +130,8 @@ showLoadingMore: false, loadingMore: false, currentTemplate: {}, - cover: config.PROD_URL + '/static/image/default/cover.png', + cover:'https://beta.vilson.xyz/static/image/default/project-cover.png', + // cover: config.PROD_URL + '/static/image/default/cover.png', newData: { id: 0, }, From c856d8d99f1343fb60b1f959be96676238b70a42 Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Sat, 29 Feb 2020 21:08:18 +0800 Subject: [PATCH 19/72] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/css/components/task.less | 2 +- src/components/project/taskSearch.vue | 368 ++++++++++++++++++++++++++ src/views/project/space/task.vue | 46 +++- 3 files changed, 411 insertions(+), 5 deletions(-) create mode 100644 src/components/project/taskSearch.vue diff --git a/src/assets/css/components/task.less b/src/assets/css/components/task.less index fd6777b..af601b0 100644 --- a/src/assets/css/components/task.less +++ b/src/assets/css/components/task.less @@ -1131,7 +1131,7 @@ li.activity.creator i { } .project-nav-footer .footer-item { - font-size: 15px; + font-size: 14px; position: relative; padding: 15px 10px; margin: 0 5px; diff --git a/src/components/project/taskSearch.vue b/src/components/project/taskSearch.vue new file mode 100644 index 0000000..257564b --- /dev/null +++ b/src/components/project/taskSearch.vue @@ -0,0 +1,368 @@ + + + + diff --git a/src/views/project/space/task.vue b/src/views/project/space/task.vue index a6da5a3..36c0982 100644 --- a/src/views/project/space/task.vue +++ b/src/views/project/space/task.vue @@ -39,6 +39,10 @@ + + + @@ -571,6 +585,7 @@ import projectConfig from '@/components/project/projectConfig' import RecycleBin from '@/components/project/recycleBin' import TaskTag from '@/components/project/taskTag' + import TaskSearch from '@/components/project/taskSearch' import {list as getTaskStages, sort, tasks as getTasks} from "../../../api/taskStages"; import {read as getProject} from "../../../api/project"; @@ -589,6 +604,7 @@ TaskTag, draggable, projectSelect, + TaskSearch, inviteProjectMember, projectConfig }, @@ -609,6 +625,8 @@ preCode: '', nextCode: '', + taskSearchParams: {}, + stageKeys: [], stageModal: { form: this.$form.createForm(this), @@ -630,6 +648,9 @@ configDraw: { visible: false, }, + taskSearch: { + visible: false, + }, downLoadUrl: getUploadUrl('project/task/_downloadTemplate'), @@ -695,7 +716,9 @@ const stageIndex = from.query.from; // this.getTaskStages(false); if (stageIndex != undefined) { - getTasks({stageCode: this.taskStages[stageIndex].code}).then((res) => { + let searchParams = this.taskSearchParams; + let params = Object.assign({stageCode:this.taskStages[stageIndex].code}, searchParams); + getTasks(params).then((res) => { this.taskStages[stageIndex].tasksLoading = false; this.taskStages[stageIndex].tasks = res.data; let doneTasks = this.taskStages[stageIndex].doneTasks = []; @@ -790,8 +813,12 @@ this.taskStages = taskStages = res.data.list; } if (taskStages) { + let searchParams = app.taskSearchParams; + let params = {}; taskStages.forEach((v, k) => { - getTasks({stageCode: v.code}).then((res) => { + params = {stageCode: v.code}; + params = Object.assign(params, searchParams); + getTasks(params).then((res) => { let canNotReadCount = 0; res.data.forEach((task) => { if (!task.canRead) { @@ -817,6 +844,11 @@ filterTask(tasks, done) { return tasks.filter(item => item.done == done); }, + taskSearchAction(value) { + console.log(value); + this.taskSearchParams = value; + this.getTaskStages(); + }, //显示添加任务卡片 showTaskCard(index = false, show = true) { this.taskStages.forEach((v) => { @@ -1144,10 +1176,16 @@ visibleDraw(type) { if (type == 'member') { this.configDraw.visible = false; + this.taskSearch.visible = false; this.inviteMemberDraw.visible = !this.inviteMemberDraw.visible; + } else if (type == 'taskSearch') { + this.taskSearch.visible = !this.taskSearch.visible; + this.configDraw.visible = false; + this.inviteMemberDraw.visible = false; } else { this.inviteMemberDraw.visible = false; + this.taskSearch.visible = false; this.configDraw.visible = !this.configDraw.visible; } }, @@ -1254,11 +1292,11 @@ } .ant-drawer-content { - background-color: #f7f7f7; + /*background-color: #f7f7f7;*/ } .ant-drawer-header { - background-color: #f7f7f7; + /*background-color: #f7f7f7;*/ text-align: center; } From 91a35a26f62438ef2ca2447f99adfc4ec22dff1e Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Sat, 29 Feb 2020 21:10:30 +0800 Subject: [PATCH 20/72] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E8=87=B32.8.11?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config/version.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/version.js b/src/config/version.js index 9a1bcb2..c539fba 100644 --- a/src/config/version.js +++ b/src/config/version.js @@ -1,3 +1,3 @@ export default { - VERSION: '2.8.10', + VERSION: '2.8.11', }; From 716a6cabcd1018a683d6ee0b60c673bfa2aa3c5a Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Sat, 29 Feb 2020 21:45:27 +0800 Subject: [PATCH 21/72] =?UTF-8?q?=E6=9B=B4=E6=96=B0README?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ffeb9b8..d6e3eb1 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ 有不明白的地方的可以加群:275264059,或者联系我,QQ:545522390 ### 演示地址 -> [https://beta.vilson.xyz](https://beta.vilson.xyz) +> [https://home.vilson.xyz](https://home.vilson.xyz) ### 登录 ### 账号:123456 密码:123456 From e8e9a9c18841e51d9440f8b8ba4d0961d55cb681 Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Mon, 2 Mar 2020 08:58:31 +0800 Subject: [PATCH 22/72] =?UTF-8?q?=E9=80=80=E5=87=BA=E7=BB=84=E7=BB=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/organization.js | 3 +++ src/views/common/inviteFromLink.vue | 14 +++++++------ src/views/organization/index.vue | 32 ++++++++++++++++++++--------- 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/src/api/organization.js b/src/api/organization.js index 28e8679..745a6e0 100644 --- a/src/api/organization.js +++ b/src/api/organization.js @@ -25,3 +25,6 @@ export function doData(data) { export function del(organizationCode) { return $http.post('project/organization/delete', {organizationCode: organizationCode}); } +export function _quitOrganization(data) { + return $http.post('project/organization/_quitOrganization', data); +} diff --git a/src/views/common/inviteFromLink.vue b/src/views/common/inviteFromLink.vue index 88b4f30..77fc6f7 100644 --- a/src/views/common/inviteFromLink.vue +++ b/src/views/common/inviteFromLink.vue @@ -75,12 +75,14 @@ }); } else if (this.inviteLink.invite_type == 'organization') { joinOrganation(this.$route.params.code).then(res => { - this.$store.dispatch('setOrganizationList', res.data.organizationList); - this.$store.dispatch('setCurrentOrganization', res.data.currentOrganization); - this.$notice({title: '你已成功加入组织', msg: '你可以在右上方切换当前组织'}, 'notice', 'success'); - setTimeout(function () { - app.$router.replace('/') - }, 500); + if (checkResponse(res)) { + this.$store.dispatch('setOrganizationList', res.data.organizationList); + this.$store.dispatch('setCurrentOrganization', res.data.currentOrganization); + this.$notice({title: '你已成功加入组织', msg: '你可以在右上方切换当前组织'}, 'notice', 'success'); + setTimeout(function () { + app.$router.replace('/') + }, 500); + } }); } } diff --git a/src/views/organization/index.vue b/src/views/organization/index.vue index 35480f3..cbdd944 100644 --- a/src/views/organization/index.vue +++ b/src/views/organization/index.vue @@ -7,7 +7,8 @@ @@ -72,11 +73,12 @@ From 92d9a398c5eccbf9e7a55ff711ca35ac353b2e3d Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Fri, 6 Mar 2020 12:09:22 +0800 Subject: [PATCH 34/72] =?UTF-8?q?=E7=89=88=E6=9C=AC=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E8=87=B32.8.13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config/version.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/config/version.js b/src/config/version.js index fecd304..d44e8de 100644 --- a/src/config/version.js +++ b/src/config/version.js @@ -1,3 +1,3 @@ export default { - VERSION: '2.8.12', + VERSION: '2.8.13', }; From cddc06e5b92059800c8f5624a6fac5d580e489b0 Mon Sep 17 00:00:00 2001 From: vilson <545522390@qq.com> Date: Sat, 7 Mar 2020 10:20:51 +0800 Subject: [PATCH 35/72] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/member/login.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/member/login.vue b/src/views/member/login.vue index be6ac76..b39362f 100644 --- a/src/views/member/login.vue +++ b/src/views/member/login.vue @@ -101,7 +101,7 @@
- {{accounts.length}} + {{accounts.total}}
@@ -182,7 +182,7 @@ - + - + + @@ -251,7 +252,14 @@ activities: [], tasks: [], tasksTotal: 0, - accounts: [], + // accounts: [], + accounts: { + list: [], + total: 0, + page: 1, + pageSize: 10, + loading: false, + }, task: { list: [], taskType: '1', @@ -260,8 +268,6 @@ page: 1, pageSize: 10, loading: false, - showLoadingMore: false, - loadingMore: false, }, } }, @@ -318,8 +324,11 @@ }) }, getAccountList() { - accountList().then(res => { - this.accounts = res.data.list; + this.accounts.loading = true; + accountList({page: this.accounts.page, pageSize: this.accounts.pageSize}).then(res => { + this.accounts.loading = false; + this.accounts.list = res.data.list; + this.accounts.total = res.data.total; }) }, getYiYan() { @@ -335,8 +344,6 @@ this.task.list = res.data.list; // this.task.list = this.task.list.concat(res.data.list);; this.task.total = res.data.total; - this.task.showLoadingMore = this.task.total > res.data.list.length; - this.task.loadingMore = false }) }, taskTabChange(key) { @@ -357,6 +364,11 @@ this.task.page = page; this.getTasks(); }, + onLoadMoreAccounts(page, PageSize) { + this.accounts.loadingMore = true; + this.accounts.page = page; + this.getAccountList(); + }, priColor(pri) { switch (pri) { case 1: From 67ac39b491ab8fd543c7f854bb66d9859f4b0a86 Mon Sep 17 00:00:00 2001 From: liweisen Date: Fri, 8 May 2020 09:47:26 +0800 Subject: [PATCH 38/72] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AE=89=E8=A3=85?= =?UTF-8?q?=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/error/install.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/views/error/install.vue b/src/views/error/install.vue index 2c85839..b856329 100644 --- a/src/views/error/install.vue +++ b/src/views/error/install.vue @@ -2,6 +2,7 @@
+
@@ -628,6 +628,9 @@ preCode: '', nextCode: '', + preTaskCode: '', + nextTaskCode: '', + taskSearchParams: {}, stageKeys: [], @@ -1151,24 +1154,28 @@ taskDetail(code, stageIndex) { this.$router.push(`${this.$route.path}/detail/${code}?from=${stageIndex}`); }, - stageMove(evt) { - this.preCode = evt.draggedContext.element.code; - this.nextCode = evt.relatedContext.element.code; - + stageSort(event) { + const list = this.getPreAndNextCode(event); + sort(list[0], list[1], this.code); }, - stageSort() { - sort(this.preCode, this.nextCode, this.code); + getPreAndNextCode(event) { + const preCode = event.clone.getAttribute('id'); + let toList = []; + let nextCode = ''; + for (let i = 0, len = event.to.children.length; i < len; i++) { + toList.push(event.to.children[i].getAttribute('id')); + } + const preCodeIndex = toList.findIndex(item => item === preCode) + if (preCodeIndex < toList.length) { + nextCode = toList[preCodeIndex + 1]; + } + return [preCode, nextCode]; }, taskSort(event) { - console.log(event); + const list = this.getPreAndNextCode(event); + console.log(list); const toStageCode = event.to.parentNode.parentNode.parentNode.getAttribute('id'); - let codes = ''; - for (let i = 0, len = event.to.children.length; i < len; i++) { - codes += ',' + event.to.children[i].getAttribute('id'); - } - sortTask({stageCode: toStageCode, codes: codes.substr(1)}).then(res => { - this.getTaskStages(false); - }); + sortTask({preTaskCode: list[0], nextTaskCode: list[1], toStageCode: toStageCode}); }, handleResize(vertical, stageIndex) { if (vertical.barSize) { From ba746f1c7d576bd0f8b12c7ed057138b0c26b6e8 Mon Sep 17 00:00:00 2001 From: liweisen Date: Sat, 9 May 2020 16:45:40 +0800 Subject: [PATCH 40/72] =?UTF-8?q?=E9=85=8D=E7=BD=AE=E9=A1=B9=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E4=B8=BA.env?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 8 ++++++++ .gitignore | 4 ++-- src/assets/js/utils.js | 14 +++++--------- src/config/config.js | 8 ++++---- vue.config.js | 13 +++++-------- 5 files changed, 24 insertions(+), 23 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..9ed6d03 --- /dev/null +++ b/.env.example @@ -0,0 +1,8 @@ +VUE_APP_CROSS_DOMAIN=false +VUE_APP_API_URL=http://127.0.0.1/pearProjectApi/index.php +VUE_APP_WS_URI=ws://127.0.0.1:2345 +VUE_APP_HOME_PAGE=/home +VUE_APP_NAME=PearProject +VUE_APP_BUILD_PATH=./ +VUE_APP_DEV_HOST=127.0.0.1 +VUE_APP_DEV_PORT=8045 diff --git a/.gitignore b/.gitignore index f044205..901554e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,8 +3,8 @@ node_modules /dist package-lock.json # local env files -.env.local -.env.*.local +.env +.env.production # Log files npm-debug.log* diff --git a/src/assets/js/utils.js b/src/assets/js/utils.js index ec3cf0b..0d61d27 100644 --- a/src/assets/js/utils.js +++ b/src/assets/js/utils.js @@ -1,10 +1,6 @@ import {notice} from './notice'; -import config from '../../config/config' import {getStore} from "./storage"; -const PROD_URL = config.PROD_URL; -const crossDomain = config.crossDomain; - /** * 判断客户端返回状态 * @param res @@ -72,15 +68,15 @@ export const showWarConfirm = (options = {}, callback = function () { * 获取完整的api请求地址 */ export const getFullUrl = (api) => { - return PROD_URL + '/' + api + return process.env.VUE_APP_API_URL + '/' + api }; export const getApiUrl = (api) => { - if (crossDomain) { - return PROD_URL + '/' + api; //开启跨域直接返回 + if (process.env.VUE_APP_CROSS_DOMAIN) { + return process.env.VUE_APP_API_URL + '/' + api; //开启跨域直接返回 } if (process.env.NODE_ENV === 'production') { - return PROD_URL + '/' + api; + return process.env.VUE_APP_API_URL + '/' + api; } else { return '/api/' + api; } @@ -94,7 +90,7 @@ export const getApiUrl = (api) => { export const getUploadUrl = (api) => { let baseUrl = ''; // if (process.env.NODE_ENV === 'production') { - // baseUrl = PROD_URL + // baseUrl = process.env.VUE_APP_API_URL // } return baseUrl + getApiUrl(api) }; diff --git a/src/config/config.js b/src/config/config.js index 0fcb66b..c9bbba9 100644 --- a/src/config/config.js +++ b/src/config/config.js @@ -1,6 +1,6 @@ export default { - crossDomain: false, //是否开启跨域支持 - PROD_URL: 'https://beta.vilson.xyz/index.php', //生产环境接口地址 - WS_URI: 'ws://192.168.31.68:2345',//wss://beta.vilson.xyz:2345 //WebSocket地址 - HOME_PAGE: '/home',//主页路由 + crossDomain: process.env.VUE_APP_CROSS_DOMAIN, //是否开启跨域支持 + PROD_URL: process.env.VUE_APP_API_URL, //生产环境接口地址 + WS_URI: process.env.VUE_APP_WS_URI,//wss://beta.vilson.xyz:2345 //WebSocket地址 + HOME_PAGE: process.env.VUE_APP_HOME_PAGE,//主页路由 }; diff --git a/vue.config.js b/vue.config.js index 56cf6e0..b85facf 100644 --- a/vue.config.js +++ b/vue.config.js @@ -4,11 +4,8 @@ function resolve(dir) { return path.join(__dirname, dir) } -const HOST = '127.0.0.1'; -const PORT = '8045'; -const DEV_URL = 'http://127.0.0.1/pearProjectApi/index.php'; module.exports = { - publicPath: process.env.NODE_ENV === 'production' ? './' : '/', + publicPath: process.env.NODE_ENV === 'production' ? process.env.VUE_APP_BUILD_PATH: '/', productionSourceMap: false, css: { loaderOptions: { @@ -22,14 +19,14 @@ module.exports = { } }, devServer: { - host: HOST, - port: PORT, + host: process.env.VUE_APP_DEV_HOST || '127.0.0.1', + port: process.env.VUE_APP_DEV_PORT || '8045', https: false, hotOnly: false, proxy: { // 配置跨域 '/api': { //要访问的跨域的api的域名 - target: `${DEV_URL}/`, + target: `${process.env.VUE_APP_API_URL}/`, ws: true, changOrigin: true, pathRewrite: { @@ -49,5 +46,5 @@ module.exports = { } } }, - lintOnSave: undefined + lintOnSave: false }; From 51f0f260f3b2b4997750898e3406a23bde33f74f Mon Sep 17 00:00:00 2001 From: liweisen Date: Sat, 9 May 2020 17:35:47 +0800 Subject: [PATCH 41/72] =?UTF-8?q?=E7=BB=86=E8=8A=82=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/project/archive/index.vue | 3 --- src/views/project/list/index.vue | 2 +- src/views/project/recycle/index.vue | 5 +---- 3 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/views/project/archive/index.vue b/src/views/project/archive/index.vue index 0ff90fd..b7d670e 100644 --- a/src/views/project/archive/index.vue +++ b/src/views/project/archive/index.vue @@ -1,9 +1,6 @@ + + diff --git a/src/views/project/space/features.vue b/src/views/project/space/features.vue index f41a241..a5a01be 100644 --- a/src/views/project/space/features.vue +++ b/src/views/project/space/features.vue @@ -37,6 +37,10 @@ @click="$router.push('/project/space/features/' + code)"> 版本 +
  • + 日程 +
  • diff --git a/src/views/project/space/files.vue b/src/views/project/space/files.vue index ab85d6a..f604124 100644 --- a/src/views/project/space/files.vue +++ b/src/views/project/space/files.vue @@ -37,6 +37,10 @@ @click="$router.push('/project/space/features/' + code)"> 版本 +
  • + 日程 +
  • diff --git a/src/views/project/space/overview.vue b/src/views/project/space/overview.vue index ca16d76..e7cf5eb 100644 --- a/src/views/project/space/overview.vue +++ b/src/views/project/space/overview.vue @@ -37,6 +37,10 @@ @click="$router.push('/project/space/features/' + code)"> 版本 +
  • + 日程 +
  • diff --git a/src/views/project/space/task.vue b/src/views/project/space/task.vue index 517ee76..1d155ea 100644 --- a/src/views/project/space/task.vue +++ b/src/views/project/space/task.vue @@ -36,6 +36,10 @@ @click="$router.push('/project/space/features/' + code)"> 版本 +
  • + 日程 +