Browse Source

1. 省属企业信息菜单下增加省属企业统计菜单
2. 增加企业统计页面
3. 对企业统计页面进行第二穿透
4. 对源穿透的页面增加一级企业代码查询条件

sugb 1 month ago
parent
commit
927e39e344

+ 12 - 0
src/api/qcinfo.js

@@ -0,0 +1,12 @@
+import { axios } from '@/utils/request'
+/**
+ *
+ * 企业统计
+ */
+export function firstNames(parameter) {
+  return axios({
+    url: '/qcsb.qyxx/xxCount/firstNames',
+    method: 'get',
+    data: parameter
+  })
+}

+ 4 - 2
src/components/OneMap/widgets/BaseMap.vue

@@ -63,8 +63,10 @@ export default {
         },
       });
       let tmsLayer = new TMSLayer({
-        //urlTemplate: "/sd_dom/sd/{z}/{x}/{y}.png"
-        urlTemplate: "http://218.59.194.82:12682/sd_dom/sd/{z}/{x}/{y}.png"
+        //部署用
+        urlTemplate: "/sd_dom/sd/{z}/{x}/{y}.png"
+        //开发用
+        //urlTemplate: "http://218.59.194.82:12682/sd_dom/sd/{z}/{x}/{y}.png"
       });
 
       this.localMap=new Basemap({

+ 185 - 0
src/views/infoCount/QcSsCount.vue

@@ -0,0 +1,185 @@
+<template>
+  <div>
+    <a-card :bordered='false'>
+      <!-- 查询区域 -->
+      <div class='table-page-search-wrapper'>
+        <a-form layout='inline' @keyup.enter.native='searchQuery'>
+          <a-row :gutter='24'>
+            <a-col :xl='5' :lg='7' :md='8' :sm='24'>
+              <a-form-item label='企业名称'>
+                <a-select
+                  placeholder='请选择企业名称'
+                  v-model='queryParam.firstOrgName'
+                  :options='firstOrgOptions'
+                  :key='refreshKey'
+                ></a-select>
+              </a-form-item>
+            </a-col>
+            <a-col :xl='5' :lg='7' :md='8' :sm='24'>
+              <a-form-item label='企业编码'>
+                <a-input placeholder='请输入编码' v-model='queryParam.sysOrgCode'></a-input>
+              </a-form-item>
+            </a-col>
+            <a-col :xl='3' :lg='7' :md='8' :sm='24'>
+            <span style='float: left;overflow: hidden;' class='table-page-search-submitButtons'>
+              <a-button type='primary' @click='searchQuery' icon='search'>查询</a-button>
+              <a-button type='primary' @click='searchReset' icon='reload' style='margin-left: 8px'>重置</a-button>
+            </span>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+      <!-- table区域-begin -->
+      <div>
+        <div class='ant-alert ant-alert-info' style='margin-bottom: 16px;'>
+          <i class='anticon anticon-info-circle ant-alert-icon'></i> 已选择 <a
+          style='font-weight: 600'>{{ selectedRowKeys.length }}</a>项
+          <a style='margin-left: 24px' @click='onClearSelected'>清空</a>
+        </div>
+        <a-table
+          ref='table'
+          size='middle'
+          :scroll='{x:true}'
+          bordered
+          rowKey='id'
+          :columns='columns'
+          :dataSource='dataSource'
+          :pagination='ipagination'
+          :loading='loading'
+          :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}'
+          class='j-table-force-nowrap'
+          @change='handleTableChange'>
+          <template slot='htmlSlot' slot-scope='text'>
+            <div v-html='text'></div>
+          </template>
+          <template slot='imgSlot' slot-scope='text,record'>
+            <span v-if='!text' style='font-size: 12px;font-style: italic;'>无图片</span>
+            <img v-else :src='getImgView(text)' :preview='record.id' height='25px' alt=''
+                 style='max-width:80px;font-size: 12px;font-style: italic;' />
+          </template>
+          <template slot='fileSlot' slot-scope='text'>
+            <span v-if='!text' style='font-size: 12px;font-style: italic;'>无文件</span>
+          </template>
+          <span slot='action' slot-scope='text, record'>
+            <a-space>
+              <a-button @click='handleQy(record)' type='primary'>查看</a-button>
+            </a-space>
+        </span>
+        </a-table>
+      </div>
+    </a-card>
+    <j-modal :visible='visibleQy' @cancel='handleCancel' @ok='handleCancel' cancelText='关闭'>
+      <QcQyxxListBySs :param="param"></QcQyxxListBySs>
+    </j-modal>
+  </div>
+</template>
+
+<script>
+import '@/assets/less/TableExpand.less'
+import { mixinDevice } from '@/utils/mixin'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { firstNames } from '@/api/qcinfo'
+import QcQyxxListBySs from '@views/qcsb/qyxx/QcQyxxList_tj'
+
+export default {
+  name: 'QcSsCount',
+  mixins: [JeecgListMixin, mixinDevice],
+  components: {
+    QcQyxxListBySs
+  },
+  data() {
+    return {
+      description: '省属企业统计',
+      dl: false,
+      visibleQy: false,
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: 'center',
+          customRender: function(t, r, index) {
+            return parseInt(index) + 1
+          }
+        },
+        {
+          title: '一级单位名称',
+          align: 'center',
+          dataIndex: 'firstOrgName'
+        },
+        {
+          title: '企业编码',
+          align: 'center',
+          dataIndex: 'sysOrgCode'
+        },
+        {
+          title: '下辖企业数量',
+          align: 'center',
+          dataIndex: 'orgNum'
+        },
+        {
+          title: '上报企业数量',
+          align: 'center',
+          dataIndex: 'sbOrgNum'
+        },
+        {
+          title: '上报地块数量/块',
+          align: 'center',
+          dataIndex: 'dkNum'
+        },
+        {
+          title: '上报地块面积/亩',
+          align: 'center',
+          dataIndex: 'area'
+        },
+        {
+          title: '操作',
+          dataIndex: 'action',
+          align: 'center',
+          fixed: 'right',
+          width: 147,
+          scopedSlots: { customRender: 'action' }
+        }
+      ],
+      url: {
+        list: '/qcsb.qyxx/xxCount/list'
+      },
+      dictOptions: {},
+      superFieldList: [],
+      firstOrgOptions: [],
+      refreshKey: null,
+      param:'',
+      queryParam: {
+        sysOrgCode: null,
+        firstOrgName: null
+      },
+    }
+  },
+  created() {
+    this.getFirstNameFun()
+  },
+  methods: {
+    //获取一级企业信息
+    getFirstNameFun() {
+      firstNames().then(res => {
+        if (res.success) {
+          // 将数组转换为组件需要的选项格式
+          this.firstOrgOptions = res.result.map(item => ({ value: item, label: item }))
+          this.refreshKey = +new Date()
+        }
+      })
+    },
+    handleCancel() {
+      this.visibleQy = false
+    },
+    handleQy(record) {
+      this.visibleQy = true
+      this.param=record.sysOrgCode
+    }
+  }
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>

+ 1 - 1
src/views/infoSearch/infoSearch.vue

@@ -23,7 +23,7 @@
 <!--</template>-->
 <!--<script>-->
 <!--import companyInfo from '../qcsb/qyxx/QcQyxxList_gly.vue'-->
-<!--import departInfo from '../sydwqcsb/sydwxx/QcQyxxList_glyy.vue'-->
+<!--import departInfo from '../sydwqcsb/sydwxx/QcSsCount.vue'-->
 <!--import companyLand from '../qcsb/QcSsgqzysytdqkList_gly.vue'-->
 <!--import departLand from '../sydwqcsb/QcSsgqzysytdqkList_glyy.vue'-->
 <!--import { getyear } from '@/api/api'-->

+ 15 - 13
src/views/infoSearch/infoSearchSs.vue

@@ -9,11 +9,12 @@
       </a-radio-group>
     </a-card>
     <a-card :bordered='false'>
-      <!--省属企业信息管理-->
-      <company-info v-show="'ssqyxxgl' === defaultValue"></company-info>
       <!--省属企业地块管理-->
       <company-land v-show="'ssqydkgl' === defaultValue" :year-list='yearList' :xzdx-list='xzdxList' ref='ssqydkgl'></company-land>
-
+      <!--省属企业信息管理-->
+      <company-info v-show="'ssqyxxgl' === defaultValue"></company-info>
+      <!--省属企业土地资产信息填报情况-->
+      <qcSs-count v-show="'ssCount' === defaultValue" ref='ssCount'></qcSs-count>
     </a-card>
   </div>
 </template>
@@ -21,12 +22,14 @@
 import companyInfo from '../qcsb/qyxx/QcQyxxList_gly.vue'
 import companyLand from '../qcsb/QcSsgqzysytdqkList_gly.vue'
 import { getyear,getxzdx } from '@/api/api'
+import qcSsCount from '../infoCount/QcSsCount.vue'
 
 export default {
   name: 'landInfo',
   components: {
     companyInfo,
     companyLand,
+    qcSsCount,
   },
   data() {
     return {
@@ -34,17 +37,20 @@ export default {
       menus: [],
       yearList: [],
       xzdxList: []
-
     }
   },
   created() {
     //获取到的信息点位信息排前面需要进行反转
     this.menus = this.$store.state.menu.menuList['xxcxss']
-    //反转,地块信息排前面(1)
-    if (this.menus.length > 0 && this.menus[0].value === 'ssqyxxgl'){
-      this.menus=this.menus.reverse()
-    }
-    this.defaultValue = this.menus.length > 0 ? this.menus[0].value : ''
+    const ssqydkglMenu = this.menus.find(item => item.value === 'ssqydkgl')
+    //设置默认值为ssqydkgl
+    this.defaultValue = ssqydkglMenu ? ssqydkglMenu.value : ''
+    // 定义自定义顺序
+    const customOrder = ['ssqydkgl', 'ssqyxxgl', 'ssCount'];
+    // 根据自定义顺序排序
+    this.menus.sort((a, b) => {
+      return customOrder.indexOf(a.value) - customOrder.indexOf(b.value);
+    });
     this.getYear()
     this.gertXzdx()
   },
@@ -76,8 +82,6 @@ export default {
       getxzdx().then((res) => {
         if (res.success) {
           this.xzdxList = res.result
-          console.log('###################')
-          console.log(this.xzdxList)
         }
       })
     }
@@ -130,7 +134,5 @@ export default {
   &::v-deep .ant-card:last-child .ant-card-body {
     padding: 10px 24px 0;
   }
-
 }
-
 </style>

+ 26 - 70
src/views/qcsb/qyxx/QcQyxxList_tj.vue

@@ -5,6 +5,11 @@
       <a-form layout='inline' @keyup.enter.native='searchQuery'>
         <a-row :gutter='24'>
           <a-col :xl='6' :lg='7' :md='8' :sm='24'>
+            <a-form-item label='一级企业编码'>
+              <a-input placeholder='一级企业编码' v-model='queryParam.sysOrgCode'></a-input>
+            </a-form-item>
+          </a-col>
+          <a-col :xl='6' :lg='7' :md='8' :sm='24'>
             <a-form-item label='用地单位名称'>
               <a-input placeholder='请输入用地单位名称' v-model='queryParam.qymc'></a-input>
             </a-form-item>
@@ -12,7 +17,6 @@
           <a-col :xl='6' :lg='7' :md='8' :sm='24'>
             <a-form-item label='企业类型'>
               <j-dict-select-tag placeholder='请输入企业类型' dict-code='qylx' v-model='queryParam.qylx'></j-dict-select-tag>
-              <!--<a-input placeholder="请输入企业类型" v-model="queryParam.qymc"></a-input>-->
             </a-form-item>
           </a-col>
           <a-col :xl='6' :lg='7' :md='8' :sm='24'>
@@ -20,44 +24,20 @@
               <j-dict-select-tag placeholder='请选择是否涉及省内土地资产' v-model='queryParam.sfsjtdzc' dictCode='sfsjtdzc' />
             </a-form-item>
           </a-col>
-<!--          <a-col :xl='6' :lg='7' :md='8' :sm='24'>-->
-<!--            <a-form-item label='是否上报'>-->
-<!--              <j-dict-select-tag placeholder='请选择是否上报' v-model='queryParam.sfsb' dictCode='xxsbzt' />-->
-<!--            </a-form-item>-->
-<!--          </a-col>-->
           <a-col :xl='6' :lg='7' :md='8' :sm='24'>
             <span style='float: left;overflow: hidden;' class='table-page-search-submitButtons'>
-
               <a-button type='primary' @click='searchQuery' icon='search'>查询</a-button>
               <a-button type='primary' @click='searchReset' icon='reload' style='margin-left: 8px'>重置</a-button>
-              <!--              <a @click="handleToggleSearch" style="margin-left: 8px">-->
-              <!--                {{ toggleSearchStatus ? '收起' : '展开' }}-->
-              <!--                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>-->
-              <!--              </a>-->
             </span>
           </a-col>
         </a-row>
       </a-form>
     </div>
     <!-- 查询区域-END -->
-
     <!-- 操作按钮区域 -->
     <div class='table-operator'>
-      <!--<a-button v-has="'cont:add'" v-if='!this.dataSource.length>0' @click="handleAdd" type="primary" icon="plus">补充用地单位信息</a-button>-->
       <a-button type='primary' icon='download' @click="handleExportXls('用地单位信息')">导出</a-button>
-      <!-- <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-         <a-button type="primary" icon="import">导入</a-button>
-       </a-upload>
-       &lt;!&ndash; 高级查询区域 &ndash;&gt;
-       <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>
-       <a-dropdown v-if="selectedRowKeys.length > 0">
-         <a-menu slot="overlay">
-           <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>删除</a-menu-item>
-         </a-menu>
-         <a-button style="margin-left: 8px"> 批量操作 <a-icon type="down" /></a-button>
-       </a-dropdown>-->
     </div>
-
     <!-- table区域-begin -->
     <div>
       <div class='ant-alert ant-alert-info' style='margin-bottom: 16px;'>
@@ -65,7 +45,6 @@
         style='font-weight: 600'>{{ selectedRowKeys.length }}</a>项
         <a style='margin-left: 24px' @click='onClearSelected'>清空</a>
       </div>
-
       <a-table
         ref='table'
         size='middle'
@@ -79,7 +58,6 @@
         :rowSelection='{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}'
         class='j-table-force-nowrap'
         @change='handleTableChange'>
-
         <template slot='htmlSlot' slot-scope='text'>
           <div v-html='text'></div>
         </template>
@@ -101,54 +79,21 @@
           </a-button>
         </template>
         <span slot='action' slot-scope='text, record'>
-                        <a-space>
-<!--                          <a-button  v-if="record.sfsb<3"  @click="handleEdit(record)">编辑</a-button>-->
-                          <!--                            <a-button v-if="record.sfsb==3" @click="handleEdit(record)">重新审核</a-button>-->
-                          <a-button @click='handleDetail(record)' type='primary'>查看</a-button>
-                          <!--                          <a-button v-if="record.sfsb===3" @click="handleWCSH(record.id)">完成审核</a-button>-->
-                          <!--                          <a-popconfirm title="确定恢复么吗?" @confirm="() => handleHFYSH(record.id)">-->
-                          <!--                            <a-button v-if="record.sfsb===4">恢复为已审核</a-button>-->
-                          <!--                             </a-popconfirm>-->
-                        </a-space>
+            <a-space>
+              <a-button @click='handleDetail(record)' type='primary'>查看</a-button>
+            </a-space>
         </span>
-
-        <!-- <span slot="action" slot-scope="text, record">
-           <a-space>
-             <a-button @click="handleEdit(record)">编辑</a-button>
-             <a-button @click="handleDetail(record)" type='primary'>查看</a-button>
-           </a-space>-->
-        <!-- <a @click="handleEdit(record)">编辑</a>
-
-         <a-divider type="vertical" />
-         <a-dropdown>
-           <a class="ant-dropdown-link">更多 <a-icon type="down" /></a>
-           <a-menu slot="overlay">
-             <a-menu-item>
-               <a @click="handleDetail(record)">详情</a>
-             </a-menu-item>
-             <a-menu-item>
-              &lt;!&ndash; <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)">
-                 <a>删除</a>
-               </a-popconfirm>&ndash;&gt;
-             </a-menu-item>
-           </a-menu>
-         </a-dropdown>-->
-        <!--  </span>-->
-
       </a-table>
     </div>
-
     <qc-qyxx-modal ref='modalForm' @ok='modalFormOk'></qc-qyxx-modal>
   </a-card>
 </template>
 
 <script>
-
 import '@/assets/less/TableExpand.less'
 import { mixinDevice } from '@/utils/mixin'
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 import QcQyxxModal from './modules/QcQyxxModal_tj'
-import { filterMultiDictText } from '@/components/dict/JDictSelectUtil'
 import { getAction } from '../../../api/manage'
 
 export default {
@@ -232,7 +177,6 @@ export default {
           scopedSlots: { customRender: 'action' }
         }
       ],
-
       url: {
         list: '/qcsb.qyxx/qcQyxx/listBygly',
         delete: '/qcsb.qyxx/qcQyxx/delete',
@@ -242,12 +186,15 @@ export default {
         wcsh: '/qcsb.qyxx/qcQyxx/wcsh',
         hfysh: '/qcsb.qyxx/qcQyxx/hfysh'
       },
-      dl: '',
       dictOptions: {},
-      superFieldList: []
+      superFieldList: [],
+      queryParam: {
+        sysOrgCode: null
+      }
     }
   },
   created() {
+    this.queryParam.sysOrgCode = this.param
     this.getSuperFieldList()
   },
   computed: {
@@ -255,8 +202,19 @@ export default {
       return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
     }
   },
-  mounted() {
-
+  watch: {
+    param: {
+      // 立即执行一次
+      immediate: true,
+      handler(newVal) {
+        // 设置查询参数
+        this.queryParam.sysOrgCode = newVal
+        // 重置页码为1,避免在非第一页时查询不到数据
+        this.ipagination.current = 1
+        // 这里需要重新加载数据,但是注意避免重复加载(因为第一次加载已经由混入触发,但那时还没有设置参数,所以这里需要再触发一次)
+        this.loadData()
+      }
+    }
   },
   methods: {
     handleWCSH(id) {
@@ -266,7 +224,6 @@ export default {
           this.loadData()
         }
       })
-
     },
     handleHFYSH(id) {
       getAction(this.url.hfysh, { id: id }).then(res => {
@@ -275,7 +232,6 @@ export default {
           this.loadData()
         }
       })
-
     },
     initDictConfig() {
     },