qinzhipeng_v 5 rokov pred
rodič
commit
30195b2305

+ 69 - 69
src/router/index.js

@@ -78,6 +78,75 @@ export const constantRoutes = [
     name: '质惠平台',
     meta: { title: '质惠平台', icon: '质惠平台' },
     children: [
+      {
+        path: '/Platform/projectManage',
+        name: '项目管理',
+        component: () => import('@/views/projectManage/projectList/testa'),
+        redirect: '/Platform/projectManage/projectList/projectIndex',
+        meta: { title: '项目管理', icon: '项目管理' },
+        children: [
+          {
+            path: 'projectIndex',
+            name: '项目列表',
+            component: () => import('@/views/projectManage/projectList/projectIndex'),
+            meta: { title: '项目' }
+          },
+          {
+            path: 'projectViewDetails',
+            name: '项目详情',
+            component: () => import('@/views/projectManage/projectList/projectViewDetails'),
+            meta: { title: '项目详情' }
+          },
+          {
+            path: 'projectList',
+            name: '项目列表',
+            // hidden: true,
+            component: () => import('@/views/projectManage/projectList/projectListIndex'),
+            meta: { title: '项目列表' }
+          },
+          {
+            path: 'projectCreate',
+            hidden: true,
+            name: '项目创建',
+            component: () => import('@/views/projectManage/projectList/projectCreate'),
+            meta: { title: '项目创建' }
+          },
+          {
+            path: 'projectPreview',
+            hidden: true,
+            name: '项目查看',
+            component: () => import('@/views/projectManage/projectList/projectPreview'),
+            meta: { title: '项目查看' }
+          },
+          {
+            path: 'taskList',
+            name: '任务列表',
+            component: () => import('@/views/projectManage/taskList/taskListIndex'),
+            meta: { title: '任务列表' }
+          },
+          {
+            path: 'taskCreate',
+            hidden: true,
+            name: '任务创建',
+            component: () => import('@/views/projectManage/taskList/taskCreate'),
+            meta: { title: '任务创建' }
+          },
+          {
+            path: 'taskPreview',
+            hidden: true,
+            name: '任务查看',
+            component: () => import('@/views/projectManage/taskList/taskPreview'),
+            meta: { title: '任务查看' }
+          },
+          {
+            path: 'taskUpdate',
+            hidden: true,
+            name: '任务更新',
+            component: () => import('@/views/projectManage/taskList/taskUpdateCreate'),
+            meta: { title: '任务更新' }
+          }
+        ]
+      },
       {
         path: '/Platform/useCasePage',
         name: '测试计划管理',
@@ -327,75 +396,6 @@ export const constantRoutes = [
     ]
   },
 
-  {
-    path: '/Platform/projectManage',
-    name: '项目管理',
-    component: Layout,
-    redirect: '/Platform/projectManage/projectList/projectIndex',
-    meta: { title: '项目管理', icon: '项目管理' },
-    children: [
-      {
-        path: 'projectIndex',
-        name: '项目列表',
-        component: () => import('@/views/projectManage/projectList/projectIndex'),
-        meta: { title: '项目' }
-      },
-      {
-        path: 'projectViewDetails',
-        name: '项目详情',
-        component: () => import('@/views/projectManage/projectList/projectViewDetails'),
-        meta: { title: '项目详情' }
-      },
-      {
-        path: 'projectList',
-        name: '项目列表',
-        // hidden: true,
-        component: () => import('@/views/projectManage/projectList/projectListIndex'),
-        meta: { title: '项目列表' }
-      },
-      {
-        path: 'projectCreate',
-        hidden: true,
-        name: '项目创建',
-        component: () => import('@/views/projectManage/projectList/projectCreate'),
-        meta: { title: '项目创建' }
-      },
-      {
-        path: 'projectPreview',
-        hidden: true,
-        name: '项目查看',
-        component: () => import('@/views/projectManage/projectList/projectPreview'),
-        meta: { title: '项目查看' }
-      },
-      {
-        path: 'taskList',
-        name: '任务列表',
-        component: () => import('@/views/projectManage/taskList/taskListIndex'),
-        meta: { title: '任务列表' }
-      },
-      {
-        path: 'taskCreate',
-        hidden: true,
-        name: '任务创建',
-        component: () => import('@/views/projectManage/taskList/taskCreate'),
-        meta: { title: '任务创建' }
-      },
-      {
-        path: 'taskPreview',
-        hidden: true,
-        name: '任务查看',
-        component: () => import('@/views/projectManage/taskList/taskPreview'),
-        meta: { title: '任务查看' }
-      },
-      {
-        path: 'taskUpdate',
-        hidden: true,
-        name: '任务更新',
-        component: () => import('@/views/projectManage/taskList/taskUpdateCreate'),
-        meta: { title: '任务更新' }
-      }
-    ]
-  },
   {
     path: '/env-platform',
     component: Layout,

+ 110 - 25
src/views/projectManage/projectList/projectIndex.vue

@@ -1,8 +1,32 @@
 <template>
   <div style="background-color:#F2F3F6;display:flex;align-items: center;justify-content: center;">
     <el-container>
-      <el-header class="bgborder" style="display:flex;align-items: center;justify-content: center;">
-        <el-select id="basicName" v-model="value" clearable size="mini" placeholder="全部">
+      <el-header class="bgborder" style=" margin: 1%;display:flex;align-items: center;justify-content: space-between;">
+        <el-dropdown @command="handleCommand">
+          <span class="el-dropdown-link drop_down" style="cursor: pointer;">{{ form_all.all_all }}<i class="el-icon-arrow-down el-icon--right" /></span>
+          <el-dropdown-menu slot="dropdown" align="center">
+            <el-dropdown-item v-for="item in all_city_list" :key="item.value" :command="{value:item.value,label:item.label,flag:1}">{{ item.label }}</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+        <el-dropdown @command="handleCommand">
+          <span class="el-dropdown-link drop_down" style="cursor: pointer;">{{ form_all.all_bizId }}<i class="el-icon-arrow-down el-icon--right" /></span>
+          <el-dropdown-menu slot="dropdown" align="center">
+            <el-dropdown-item v-for="item in all_city_list" :key="item.value" :command="{value:item.value,label:item.label,flag:2}">{{ item.label }}</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+        <el-dropdown @command="handleCommand">
+          <span class="el-dropdown-link drop_down" style="cursor: pointer;">{{ form_all.all_projectType }}<i class="el-icon-arrow-down el-icon--right" /></span>
+          <el-dropdown-menu slot="dropdown" align="center">
+            <el-dropdown-item v-for="item in all_city_list" :key="item.value" :command="{value:item.value,label:item.label,flag:3}">{{ item.label }}</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+        <el-dropdown @command="handleCommand">
+          <span class="el-dropdown-link drop_down" style="cursor: pointer;">{{ form_all.all_priority }}<i class="el-icon-arrow-down el-icon--right" /></span>
+          <el-dropdown-menu slot="dropdown" align="center">
+            <el-dropdown-item v-for="item in all_city_list" :key="item.value" :command="{value:item.value,label:item.label, flag:4}">{{ item.label }}</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+        <!-- <el-select id="basicName" v-model="value" clearable size="mini" placeholder="全部">
           <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
         <el-select id="basicName" v-model="value" clearable size="mini" placeholder="业务线">
@@ -13,24 +37,47 @@
         </el-select>
         <el-select id="basicName" v-model="value" clearable size="mini" placeholder="优先级">
           <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
-        </el-select>
-        <el-select id="basicName" v-model="value1" filterable remote reserve-keyword :remote-method="remoteMethod" :loading="loading" clearable size="mini" placeholder="负责人">
+        </el-select> -->
+        <el-select
+          id="basicName"
+          v-model="form_all.all_PersonInCharge"
+          filterable
+          remote
+          reserve-keyword
+          :remote-method="remoteMethod"
+          :loading="loading"
+          clearable
+          size="mini"
+          placeholder="负责人"
+        >
           <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
-        <el-select id="basicName" v-model="value1" filterable remote reserve-keyword :remote-method="remoteMethod" :loading="loading" clearable size="mini" placeholder="创建人">
+        <el-select
+          id="basicName"
+          v-model="form_all.all_Founder"
+          filterable
+          remote
+          reserve-keyword
+          :remote-method="remoteMethod"
+          :loading="loading"
+          clearable
+          size="mini"
+          placeholder="创建人"
+        >
           <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
         </el-select>
-        <el-button type="primary" size="mini" style="float: right;">查询</el-button>
-        <el-button size="mini" style="float: right;">重置</el-button>
+        <el-button type="primary" size="mini" style="float: right">查询</el-button>
+        <el-button size="mini" style="float: right;" @click="query_Reset">重置</el-button>
       </el-header>
-      <el-main class="bgborder" style="min-height: 79.5vh;padding:0 !important">
+
+      <el-main class="bgborder" style=" margin: 0 1%;min-height: 79.5vh;padding:0 !important">
         <div style="margin: 1.5%; font-weight: 600; white-space: nowrap;"><b style="color: #409EFF;margin: 0 0.5%; font-size: 20px; ">I</b>项目列表 <el-button type="primary" size="mini" icon="el-icon-plus" style="float: right;" @click="dialogFormVisible = true">新建</el-button></div>
         <el-table :data="tableData" style="width: 100%;" size="mini" :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF' }" show-overflow-tooltip="true" :row-class-name="tableRowClassName">
           <el-table-column label="优先级" min-width="100" sortable align="center">
             <template slot-scope="scope"><el-tag size="mini" :type="random(scope.row)" effect="dark"> {{ scope.row.teamName }}</el-tag></template>
           </el-table-column>
           <el-table-column label="项目名称" min-width="200" align="center" show-overflow-tooltip>
-            <template slot-scope="scope">{{ scope.row.address }}</template>
+            <template slot-scope="scope"><span @click="link_project">{{ scope.row.address }}</span></template>
           </el-table-column>
           <el-table-column label="业务线" min-width="100" align="center">
             <template slot-scope="scope">{{ scope.row.teamName }}</template>
@@ -64,7 +111,7 @@
           </el-table-column>
         </el-table>
       </el-main>
-      <el-footer class="footer">
+      <el-footer class="footer" style="display:flex;align-items: center;justify-content: flex-end;">
         <el-pagination background :current-page="currentPage" :page-sizes="[15, 20, 25, 30]" :page-size="100" layout="total, prev, pager, next, jumper" :total="100" @size-change="handleSizeChange" @current-change="handleCurrentChange" />
       </el-footer>
     </el-container>
@@ -136,6 +183,14 @@ export default {
       value1: [],
       list: [],
       form: {},
+      form_all: {
+        all_all: '全部',
+        all_bizId: '业务线',
+        all_projectType: '项目类型',
+        all_priority: '优先级',
+        all_PersonInCharge: '负责人',
+        all_Founder: '创建人'
+      },
       loading: false,
       dialogFormVisible: false,
       formLabelWidth: '100px',
@@ -144,14 +199,6 @@ export default {
         date: '2016-05-02',
         name: '王小虎',
         address: '上海市普陀区金沙江路 1518 弄'
-      }, {
-        date: '2016-05-04',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1518 弄'
-      }, {
-        date: '2016-05-01',
-        name: '王小虎',
-        address: '上海市普陀区金沙江路 1518 弄'
       }, {
         date: '2016-05-03',
         name: '王小虎',
@@ -197,10 +244,34 @@ export default {
         { type: 'danger' },
         { type: 'warning' }
       ],
-      value: ''
+      value: '',
+      all_city_list: [{ value: 1, label: '秦志鹏' }, { value: 2, label: '汝瑞' }, { value: 3, label: '赵杰' }]
     }
   },
   methods: {
+    handleCommand(command) {
+      console.log(command)
+      var isCommand = ''
+      switch (command.flag) {
+        case 1:
+          this.form_all.all_all = command.label
+          isCommand = command.label.value
+          break
+        case 2:
+          this.form_all.all_bizId = command.label
+          isCommand = command.label.value
+          break
+        case 3:
+          this.form_all.all_projectType = command.label
+          isCommand = command.label.value
+          break
+        case 4:
+          this.form_all.all_priority = command.label
+          isCommand = command.label.value
+          break
+      }
+      console.log(isCommand)
+    },
     random(index) {
       const number = Math.random() * 10
       const a = Math.floor(number)
@@ -228,6 +299,17 @@ export default {
       }
       return ''
     },
+    link_project() {
+      window.open('http://localhost:9528/#/Platform/projectManage/projectViewDetails', '_blank')
+    },
+    query_Reset() { // 重置
+      this.$set(this.form_all, 'all_all', '全部')
+      this.$set(this.form_all, 'all_bizId', '业务线')
+      this.$set(this.form_all, 'all_projectType', '项目类型')
+      this.$set(this.form_all, 'all_priority', '优先级')
+      this.$set(this.form_all, 'all_PersonInCharge', '')
+      this.$set(this.form_all, 'all_Founder', '')
+    },
     handleSizeChange(size) { //  分页
       this.pageSize = size
       // this.get_list()
@@ -243,7 +325,7 @@ export default {
 <style>
   .footer { text-align: right; margin: 1%; background-color: #FFFFFF; border-radius: 8px; }
 
-  .bgborder { margin: 1%; background-color: #FFFFFF; border-radius: 8px;}
+  .bgborder { background-color: #FFFFFF; border-radius: 8px;}
 
   .bgborder .el-input__inner { border: none; padding: 0px 50px 0px 0px;}
 
@@ -255,9 +337,12 @@ export default {
 
   .el-table .warning-row { background: oldlace; }
 
-  #basicName::-webkit-input-placeholder { color: #333333; }
-
-  /* #basicName:-moz-placeholder { color: #333333; } */
-
-  /* #basicName:-ms-input-placeholder { color: #333333; } */
+  #basicName::-webkit-input-placeholder {
+    color: #333333;
+  }
+  .drop_down {
+     font-size: 13px;
+     color: #333333;
+     /* white-space: nowrap; */
+  }
 </style>

+ 132 - 138
src/views/projectManage/projectList/projectViewDetails.vue

@@ -1,30 +1,20 @@
 <template>
   <div style="background-color:#F2F3F6;display:flex;align-items: center;justify-content: center;">
     <el-container>
-      <el-header
-        class="bgborder"
-        style="height: 7vh;display: flex; justify-content: space-between; align-items: center;"
-      >
+      <el-header class="bgborder" style=" margin: 1%;height: 7vh;display: flex; justify-content: space-between; align-items: center;">
         <el-tooltip class="item" effect="dark" content="爱啥啥" placement="bottom">
-          <span
-            style="float: left;"
-          >项目名称:"cmckldmcklmdcklmdsklcmklmckldklcmdsdcklmdklcdsklcmkldsmcklm"</span>
+          <span style="float: left;">项目名称:"cmckldmcklmdcklmdsklcmklmckldklcmdsdcklmdklcdsklcmkldsmcklm"</span>
         </el-tooltip>
         <span style="float: right;">
           <el-dropdown>
-            <el-button size="mini" type="primary">
-              未开始
-              <i class="el-icon-arrow-down el-icon--right" />
-            </el-button>
+            <el-button size="mini" type="primary">未开始<i class="el-icon-arrow-down el-icon--right" /></el-button>
             <el-dropdown-menu slot="dropdown">
               <el-dropdown-item>进行中</el-dropdown-item>
               <el-dropdown-item>已完成</el-dropdown-item>
             </el-dropdown-menu>
           </el-dropdown>
           <el-dropdown>
-            <el-button size="mini" type="primary">
-              新建
-              <i class="el-icon-arrow-down el-icon--right" />
+            <el-button size="mini" type="primary">新建<i class="el-icon-arrow-down el-icon--right" />
             </el-button>
             <el-dropdown-menu slot="dropdown">
               <el-dropdown-item>新建需求</el-dropdown-item>
@@ -34,10 +24,10 @@
         </span>
       </el-header>
       <el-container>
-        <el-aside class="bgborder" style="minWidth: 55%;">
+        <el-aside class="bgborder" style=" margin:0 1%;minWidth: 55%;">
           <div style="margin: 5%; font-weight: 600; white-space: nowrap;">
             <b style="color: #409EFF;margin: 0 0.5%; font-size: 20px; ">I</b>数据统计
-            <el-button size="mini" type="primary" style="float: right;">删除项目</el-button>
+            <el-button size="mini" type="primary" style="float: right;" @click="centerDialogVisible = true">删除项目</el-button>
           </div>
           <div style="display: flex; justify-content: space-between; align-items: center;">
             <span style="text-align: center; margin-left: 10%">
@@ -64,7 +54,7 @@
           </div>
         </el-aside>
         <el-container>
-          <el-main class="bgborder" style="min-height: 50vh;">
+          <el-main class="bgborder" style="margin: 0 2.1% 0 0;min-height: 50vh;">
             <div style="margin: 2.5%; font-weight: 600; white-space: nowrap;">
               <b style="color: #409EFF;margin: 0 0.5%; font-size: 20px; ">I</b>基础信息
             </div>
@@ -145,60 +135,35 @@
           </el-main>
         </el-container>
       </el-container>
-      <el-header class="bgborder" style="height: auto;">
+      <el-header class="bgborder" style="margin: 1%;min-height: 70vh;">
         <el-tabs tab-position="top" @tab-click="handleClick">
           <el-tab-pane label="项目总目标" style="position: relative;">
-            <div v-show="true" class="test">
-              您还没有设定目标请
-              <el-button type="text">立即添加</el-button>
+            <div v-show="Addition" class="test">您还没有设定目标请<el-button type="text" @click="ImmediateAddition">立即添加</el-button></div>
+            <div v-show="Addition1">
+
+              <el-input ref="textarea" v-model="textarea" rows="10" type="textarea" placeholder="请输入内容" show-word-limit style="margin: 5% 0;" @blur="blur_textarea(textarea)" />
             </div>
-            <div v-show="false">
+            <div v-show="Addition2">
               <el-row :gutter="20">
-                <el-col :span="24" :push="22" style="margin-bottom: 2%;">
-                  <el-button size="mini" type="primary">编辑</el-button>
+                <el-col :span="24" :push="22" style="margin-bottom: 1.5%;">
+                  <el-button size="mini" type="primary" @click="ImmediateAddition">编辑</el-button>
                 </el-col>
               </el-row>
-              <el-input
-                v-model="textarea"
-                rows="13"
-                type="textarea"
-                placeholder="请输入内容"
-                show-word-limit
-                style="margin-bottom: 3%;"
-              />
+              {{ textarea }}
             </div>
           </el-tab-pane>
-
           <el-tab-pane label="项目里程碑" style="overflow: auto;width: 100%;">
             <div>
               <el-divider style="position: absolute;" content-position="right">
-                <el-tooltip
-                  class="item"
-                  effect="dark"
-                  content="温馨提示:点击添加可以新建里程碑"
-                  placement="bottom-end"
-                >
-                  <el-button
-                    style="z-index: 999999;"
-                    size="mini"
-                    type="primary"
-                    icon="el-icon-plus"
-                    circle
-                    @click="dialogFormVisible = true"
-                  />
+                <el-tooltip class="item" effect="dark" content="温馨提示:点击添加可以新建里程碑" placement="bottom-end">
+                  <el-button style="z-index: 999999;" size="mini" type="primary" icon="el-icon-plus" circle @click="dialogFormVisible = true" />
                 </el-tooltip>
               </el-divider>
               <ul class="time-horizontal" style="margin-top:15%;">
                 <li v-for="(item, index) in project_Milepost" :key="index">
                   <i>
                     <div>
-                      <el-popover
-                        class="popover"
-                        placement="top"
-                        width="200"
-                        trigger="click"
-                        style="border-radius: 10px;"
-                      >
+                      <el-popover class="popover" placement="top" width="200" trigger="click" style="border-radius: 10px;">
                         <p style="text-align: center">
                           <el-button size="mini">删除</el-button>
                           <el-button size="mini" type="primary" @click="dialogFormVisible = true">编辑</el-button>
@@ -220,7 +185,7 @@
         </el-tabs>
       </el-header>
       <el-container>
-        <el-aside class="bgborder">
+        <el-aside class="bgborder" style="margin:0 1%;">
           <div style="margin: 5%; font-weight: 600; white-space: nowrap;">
             <b style="color: #409EFF;margin: 0 0.5%; font-size: 20px; ">I</b>需求列表
           </div>
@@ -228,21 +193,10 @@
           <div class="aside" @click="show2 = !show2">归属需求任务</div>
           <transition name="el-zoom-in-top">
             <div v-show="show2" class="transition-box">
-              <el-table
-                :data="tableData"
-                style="width: 100%;"
-                size="mini"
-                :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF' }"
-                show-overflow-tooltip="true"
-                :row-class-name="tableRowClassName"
-              >
+              <el-table :data="tableData" style="width: 100%;" size="mini" :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF' }" show-overflow-tooltip="true" :row-class-name="tableRowClassName">
                 <el-table-column label="需求名称" min-width="100" align="center">
                   <template slot-scope="scope">
-                    <el-tag
-                      size="mini"
-                      :type="random(scope.row)"
-                      effect="dark"
-                    >{{ scope.row.teamName }}</el-tag>
+                    <el-tag size="mini" :type="random(scope.row)" effect="dark">{{ scope.row.teamName }}</el-tag>
                   </template>
                 </el-table-column>
                 <el-table-column label="PM" min-width="100" align="center" show-overflow-tooltip>
@@ -267,7 +221,7 @@
           </div>
         </el-aside>
         <el-container>
-          <el-main class="bgborder" style="min-height: 50vh;">
+          <el-main class="bgborder" style=" margin: 0 1.3% 0 0;min-height: 50vh;">
             <div style="margin: 2.5%; font-weight: 600; white-space: nowrap;">
               <b style="color: #409EFF;margin: 0 0.5%; font-size: 20px; ">I</b>任务列表
             </div>
@@ -310,7 +264,7 @@
           </el-main>
         </el-container>
       </el-container>
-      <el-footer class="footer">
+      <el-footer class="footer" style="display:flex;align-items: center;justify-content: flex-end;">
         <el-pagination
           background
           :current-page="currentPage"
@@ -328,13 +282,13 @@
         <b style="color: #409EFF;margin: 0 0.5%;">I</b>编辑里程碑
       </div>
       <el-form :model="form" label-position="right">
-        <el-form-item label="标题" :label-width="formLabelWidth">
+        <el-form-item label="标题" :label-width="formLabelWidth1">
           <el-input v-model="form.name" autocomplete="off" placeholder="请输入标题" />
         </el-form-item>
-        <el-form-item label="时间" :label-width="formLabelWidth">
+        <el-form-item label="时间" :label-width="formLabelWidth1">
           <el-date-picker v-model="form.date" type="date" placeholder="请选择日期" />
         </el-form-item>
-        <el-form-item label="详情" :label-width="formLabelWidth">
+        <el-form-item label="详情" :label-width="formLabelWidth1">
           <el-input
             v-model="textarea"
             rows="3"
@@ -350,6 +304,68 @@
         <el-button type="primary" @click="dialogFormVisible = false">确 定</el-button>
       </div>
     </el-dialog>
+    <el-dialog title="新建项目" :visible.sync="dialog_FormVisible" width="70%">
+      <el-form :model="form" label-position="left" style="margin: 0 3%;">
+        <el-form-item label="项目名称" :label-width="formLabelWidth">
+          <el-input v-model="form.name" autocomplete="off" placeholder="请输入项目名称" />
+        </el-form-item>
+        <div style="display: flex;">
+          <div style="flex; 1;">
+            <el-form-item label="项目类型" :label-width="formLabelWidth">
+              <el-select v-model="form.value" clearable placeholder="业务/产品" style="width: 100%">
+                <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
+              </el-select>
+            </el-form-item>
+            <el-form-item label="业务线" :label-width="formLabelWidth">
+              <el-select v-model="form.value" clearable placeholder="请选择" style="width:20vw">
+                <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
+              </el-select>
+            </el-form-item>
+            <el-form-item label="产品负责人" :label-width="formLabelWidth">
+              <el-select v-model="form.value1" filterable remote reserve-keyword :remote-method="remoteMethod" :loading="loading" clearable placeholder="请输入姓名或邮箱前缀" style="width: 100%">
+                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
+              </el-select>
+            </el-form-item>
+            <el-form-item label="测试负责人" :label-width="formLabelWidth">
+              <el-select v-model="form.value1" filterable remote reserve-keyword :remote-method="remoteMethod" :loading="loading" clearable placeholder="请输入姓名或邮箱前缀" style="width: 100%">
+                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
+              </el-select>
+            </el-form-item>
+          </div>
+          <div style="flex; 1; margin: 0 0 0 auto;">
+            <el-form-item label="优先级" :label-width="formLabelWidth">
+              <el-select v-model="form.value" clearable placeholder="请选择" style="width:20vw">
+                <el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value" />
+              </el-select>
+            </el-form-item>
+            <el-form-item label="项目负责人" :label-width="formLabelWidth">
+              <el-select v-model="form.value1" filterable remote reserve-keyword :remote-method="remoteMethod" :loading="loading" clearable placeholder="请输入姓名或邮箱前缀" style="width: 100%">
+                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
+              </el-select>
+            </el-form-item>
+            <el-form-item label="开发负责人" :label-width="formLabelWidth">
+              <el-select v-model="form.value1" filterable remote reserve-keyword :remote-method="remoteMethod" :loading="loading" clearable placeholder="请输入姓名或邮箱前缀" style="width: 100%">
+                <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" />
+              </el-select>
+            </el-form-item>
+          </div>
+        </div>
+        <el-form-item label="项目描述" :label-width="formLabelWidth">
+          <el-input v-model="form.textarea" type="textarea" placeholder="请输入" show-word-limit />
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button @click="dialog_FormVisible = false">取 消</el-button>
+        <el-button type="primary" @click="dialog_FormVisible = false">创 建</el-button>
+      </div>
+    </el-dialog>
+    <el-dialog :visible.sync="centerDialogVisible" width="30%" center>
+      <div align="center">确定要删除此项目吗?</div>
+      <spn slot="footer" class="dialog-footer">
+        <el-button @click="centerDialogVisible = false">取 消</el-button>
+        <el-button type="primary" @click="centerDialogVisible = false">确 定</el-button>
+      </spn>
+    </el-dialog>
   </div>
 </template>
 
@@ -357,16 +373,22 @@
 export default {
   data() {
     return {
+      Addition: false,
+      Addition1: false,
+      Addition2: false,
+      textarea: '', // 项目总目标
       total: 0,
       tableData: [],
       formLabelAlign: {
-        describe: '你好啊!'
+        describe: ''
       },
       show2: true,
       describe: false,
       describe1: false,
-      textarea: '',
       dialogFormVisible: false,
+      dialog_FormVisible: false,
+      centerDialogVisible: false,
+      formLabelWidth: '120px',
       form: {
         name: '',
         region: '',
@@ -377,7 +399,7 @@ export default {
         resource: '',
         desc: ''
       },
-      formLabelWidth: '60px',
+      formLabelWidth1: '60px',
       project_Milepost: [
         {
           name: '第一阶段',
@@ -429,56 +451,6 @@ export default {
           date: '2019/12/06',
           code: '你丹江口市内存卡就是你的错'
         },
-        {
-          name: '第一阶段',
-          date: '2019/12/06',
-          code: '你丹江口市内存卡就是你的错'
-        },
-        {
-          name: '第一阶段',
-          date: '2019/12/06',
-          code: '你丹江口市内存卡就是你的错'
-        },
-        {
-          name: '第一阶段',
-          date: '2019/12/06',
-          code: '你丹江口市内存卡就是你的错'
-        },
-        {
-          name: '第一阶段',
-          date: '2019/12/06',
-          code: '你丹江口市内存卡就是你的错'
-        },
-        {
-          name: '第一阶段',
-          date: '2019/12/06',
-          code: '你丹江口市内存卡就是你的错'
-        },
-        {
-          name: '第一阶段',
-          date: '2019/12/06',
-          code: '你丹江口市内存卡就是你的错'
-        },
-        {
-          name: '第一阶段',
-          date: '2019/12/06',
-          code: '你丹江口市内存卡就是你的错'
-        },
-        {
-          name: '第一阶段',
-          date: '2019/12/06',
-          code: '你丹江口市内存卡就是你的错'
-        },
-        {
-          name: '第一阶段',
-          date: '2019/12/06',
-          code: '你丹江口市内存卡就是你的错'
-        },
-        {
-          name: '第一阶段',
-          date: '2019/12/06',
-          code: '你丹江口市内存卡就是你的错'
-        },
         {
           name: '第一阶段',
           date: '2019/12/06',
@@ -492,6 +464,11 @@ export default {
   },
   methods: {
     get_list() {
+      if (this.textarea === '') {
+        this.Addition = true
+      } else {
+        this.Addition2 = true
+      }
       if (this.formLabelAlign.describe !== '') {
         this.describe1 = true
       } else {
@@ -499,12 +476,13 @@ export default {
       }
     },
     project_modifica(e) {
-      this.describe = true
-      this.describe1 = false
-      this.$set(this.formLabelAlign, 'describe', e)
-      setTimeout(() => {
-        this.$refs.describe.focus()
-      }, 100)
+      this.dialog_FormVisible = true
+      // this.describe = true
+      // this.describe1 = false
+      // this.$set(this.formLabelAlign, 'describe', e)
+      // setTimeout(() => {
+      //   this.$refs.describe.focus()
+      // }, 100)
     },
     blur_describe(e) {
       this.describe = false
@@ -525,13 +503,30 @@ export default {
       }
       return ''
     },
-    handleSizeChange(size) {
-      //  分页
+
+    ImmediateAddition() { // 立即添加(编辑)
+      setTimeout(() => { this.$refs.textarea.focus() }, 100)
+      this.Addition = false
+      this.Addition1 = true
+      this.Addition2 = false
+    },
+    blur_textarea(e) { // 项目总目标失去焦点
+      if (e !== '') {
+        this.textarea = e
+        this.Addition2 = true
+        this.Addition1 = false
+        this.Addition = false
+      } else {
+        this.Addition2 = false
+        this.Addition1 = false
+        this.Addition = true
+      }
+    },
+    handleSizeChange(size) { //  分页
       this.pageSize = size
       // this.get_list()
     },
-    handleCurrentChange(curIndex) {
-      //  分页
+    handleCurrentChange(curIndex) { //  分页
       this.curIndex = curIndex
       // this.get_list()
     }
@@ -544,7 +539,6 @@ export default {
 }
 
 .bgborder {
-  margin: 1%;
   background-color: #FFFFFF;
   border-radius: 8px;
 }
@@ -575,9 +569,9 @@ export default {
 }
 
 .test {
+  height: 50vh;
   color: #666666;
   font-size: 14px;
-  margin-top: 10%;
   display: flex;
   align-items: center;
   justify-content: center;

+ 3 - 0
src/views/projectManage/projectList/testa.vue

@@ -0,0 +1,3 @@
+<template>
+  <router-view />
+</template>