瀏覽代碼

Merge branch 'http_mock'

qinzhipeng_v 5 年之前
父節點
當前提交
b98175091c

+ 1 - 0
package.json

@@ -31,6 +31,7 @@
     "swiper": "^4.5.0",
     "v-jsoneditor": "^1.2.2",
     "vue": "2.6.10",
+    "vue-fullcalendar": "^1.0.9",
     "vue-json-viewer": "^2.2.8",
     "vue-qr": "^2.2.1",
     "vue-router": "3.0.6",

+ 5 - 5
src/router/index.js

@@ -91,14 +91,14 @@ export const constantRoutes = [
             component: () => import('@/views/Platform/Workbench/PersonalWorkbench'),
             meta: { title: '个人工作台' }
           },
-          {
-            path: 'TeamWorkb1ench',
-            name: '团队工作台'
-          },
+          // {
+          //   path: 'TeamWorkb1ench',
+          //   name: '团队工作台'
+          // },
           {
             path: 'TeamWorkbench',
             name: '团队工作台',
-            hidden: true,
+            // hidden: true,
             component: () => import('@/views/Platform/Workbench/TeamWorkbench'),
             meta: { title: '团队工作台' }
           }

+ 57 - 23
src/views/Platform/Workbench/TeamWorkbench.vue

@@ -1,43 +1,72 @@
 <template>
-  <!-- -------------------------- 待处理 ----------------------------- -->
   <div class="bgColorSz">
-    <el-calendar>
-      <!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
-      <template
-        slot="dateCell"
-        slot-scope="{date, data}"
-      >
-        <p :class="data.isSelected ? 'is-selected' : ''">
-          {{ data.day.split('-').slice(1).join('-') }} {{ data.isSelected ? '✔️' : '' }}
-        </p>
-      </template>
-    </el-calendar>
-
-  </div>
+    <full-calendar :events="events" lang="zh" class="test-fc" first-day="1" locale="fr" style="width:100%" @changeMonth="changeMonth" @eventClick="eventClick" @dayClick="dayClick" @moreClick="moreClick"> />
+      <div id="calendar" style="height: 800px;" />
+    </full-calendar></div>
 </template>
 <script>
 
-import { } from '@/api/workbench'
-
 export default {
   name: 'TeamWorkbench',
+  components: {
+    'full-calendar': require('vue-fullcalendar')
+  },
   data() {
     return {
-
+      events: [
+        {
+          title: '郑美双:前端计划',
+          start: '2019-12-01',
+          end: '2019-12-05',
+          cssClass: 'red',
+          YOUR_DATA: { shan: '你好' }
+        },
+        {
+          title: '郑美双:前端计划',
+          start: '2019-12-01',
+          end: '2019-12-23',
+          cssClass: 'red',
+          YOUR_DATA: {}
+        },
+        {
+          title: '秦志鹏:前端计划',
+          start: '2019-12-05',
+          end: '2019-12-07',
+          cssClass: ['family', 'career'],
+          YOUR_DATA: {}
+        },
+        {
+          title: '汝瑞: UI计划,流程管控项目第四版更新包',
+          start: '2019-12-12',
+          end: '2019-12-18',
+          cssClass: 'blue'
+        }
+      ]
     }
   },
   created() {
-
   },
   methods: {
-
+    // 选择月份
+    changeMonth(start, end, current) {
+      console.log('changeMonth', start.format(), end.format(), current.format())
+    },
+    // 点击事件
+    eventClick(event, jsEvent, pos) {
+      console.log('eventClick', event, jsEvent, pos)
+    },
+    // 点击当天
+    dayClick(day, jsEvent) {
+      console.log('dayClick', day, jsEvent)
+    },
+    // 查看更多
+    moreClick(day, events, jsEvent) {
+      console.log('moreCLick', day, events, jsEvent)
+    }
   }
 }
 </script>
 <style scoped>
- .is-selected {
-    color: #1989FA;
-  }
   .bgColorSz {
     width: 100%;
     height: 96vh;
@@ -47,5 +76,10 @@ export default {
     justify-content: center;
     align-items: center;
   }
-
+  .red {
+  background-color: red;
+}
+.blue {
+  background: blue;
+}
 </style>

+ 39 - 7
src/views/Platform/presentation/Assumptions.vue

@@ -33,7 +33,11 @@
           </el-table>
         </template>
         <el-pagination style="margin-top:30px;" align="center" :current-page="curIndex" :page-sizes="[5, 10, 20]" :page-size="pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
-        <el-dialog title="提示" :visible.sync="centerDialogVisible" width="30%" center>
+        <el-dialog title="提示" :visible.sync="centerDialogVisible" width="30%" center @close="closeChange">
+          <div style="text-align:text;margin:10px 0;">
+            <el-button ref="btn1" size="mini" @click="getQueryData(1)">项目</el-button>
+            <el-button ref="btn2" size="mini" @click="getQueryData(2)">任务</el-button>
+          </div>
           选择任务 :
           <el-select v-model="queryData.state" filterable placeholder="搜索" style="width:80%;" @change="handleSelect($event)">
             <el-option v-for="item in restaurants" :key="item.id" :label="item.value" :value="item.id" />
@@ -141,7 +145,6 @@ export default {
 
     // 创建B端,服务端,客户端跳转
     selectionReport(e) {
-      console.log(e)
       if (this.queryData.state !== '') {
         for (var ele of this.restaurants) {
           if (ele.id === e.state) {
@@ -160,7 +163,7 @@ export default {
           }
         }
         if (this.DuanKopu === false) {
-          if (this.data_type.type === 5) {
+          if (this.data_type.typeString !== '服务端') {
             this.$router.push({ path: '/Platform/presentation/presentationReport', query: { task: this.data_type }}) // 服务端
           } else {
             this.$router.push({ path: '/Platform/presentation/PresentReport', query: { task: this.data_type }}) // 客户端
@@ -171,18 +174,47 @@ export default {
         this.$message({ message: '提示,请选择要添加的任务ID', type: 'warning' })
       }
     },
-    getQueryData() {
+
+    // 切换项目任务
+    getQueryData(e) {
       this.DuanKopu = false
       this.$set(this.queryData, 'state', '')
       this.$set(this.queryData, 'radio', undefined)
+      this.restaurants = []
       taskListCreate({ status: 5 }).then(res => {
         const arr = []
-        for (var ele of res.data.taskInfoList) {
-          arr.push({ value: ele.name, id: ele.id, type: ele.type, bizId: ele.bizId, projectId: ele.projectId })
+        switch (e) {
+          case 1:
+            for (var ele of res.data.projectInfoList) {
+              arr.push({ value: ele.name, id: ele.id, type: ele.platForm, bizId: ele.bizId, typeString: e })
+            }
+            this.restaurants = arr
+            this.$refs['btn1'].$el.style.background = '#409EFF'
+            this.$refs['btn1'].$el.style.color = '#ffffff'
+            this.$refs['btn2'].$el.style.background = '#FFFFFF'
+            this.$refs['btn2'].$el.style.color = '#606266'
+            break
+          case 2:
+            for (var vel of res.data.taskInfoList) {
+              arr.push({ value: vel.name, id: vel.id, type: vel.type, bizId: vel.bizId, typeString: e })
+            }
+            this.restaurants = arr
+            this.$refs['btn1'].$el.style.background = '#FFFFFF'
+            this.$refs['btn1'].$el.style.color = '#606266'
+            this.$refs['btn2'].$el.style.background = '#409EFF'
+            this.$refs['btn2'].$el.style.color = '#ffffff'
         }
-        this.restaurants = arr
       })
     },
+
+    // dialog关闭回调
+    closeChange() {
+      this.$refs['btn1'].$el.style.background = '#FFFFFF'
+      this.$refs['btn1'].$el.style.color = '#606266'
+      this.$refs['btn2'].$el.style.background = '#FFFFFF'
+      this.$refs['btn2'].$el.style.color = '#606266'
+    },
+
     createFilter(queryString) {
       return (restaurant) => {
         return (restaurant.value.toLowerCase().indexOf(queryString.toLowerCase()) === 0)

+ 0 - 1
src/views/projectManage/taskList/taskListIndex.vue

@@ -429,7 +429,6 @@ export default {
       })
     },
     create_code(e) {
-      console.log(e.radio)
       if (e.radio !== undefined) {
         if (e.radio === '1') {
           this.$router.push({ path: '/Platform/presentation/presentationReport', query: { task: e }}) // 服务端提测