panxiandiao_i пре 5 година
родитељ
комит
671dd001bd

+ 0 - 1
src/layout/components/AppMain.vue

@@ -26,7 +26,6 @@ export default {
   width: 100%;
   position: relative;
   overflow: hidden;
-  background-color: #F2F3F6;
 }
 .fixed-header+.app-main {
   padding-top: 80px;

+ 2 - 2
src/views/gantta/gantta.vue

@@ -49,9 +49,9 @@
                 class="block"
                 @click="show(scope)"
               >
-                <span> {{ getContent(header.date,scope.row.schedules).taskName + ' : &nbsp;' }}</span>
+                <span v-if="stringType !== '事件'"> {{ getContent(header.date,scope.row.schedules).taskName + ' : &nbsp;' }}</span>
                 <span v-if="getContent(header.date,scope.row.schedules)?getContent(header.date,scope.row.schedules).event:false">{{ getContent(header.date,scope.row.schedules).event + '&nbsp;&nbsp;&nbsp;' }}</span>
-                <span v-if="stringType === '任务'">{{ getContent(header.date,scope.row.schedules).owners.join('、') }}</span>
+                <span v-if="stringType === '任务' || stringType === '事件'">{{ getContent(header.date,scope.row.schedules).owners.join('、') }}</span>
                 <!-- <span
                   v-for="(owner,ownerIndex) in getContent(header.date,scope.row.schedules) ? getContent(header.date,scope.row.schedules).owners : []"
                   :key="ownerIndex"

+ 2 - 2
src/views/projectManage/projectList/projectIndex.vue

@@ -105,7 +105,7 @@
           :data="table_project"
           style="width: 100%;"
           size="mini"
-          :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF' }"
+          :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF', height:'47px' }"
           show-overflow-tooltip="true"
         >
           <el-table-column label="优先级" min-width="100" align="center">
@@ -225,7 +225,7 @@
         <div style="display: flex;">
           <div style="flex; 1;">
             <el-form-item label="项目类型" prop="bizType">
-              <el-select v-model="form.bizType" clearable placeholder="业务/产品" style="width: 100%">
+              <el-select v-model="form.bizType" clearable placeholder="请选择" style="width: 100%">
                 <el-option
                   v-for="item in arr_prjectType"
                   :key="item.value"

+ 4 - 2
src/views/projectManage/requirement/details/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-container>
+  <el-container style="background-color: #F2F3F6;">
     <el-header style="margin: 2%;" class="layout_header">
       <div>
         <span style="font-size: 16px;color:#333333">{{ '需求:' + requirement.name }}</span>
@@ -696,11 +696,13 @@ export default {
       this.$nextTick(() => { this.$refs.task_createdUpdata.init(3, this.id) })
     },
     updateRequirementStatus(status) {
+      console.log(status)
       const modifier = localStorage.getItem('username')
       updateRequirementStatus({ id: this.id, status: status.code, modifier: modifier }).then(
         res => {
           if (res.code === 200) {
-            this.getRequirementById()
+            this.requirement.status = status.code
+            this.getStatusName()
           } else {
             this.$message.warning(res.msg)
           }

+ 1 - 1
src/views/projectManage/requirement/list/create.vue

@@ -100,7 +100,7 @@
     </el-form>
     <template v-slot:footer>
       <el-button @click="cancel">取 消</el-button>
-      <el-button type="primary" @click="confirm">确 认</el-button>
+      <el-button type="primary" @click="confirm">创 建</el-button>
     </template>
   </el-dialog>
 </template>

+ 190 - 186
src/views/projectManage/requirement/list/index.vue

@@ -1,193 +1,197 @@
 <template>
-  <div class="container">
-    <el-header class="requirement-header">
-      <el-row>
-        <el-col :span="3">
-          <el-input id="requirement_basicName1" v-model="searchForm.name" placeholder="需求名称" />
-        </el-col>
-        <el-col :span="3">
-          <el-dropdown @command="handleCommand">
-            <span class="el-dropdown-link">
-              {{ getTitle(searchTitle.project) }}
-              <i class="el-icon-arrow-down el-icon--right" />
-            </span>
-            <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
-              <el-dropdown-item
-                v-for="(item,index) in searchInfo.belongingProject"
-                :key="index"
-                :command="{value: item,flag: 1}"
-              >{{ item.msg }}</el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-        </el-col>
-        <el-col :span="3">
-          <el-dropdown @command="handleCommand">
-            <span class="el-dropdown-link">
-              {{ getTitle(searchTitle.businessline) }}
-              <i class="el-icon-arrow-down el-icon--right" />
-            </span>
-            <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
-              <el-dropdown-item
-                v-for="(item,index) in searchInfo.bizType"
-                :key="index"
-                :command="{value: item,flag: 2}"
-              >{{ item.msg }}</el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-        </el-col>
-        <el-col :span="3">
-          <el-dropdown @command="handleCommand">
-            <span class="el-dropdown-link">
-              {{ getTitle(searchTitle.source) }}
-              <i class="el-icon-arrow-down el-icon--right" />
-            </span>
-            <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
-              <el-dropdown-item
-                v-for="(item,index) in searchInfo.sourceType"
-                :key="index"
-                :command="{value: item,flag: 3}"
-              >{{ item.msg }}</el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-        </el-col>
-        <el-col :span="3">
-          <el-dropdown @command="handleCommand">
-            <span class="el-dropdown-link">
-              {{ getTitle(searchTitle.priority) }}
-              <i class="el-icon-arrow-down el-icon--right" />
-            </span>
-            <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
-              <el-dropdown-item
-                v-for="(item,index) in searchInfo.priority"
-                :key="index"
-                :command="{value: item,flag: 4}"
-              >{{ item.msg }}</el-dropdown-item>
-            </el-dropdown-menu>
-          </el-dropdown>
-        </el-col>
-        <el-col :span="3">
-          <el-select
-            id="requirement_basicName2"
-            v-model="searchForm.pm"
-            filterable
-            remote
-            placeholder="PM"
-            :remote-method="searchUser"
-            :loading="userLoading"
-          >
-            <el-option v-for="item in options" :key="item.idap" :label="item.name" :value="item.idap">
-              <div style="text-align: center">
-                <span style="float: left;color: #8492a6; font-size: 13px">{{ item.idap }}</span>
-                <span>{{ item.name }}</span>
-                <span style="float: right; color: #8492a6; font-size: 13px">{{ item.deptName }}</span>
-              </div>
-            </el-option>
-          </el-select>
-        </el-col>
-        <el-col :span="3">
-          <el-select
-            id="requirement_basicName3"
-            v-model="searchForm.creator"
-            filterable
-            remote
-            placeholder="创建人"
-            :remote-method="searchUser"
-            :loading="userLoading"
-          >
-            <el-option v-for="item in options" :key="item.idap" :label="item.name" :value="item.idap">
-              <div style="text-align: center">
-                <span style="float: left;color: #8492a6; font-size: 13px">{{ item.idap }}</span>
-                <span>{{ item.name }}</span>
-                <span style="float: right; color: #8492a6; font-size: 13px">{{ item.deptName }}</span>
-              </div>
-            </el-option>
-          </el-select>
-        </el-col>
-        <el-col :span="3">
-          <div style="float: right">
-            <el-button type="primary" size="mini" @click="getTableData">查询</el-button>
-            <el-button size="mini" @click="reset">重置</el-button>
+  <div style="width:100%;height:100%;padding-top:1px;background-color: #F2F3F6;">
+    <div class="container">
+      <el-header class="requirement-header">
+        <el-row>
+          <!-- <el-col :span="3">
+            <el-input id="requirement_basicName1" v-model="searchForm.name" placeholder="需求名称" />
+          </el-col> -->
+          <el-col :span="4">
+            <el-dropdown @command="handleCommand">
+              <span class="el-dropdown-link">
+                {{ getTitle(searchTitle.project) }}
+                <i class="el-icon-arrow-down el-icon--right" />
+              </span>
+              <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
+                <el-dropdown-item
+                  v-for="(item,index) in searchInfo.belongingProject"
+                  :key="index"
+                  :command="{value: item,flag: 1}"
+                >{{ item.msg }}</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </el-col>
+          <el-col :span="4">
+            <el-dropdown @command="handleCommand">
+              <span class="el-dropdown-link">
+                {{ getTitle(searchTitle.businessline) }}
+                <i class="el-icon-arrow-down el-icon--right" />
+              </span>
+              <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
+                <el-dropdown-item
+                  v-for="(item,index) in searchInfo.bizType"
+                  :key="index"
+                  :command="{value: item,flag: 2}"
+                >{{ item.msg }}</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </el-col>
+          <el-col :span="4">
+            <el-dropdown @command="handleCommand">
+              <span class="el-dropdown-link">
+                {{ getTitle(searchTitle.source) }}
+                <i class="el-icon-arrow-down el-icon--right" />
+              </span>
+              <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
+                <el-dropdown-item
+                  v-for="(item,index) in searchInfo.sourceType"
+                  :key="index"
+                  :command="{value: item,flag: 3}"
+                >{{ item.msg }}</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </el-col>
+          <el-col :span="3">
+            <el-dropdown @command="handleCommand">
+              <span class="el-dropdown-link">
+                {{ getTitle(searchTitle.priority) }}
+                <i class="el-icon-arrow-down el-icon--right" />
+              </span>
+              <el-dropdown-menu slot="dropdown" class="requirement_el-dropdown-menu">
+                <el-dropdown-item
+                  v-for="(item,index) in searchInfo.priority"
+                  :key="index"
+                  :command="{value: item,flag: 4}"
+                >{{ item.msg }}</el-dropdown-item>
+              </el-dropdown-menu>
+            </el-dropdown>
+          </el-col>
+          <el-col :span="3">
+            <el-select
+              id="requirement_basicName2"
+              v-model="searchForm.pm"
+              filterable
+              remote
+              placeholder="PM"
+              :remote-method="searchUser"
+              :loading="userLoading"
+            >
+              <el-option v-for="item in options" :key="item.idap" :label="item.name" :value="item.idap">
+                <div style="text-align: center">
+                  <span style="float: left;color: #8492a6; font-size: 13px">{{ item.idap }}</span>
+                  <span>{{ item.name }}</span>
+                  <span style="float: right; color: #8492a6; font-size: 13px">{{ item.deptName }}</span>
+                </div>
+              </el-option>
+            </el-select>
+          </el-col>
+          <el-col :span="3">
+            <el-select
+              id="requirement_basicName3"
+              v-model="searchForm.creator"
+              filterable
+              remote
+              placeholder="创建人"
+              :remote-method="searchUser"
+              :loading="userLoading"
+            >
+              <el-option v-for="item in options" :key="item.idap" :label="item.name" :value="item.idap">
+                <div style="text-align: center">
+                  <span style="float: left;color: #8492a6; font-size: 13px">{{ item.idap }}</span>
+                  <span>{{ item.name }}</span>
+                  <span style="float: right; color: #8492a6; font-size: 13px">{{ item.deptName }}</span>
+                </div>
+              </el-option>
+            </el-select>
+          </el-col>
+          <el-col :span="3">
+            <div style="float: right">
+              <el-button type="primary" size="mini" @click="getTableData">查询</el-button>
+              <el-button size="mini" @click="reset">重置</el-button>
+            </div>
+          </el-col>
+        </el-row>
+      </el-header>
+      <div style="height:100%;width:100%;padding-bottom: 14px;">
+        <el-main class="requirement-main">
+          <div style="font-size: 18px;margin: 2%;display:flex;justify-content:space-between;align-items: center;">
+            <div style="display:flex;justify-content: center;align-items: center;">
+              <div style="width:4px;height:17px;background:rgba(64,158,255,1);border-radius:1px;" />
+              <div style="width:83px;height:20px;font-size:18px;font-family:MicrosoftYaHei;color:rgba(51,59,74,1);margin-left:6px">需求列表</div>
+            </div>
+            <el-button
+              type="primary"
+              size="mini"
+              icon="el-icon-plus"
+              style="float: right;"
+              @click="createDialogVisible = true"
+            >新建</el-button>
           </div>
-        </el-col>
-      </el-row>
-    </el-header>
-    <el-main class="requirement-main">
-      <div style="font-size: 18px;margin: 2%;display:flex;justify-content:space-between;align-items: center;">
-        <div style="display:flex;justify-content: center;align-items: center;">
-          <div style="width:4px;height:17px;background:rgba(64,158,255,1);border-radius:1px;" />
-          <div style="width:83px;height:20px;font-size:18px;font-family:MicrosoftYaHei;color:rgba(51,59,74,1);margin-left:6px">需求列表</div>
-        </div>
-        <el-button
-          type="primary"
-          size="mini"
-          icon="el-icon-plus"
-          style="float: right;"
-          @click="createDialogVisible = true"
-        >新建</el-button>
+          <el-table
+            v-loading="loading"
+            :data="tableData"
+            style="width: 100%"
+            highlight-current-row
+            :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF'}"
+            size="mini"
+          >
+            <el-table-column prop="priority" label="优先级" width="100" sortable align="center">
+              <template v-slot="scope">
+                <div class="div_priority" :style="{background: priorityColors[scope.row.priority % priorityColors.length]}">{{ 'P'+scope.row.priority }}</div>
+              </template>
+            </el-table-column>
+            <el-table-column prop="name" label="需求名称" show-overflow-tooltip width="400">
+              <template v-slot="scope">
+                <div style="cursor: pointer;" @click="getToRequirementDetails(scope.row.id)">{{ scope.row.name }}</div>
+              </template>
+            </el-table-column>
+            <el-table-column prop="bizId" label="业务线" show-overflow-tooltip align="center">
+              <template v-slot="scope">
+                {{ getBizName(scope.row.bizId) }}
+              </template>
+            </el-table-column>
+            <el-table-column prop="sourceType" label="需求来源" show-overflow-tooltip align="center">
+              <template v-slot="scope">
+                {{ sourceTypeOb[scope.row.sourceType] }}
+              </template>
+            </el-table-column>
+            <el-table-column prop="belongingProjectName" label="归属的项目" show-overflow-tooltip align="center">
+              <template v-slot="scope">
+                {{ getProjectName(scope.row.belongingProject) }}
+              </template>
+            </el-table-column>
+            <el-table-column prop="pm" label="PM" show-overflow-tooltip align="center">
+              <template v-slot="scope">
+                {{ scope.row.pm[0]?scope.row.pm[0].name:'无' }}
+              </template>
+            </el-table-column>
+            <el-table-column prop="taskCount" label="任务总数" show-overflow-tooltip align="center" />
+            <el-table-column prop="bugCount" label="bug总数" show-overflow-tooltip align="center" />
+            <el-table-column prop="creator" label="创建人" show-overflow-tooltip align="center" />
+            <el-table-column prop="createTime" label="创建日期" show-overflow-tooltip align="center">
+              <template v-slot="scope">{{ getcreateTime(scope.row.createTime) }}</template>
+            </el-table-column>
+          </el-table>
+          <el-pagination
+            background
+            layout="->,total, sizes, prev, pager, next, jumper"
+            :current-page="searchForm.curIndex"
+            :page-size="searchForm.pageSize"
+            :page-sizes="[15,30,45,total]"
+            :total="total"
+            @size-change="handleSizeChange"
+            @current-change="handleCurrentChange"
+          />
+        </el-main>
       </div>
-      <el-table
-        v-loading="loading"
-        :data="tableData"
-        style="width: 100%"
-        highlight-current-row
-        :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF'}"
-        size="mini"
-      >
-        <el-table-column prop="priority" label="优先级" width="100" sortable align="center">
-          <template v-slot="scope">
-            <div class="div_priority" :style="{background: priorityColors[scope.row.priority % priorityColors.length]}">{{ 'P'+scope.row.priority }}</div>
-          </template>
-        </el-table-column>
-        <el-table-column prop="name" label="需求名称" show-overflow-tooltip width="400">
-          <template v-slot="scope">
-            <div style="cursor: pointer;" @click="getToRequirementDetails(scope.row.id)">{{ scope.row.name }}</div>
-          </template>
-        </el-table-column>
-        <el-table-column prop="bizId" label="业务线" show-overflow-tooltip align="center">
-          <template v-slot="scope">
-            {{ getBizName(scope.row.bizId) }}
-          </template>
-        </el-table-column>
-        <el-table-column prop="sourceType" label="需求来源" show-overflow-tooltip align="center">
-          <template v-slot="scope">
-            {{ sourceTypeOb[scope.row.sourceType] }}
-          </template>
-        </el-table-column>
-        <el-table-column prop="belongingProjectName" label="归属的项目" show-overflow-tooltip align="center">
-          <template v-slot="scope">
-            {{ getProjectName(scope.row.belongingProject) }}
-          </template>
-        </el-table-column>
-        <el-table-column prop="pm" label="PM" show-overflow-tooltip align="center">
-          <template v-slot="scope">
-            {{ scope.row.pm[0]?scope.row.pm[0].name:'无' }}
-          </template>
-        </el-table-column>
-        <el-table-column prop="taskCount" label="任务总数" show-overflow-tooltip align="center" />
-        <el-table-column prop="bugCount" label="bug总数" show-overflow-tooltip align="center" />
-        <el-table-column prop="creator" label="创建人" show-overflow-tooltip align="center" />
-        <el-table-column prop="createTime" label="创建时间" show-overflow-tooltip align="center">
-          <template v-slot="scope">{{ getcreateTime(scope.row.createTime) }}</template>
-        </el-table-column>
-      </el-table>
-      <el-pagination
-        background
-        layout="->,total, sizes, prev, pager, next, jumper"
-        :current-page="searchForm.curIndex"
-        :page-size="searchForm.pageSize"
-        :page-sizes="[15,30,45,total]"
-        :total="total"
-        @size-change="handleSizeChange"
-        @current-change="handleCurrentChange"
+      <requirement-create
+        title="新建需求"
+        :visible="createDialogVisible"
+        :info="searchInfo"
+        @cancel="createDialogVisible=false"
+        @confirm="getTableData();createDialogVisible=false"
       />
-    </el-main>
-    <requirement-create
-      title="新建需求"
-      :visible="createDialogVisible"
-      :info="searchInfo"
-      @cancel="createDialogVisible=false"
-      @confirm="getTableData();createDialogVisible=false"
-    />
+    </div>
   </div>
 </template>
 

+ 1 - 1
src/views/projectManage/taskList/taskIndex.vue

@@ -193,7 +193,7 @@
           :data="task_table"
           style="width: 100%;"
           size="mini"
-          :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF' }"
+          :header-cell-style="{ background: '#6AB4FF', color: '#FFFFFF', height:'47px' }"
           show-overflow-tooltip="true"
         >
           <el-table-column label min-width="30" align="center">{{ '' }}</el-table-column>

+ 12 - 7
src/views/projectManage/taskList/taskViewDetails.vue

@@ -129,10 +129,14 @@
             <el-button size="mini" type="primary" plain icon="el-icon-plus" @click="add_Event">添加事件</el-button>
           </el-col>
           <el-col :span="12" :push="7">
-            <el-button-group>
+            <el-radio-group v-model="radio" size="mini" style="margin-left: 5%">
+              <el-radio-button label="列表" @click.native="GanttChart(1)" />
+              <el-radio-button label="甘特图" @click.native="GanttChart(2)" />
+            </el-radio-group>
+            <!-- <el-button-group>
+              <el-button size="mini" type="primary" plain autofocus @click="GanttChart(1)">列 表</el-button>
               <el-button size="mini" type="primary" plain @click="GanttChart(2)">甘特图</el-button>
-              <el-button size="mini" type="primary" plain @click="GanttChart(1)">列 表</el-button>
-            </el-button-group>
+            </el-button-group> -->
           </el-col>
         </el-row>
         <div>
@@ -140,7 +144,7 @@
             <gantt
               v-if="ganttData"
               :table-data="ganttData"
-              string-type="任务"
+              string-type="事件"
               :versions="appVersion"
             />
           </div>
@@ -541,6 +545,7 @@ export default {
           name: ''
         }
       },
+      radio: '列表',
       CallBackTheReason: '', // 打回原因
       NewDate: new Date(),
       content: '', // 评论
@@ -692,11 +697,11 @@ export default {
     },
     tableDeal(arr) {
       return arr.map(eachData => ({
-        task: { description: eachData.taskName || '' },
+        task: { description: eachData.name || '' },
         schedules: [
           {
-            taskName: eachData.taskName || '',
-            event: eachData.name,
+            taskName: eachData.name || '',
+            event: eachData.desc,
             schedule:
               dayjs(eachData.startTime).format('YYYY.MM.DD') +
               ' - ' +