Pārlūkot izejas kodu

调整合并,更改项目状态的选择

Lijy 2 gadi atpakaļ
vecāks
revīzija
8f42415b86

+ 40 - 10
fhKeeper/formulahousekeeper/timesheet/src/views/project/list.vue

@@ -108,7 +108,7 @@
         </el-col>
 
         <!--列表-->
-        <el-table ref="projectlistOfWudulist" :data="list" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;" @selection-change="checkedWudulist">
+        <el-table ref="projectlistOfWudulist" :data="list" highlight-current-row v-loading="listLoading" :height="tableHeight" style="width: 100%;" @selection-change="checkedWudulist" @sort-change="tableSort">
             <el-table-column type="selection" width="60" :selectable="isSelectable">
                 <!-- creator 项目创建人    incharger 项目负责人 -->
             </el-table-column>
@@ -117,9 +117,9 @@
                         {{scope.$index+1+(page-1)*size}}
                     </template>
             </el-table-column> -->
-            <el-table-column prop="projectCode" label="项目编号" sortable width="120"></el-table-column>
-            <el-table-column prop="categoryName" label="项目分类" sortable width="120"></el-table-column>
-            <el-table-column prop="projectName" label="项目名称" width="250" sortable>
+            <el-table-column prop="projectCode" label="项目编号" sortable="custom" width="120"></el-table-column>
+            <el-table-column prop="categoryName" label="项目分类" sortable="custom" width="120"></el-table-column>
+            <el-table-column prop="projectName" label="项目名称" width="250" sortable="custom">
                  <template slot-scope="scope">
                      <!-- <div class="kans">
                          <el-link type="primary" v-if="user.company.packageProject==1" :href="'#/projectInside/'+scope.row.id">{{scope.row.projectName}}</el-link>
@@ -141,7 +141,7 @@
                      </div>
                 </template>
             </el-table-column>
-            <el-table-column prop="inchargerName" label="负责人" sortable min-width="150">
+            <el-table-column prop="inchargerName" label="负责人" sortable="custom" min-width="150">
                 <template slot-scope="scope">
                     <el-link type="primary" :underline="false" @click="showUser(scope.row.inchargerId)">{{scope.row.inchargerName}}</el-link>
                 </template>
@@ -172,7 +172,7 @@
                 </template>
             </el-table-column>
             <!-- 客户管理 -->
-            <el-table-column prop="customerName" label="客户" min-width="190"   v-if="user.company.packageCustomer == 1">
+            <el-table-column prop="customerName" label="客户" min-width="190"   v-if="user.company.packageCustomer == 1" sortable="custom">
             <template slot-scope="scope">
                 <el-popover placement="top" width="250" trigger="hover" v-if="scope.row.customerName&&scope.row.customerName.length > 12">
                     <div slot="reference" class="kans">
@@ -189,7 +189,7 @@
             <el-table-column prop="providerNames" label="供应商" min-width="190" v-if="user.company.packageProvider">
             </el-table-column>
 
-            <el-table-column prop="status" label="状态" min-width="100" >
+            <el-table-column prop="status" label="状态" min-width="100" sortable="custom">
                 <template slot-scope="scope">
                     {{scope.row.status == null?"-":statusTxt[scope.row.status]}}
                 </template>
@@ -907,6 +907,8 @@ a {
                 isAddGroupPerson: true,
                 projectMainId: '',
                 supplierList: '',
+                sortProp: '',
+                sortOrder: null
             };
         },
         // 过滤器
@@ -950,6 +952,13 @@ a {
                 categoryId == '' ?  '' : this.addForm.category = categoryId
                 console.log(this.addForm)
             },
+            tableSort({column, prop, order}){
+                if(prop == 'inchargerName' || prop == 'customerName' || prop == 'projectCode' || prop == 'categoryName' || prop == 'projectName' || prop == 'status'){
+                    this.sortOrder = order
+                    this.sortProp = prop
+                    this.getList()
+                }
+            },
             //获取项目列表
             getSupplierList() {
                 this.http.post('/provider-info/list', {
@@ -2294,7 +2303,7 @@ a {
             //获取项目列表
             getList() {
                 this.listLoading = true;
-                this.http.post(this.port.project.listPage, {
+                let parameter = {
                     pageIndex: this.page,
                     pageSize: this.size,
                     keyword:this.keyword,
@@ -2302,8 +2311,29 @@ a {
                     status: this.status,
                     category: this.statusClf,
                     projectMainId: this.projectMainId
-                    // 
-                },
+                }
+                if(this.sortOrder){
+                    if(this.sortProp == 'inchargerName'){
+                        parameter.sortProp = "incharger_id"
+                    }else if(this.sortProp == 'customerName'){
+                        parameter.sortProp = "customer_id"
+                    }else if(this.sortProp == 'projectCode'){
+                        parameter.sortProp = 'project_code'
+                    }else if(this.sortProp == 'categoryName'){
+                        parameter.sortProp = 'category'
+                    }else if(this.sortProp == 'projectName'){
+                        parameter.sortProp = 'project_name'
+                    }else if(this.sortProp == 'status'){
+                        parameter.sortProp = 'status'
+                    }
+
+                    if(this.sortOrder == 'descending'){
+                        parameter.sortOrder = 0
+                    }else if(this.sortOrder == 'ascending'){
+                        parameter.sortOrder = 1
+                    }
+                }
+                this.http.post(this.port.project.listPage, parameter,
                 res => {
                     this.listLoading = false;
                     if (res.code == "ok") {

+ 24 - 5
fhKeeper/formulahousekeeper/timesheet/src/views/project/project_gantt.vue

@@ -26,7 +26,14 @@
         @change="dateupdata()">
       </el-date-picker>
       </div>
-
+      <!-- 任务类型筛选 -->
+      <div v-if="radio1 == '按项目查看'" class="head_taskType">
+        <span>任务类型</span>
+        <el-select clearable filterable v-model="taskType" placeholder="请选择" size="small" style="margin-left:9px;width:10vw" @change="taskTypeSel()">
+        <el-option label="任务" :value="0"></el-option>
+        <el-option label="里程碑" :value="1"></el-option>
+      </el-select>
+      </div>
       <!-- 任务分组筛选 -->
       <div v-if="reqpar1" class="head_taskgroup">
         <span>任务分组</span>
@@ -162,6 +169,7 @@ export default {
   components: {Gantt},
   data () {
     return {
+      taskType: '',
       isDataLoaded:false,
       tasks: {
         data : [],
@@ -200,6 +208,11 @@ export default {
           this.$refs.ganttTable1.setGroup();
           // this.$refs.ganttTable2.setGroup();
       },
+      taskTypeSel(){
+        console.log(this.taskType);
+        
+        this.getList()
+      },
       // 资源需求导出
       exportProjectData() {
         let parameter = {}
@@ -441,6 +454,8 @@ export default {
           if(this.valuex2 != ''){
             getlistcs.groupName = this.valuex2
           }
+          getlistcs.taskType = this.taskType
+          
         }else {
           if(this.valuex != ''){
             getlistcs.userId = this.valuex
@@ -592,14 +607,18 @@ export default {
     align-items: center;
   }
   .gantt_head .head_RorX{
-    width: 22vw;
+    width: 16vw;
   }
   .gantt_head .head_date{
-    width: 24vw;
+    width: 22vw;
   }
   .gantt_head .head_taskgroup{
-    width: 16vw;
+    width: 15vw;
   }
+  .gantt_head .head_taskType{
+    width: 15vw;
+  }
+  
   .gantt_head .head_select{
     width: 15vw;
   }
@@ -609,6 +628,6 @@ export default {
   .poss {
     height: 8%;
     float: right;
-    padding-top: 15px;
+    padding-top: 5px;
 }
 </style>