Browse Source

Merge remote-tracking branch 'origin/develop' into develop

scorpio 2 years ago
parent
commit
ab192babfb

+ 2 - 2
src/api/project/index.js

@@ -49,8 +49,8 @@ export default {
     userStageList() { // 统计用户阶段项目数
         return fetch('/blade-project-manage-v2/stage/v2/projectCount')
     },
-    userNunList() { // 统计用户各类型项目数
-        return fetch('/blade-project-manage-v2/project/v2/projectStageNumber')
+    userNunList(params) { // 统计用户各类型项目数
+        return fetch('/blade-project-manage-v2/project/v2/projectStageNumber', params)
     },
     updateStage(params) { // 修改项目情况
         return fetch('/blade-project-manage-v2/project/v2/updateProjectStage', params, 'post')

+ 61 - 61
src/views/home/component/dash.vue

@@ -76,21 +76,21 @@
                 <template #append>(万元)</template>
               </el-input>
             </el-form-item>
-            <el-form-item class="full-width" label="项目类型" prop='projectType'>
-              <el-select
-                  v-model="projectForm.projectType"
-                  clearable
-                  placeholder="选择项目类型"
-                  style="width: 100%"
-              >
-                <el-option
-                    v-for="item in typeList"
-                    :key="item.id"
-                    :label="item.name"
-                    :value="item.id"
-                />
-              </el-select>
-            </el-form-item>
+            <!--            <el-form-item class="full-width" label="项目类型" prop='projectType'>-->
+            <!--              <el-select-->
+            <!--                  v-model="projectForm.projectType"-->
+            <!--                  clearable-->
+            <!--                  placeholder="选择项目类型"-->
+            <!--                  style="width: 100%"-->
+            <!--              >-->
+            <!--                <el-option-->
+            <!--                    v-for="item in typeList"-->
+            <!--                    :key="item.id"-->
+            <!--                    :label="item.name"-->
+            <!--                    :value="item.id"-->
+            <!--                />-->
+            <!--              </el-select>-->
+            <!--            </el-form-item>-->
             <el-form-item class="full-width" label="项目标签" prop='tags'>
               <el-select
                   v-model="projectForm.tags"
@@ -133,17 +133,17 @@
 import BaseButton from '../../../components/base-button.vue'
 import permissionStore from '@/store/permission.js'
 import formDialog from '@/views/home/component/form_dialog.vue'
-import { getLazyList } from '@/api/project/index.js'
+import {getLazyList} from '@/api/project/index.js'
 import summaryDialog from '@/views/home/component/summary_dialog.vue'
 
 export default {
   name: 'dash',
-  components: { BaseButton, formDialog, summaryDialog },
-  setup () {
+  components: {BaseButton, formDialog, summaryDialog},
+  setup() {
     const permissions = permissionStore()
-    return { permissions }
+    return {permissions}
   },
-  data () {
+  data() {
     return {
       dialogLoading: false,
       disable: false,
@@ -251,7 +251,7 @@ export default {
       },
       rules: {
         name: [
-          { required: true, message: '请输入项目名称', trigger: 'blur' }
+          {required: true, message: '请输入项目名称', trigger: 'blur'}
         ],
         projectType: [
           {
@@ -276,8 +276,7 @@ export default {
       selectList: []
     }
   },
-  created () {
-    this.getNumList()
+  created() {
     this.$bus.on('serach', (res, type) => {
       this.owerQuery = res
       if (res.type === false) {
@@ -287,19 +286,20 @@ export default {
       this.onLoad(Object.assign(this.owerQuery, this.projectStageQuery))
     })
   },
-  unmounted () {
+  unmounted() {
     sessionStorage.removeItem('selectList')
   },
   methods: {
-    switchTab (item, index) {
+    switchTab(item, index) {
       this.active = index
-      this.projectStageQuery = { projectStage: item.dictKey }
+      this.projectStageQuery = {projectStage: item.dictKey}
       this.onLoad(Object.assign(this.owerQuery, this.projectStageQuery))
     },
-    onLoad (query = {}) {
+    onLoad(query = {}) {
       this.loading = true
-      const data = { ...query, parentId: this.parentId }
+      const data = {...query, parentId: this.parentId}
       this.queryData = data
+      this.getNumList(data)
       this.$api.project.projectList(this.page.currentPage, this.page.pageSize, data).then(res => {
         this.loading = false
         if (res.code === 200) {
@@ -314,32 +314,32 @@ export default {
         this.loading = false
       })
     },
-    selectionChange (list) {
+    selectionChange(list) {
       this.selectList = list.map(sub => sub.id)
     },
-    beforeOpen (done, type) {
+    beforeOpen(done, type) {
       if (['edit'].includes(type)) {
         this.$router.push({
           path: '/home/details',
-          query: { id: this.form.id, type: '0', ownerId: this.form.createUser }
+          query: {id: this.form.id, type: '0', ownerId: this.form.createUser}
         })
       } else if (type === 'view') {
         this.$router.push({
           path: '/home/pro_detail',
-          query: { id: this.form.id }
+          query: {id: this.form.id}
         })
       }
     },
-    currentChange (currentPage) {
+    currentChange(currentPage) {
       this.page.current = currentPage
     },
-    sizeChange (pageSize) {
+    sizeChange(pageSize) {
       this.page.size = pageSize
     },
-    refreshChange () {
+    refreshChange() {
       this.onLoad()
     },
-    treeLoad (tree, treeNode, resolve) {
+    treeLoad(tree, treeNode, resolve) {
       this.loading = true
       getLazyList(tree.id).then(res => {
         this.loading = false
@@ -349,42 +349,42 @@ export default {
         }))
       })
     },
-    rowDel (row) {
+    rowDel(row) {
       this.$confirm('确定删除选择的项目?', {
         confirmButtonText: '确定',
         cancelButtonText: '取消',
         type: 'warning'
       })
-        .then(() => {
-          this.$api.project.projectRemove({ ids: row.id }).then(res => {
-            if (res.code === 200) {
-              this.$message.success(res.msg)
-              this.onLoad()
-            } else {
-              this.$message.error(res.msg)
-            }
+          .then(() => {
+            this.$api.project.projectRemove({ids: row.id}).then(res => {
+              if (res.code === 200) {
+                this.$message.success(res.msg)
+                this.onLoad()
+              } else {
+                this.$message.error(res.msg)
+              }
+            })
           })
-        })
     },
-    getNumList () {
-      this.$api.project.userNunList().then(res => {
+    getNumList(data) {
+      this.$api.project.userNunList(data).then(res => {
         if (res.code === 200) {
           this.numList = res.data.projectStage
           this.num = res.data.totalAmount
         }
       })
     },
-    getTypeList () {
-      this.$api.project.typeList({ type: 1, size: 999, current: 1 }).then(res => {
+    getTypeList() {
+      this.$api.project.typeList({type: 1, size: 999, current: 1}).then(res => {
         this.typeList = res.data.records
       })
-      this.$api.common.dicList({ code: 'project-tags' }).then(res => {
+      this.$api.common.dicList({code: 'project-tags'}).then(res => {
         if (res.code === 200) {
           this.tagsList = res.data
         }
       })
     },
-    track (res) {
+    track(res) {
       if (res.isReport === 1) {
         this.$message.error('该项目已经上报')
         return
@@ -394,7 +394,7 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        const data = { id: res.id, isReport: 1 }
+        const data = {id: res.id, isReport: 1}
         this.$api.project.proUpdate(data).then(res => {
           if (res.code === 200) {
             console.log(res)
@@ -405,7 +405,7 @@ export default {
         })
       })
     },
-    projectSave () {
+    projectSave() {
       if (this.disable) {
         this.$message.error('正在处理,请稍后...')
         return
@@ -429,18 +429,18 @@ export default {
         }
       })
     },
-    formDialogClose () {
+    formDialogClose() {
       this.diaType = -1
       this.onLoad()
     },
-    exportExcel (res) {
-      const data = Object.assign(this.queryData, { columnName: res, projectIds: this.selectList.join(',') })
+    exportExcel(res) {
+      const data = Object.assign(this.queryData, {columnName: res, projectIds: this.selectList.join(',')})
       this.$api.params.exportResult(data).then(res => {
         if (res.hasOwnProperty('code')) {
           this.$message.error(res.msg)
           return
         }
-        const url = window.URL.createObjectURL(new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8' }))
+        const url = window.URL.createObjectURL(new Blob([res], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'}))
         const link = document.createElement('a')
         link.style.display = 'none'
         link.href = url
@@ -453,14 +453,14 @@ export default {
         this.$message.success('导出成功')
       })
     },
-    exportExcelTotal (item) {
-      const data = { projectIds: this.selectList.join(',') }
+    exportExcelTotal(item) {
+      const data = {...this.queryData, projectIds: this.selectList.join(',')}
       this.$api.params.summaryExport(Object.assign(item, data)).then(res => {
         if (res.hasOwnProperty('code')) {
           this.$message.error(res.msg)
           return
         }
-        const url = window.URL.createObjectURL(new Blob([res], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8' }))
+        const url = window.URL.createObjectURL(new Blob([res], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8'}))
         const link = document.createElement('a')
         link.style.display = 'none'
         link.href = url

+ 13 - 11
src/views/home/component/summary_dialog.vue

@@ -50,7 +50,7 @@ import BaseButton from '@/components/base-button.vue'
 
 export default {
   name: 'summary_dialog',
-  components: { BaseButton },
+  components: {BaseButton},
   props: {
     dialogType: {
       type: String,
@@ -63,16 +63,18 @@ export default {
   },
   watch: {
     dialogType: {
-      handler (val) {
+      handler(val) {
         if (val === 2) {
           this.showSummary = true
           this.getDict('summary_field')
+        } else if (val === -1) {
+          this.showSummary = false
         }
       },
       immediate: true
     }
   },
-  data () {
+  data() {
     return {
       year: '',
       loading: false,
@@ -83,30 +85,30 @@ export default {
       yearList: []
     }
   },
-  created () {
+  created() {
     this.init()
   },
   methods: {
-    init () {
+    init() {
       const year = new Date().getFullYear()
       for (let i = year - 10; i <= year; i++) {
         this.yearList.push(i)
       }
     },
-    getDict (code) {
-      this.$api.common.dicList({ code }).then(res => {
+    getDict(code) {
+      this.$api.common.dicList({code}).then(res => {
         if (res.code === 200) {
           this.fieldType = res.data.map(e => {
-            e.checked = false
+            e.checked = true
             return e
           })
         }
       })
     },
-    close () {
+    close() {
       this.$emit('close')
     },
-    exportExcel () {
+    exportExcel() {
       const tmp = this.fieldType.filter(e => e.checked).map(sub => sub.dictKey)
       if (this.year.length === 0) {
         this.$message.error('请选择年份')
@@ -116,7 +118,7 @@ export default {
         this.$message.error('请选择要导出的字段')
         return
       }
-      const data = { dictKey: tmp.join(','), year: this.year }
+      const data = {columnName: tmp.join(','), year: this.year}
       this.$emit('export', data)
     }
   }