wucl il y a 2 ans
Parent
commit
bbf6a4754e

+ 2 - 2
src/api/modules/itemStage.js

@@ -24,7 +24,7 @@ export default {
   simpleAll(params){
     return request.get(`itemStage/simpleAll/${params}`)
   },
-  stageList(){
-    return request.get(`itemStage/list`)
+  stageList(params){
+    return request.get(`itemStage/list`, {params:params})
   }
 }

+ 38 - 6
src/views/item/detail.vue

@@ -52,6 +52,31 @@
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
+                        label="所属部门:"
+                        prop="departmentId"
+                        :rules="{required: true, message: '所属部门', trigger: 'blur'}"
+                        label-width="150px"
+                        class="postInfo-container-item"
+                      >
+                        <el-select
+                          v-model="postForm.departmentId"
+                          placeholder=""
+                          clearable
+                          filterable
+                          class="filter-item"
+                          style=" width: 100%"
+                        >
+                          <el-option
+                            v-for="item in departmentsOptions"
+                            :key="item.id"
+                            :label="item.name"
+                            :value="item.id"
+                          />
+                        </el-select>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                      <el-form-item
                         label="业务来源:"
                         prop="businessSource"
                         :rules="{required: true, message: '请输入业务来源', trigger: 'blur'}"
@@ -61,8 +86,6 @@
                         <el-input v-model="postForm.businessSource" class="filter-item"/>
                       </el-form-item>
                     </el-col>
-                  </el-row>
-                  <el-row>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
                         label="委托单位:"
@@ -96,6 +119,8 @@
                         <el-input v-model="postForm.clientManager" class="filter-item"/>
                       </el-form-item>
                     </el-col>
+                  </el-row>
+                  <el-row>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
                         label="联系方式:"
@@ -107,8 +132,6 @@
                         <el-input v-model="postForm.mobile" class="filter-item"/>
                       </el-form-item>
                     </el-col>
-                  </el-row>
-                  <el-row>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
                         label="技术负责人:"
@@ -121,7 +144,7 @@
                       </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
-                      <el-form-item label="合同签订日期:" label-width="120px" class="postInfo-container-item">
+                      <el-form-item label="签订日期:" label-width="120px" class="postInfo-container-item">
                         <el-date-picker
                           v-model="postForm.signDate"
                           type="date"
@@ -142,6 +165,8 @@
                         <el-input v-model="postForm.paymentMethod" class="filter-item"/>
                       </el-form-item>
                     </el-col>
+                  </el-row>
+                  <el-row>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
                         label="合同金额:"
@@ -193,7 +218,7 @@
       return {
         type: 'detail',
         postForm: {
-          state: '进行中',
+          departmentId:'',
         },
         dataId: this.$route.query.id,
         activeName: 'first',
@@ -204,10 +229,12 @@
         filterMethod(query, item) {
           return item.label.indexOf(query) > -1;
         },
+        departmentsOptions:[],
       }
     },
     created() {
       this.getAllUser();
+      this.getDepartment();
       this.getDetail();
     },
     methods: {
@@ -229,6 +256,11 @@
           }
         })
       },
+      getDepartment(){
+        this.$api.department.simpleAll().then(res => {
+          this.departmentsOptions = res.data
+        })
+      },
       getDetail() {
         if (this.dataId) {
           this.$api.item.detail(this.dataId).then(res => {

+ 37 - 65
src/views/item/detailReadonly.vue

@@ -52,6 +52,31 @@
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
+                        label="所属部门:"
+                        prop="departmentId"
+                        :rules="{required: true, message: '所属部门', trigger: 'blur'}"
+                        label-width="150px"
+                        class="postInfo-container-item"
+                      >
+                        <el-select
+                          v-model="postForm.departmentId"
+                          placeholder=""
+                          clearable
+                          filterable
+                          class="filter-item"
+                          style=" width: 100%"
+                        >
+                          <el-option
+                            v-for="item in departmentsOptions"
+                            :key="item.id"
+                            :label="item.name"
+                            :value="item.id"
+                          />
+                        </el-select>
+                      </el-form-item>
+                    </el-col>
+                    <el-col :xs="24" :sm="12" :lg="6" :span="6">
+                      <el-form-item
                         label="业务来源:"
                         prop="businessSource"
                         :rules="{required: true, message: '请输入业务来源', trigger: 'blur'}"
@@ -61,8 +86,6 @@
                         <el-input v-model="postForm.businessSource" class="filter-item"/>
                       </el-form-item>
                     </el-col>
-                  </el-row>
-                  <el-row>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
                         label="委托单位:"
@@ -96,6 +119,8 @@
                         <el-input v-model="postForm.clientManager" class="filter-item"/>
                       </el-form-item>
                     </el-col>
+                  </el-row>
+                  <el-row>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
                         label="联系方式:"
@@ -107,8 +132,6 @@
                         <el-input v-model="postForm.mobile" class="filter-item"/>
                       </el-form-item>
                     </el-col>
-                  </el-row>
-                  <el-row>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
                         label="技术负责人:"
@@ -121,7 +144,7 @@
                       </el-form-item>
                     </el-col>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
-                      <el-form-item label="合同签订日期:" label-width="120px" class="postInfo-container-item">
+                      <el-form-item label="签订日期:" label-width="120px" class="postInfo-container-item">
                         <el-date-picker
                           v-model="postForm.signDate"
                           type="date"
@@ -142,6 +165,8 @@
                         <el-input v-model="postForm.paymentMethod" class="filter-item"/>
                       </el-form-item>
                     </el-col>
+                  </el-row>
+                  <el-row>
                     <el-col :xs="24" :sm="12" :lg="6" :span="6">
                       <el-form-item
                         label="合同金额:"
@@ -204,10 +229,12 @@
         filterMethod(query, item) {
           return item.label.indexOf(query) > -1;
         },
+        departmentsOptions:[],
       }
     },
     created() {
       this.getAllUser();
+      this.getDepartment();
       this.getDetail();
     },
     methods: {
@@ -229,6 +256,11 @@
           }
         })
       },
+      getDepartment(){
+        this.$api.department.simpleAll().then(res => {
+          this.departmentsOptions = res.data
+        })
+      },
       getDetail() {
         if (this.dataId) {
           this.$api.item.detail(this.dataId).then(res => {
@@ -239,66 +271,6 @@
           });
         }
       },
-      handleCreate() {
-        if (!this.postForm.name) {
-          this.$notify({
-            title: '错误',
-            message: '请输入项目名称',
-            type: 'error',
-            duration: 2000
-          });
-          return
-        }
-        this.vLoading = true;
-
-        this.$refs.postForm.validate(valid => {
-          if (valid) {
-            if (this.dataId) {
-              this.$api.item.edit(Object.assign({}, this.postForm, {
-                userPosts: this.userPosts.map(item => { return { id: item } }),
-              })).then(res => {
-                if (res.code === 200) {
-                  this.$notify({
-                    title: '成功',
-                    message: '保存成功',
-                    type: 'success',
-                    duration: 2000
-                  });
-                  const back = this.$route.query.back;
-                  if (back) {
-                    this.$router.push(back)
-                  }
-                  this.initData();
-                  this.vLoading = false
-                }
-              }).catch(() => {
-                this.vLoading = false
-              })
-            } else {
-              this.$api.item.add(Object.assign({}, this.postForm, {
-                userIds: this.userIds.map(item => { return item }),
-              })).then(res => {
-                if (res.code === 200) {
-                  this.$notify({
-                    title: '成功',
-                    message: '新增成功',
-                    type: 'success',
-                    duration: 2000
-                  });
-                  const back = this.$route.query.back;
-                  if (back) {
-                    this.$router.push(back)
-                  }
-                  this.initData();
-                  this.vLoading = false
-                }
-              }).catch(() => {
-                this.vLoading = false
-              })
-            }
-          }
-        })
-      },
     }
   }
 </script>

+ 16 - 16
src/views/item/itemIndex.vue

@@ -8,19 +8,22 @@
 <!--        <y-d-v-over-view title="最新提交日期" :typeId="4" :ico="require('@/assets/statics/pg10.png')" :data="[{text:logStaticsInfo.logDate}]" ></y-d-v-over-view>-->
 <!--      </y-data-view-module>-->
 <!--    </y-data-view-page-layout>-->
-    <div class="title">项目进度总览</div>
+    <div class="title">
+      <span style="color: red">{{state}}</span>
+      项目进度总览
+    </div>
     <div class="simple">
       <div>
         <div id="done"></div>
-        <tag>已完成</tag>
+        <el-button class="button" @click="getStageList('已完成')">已完成</el-button>
       </div>
       <div>
         <div id="pending"></div>
-        <tag>进行中</tag>
+        <el-button class="button" @click="getStageList('进行中')">进行中</el-button>
       </div>
       <div>
         <div id="notStart"></div>
-        <tag>未开始</tag>
+        <el-button class="button" @click="getStageList('未开始')">未开始</el-button>
       </div>
     </div>
     <div id="main" >
@@ -34,31 +37,27 @@
   </div>
 </template>
 <script>
-  import YDVOverView from '@/components/YDataViewPageLayout/YDVOverView'
-  import YDataViewModule from '@/components/YDataViewPageLayout/YDataViewModule'
-  import YDataViewPageLayout from '@/components/YDataViewPageLayout'
-
   export default {
     name: 'itemIndex',
     components: {
-      YDVOverView,
-      YDataViewModule,
-      YDataViewPageLayout
+
     },
     data() {
       return {
         logStaticsInfo:{},
         stages: [[]],
+        state:'进行中'
       }
     },
     mounted() {
       this.$nextTick(() => {
-        this.getStageList();
+        this.getStageList('进行中');
       })
     },
     methods: {
-      getStageList(){
-        this.$api.itemStage.stageList().then(res => {
+      getStageList(state){
+        this.state = state;
+        this.$api.itemStage.stageList({"state":state}).then(res => {
           if (res.code === 200){
             this.stages = res.data;
           }
@@ -125,12 +124,13 @@
     float: right;
     margin-right: 150px;
   }
-  tag{
+  .button{
     /*float: right;*/
     color: grey;
     font-size: small;
     position: relative;
-    left :1550px
+    left :1550px;
+    top:-5px;
   }
   .simple{
     padding-top: 50px;

+ 25 - 20
src/views/item/list.vue

@@ -15,18 +15,18 @@
           round
           style="float: left"
         />
-        <el-select
-          v-model="listQuery.state"
-          placeholder="状态"
-          clearable
-          filterable
-          style="margin-left: 20px;width: 100px;float: left;"
-          class="filter-item"
-        >
-          <el-option label="进行中" value="进行中"/>
-          <el-option label="已完成" value="已完成"/>
-          <el-option label="未开始" value="未开始"/>
-        </el-select>
+<!--        <el-select-->
+<!--          v-model="listQuery.state"-->
+<!--          placeholder="状态"-->
+<!--          clearable-->
+<!--          filterable-->
+<!--          style="margin-left: 20px;width: 100px;float: left;"-->
+<!--          class="filter-item"-->
+<!--        >-->
+<!--          <el-option label="进行中" value="进行中"/>-->
+<!--          <el-option label="已完成" value="已完成"/>-->
+<!--          <el-option label="未开始" value="未开始"/>-->
+<!--        </el-select>-->
         <el-input
           v-model="listQuery.name"
           placeholder="项目名称"
@@ -57,42 +57,47 @@
         slot="table"
         style="width: 100%;"
       >
-        <el-table-column label="项目名称" align="center">
+        <el-table-column label="项目名称" align="center" >
           <template slot-scope="{row}">
             <span>{{ row.name }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="事业部流水号" align="center">
+        <el-table-column label="事业部流水号" align="center" width="140">
           <template slot-scope="{row}">
             <span>{{ row.businessNo }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="项目编号" align="center" width="120">
+        <el-table-column label="项目编号" align="center" width="140">
           <template slot-scope="{row}">
             <span>{{ row.oaNo }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="业务来源" align="center" width="360">
+        <el-table-column label="所属部门" align="center" width="140">
+          <template slot-scope="{row}">
+            <span>{{ row.departmentName }}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="业务来源" align="center" width="140">
           <template slot-scope="{row}">
             <span>{{ row.businessSource }}</span>
           </template>
         </el-table-column>
-        <el-table-column label="委托单位" align="center" width="120">
+        <el-table-column label="委托单位" align="center" width="140">
           <template slot-scope="{row}">
             <span>{{ row.clientUnit}}</span>
           </template>
         </el-table-column>
-        <el-table-column label="委托人" align="center" width="120">
+        <el-table-column label="委托人" align="center" width="140">
           <template slot-scope="{row}">
             <span>{{ row.clientName}}</span>
           </template>
         </el-table-column>
-        <el-table-column label="合同金额" align="center" width="120">
+        <el-table-column label="合同金额" align="center" width="140">
           <template slot-scope="{row}">
             <span>{{ row.amount}}</span>
           </template>
         </el-table-column>
-        <el-table-column label="状态" align="center" width="120">
+        <el-table-column label="状态" align="center" width="140">
           <template slot-scope="{row}">
             <span>{{ row.state}}</span>
           </template>

+ 0 - 110
src/views/log/detail.vue

@@ -64,98 +64,6 @@
                   </el-row>
                 </div>
               </div>
-              <div>
-                <div class="postInfo-container">
-                  <el-row>
-                    <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                      <el-form-item
-                        label="计划完成时间:"
-                        prop="esitmateDate"
-                        label-width="180px"
-                        class="postInfo-container-item"
-                      >
-                        <el-date-picker
-                          v-model="postForm.esitmateDate"
-                          type="datetime"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          style="width: 100%"
-                          placeholder="选择日期"
-                        />
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                </div>
-              </div>
-              <div>
-                <div class="postInfo-container">
-                  <el-row>
-                    <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                      <el-form-item
-                        label="实际完成日期:"
-                        prop="actualDate"
-                        label-width="180px"
-                        class="postInfo-container-item"
-                      >
-                        <el-date-picker
-                          v-model="postForm.actualDate"
-                          type="datetime"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          style="width: 100%"
-                          placeholder="选择日期"
-                        />
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                </div>
-              </div>
-              <div>
-                <div class="postInfo-container">
-                  <el-row>
-                    <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                      <el-form-item
-                        label="任务完成情况评价:"
-                        prop="summary"
-                        label-width="180px"
-                        class="postInfo-container-item"
-                      >
-                        <el-input type="textarea" v-model="postForm.summary" class="filter-item"  placeholder="200字符"/>
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                </div>
-              </div>
-              <div>
-                <div class="postInfo-container">
-                  <el-row>
-                    <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                      <el-form-item
-                        label="超时或省时原因:"
-                        prop="reason"
-                        label-width="180px"
-                        class="postInfo-container-item"
-                      >
-                        <el-input type="textarea" v-model="postForm.reason" class="filter-item"  placeholder="200字符"/>
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                </div>
-              </div>
-              <div>
-                <div class="postInfo-container">
-                  <el-row>
-                    <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                      <el-form-item
-                        label="任务权重:"
-                        prop="weight"
-                        label-width="180px"
-                        class="postInfo-container-item"
-                      >
-                        <el-input v-model.number="postForm.weight" class="filter-item"/>
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                </div>
-              </div>
             </el-form>
           </el-tab-pane>
         </el-tabs>
@@ -222,24 +130,6 @@
           });
           return;
         }
-        if (this.postForm.summary && this.postForm.summary.length>200){
-          this.$notify({
-            title: '错误',
-            message: '任务完成情况评价不超过200字符',
-            type: 'error',
-            duration: 2000
-          });
-          return;
-        }
-        if (this.postForm.reason && this.postForm.reason.length>200){
-          this.$notify({
-            title: '错误',
-            message: '超时或省时原因不超过200字符',
-            type: 'error',
-            duration: 2000
-          });
-          return;
-        }
         this.vLoading = true;
 
         this.$refs.postForm.validate(valid => {

+ 0 - 110
src/views/log/edit.vue

@@ -64,98 +64,6 @@
                   </el-row>
                 </div>
               </div>
-              <div>
-                <div class="postInfo-container">
-                  <el-row>
-                    <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                      <el-form-item
-                        label="计划完成时间:"
-                        prop="esitmateDate"
-                        label-width="180px"
-                        class="postInfo-container-item"
-                      >
-                        <el-date-picker
-                          v-model="postForm.esitmateDate"
-                          type="datetime"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          style="width: 100%"
-                          placeholder="选择日期"
-                        />
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                </div>
-              </div>
-              <div>
-                <div class="postInfo-container">
-                  <el-row>
-                    <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                      <el-form-item
-                        label="实际完成日期:"
-                        prop="actualDate"
-                        label-width="180px"
-                        class="postInfo-container-item"
-                      >
-                        <el-date-picker
-                          v-model="postForm.actualDate"
-                          type="datetime"
-                          value-format="yyyy-MM-dd HH:mm:ss"
-                          style="width: 100%"
-                          placeholder="选择日期"
-                        />
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                </div>
-              </div>
-              <div>
-                <div class="postInfo-container">
-                  <el-row>
-                    <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                      <el-form-item
-                        label="任务完成情况评价:"
-                        prop="summary"
-                        label-width="180px"
-                        class="postInfo-container-item"
-                      >
-                        <el-input type="textarea" v-model="postForm.summary" class="filter-item" placeholder="200字符"/>
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                </div>
-              </div>
-              <div>
-                <div class="postInfo-container">
-                  <el-row>
-                    <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                      <el-form-item
-                        label="超时或省时原因:"
-                        prop="reason"
-                        label-width="180px"
-                        class="postInfo-container-item"
-                      >
-                        <el-input type="textarea" v-model="postForm.reason" class="filter-item" placeholder="200字符"/>
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                </div>
-              </div>
-              <div>
-                <div class="postInfo-container">
-                  <el-row>
-                    <el-col :xs="24" :sm="12" :lg="10" :span="6">
-                      <el-form-item
-                        label="任务权重:"
-                        prop="weight"
-                        label-width="180px"
-                        class="postInfo-container-item"
-                      >
-                        <el-input v-model.number="postForm.weight" class="filter-item"/>
-                      </el-form-item>
-                    </el-col>
-                  </el-row>
-                </div>
-              </div>
             </el-form>
           </el-tab-pane>
         </el-tabs>
@@ -217,24 +125,6 @@
           });
           return;
         }
-        if (this.postForm.summary && this.postForm.summary.length>200){
-          this.$notify({
-            title: '错误',
-            message: '任务完成情况评价不超过200字符',
-            type: 'error',
-            duration: 2000
-          });
-          return;
-        }
-        if (this.postForm.reason && this.postForm.reason.length>200){
-          this.$notify({
-            title: '错误',
-            message: '超时或省时原因不超过200字符',
-            type: 'error',
-            duration: 2000
-          });
-          return;
-        }
         this.vLoading = true;
         this.$refs.postForm.validate(valid => {
           if (valid) {

+ 1 - 1
src/views/log/rateCollect.vue

@@ -4,7 +4,7 @@
       <breadcrumb id="breadcrumb-container" class="breadcrumb-container"/>
     </div>
     <y-page-list-layout>
-      <el-table :data="tableData" slot="table" style="width: 100%;" border="border" height="900px" :row-style="{height:'100px'}" @cell-mouse-enter="text()">
+      <el-table :data="tableData" slot="table" style="width: 100%;" border="border" height="900px" :row-style="{height:'100px'}">
         <el-table-column v-if="tableData.length>0" label="日期" width="150px" align="center" fixed>
           <template slot-scope="{row}">
             <span>{{row.logDate}}</span>