Răsfoiți Sursa

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

# Conflicts:
#	src/views/home/component/dash.vue
scorpioyq 2 ani în urmă
părinte
comite
cd4f55b548

+ 26 - 26
src/api/params/index.js

@@ -1,40 +1,40 @@
 import fetch from '../fetch.js'
 
 export default {
-    /**
+  /**
      * @param params
      * @returns {Promise | Promise<unknown>}
      */
-    getListByKey(params) {
-        return fetch('/wutong-parse-file/excel-dict/parent-list', {
-            clientId: 'project_web',
-            size: 999,
-            current: 1,
-            ...params
-        })
-    },
-    /**
+  getListByKey (params) {
+    return fetch('/wutong-parse-file/excel-dict/parent-list', {
+      clientId: 'project_web',
+      size: 999,
+      current: 1,
+      ...params
+    })
+  },
+  /**
      * 项目导出
      */
-    exportResult(params) {
-        return fetch('/blade-project-manage-v2/project/v2/projectExport', params, 'post', 'json', {}, 'blob')
-    },
-    /**
+  exportResult (params) {
+    return fetch('/blade-project-manage-v2/project/v2/projectExport', params, 'post', 'json', {}, 'blob')
+  },
+  /**
      * 汇总数据导出
      */
-    summaryExport(params) {
-        return fetch('/blade-project-manage-v2/project/v2/aggregateDataExport', params, 'post', 'json')
-    },
-    /**
+  summaryExport (params) {
+    return fetch('/blade-project-manage-v2/project/v2/aggregateDataExport', params, 'post', 'json', {}, 'blob')
+  },
+  /**
      * 字段搜索
      */
-    getParamByName(params) {
-        return fetch('/wutong-parse-file/excel-dict/parent-list', {
-            clientId: 'project_web',
-            size: 999,
-            current: 1,
-            ...params
-        })
-    }
+  getParamByName (params) {
+    return fetch('/wutong-parse-file/excel-dict/parent-list', {
+      clientId: 'project_web',
+      size: 999,
+      current: 1,
+      ...params
+    })
+  }
 
 }

+ 1 - 0
src/components/uploads.vue

@@ -15,6 +15,7 @@
                :on-exceed="maxChange"
                :on-progress="progress"
                :on-remove="remove"
+               :on-error='onError'
                :on-success="success"
                :before-upload="beforeUp"
                :show-file-list="showList"

+ 57 - 65
src/views/home/component/dash.vue

@@ -124,7 +124,7 @@
       </div>
     </el-dialog>
     <form-dialog :dialogType="diaType" @close="formDialogClose" @export='exportExcel' :ids='selectList'/>
-    <summary-dialog :dialogType="diaType" @close="diaType = -1" :select-num='selectList.length'
+    <summary-dialog :dialogType="diaType" @close="diaType = -1" :select-num='selectList.length === 0 ? page.total : selectList.length'
                     @export='exportExcelTotal'/>
   </div>
 </template>
@@ -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,7 +276,7 @@ export default {
       selectList: []
     }
   },
-  created() {
+  created () {
     this.$bus.on('serach', (res, type) => {
       this.owerQuery = res
       if (res.type === false) {
@@ -286,19 +286,18 @@ 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.num = item.totalAmount
-      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 => {
@@ -315,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, projectStage: this.form.projectStage }
         })
       }
     },
-    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
@@ -350,22 +349,22 @@ 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(data) {
       this.$api.project.userNunList(data).then(res => {
@@ -375,17 +374,17 @@ export default {
         }
       })
     },
-    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
@@ -395,7 +394,7 @@ export default {
         cancelButtonText: '取消',
         type: 'warning'
       }).then(() => {
-        const data = {id: res.id, is_report: 1}
+        const data = { id: res.id, is_report: 1 }
         this.$api.project.proUpdate(data).then(res => {
           if (res.code === 200) {
             this.onLoad()
@@ -406,7 +405,7 @@ export default {
         })
       })
     },
-    projectSave() {
+    projectSave () {
       if (this.disable) {
         this.$message.error('正在处理,请稍后...')
         return
@@ -430,49 +429,42 @@ 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 link = document.createElement('a')
-        link.style.display = 'none'
-        link.href = url
-        const excelName = new Date().getTime() + '.xlsx'
-        link.setAttribute('download', excelName)
-        document.body.appendChild(link)
-        link.click()
-        link.remove()
-        this.diaType = -1
-        this.$message.success('导出成功')
+        this.download(res)
       })
     },
-    exportExcelTotal(item) {
-      const data = {...this.queryData, 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 link = document.createElement('a')
-        link.style.display = 'none'
-        link.href = url
-        const excelName = new Date().getTime() + '.xlsx'
-        link.setAttribute('download', excelName)
-        document.body.appendChild(link)
-        link.click()
-        link.remove()
-        this.diaType = -1
-        this.$message.success('导出成功')
+        this.download(res)
       })
+    },
+    download (res) {
+      const url = window.URL.createObjectURL(new Blob([res], { type: 'application/vnd.ms-excel' }))
+      const link = document.createElement('a')
+      link.style.display = 'none'
+      link.href = url
+      const excelName = new Date().getTime() + '.xlsx'
+      link.setAttribute('download', excelName)
+      document.body.appendChild(link)
+      link.click()
+      link.remove()
+      this.diaType = -1
+      this.$message.success('导出成功')
     }
   }
 }

+ 1 - 1
src/views/home/component/form_dialog.vue

@@ -206,7 +206,7 @@ export default {
     switchTab (item, index) {
       this.fieldType[index].isSelect = !this.fieldType[index].isSelect
       this.selectIndex = index
-      this.$api.params.getListByKey({ type: this.fieldType[index].dictKey }).then(res => {
+      this.$api.params.getListByKey({ type: this.fieldType[index].dictKey, export: 1 }).then(res => {
         if (res.code === 200) {
           const tmps = res.data.records.map(e => {
             e.checked = this.fieldType[index].params === undefined ? true : this.fieldType[index].params.findIndex(sub => sub.id === e.id) > -1

+ 40 - 32
src/views/home/component/params/params1.vue

@@ -119,46 +119,54 @@
         </div>
         <div class='full-width  flex'>
           <el-form-item label="是否入库" style='flex:1'>
-            <el-select v-model='form.is_storage' placeholder='是否入库'>
-              <el-option
-                  v-for="item in yesOrNo"
-                  :key='item.label'
-                  :label="item.label"
-                  :value="item.value"
-              />
-            </el-select>
+            <div class='full-width '>
+              <el-select v-model='form.is_storage' placeholder='是否入库' class='full-width'>
+                <el-option
+                    v-for="item in yesOrNo"
+                    :key='item.label'
+                    :label="item.label"
+                    :value="item.value"
+                />
+              </el-select>
+            </div>
           </el-form-item>
           <el-form-item label="是否开工" style='flex:1' class='ml-20'>
-            <el-select v-model='form.is_actual_commencement' placeholder='是否开工'>
-              <el-option
-                  v-for="item in yesOrNo"
-                  :key='item.label'
-                  :label="item.label"
-                  :value="item.value"
-              />
-            </el-select>
+            <div class='full-width'>
+              <el-select v-model='form.is_start' placeholder='是否开工' class='full-width'>
+                <el-option
+                    v-for="item in yesOrNo"
+                    :key='item.label'
+                    :label="item.label"
+                    :value="item.value"
+                />
+              </el-select>
+            </div>
           </el-form-item>
         </div>
         <div class='full-width  flex'>
           <el-form-item label="是否纳入省重点项目" style='flex:1'>
-            <el-select v-model='form.is_provincial_key' placeholder='是否纳入省重点项目'>
-              <el-option
-                  v-for="item in yesOrNo"
-                  :key='item.label'
-                  :label="item.label"
-                  :value="item.value"
-              />
-            </el-select>
+            <div class='full-width'>
+              <el-select v-model='form.is_provincial_key' placeholder='是否纳入省重点项目' class='full-width'>
+                <el-option
+                    v-for="item in yesOrNo"
+                    :key='item.label'
+                    :label="item.label"
+                    :value="item.value"
+                />
+              </el-select>
+            </div>
           </el-form-item>
           <el-form-item label="是否纳入省集中开工项目" style='flex:1' class='ml-20'>
-            <el-select v-model='form.is_provincial_level_construction' placeholder='是否纳入省集中开工项目'>
-              <el-option
-                  v-for="item in yesOrNo"
-                  :key='item.label'
-                  :label="item.label"
-                  :value="item.value"
-              />
-            </el-select>
+            <div class='full-width'>
+              <el-select v-model='form.is_provincial_level_construction' placeholder='是否纳入省集中开工项目' class='full-width'>
+                <el-option
+                    v-for="item in yesOrNo"
+                    :key='item.label'
+                    :label="item.label"
+                    :value="item.value"
+                />
+              </el-select>
+            </div>
           </el-form-item>
         </div>
         <div class='full-width  '>

+ 30 - 24
src/views/home/component/params/params2.vue

@@ -41,37 +41,43 @@
         </div>
         <div class='full-width  flex'>
           <el-form-item label="是否民间投资项目" style='flex:1'>
-            <el-select v-model='form.social_investment' placeholder='是否民间投资项目'>
-              <el-option
-                  v-for="item in yesOrNo"
-                  :key='item.label'
-                  :label="item.label"
-                  :value="item.value"
-              />
-            </el-select>
+            <div class='full-width'>
+              <el-select v-model='form.social_investment' placeholder='是否民间投资项目' class='full-width'>
+                <el-option
+                    v-for="item in yesOrNo"
+                    :key='item.label'
+                    :label="item.label"
+                    :value="item.value"
+                />
+              </el-select>
+            </div>
           </el-form-item>
           <el-form-item label="是否产业项目" style='flex:1' class='ml-20'>
-            <el-select v-model='form.industrial_investment' placeholder='是否产业项目'>
-              <el-option
-                  v-for="item in yesOrNo"
-                  :key='item.label'
-                  :label="item.label"
-                  :value="item.value"
-              />
-            </el-select>
+            <div class='full-width'>
+              <el-select v-model='form.industrial_investment' placeholder='是否产业项目' class='full-width'>
+                <el-option
+                    v-for="item in yesOrNo"
+                    :key='item.label'
+                    :label="item.label"
+                    :value="item.value"
+                />
+              </el-select>
+            </div>
           </el-form-item>
         </div>
 
         <div class='full-width  flex'>
           <el-form-item label="是否获得资金支持项目" style='flex:1'>
-            <el-select v-model='form.funds_supper' placeholder='是否获得资金支持项目'>
-              <el-option
-                  v-for="item in yesOrNo"
-                  :key='item.label'
-                  :label="item.label"
-                  :value="item.value"
-              />
-            </el-select>
+            <div class='full-width'>
+              <el-select v-model='form.funds_supper' placeholder='是否获得资金支持项目' class='full-width'>
+                <el-option
+                    v-for="item in yesOrNo"
+                    :key='item.label'
+                    :label="item.label"
+                    :value="item.value"
+                />
+              </el-select>
+            </div>
           </el-form-item>
           <div style='flex:1' class='ml-20'></div>
         </div>

+ 5 - 2
src/views/home/component/pro_left.vue

@@ -86,10 +86,12 @@ export default {
       active: 0,
       showRelation: false,
       projectId: '',
-      resultList: []
+      resultList: [],
+      projectStage: ''
     }
   },
   created () {
+    this.projectStage = this.$route.query.projectStage
     this.getDic(this.code)
     this.onScroll()
   },
@@ -109,7 +111,8 @@ export default {
         if (res.code === 200) {
           if (code === 'project-situation') {
             this.dicList = res.data
-            const local = this.dicList.filter(e => e.dictKey === this.data.project_stage + '')
+            console.log(this.projectStage)
+            const local = this.dicList.filter(e => e.dictKey === this.projectStage + '')
             if (local.length > 0) {
               this.currentSituation = local[0]
             }