Parcourir la source

Merge remote-tracking branch 'origin/master'

yangjunhao il y a 1 an
Parent
commit
abf41bb224

+ 9 - 0
src/api/norm/NORMFEE.js

@@ -44,6 +44,15 @@ export function updateNORMFEE(data) {
   })
 }
 
+// 修改指标计算公式
+export function updateFormulaById(data) {
+  return request({
+    url: '/normFee/updateFormulaById',
+    method: 'post',
+    data: data
+  })
+}
+
 // 删除指标权重明细
 export function delNORMFEE(id) {
   return request({

+ 9 - 1
src/api/portal/GATHER/GATHER.js

@@ -34,6 +34,14 @@ export function addGATHER(data) {
     data: data
   })
 }
+// 新增数据采集
+export function compute(data) {
+  return request({
+    url: '/gather/formula/compute',
+    method: 'post',
+    data: data
+  })
+}
 
 // 修改数据采集
 export function updateGATHER(data) {
@@ -78,7 +86,7 @@ export function setAudit(data) {
     url: '/gather/audit',
     method: 'post',
     params: data,
-    
+
   })
 }
 

+ 77 - 0
src/api/portal/RightDistribution/RightDistribution.js

@@ -0,0 +1,77 @@
+import request from '@/utils/request'
+
+// 查询指标采集权限配置列表
+export function listNORMROLE(query) {
+  return request({
+    url: '/norm/NORMROLE/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询指标采集权限配置所有列表
+export function listAllNORMROLE(query) {
+  return request({
+    url: '/norm/NORMROLE/listAll',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询指标采集权限配置详细
+export function getNORMROLE(id) {
+  return request({
+    url: '/norm/NORMROLE/getInfo/' + id,
+    method: 'get'
+  })
+}
+
+// 新增指标采集权限配置
+export function addNORMROLE(data) {
+  return request({
+    url: '/norm/NORMROLE/add',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改指标采集权限配置
+export function updateNORMROLE(data) {
+  return request({
+    url: '/norm/NORMROLE/edit',
+    method: 'post',
+    data: data
+  })
+}
+
+// 删除指标采集权限配置
+export function delNORMROLE(id) {
+  return request({
+    url: '/norm/NORMROLE/remove/' + id,
+    method: 'get'
+  })
+}
+
+// 停用服务配置
+export function setNORMROLEStop(id) {
+  return request({
+    url: '/norm/NORMROLE/stop/' + id,
+    method: 'post'
+  })
+}
+
+// 启用服务配置
+export function setNORMROLEStart(id) {
+  return request({
+    url: '/norm/NORMROLE/strta/' + id,
+    method: 'post'
+  })
+}
+
+// 查询指标权重明细所有列表
+export function getNORMROLEAllList(id) {
+  return request({
+    url: '/normFee/listAll',
+    method: 'get'
+  })
+}

+ 1 - 1
src/layout/components/Navbar.vue

@@ -116,7 +116,7 @@ export default {
       })
         .then(() => {
           this.$store.dispatch('LogOut').then(() => {
-            location.href = '/ruoyi-vue-web/index';
+            location.href = '/index';
           });
         })
         .catch(() => {});

+ 105 - 81
src/views/BONDEDUPPLY/index.vue

@@ -1,11 +1,14 @@
 <template>
   <div class="app-container">
-    <!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
+    <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
+      <el-form-item label="录单单位名称">
+        <el-input v-model="queryParams.lddwmc"></el-input>
+      </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
         <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
       </el-form-item>
-    </el-form> -->
+    </el-form>
 
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
@@ -105,6 +108,7 @@
         label="操作"
         align="center"
         class-name="small-padding fixed-width"
+        width="120px"
       >
         <template slot-scope="scope">
           <el-button
@@ -136,84 +140,93 @@
     />
 
     <!-- 添加或修改保税区供应链数据对话框 -->
-    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="35%" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="140px">
-        <el-form-item label="录单单位名称" prop="lddwmc">
-          <el-input v-model="form.lddwmc"></el-input>
-        </el-form-item>
-        <el-form-item label="进出口标志" prop="jckbz">
-          <el-input v-model="form.jckbz"></el-input>
-        </el-form-item>
-        <el-form-item label="进出口日期" prop="jckrq">
-          <!-- <el-input v-model="form.jckrq"></el-input> -->
-          <el-date-picker
-            v-model="form.jckrq"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="选择日期"
-          >
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="净重" prop="jz">
-          <el-input v-model="form.jz"></el-input>
-        </el-form-item>
-        <el-form-item label="净值" prop="jingzhi">
-          <el-input v-model="form.jingzhi"></el-input>
-        </el-form-item>
-        <el-form-item label="件数" prop="js">
-          <el-input v-model="form.js"></el-input>
-        </el-form-item>
-        <el-form-item label="境内收发货人标号" prop="jnsfhrbh">
-          <el-input v-model="form.jnsfhrbh"></el-input>
-        </el-form-item>
-        <el-form-item label="境内收发货人名称 " prop="jnsfhrmc">
-          <el-input v-model="form.jnsfhrmc"></el-input>
-        </el-form-item>
-        <el-form-item label="境外发货人代码 " prop="jwfhrdm">
-          <el-input v-model="form.jwfhrdm"></el-input>
-        </el-form-item>
-        <el-form-item label="境外收发货人名称   " prop="jwsfhrmc">
-          <el-input v-model="form.jwsfhrmc"></el-input>
-        </el-form-item>
-        <el-form-item label="境外收发货人地址   " prop="jwsfhrdz">
-          <el-input v-model="form.jwsfhrdz"></el-input>
-        </el-form-item>
-        <el-form-item label="启运日期  " prop="qyrq">
-          <!-- <el-input v-model="form.qyrq"></el-input> -->
-          <el-date-picker
-            v-model="form.qyrq"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="选择日期"
-          >
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="卸毕日期   " prop="xbrq">
-          <el-input v-model="form.xbrq"></el-input>
-          <!-- <el-date-picker
-            v-model="form.xbrq"
-            type="date"
-            value-format="yyyy-MM-dd"
-            placeholder="选择日期"
-          >
-          </el-date-picker> -->
-        </el-form-item>
-        <!-- <el-form-item label="供应链主键  " prop="id">
-          <el-input v-model="form.id"></el-input>
-        </el-form-item>
-        <el-form-item label="保税区主键  " prop="deptId">
-          <el-input v-model="form.deptId"></el-input>
-        </el-form-item> -->
-        <el-form-item label="报关单币种统计   " prop="bgdbztj">
-          <el-input v-model="form.bgdbztj"></el-input>
-        </el-form-item>
-        <el-form-item label="申报单位名称   " prop="sbdwmc">
-          <el-input v-model="form.sbdwmc"></el-input>
-        </el-form-item>
-        <el-form-item label="录单单位编码名称   " prop="lddwbmmc">
-          <el-input v-model="form.lddwbmmc"></el-input>
-        </el-form-item>
-      </el-form>
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      :close-on-click-modal="false"
+      width="35%"
+      append-to-body
+    >
+      <el-tabs v-model="activeName">
+        <el-tab-pane label="基本信息" name="first">
+          <el-form ref="forms" :model="form" :rules="rules" label-width="140px">
+            <el-form-item label="录单单位名称" prop="lddwmc">
+              <el-input v-model="form.lddwmc"></el-input>
+            </el-form-item>
+            <el-form-item label="进出口标志" prop="jckbz">
+              <el-input v-model="form.jckbz"></el-input>
+            </el-form-item>
+            <el-form-item label="进出口日期" prop="jckrq">
+              <el-date-picker
+                v-model="form.jckrq"
+                type="date"
+                value-format="yyyy-MM-dd"
+                placeholder="选择日期"
+              >
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="净重" prop="jz">
+              <el-input v-model="form.jz"></el-input>
+            </el-form-item>
+            <el-form-item label="净值" prop="jingzhi">
+              <el-input v-model="form.jingzhi"></el-input>
+            </el-form-item>
+            <el-form-item label="件数" prop="js">
+              <el-input v-model="form.js"></el-input>
+            </el-form-item>
+
+            <el-form-item label="启运日期  " prop="qyrq">
+              <el-date-picker
+                v-model="form.qyrq"
+                type="date"
+                value-format="yyyy-MM-dd"
+                placeholder="选择日期"
+              >
+              </el-date-picker>
+            </el-form-item>
+            <el-form-item label="卸毕日期   " prop="xbrq">
+              <!-- <el-input v-model="form.xbrq"></el-input> -->
+              <el-date-picker
+                v-model="form.xbrq"
+                type="date"
+                value-format="yyyy-MM-dd"
+                placeholder="选择日期"
+              >
+              </el-date-picker>
+            </el-form-item>
+
+            <el-form-item label="报关单币种统计   " prop="bgdbztj">
+              <el-input v-model="form.bgdbztj"></el-input>
+            </el-form-item>
+            <el-form-item label="申报单位名称   " prop="sbdwmc">
+              <el-input v-model="form.sbdwmc"></el-input>
+            </el-form-item>
+            <el-form-item label="录单单位编码名称   " prop="lddwbmmc">
+              <el-input v-model="form.lddwbmmc"></el-input>
+            </el-form-item>
+          </el-form>
+        </el-tab-pane>
+        <el-tab-pane label="境内外信息" name="second">
+          <el-form ref="form" :model="form" :rules="rules" label-width="140px">
+            <el-form-item label="境内收发货人标号" prop="jnsfhrbh">
+              <el-input v-model="form.jnsfhrbh"></el-input>
+            </el-form-item>
+            <el-form-item label="境内收发货人名称 " prop="jnsfhrmc">
+              <el-input v-model="form.jnsfhrmc"></el-input>
+            </el-form-item>
+            <el-form-item label="境外发货人代码 " prop="jwfhrdm">
+              <el-input v-model="form.jwfhrdm"></el-input>
+            </el-form-item>
+            <el-form-item label="境外收发货人名称   " prop="jwsfhrmc">
+              <el-input v-model="form.jwsfhrmc"></el-input>
+            </el-form-item>
+            <el-form-item label="境外收发货人地址   " prop="jwsfhrdz">
+              <el-input v-model="form.jwsfhrdz"></el-input>
+            </el-form-item>
+          </el-form>
+        </el-tab-pane>
+      </el-tabs>
+
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
@@ -235,6 +248,7 @@ export default {
   name: "BONDEDUPPLY",
   data() {
     return {
+      activeName: "first",
       // 根路径
       baseURL: process.env.VUE_APP_BASE_API,
       // 遮罩层
@@ -443,7 +457,15 @@ export default {
     },
     /** 提交按钮 */
     submitForm() {
-      console.log(this.form, "------------------------------");
+      let is;
+      this.$refs["forms"].validate((valid) => {
+        if (!valid) {
+          this.$message.error("请补全基本信息");
+          is = true;
+          return;
+        }
+      });
+      if (is) return;
       this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.id == null) {
@@ -461,6 +483,8 @@ export default {
               this.reset();
             });
           }
+        }else{
+          this.$message.error("请补全境内外信息");
         }
       });
     },

+ 168 - 127
src/views/ENTERPRISETRADEPERFORMANCE/index.vue

@@ -65,8 +65,8 @@
       @selection-change="handleSelectionChange"
     >
       <el-table-column type="selection" width="55" align="center" />
-      <el-table-column label="企业贸易绩效数据" align="center" prop="id">
-      </el-table-column>
+      <!-- <el-table-column label="企业贸易绩效数据" align="center" prop="id">
+      </el-table-column> -->
       <!-- <el-table-column label="部门id" align="center" prop="deptId">
       </el-table-column> -->
       <el-table-column label="部门名称" align="center" prop="deptName">
@@ -157,130 +157,156 @@
     />
 
     <!-- 添加或修改企业贸易绩效数据(每个月填报)对话框 -->
-    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="40%" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="180px">
-        <el-form-item label="规模以上工业产值" prop="gmysgycz">
-          <el-input
-            v-model="form.gmysgycz"
-            placeholder="请输入规模以上工业产值"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="固定资产投资" prop="gdzctz">
-          <el-input
-            v-model="form.gdzctz"
-            placeholder="请输入固定资产投资"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="部门" prop="gdzctz">
-          <!-- <el-input v-model="form.gdzctz" placeholder="请选择部门"></el-input> -->
-          <el-select
-            v-model="deptValue"
-            @change="deptSelect"
-            placeholder="请选择"
-          >
-            <el-option
-              v-for="(item, index) in deptList"
-              :key="index"
-              :label="item.deptName"
-              :value="index"
-            >
-            </el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="资产分类 " prop="zcfl">
-          <el-input
-            v-model="form.zcfl"
-            placeholder="请输入资产分类 "
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="主要贸易国家 " prop="zymygj">
-          <el-input
-            v-model="form.zymygj"
-            placeholder="请输入主要贸易国家 "
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="电子账册分类 " prop="dzzcfl">
-          <el-input
-            v-model="form.dzzcfl"
-            placeholder="请输入电子账册分类 "
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="进出口总值" prop="jckzz">
-          <el-input
-            v-model="form.jckzz"
-            placeholder="请输入进出口总值"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="进口总值" prop="jkzz">
-          <el-input v-model="form.jkzz" placeholder="请输入进口总值"></el-input>
-        </el-form-item>
-        <el-form-item label="出口总值" prop="ckzz">
-          <el-input v-model="form.ckzz" placeholder="请输入出口总值"></el-input>
-        </el-form-item>
-        <el-form-item label="加工贸易进出口值 " prop="jgmyjckz">
-          <el-input
-            v-model="form.jgmyjckz"
-            placeholder="请输入加工贸易进出口值 "
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="物流货物进出口值 " prop="wlhwjckz">
-          <el-input
-            v-model="form.wlhwjckz"
-            placeholder="请输入物流货物进出口值 "
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="一般贸易进出口值 " prop="ybmyjckz">
-          <el-input
-            v-model="form.ybmyjckz"
-            placeholder="请输入一般贸易进出口值 "
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="海关税收" prop="hgss">
-          <el-input v-model="form.hgss" placeholder="请输入海关税收"></el-input>
-        </el-form-item>
-        <el-form-item label="税务部门税收" prop="swbmss">
-          <el-input
-            v-model="form.swbmss"
-            placeholder="请输入税务部门税收"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="期末企业从业人员" prop="qmqycyry">
-          <el-input
-            v-model="form.qmqycyry"
-            placeholder="请输入期末企业从业人员"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="实际使用外资金额" prop="sjsywzje">
-          <el-input
-            v-model="form.sjsywzje"
-            placeholder="请输入期末企业从业人员"
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="维修业务进出口值 " prop="wxyejckz">
-          <el-input
-            v-model="form.wxyejckz"
-            placeholder="请输入维修业务进出口值 "
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="研发业务进出口值 " prop="yfywjckz">
-          <el-input
-            v-model="form.yfywjckz"
-            placeholder="请输入研发业务进出口值 "
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="租赁贸易进出口值 " prop="zlmyjckz">
-          <el-input
-            v-model="form.zlmyjckz"
-            placeholder="请输入租赁贸易进出口值 "
-          ></el-input>
-        </el-form-item>
-        <el-form-item label="跨境电商业务进出口值 " prop="kjdsywjckz">
-          <el-input
-            v-model="form.kjdsywjckz"
-            placeholder="请输入跨境电商业务进出口值 "
-          ></el-input>
-        </el-form-item>
-      </el-form>
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      :close-on-click-modal="false"
+      width="40%"
+      append-to-body
+    >
+      <el-tabs v-model="activeName">
+        <el-tab-pane label="基本信息" name="first">
+          <el-form ref="forms" :model="form" :rules="rules" label-width="180px">
+            <el-form-item label="部门" prop="deptName">
+              <el-select
+                v-model="form.deptName"
+                @change="deptSelect"
+                placeholder="请选择"
+              >
+                <el-option
+                  v-for="(item, index) in deptList"
+                  :key="index"
+                  :label="item.deptName"
+                  :value="index"
+                >
+                </el-option>
+              </el-select>
+            </el-form-item>
+
+            <el-form-item label="固定资产投资" prop="gdzctz">
+              <el-input
+                v-model="form.gdzctz"
+                placeholder="请输入固定资产投资"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="资产分类 " prop="zcfl">
+              <el-input
+                v-model="form.zcfl"
+                placeholder="请输入资产分类 "
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="主要贸易国家 " prop="zymygj">
+              <el-input
+                v-model="form.zymygj"
+                placeholder="请输入主要贸易国家 "
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="电子账册分类 " prop="dzzcfl">
+              <el-input
+                v-model="form.dzzcfl"
+                placeholder="请输入电子账册分类 "
+              ></el-input>
+            </el-form-item>
+
+            <el-form-item label="海关税收" prop="hgss">
+              <el-input
+                v-model="form.hgss"
+                placeholder="请输入海关税收"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="税务部门税收" prop="swbmss">
+              <el-input
+                v-model="form.swbmss"
+                placeholder="请输入税务部门税收"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="期末企业从业人员" prop="qmqycyry">
+              <el-input
+                v-model="form.qmqycyry"
+                placeholder="请输入期末企业从业人员"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="实际使用外资金额" prop="sjsywzje">
+              <el-input
+                v-model="form.sjsywzje"
+                placeholder="请输入实际使用外资金额"
+              ></el-input>
+            </el-form-item>
+          </el-form>
+        </el-tab-pane>
+        <el-tab-pane label="进出口信息" name="second">
+          <el-form ref="form" :model="form" :rules="rules" label-width="180px">
+            <el-form-item label="规模以上工业产值" prop="gmysgycz">
+              <el-input
+                v-model="form.gmysgycz"
+                placeholder="请输入规模以上工业产值"
+              ></el-input>
+            </el-form-item>
+
+            <el-form-item label="进出口总值" prop="jckzz">
+              <el-input
+                v-model="form.jckzz"
+                placeholder="请输入进出口总值"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="进口总值" prop="jkzz">
+              <el-input
+                v-model="form.jkzz"
+                placeholder="请输入进口总值"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="出口总值" prop="ckzz">
+              <el-input
+                v-model="form.ckzz"
+                placeholder="请输入出口总值"
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="加工贸易进出口值 " prop="jgmyjckz">
+              <el-input
+                v-model="form.jgmyjckz"
+                placeholder="请输入加工贸易进出口值 "
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="物流货物进出口值 " prop="wlhwjckz">
+              <el-input
+                v-model="form.wlhwjckz"
+                placeholder="请输入物流货物进出口值 "
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="一般贸易进出口值 " prop="ybmyjckz">
+              <el-input
+                v-model="form.ybmyjckz"
+                placeholder="请输入一般贸易进出口值 "
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="维修业务进出口值 " prop="wxyejckz">
+              <el-input
+                v-model="form.wxyejckz"
+                placeholder="请输入维修业务进出口值 "
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="研发业务进出口值 " prop="yfywjckz">
+              <el-input
+                v-model="form.yfywjckz"
+                placeholder="请输入研发业务进出口值 "
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="租赁贸易进出口值 " prop="zlmyjckz">
+              <el-input
+                v-model="form.zlmyjckz"
+                placeholder="请输入租赁贸易进出口值 "
+              ></el-input>
+            </el-form-item>
+            <el-form-item label="跨境电商业务进出口值 " prop="kjdsywjckz">
+              <el-input
+                v-model="form.kjdsywjckz"
+                placeholder="请输入跨境电商业务进出口值 "
+              ></el-input>
+            </el-form-item>
+          </el-form>
+        </el-tab-pane>
+      </el-tabs>
+
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
@@ -305,7 +331,6 @@ export default {
     return {
       // 部门列表
       deptList: [],
-      deptValue: null,
       // 根路径
       baseURL: process.env.VUE_APP_BASE_API,
       // 遮罩层
@@ -326,6 +351,7 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      activeName: "first",
       // 查询参数
       queryParams: {
         pageNum: 1,
@@ -377,6 +403,9 @@ export default {
             trigger: "blur",
           },
         ],
+        deptName: [
+          { required: true, message: "部门信息不能为空", trigger: "blur" },
+        ],
         gdzctz: [
           { required: true, message: "固定资产投资不能为空", trigger: "blur" },
         ],
@@ -557,6 +586,16 @@ export default {
     },
     /** 提交按钮 */
     submitForm() {
+      let is;
+      this.$refs["forms"].validate((valid) => {
+        if (!valid) {
+          this.$message.error("请补全基本信息");
+          is = true;
+          return;
+        }
+      });
+      if (is) return;
+      
       this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.id != null) {
@@ -572,6 +611,8 @@ export default {
               this.getList();
             });
           }
+        }else{
+          this.$message.error("请补全进出口信息");
         }
       });
     },

+ 284 - 135
src/views/GARDENBASEDATA/index.vue

@@ -8,17 +8,17 @@
       v-show="showSearch"
       label-width="88px"
     >
-    <el-form-item label="部门名称" prop="deptId">
-      <el-select v-model="queryParams.deptId" placeholder="请选择">
-        <el-option
-          v-for="item in detpList"
-          :key="item.value"
-          :label="item.deptName"
-          :value="item.deptId"
-        >
-        </el-option>
-      </el-select>
-    </el-form-item>
+      <el-form-item label="部门名称" prop="deptId">
+        <el-select v-model="queryParams.deptId" placeholder="请选择">
+          <el-option
+            v-for="item in detpList"
+            :key="item.value"
+            :label="item.deptName"
+            :value="item.deptId"
+          >
+          </el-option>
+        </el-select>
+      </el-form-item>
       <el-form-item label="法定代表人" prop="fddbr">
         <el-input v-model="queryParams.fddbr" placeholder="请输入"></el-input>
       </el-form-item>
@@ -132,11 +132,11 @@
       </el-table-column>
       <el-table-column label="经营期限至 " align="center" prop="jyqxz1">
       </el-table-column>
-      <el-table-column label="注册地址 " align="center" prop="zcdz">
+      <el-table-column label="注册地址 " align="center" prop="zcdz" show-overflow-tooltip>
       </el-table-column>
-      <el-table-column label="主营业务 " align="center" prop="zyyw">
+      <el-table-column label="主营业务 " align="center" prop="zyyw" show-overflow-tooltip>
       </el-table-column>
-      <el-table-column label="经营范围 " align="center" prop="jyfw">
+      <el-table-column label="经营范围 " align="center" prop="jyfw" show-overflow-tooltip>
       </el-table-column>
       <el-table-column label="企业资质 " align="center" prop="qyzz">
       </el-table-column>
@@ -202,19 +202,125 @@
     />
 
     <!-- 添加或修改园区内企业基础数据对话框 -->
-    <el-dialog :title="title" :visible.sync="open" :close-on-click-modal="false" width="35%" append-to-body>
-      <el-tabs v-model="tabMsg"  type="border-card">
+    <el-dialog
+      :title="title"
+      :visible.sync="open"
+      :close-on-click-modal="false"
+      width="35%"
+      append-to-body
+    >
+      <el-tabs v-model="tabMsg" type="border-card">
         <el-tab-pane name="basicMsg" label="企业基本信息">
           <el-form ref="forms" :model="form" :rules="rules" label-width="180px">
-            <el-form-item label="法定代表人" prop="fddbr">
-              <el-input
-                v-model="form.fddbr"
-                placeholder="请输入法定代表人"
-              ></el-input>
-            </el-form-item>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="法定代表人" prop="fddbr">
+                  <el-input
+                    v-model="form.fddbr"
+                    placeholder="请输入法定代表人"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="部门" prop="deptName">
+                  <el-select
+                    filterable
+                    v-model="form.deptName"
+                    @change="deptSelect"
+                    placeholder="请选择部门"
+                  >
+                    <el-option
+                      v-for="(item, index) in detpList"
+                      :key="index"
+                      :label="item.deptName"
+                      :value="index"
+                    >
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="企业代表联系方式 " prop="qydblxfs">
+                  <el-input
+                    v-model="form.qydblxfs"
+                    placeholder="请输入企业代表联系方式 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="注册资金" prop="zczj">
+                  <el-input
+                    v-model="form.zczj"
+                    placeholder="请输入注册资金"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="企业类型 " prop="qylx">
+                  <el-input
+                    v-model="form.qylx"
+                    placeholder="请输入企业类型 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="经营状态 " prop="jyzt">
+                  <el-input
+                    v-model="form.jyzt"
+                    placeholder="请输入经营状态 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="统一社会信用代码 " prop="shtyxydm">
+                  <el-input
+                    v-model="form.shtyxydm"
+                    placeholder="请输入统一社会信用代码 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="人员规模" prop="rygm">
+                  <el-input
+                    v-model="form.rygm"
+                    placeholder="请输入人员规模"
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="成立日期 " prop="clrq">
+                  <!-- <el-input  v-model="form.clrq" placeholder="请输入成立日期 "></el-input> -->
+                  <el-date-picker
+                    value-format="yyyy-MM-dd"
+                    @change="setUpTimeSelect"
+                    v-model="form.clrq"
+                    type="date"
+                    placeholder="选择日期"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="注册地址 " prop="zcdz">
+                  <el-input
+                    v-model="form.zcdz"
+                    placeholder="请输入注册地址 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
 
             <el-form-item label="部门" prop="deptName">
               <el-select
+                filterable
                 v-model="form.deptName"
                 @change="deptSelect"
                 placeholder="请选择部门"
@@ -297,114 +403,155 @@
         <!-- 额外信息 -->
         <el-tab-pane name="extraMsg" label="额外信息">
           <el-form ref="form" :model="form" :rules="rules" label-width="180px">
-            <el-form-item label="控股企业 " prop="kgqy">
-              <el-input
-                v-model="form.kgqy"
-                placeholder="请输入控股企业 "
-              ></el-input>
-            </el-form-item>
-
-            <el-form-item label="行业大类 " prop="hydl">
-              <el-input
-                v-model="form.hydl"
-                placeholder="请输入行业大类 "
-              ></el-input>
-            </el-form-item>
-            <el-form-item label="行业小类 " prop="hyxl">
-              <el-input
-                v-model="form.hyxl"
-                placeholder="请输入行业小类 "
-              ></el-input>
-            </el-form-item>
-
-            <el-form-item label="是否外资企业 " prop="sfwzqy">
-              <el-input
-                v-model="form.sfwzqy"
-                placeholder="请输入是否外资企业 "
-              ></el-input>
-            </el-form-item>
-
-            <el-form-item label="企业海关编码 " prop="qyhgbm">
-              <el-input
-                v-model="form.qyhgbm"
-                placeholder="请输入企业海关编码 "
-              ></el-input>
-            </el-form-item>
-
-            <el-form-item label="投产时间 " prop="tcsj">
-              <!-- <el-input  v-model="form.tcsj" placeholder="请输入投产时间 "></el-input> -->
-              <el-date-picker
-                value-format="yyyy-MM-dd"
-                @change="putTimeSelect"
-                v-model="form.tcsj"
-                type="date"
-                placeholder="选择日期"
-              >
-              </el-date-picker>
-            </el-form-item>
-            <el-form-item label="经营期限自 " prop="jyqxz">
-              <el-input
-                v-model="form.jyqxz"
-                placeholder="请输入经营期限自 "
-              ></el-input>
-            </el-form-item>
-            <el-form-item label="经营期限至 " prop="jyqxz1">
-              <el-input
-                v-model="form.jyqxz1"
-                placeholder="请输入经营期限至 "
-              ></el-input>
-            </el-form-item>
-
-            <el-form-item label="主营业务 " prop="zyyw">
-              <el-input
-                v-model="form.zyyw"
-                placeholder="请输入主营业务 "
-              ></el-input>
-            </el-form-item>
-
-            <el-form-item label="企业资质  " prop="qyzz">
-              <el-input
-                v-model="form.qyzz"
-                placeholder="请输入企业资质  "
-              ></el-input>
-            </el-form-item>
-            <el-form-item label="主要市场  " prop="zysc">
-              <el-input
-                v-model="form.zysc"
-                placeholder="请输入主要市场  "
-              ></el-input>
-            </el-form-item>
-            <el-form-item label="一般纳税人情况  " prop="ybnsrqk">
-              <el-input
-                v-model="form.ybnsrqk"
-                placeholder="请输入一般纳税人情况  "
-              ></el-input>
-            </el-form-item>
-            <el-form-item label="国家级奖项、发明专利   " prop="gjjjxfmzl">
-              <el-input
-                v-model="form.gjjjxfmzl"
-                placeholder="请输入国家级奖项、发明专利   "
-              ></el-input>
-            </el-form-item>
-            <el-form-item label="AEO情况   " prop="aeoqk">
-              <el-input
-                v-model="form.aeoqk"
-                placeholder="请输入AEO情况   "
-              ></el-input>
-            </el-form-item>
-            <el-form-item
-              label="检测、服务外包、文化服务创新   "
-              prop="jcfwwbwhfwcx"
-            >
-              <el-input
-                v-model="form.jcfwwbwhfwcx"
-                placeholder="请输入检测、服务外包、文化服务创新   "
-              ></el-input>
-            </el-form-item>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="控股企业 " prop="kgqy">
+                  <el-input
+                    v-model="form.kgqy"
+                    placeholder="请输入控股企业 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="行业大类 " prop="hydl">
+                  <el-input
+                    v-model="form.hydl"
+                    placeholder="请输入行业大类 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="行业小类 " prop="hyxl">
+                  <el-input
+                    v-model="form.hyxl"
+                    placeholder="请输入行业小类 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="是否外资企业 " prop="sfwzqy">
+                  <el-input
+                    v-model="form.sfwzqy"
+                    placeholder="请输入是否外资企业 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="企业海关编码 " prop="qyhgbm">
+                  <el-input
+                    v-model="form.qyhgbm"
+                    placeholder="请输入企业海关编码 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="投产时间 " prop="tcsj">
+                  <!-- <el-input  v-model="form.tcsj" placeholder="请输入投产时间 "></el-input> -->
+                  <el-date-picker
+                    value-format="yyyy-MM-dd"
+                    @change="putTimeSelect"
+                    v-model="form.tcsj"
+                    type="date"
+                    placeholder="选择日期"
+                  >
+                  </el-date-picker>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="经营期限自 " prop="jyqxz">
+                  <el-input
+                    v-model="form.jyqxz"
+                    placeholder="请输入经营期限自 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="经营期限至 " prop="jyqxz1">
+                  <el-input
+                    v-model="form.jyqxz1"
+                    placeholder="请输入经营期限至 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="主营业务 " prop="zyyw">
+                  <el-input
+                    v-model="form.zyyw"
+                    placeholder="请输入主营业务 "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="企业资质  " prop="qyzz">
+                  <el-input
+                    v-model="form.qyzz"
+                    placeholder="请输入企业资质  "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="主要市场  " prop="zysc">
+                  <el-input
+                    v-model="form.zysc"
+                    placeholder="请输入主要市场  "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="一般纳税人情况  " prop="ybnsrqk">
+                  <el-input
+                    v-model="form.ybnsrqk"
+                    placeholder="请输入一般纳税人情况  "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item label="国家级奖项、发明专利   " prop="gjjjxfmzl">
+                  <el-input
+                    v-model="form.gjjjxfmzl"
+                    placeholder="请输入国家级奖项、发明专利   "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12">
+                <el-form-item label="AEO情况   " prop="aeoqk">
+                  <el-input
+                    v-model="form.aeoqk"
+                    placeholder="请输入AEO情况   "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row>
+              <el-col :span="12">
+                <el-form-item
+                  label="检测、服务外包、文化服务创新   "
+                  prop="jcfwwbwhfwcx"
+                >
+                  <el-input
+                    v-model="form.jcfwwbwhfwcx"
+                    placeholder="请输入检测、服务外包、文化服务创新   "
+                  ></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="12"></el-col>
+            </el-row>
           </el-form>
         </el-tab-pane>
       </el-tabs>
-      <!-- <el-form> 
+      <!-- <el-form>
         <h1>123</h1>
       </el-form> -->
 
@@ -431,7 +578,7 @@ export default {
   data() {
     return {
       // 新增标签索引
-      tabMsg:"basicMsg",
+      tabMsg: "basicMsg",
       // 部门列表
       detpList: [],
 
@@ -709,16 +856,14 @@ export default {
     /** 提交按钮 */
     submitForm() {
       let is;
-      this.$refs["forms"].validate((valid)=>{
-        if (valid) {
-        
-        }else{
-          this.$message.error("请补齐企业基本信息")
+      this.$refs["forms"].validate((valid) => {
+        if (!valid) {
+          this.$message.error("请补齐企业基本信息");
           is = true;
           return;
         }
       });
-      
+
       if (is) return;
 
       this.$refs["form"].validate((valid) => {
@@ -736,7 +881,7 @@ export default {
               this.getList();
             });
           }
-        }else{
+        } else {
           this.$message.error("请补齐额外信息");
           return;
         }
@@ -769,3 +914,7 @@ export default {
   },
 };
 </script>
+
+<style>
+.el-tooltip__popper{font-size: 14px; max-width:40% }/* 设置显示隐藏部分内容,按40%显示 */
+</style>

+ 33 - 11
src/views/GATHER/index.vue

@@ -247,7 +247,7 @@
             v-if="scope.row.approveStatus == 0 && scope.row.approveTime == null"
             >未审核</span
           >
-          
+
           <span v-if="scope.row.approveStatus == 1">审核通过</span>
           <span v-if="scope.row.approveStatus == 2">审核拒绝</span>
         </template>
@@ -474,7 +474,7 @@
           <template v-for="listItem in form.feeLists">
             <el-form
               v-if="listItem.normId == item.normId"
-              :rules="validatorList(listItem.normfeeName)"
+              :rules="validatorList(listItem.normfeeCode,listItem.normfeeName)"
               :model="listItem"
               :ref="'form' + listItem.normfeeId"
               :key="listItem.normfeeId"
@@ -669,6 +669,7 @@
 <script>
 import { getInfo } from "@/api/login.js";
 import {
+  compute,
   listGATHER,
   getGATHER,
   delGATHER,
@@ -825,10 +826,29 @@ export default {
         callback();
       }
     },
-    validatorList(name) {
+    validatorList(code,name) {
       if (typeof name != "string") return;
 
-      if (
+      if(code == 'A001' || code == 'A002' || code == 'A003' || code == 'A004' || code == 'A005' || code == 'A006' || code == 'A007' || code == 'A008' ||
+        code == 'C002' || code == 'C003' || code == 'D001' ||
+        code == 'E001' || code == 'E002' || code == 'E003' || code == 'E004' ||
+        code == 'F001' || code == 'F002'
+      ) {
+        return {
+          collCalue: [
+            { required: true, message: "不能为空", trigger: "blur" },
+            { trigger: "blur", validator: this.validatorFloatNum },
+          ],
+        };
+      } else if(code == 'A009' || code == 'A010') {
+        return {
+          collCalue: [
+            { required: true, message: "不能为空", trigger: "blur" },
+            { pattern: /^[1-9]\d*$/, message: "请输入正整数", trigger: "blur" },
+          ],
+        };
+      }
+      /*if (
         name.includes("增幅") ||
         name.includes("验收率") ||
         name.includes("开发率") ||
@@ -840,7 +860,7 @@ export default {
             { trigger: "blur", validator: this.validatorFloatNum },
           ],
         };
-      }
+      }*/
 
       // if (name == '期末单位面积企业从业人员' || name == '活跃企业数' || name == '期末企业从业人员') {
       //   return {
@@ -857,7 +877,7 @@ export default {
       //     ]
       //   };
       // }
-      switch (name) {
+      /*switch (name) {
         case "期末单位面积企业从业人员":
         case "活跃企业数":
         case "期末企业从业人员":
@@ -881,7 +901,7 @@ export default {
             ],
           };
           break;
-      }
+      }*/
     },
     importFile(param) {
       let title = param.mark == "1" ? "海关一般数据导入" : "海关特殊数据导入";
@@ -1168,7 +1188,7 @@ export default {
       });
     },
 
-   
+
     handleAudit(row) {
       let data = {
         type: "1",
@@ -1274,9 +1294,11 @@ export default {
         .then(() => {
           if (type == "add") {
             addGATHER(this.form).then((response) => {
-              this.$modal.msgSuccess("录入成功");
-              this.open = false;
-              this.getList();
+              compute(this.form).then((response) => {
+                this.$modal.msgSuccess("录入成功");
+                this.open = false;
+                this.getList();
+              });
             });
           } else if (type == "edit") {
             updateGATHER(this.form).then((response) => {

+ 3 - 0
src/views/IMPORTANTPROJECT/index.vue

@@ -245,6 +245,7 @@
 
         <el-form-item label="年度投资计划 " prop="ndtzjh">
           <el-input
+            type="number"
             v-model="form.ndtzjh"
             placeholder="请输入年度投资计划 "
           ></el-input>
@@ -252,6 +253,7 @@
 
         <el-form-item label="实际完成投资额 " prop="sjwctze">
           <el-input
+            type="number"
             v-model="form.sjwctze"
             placeholder="请输入实际完成投资额 "
           ></el-input>
@@ -259,6 +261,7 @@
 
         <el-form-item label="年度投资完成百分比 " prop="ndtzwcbfb">
           <el-input
+            type="number"
             v-model="form.ndtzwcbfb"
             placeholder="请输入年度投资完成百分比 "
           ></el-input>

+ 443 - 0
src/views/RightDistribution/index.vue

@@ -0,0 +1,443 @@
+<template>
+  <div class="app-container">
+    <el-form
+      :model="queryParams"
+      ref="queryForm"
+      size="small"
+      :inline="true"
+      v-show="showSearch"
+      label-width="68px"
+    >
+      <el-form-item label="是否启用" prop="status">
+        <el-select
+          v-model="queryParams.status"
+          placeholder="请选择"
+          clearable
+          filterable
+        >
+          <el-option
+            v-for="dict in statusOpt"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item>
+        <el-button
+          type="primary"
+          icon="el-icon-search"
+          size="mini"
+          @click="handleQuery"
+          >搜索</el-button
+        >
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
+          >重置</el-button
+        >
+      </el-form-item>
+    </el-form>
+
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['business:NORMROLE:add']"
+          >新增</el-button
+        >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['business:NORMROLE:edit']"
+          >修改</el-button
+        >
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['business:NORMROLE:remove']"
+          >删除</el-button
+        >
+      </el-col>
+      <!-- <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          @click="handleExport"
+          v-hasPermi="['business:NORMROLE:export']"
+          >导出</el-button
+        >
+      </el-col> -->
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
+    </el-row>
+
+    <el-table :data="NORMROLEList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+
+      <el-table-column label="指标名称" align="center">
+        <template slot-scope="scope">
+          <!-- <el-link
+            @click="tableBdClick(scope.row)"
+            class="text-color"
+            type="primaty"> -->
+          {{ scope.row.fname }}
+          <!-- </el-link> -->
+        </template>
+      </el-table-column>
+      <el-table-column label="指标编号" align="center" prop="feeId">
+      </el-table-column>
+      <el-table-column label="排序" align="center" prop="senId">
+      </el-table-column>
+      <el-table-column label="是否启用" align="center" prop="status">
+        <template slot-scope="scope">
+          <el-switch
+            v-model="scope.row.status"
+            @change="statusChange(scope.row)"
+          ></el-switch>
+        </template>
+      </el-table-column>
+      <el-table-column label="备注" align="center" prop="remark">
+      </el-table-column>
+      <el-table-column
+        label="操作"
+        align="center"
+        class-name="small-padding fixed-width"
+      >
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['business:NORMROLE:edit']"
+            >修改</el-button
+          >
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['business:NORMROLE:remove']"
+            >删除</el-button
+          >
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改指标采集权限配置对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="35%" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="选择角色" prop="senId">
+          <el-select filterable v-model="form.senId" placeholder="请选择">
+            <el-option
+              v-for="item in roleList"
+              :key="item.value"
+              :label="item.roleName"
+              :value="item.roleId"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="选择指标" prop="feeId">
+          <el-select filterable v-model="form.feeId" placeholder="请选择">
+            <el-option
+              v-for="item in indList"
+              :key="item.value"
+              :label="item.fname"
+              :value="item.id"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm">确 定</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+    
+  </div>
+</template>
+
+<script>
+import {
+  listNORMROLE,
+  getNORMROLE,
+  delNORMROLE,
+  addNORMROLE,
+  updateNORMROLE,
+  setNORMROLEStop,
+  setNORMROLEStart,
+  listAllNORMROLE,
+  getNORMROLEAllList,
+} from "@/api/portal/RightDistribution/RightDistribution";
+
+import { listRole } from "@/api/system/role";
+
+export default {
+  name: "NORMROLE",
+  data() {
+    return {
+      roleValue: "",
+      indValue: "",
+
+      statusOpt: [
+        {
+          label: "未启用",
+          value: 0,
+        },
+        {
+          label: "启用",
+          value: 1,
+        },
+      ],
+      // 根路径
+      baseURL: process.env.VUE_APP_BASE_API,
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 指标采集权限配置表格数据
+      NORMROLEList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        id: null,
+        createTime: null,
+        createBy: null,
+        updateTime: null,
+        updateBy: null,
+        delFlag: null,
+        deptId: null,
+        feeId: null,
+        senId: null,
+        status: null,
+        startTime: null,
+        stopTime: null,
+        remark: null,
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        roleId: [{ required: true, message: "角色不能为空", trigger: "blur" }],
+        ind: [{ required: true, message: "指标不能为空", trigger: "blur" }],
+        deptId: [
+          { required: true, message: "部门id不能为空", trigger: "blur" },
+        ],
+        feeId: [{ required: true, message: "指标不能为空", trigger: "blur" }],
+        senId: [{ required: true, message: "角色不能为空", trigger: "blur" }],
+        status: [
+          {
+            required: true,
+            message: "是否启用(1=启用,0不启用)不能为空",
+            trigger: "blur",
+          },
+        ],
+        startTime: [
+          { required: true, message: "启用时间不能为空", trigger: "blur" },
+        ],
+        stopTime: [
+          { required: true, message: "停用时间不能为空", trigger: "blur" },
+        ],
+        remark: [{ required: true, message: "备注不能为空", trigger: "blur" }],
+      },
+      indList: [],
+      roleList: [],
+    };
+  },
+  created() {
+    this.getList();
+    this.getNormroleallList();
+    this.getRoleList();
+  },
+  methods: {
+    statusChange(val) {
+      if (val.status == 0) {
+        setNORMROLEStart(val.id).then((res) => {
+          if (res.code == 200) {
+            this.$message.success("修改成功");
+          }
+        });
+      } else {
+        setNORMROLEStop(val.id).then((res) => {
+          if (res.code == 200) {
+            this.$message.success("修改成功");
+          }
+        });
+      }
+      this.getList();
+    },
+
+    tableBdClick(data) {
+      this.queryParams.id = data.senId;
+      listNORMROLE(this.pageParams).then((res) => {
+        console.log(res);
+      });
+    },
+
+    // 查询指标采集权限配置所有列表
+    getNormroleallList() {
+      getNORMROLEAllList().then((res) => {
+        this.indList = res.data;
+      });
+    },
+
+    // 查询角色列表
+    getRoleList() {
+      listRole().then((res) => {
+        this.roleList = res.rows;
+      });
+    },
+    /** 查询指标采集权限配置列表 */
+    getList() {
+      this.loading = true;
+      listNORMROLE(this.queryParams).then((response) => {
+        response.rows.forEach((item, index) => {
+          response.rows[index].status = item.status == 0 ? false : true;
+        });
+        this.NORMROLEList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        delFlag: null,
+        deptId: null,
+        feeId: null,
+        senId: null,
+        status: null,
+        startTime: null,
+        stopTime: null,
+        remark: null,
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map((item) => item.id);
+      this.single = selection.length !== 1;
+      this.multiple = !selection.length;
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加指标采集权限配置";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const id = row.id || this.ids;
+      getNORMROLE(id).then((response) => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改指标采集权限配置";
+      });
+    },
+    /** 提交按钮 */
+    submitForm() {
+      this.$refs["form"].validate((valid) => {
+        if (valid) {
+          if (this.form.id != null) {
+            updateNORMROLE(this.form).then((response) => {
+              this.$modal.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            this.form.status = 1;
+            addNORMROLE(this.form).then((response) => {
+              this.$modal.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$modal
+        .confirm('是否确认删除指标采集权限配置编号为"' + ids + '"的数据项?')
+        .then(function () {
+          return delNORMROLE(ids);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("删除成功");
+        })
+        .catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      this.download(
+        "/NORMROLE/export",
+        {
+          ...this.queryParams,
+        },
+        `NORMROLE_${new Date().getTime()}.xlsx`
+      );
+    },
+  },
+};
+</script>

+ 52 - 2
src/views/norm/feeindex.vue

@@ -81,6 +81,22 @@
           width="150"
         />
         <el-table-column
+          label="指标编码"
+          align="center"
+          prop="fcode"
+          width="150"
+        />
+        <el-table-column
+          label="计算公式"
+          align="center"
+          prop="formula"
+          width="150"
+        >
+          <template slot-scope="scope">
+            <el-link style="text-decoration: underline;color: #36aafd" @click="formulaDialog(scope.row.id,scope.row.formula)">{{scope.row.formula}}</el-link>
+          </template>
+        </el-table-column>
+        <el-table-column
           label="计量单位"
           align="center"
           prop="funit_dictText"
@@ -164,6 +180,13 @@
               v-hasPermi="['business:NORMFEE:remove']"
               >删除</el-button
             >
+            <el-button
+              size="mini"
+              type="text"
+              icon="el-icon-edit"
+              @click="formulaDialog(scope.row.id,scope.row.formula)"
+              v-hasPermi="['business:NORMFEE:edit']"
+            >计算公式</el-button>
           </template>
         </el-table-column>
       </el-table>
@@ -248,6 +271,9 @@
         </div>
       </el-dialog>
     </div>
+
+    <formula @closeFormulaHandler="closeFormulaHandler" @dataFormulaHandler="dataFormulaHandler" :id="id" :normId="normId" reset :isShowFormulaDialog="isShowFormulaDialog" />
+
   </el-dialog>
 </template>
 
@@ -259,6 +285,7 @@ import {
   addNORMFEE,
   updateNORMFEE,
 } from "@/api/norm/NORMFEE";
+import formula from './formula';
 
 import { listData } from "@/api/system/dict/data";
 
@@ -266,6 +293,9 @@ import { formatDate } from "@/utils/index";
 
 export default {
   name: "NORMFEE",
+  components: {
+    formula
+  },
   props: {
     isShowNormDialog: {
       type: Boolean,
@@ -311,7 +341,8 @@ export default {
       showSearch: true,
       // 总条数
       total: 0,
-
+      isShowFormulaDialog: false,
+      id: '',
       // 弹出层标题
       title: "",
       // 是否显示弹出层
@@ -388,10 +419,27 @@ export default {
     this.getList();
   },
   methods: {
+    formulaDialog(id,formula) {
+      this.isShowFormulaDialog = true;
+      this.id = id;
+    },
+    dataFormulaHandler(data) {
+      this.isShowFormulaDialog = false;
+      console.log("dataHandler111",data)
+      this.queryParams.normId = data;
+      console.log("11111111111",this.queryParams)
+      listNORMFEE(this.queryParams).then((response) => {
+        response.rows.forEach((item, index) => {
+          response.rows[index].status = item.status == 0 ? false : true;
+        });
+        this.normData = response.rows;
+      });
+    },
     /** 查询指标权重明细列表 */
     getList() {
       this.loading = true;
       this.queryParams.normId = this.normId;
+      console.log("11111111111",this.queryParams)
       listNORMFEE(this.queryParams).then((response) => {
         response.rows.forEach((item, index) => {
           response.rows[index].status = item.status == 0 ? false : true;
@@ -571,7 +619,9 @@ export default {
     closeHandler() {
       this.$emit("closeHandler");
     },
-
+    closeFormulaHandler() {
+      this.isShowFormulaDialog = false;
+    },
     // 选择单位处理
     selUnitHandler(val) {
       this.form.funit = val;

+ 357 - 0
src/views/norm/formula.vue

@@ -0,0 +1,357 @@
+<template>
+  <el-dialog title="编辑计算公式" width="700px"
+             :visible.sync="isShowFormulaDialog"
+             :before-close="closeFormulaHandler"
+             @close="close"
+  >
+    <el-form ref="add_metadata_form" label-width="50px" :model="add_metadata_form" :rules="add_metadata_rules">
+
+      <!--设置等式中指标元素的样式-->
+      <div class="outside_border">
+        <div class="fee">指标元素
+          <el-button size="mini" class="fee_button" @click="input">
+            <i class="el-icon-plus" style="color: white;font-weight: bolder;display: flex;justify-content: center;align-items: center"></i>
+          </el-button>
+        </div>
+
+        <!--设置指标元素下拉框空白部分(默认显示添加下拉框之后隐藏)-->
+        <div style="height: 30px;" v-show="feeBoxShow"></div>
+
+        <!--设置指标元素下拉框的效果(默认隐藏点击添加按钮之后显示)-->
+        <div v-for="(item,index) in inputData" :key="item.id" v-show="add_metadata_inside_select" class="fee_inside_style">
+          <el-form-item :label="item.id">
+            <el-select style="width: 400px;" v-model="addMetadataSelect[index]" value-key="id" @change="metadataSelect(addMetadataSelect[index])">
+              <el-option v-for="(inside_item,index) in  NORMFEEList" :key="index" :value="inside_item.fcode" :label="inside_item.fname"></el-option>
+            </el-select>
+          </el-form-item>
+        </div>
+      </div>
+      <br/>
+
+      <!--设置计算公式的样式-->
+      <div class="outside_border">
+        <div class="add_metadata_left">计算公式</div>
+        <div style="display:flex;justify-content: space-around;margin: 15px">
+          <el-input class="input-border-style" id="number_input" v-model="number_input" :readonly="true"/>
+          <el-button type="danger" style="margin: 0 10px;" @click="number_input_delete">回删</el-button>
+        </div>
+
+        <!--实现新增统计指标弹窗计算公式的按钮方法-->
+        <div>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc(1)">
+            <span class="add_metadata_compute_number">1</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc(2)">
+            <span class="add_metadata_compute_number">2</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc(3)">
+            <span class="add_metadata_compute_number">3</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc(4)">
+            <span class="add_metadata_compute_number">4</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc(5)">
+            <span class="add_metadata_compute_number">5</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc(6)">
+            <span class="add_metadata_compute_number">6</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc(7)">
+            <span class="add_metadata_compute_number">7</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc(8)">
+            <span class="add_metadata_compute_number">8</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc(9)">
+            <span class="add_metadata_compute_number">9</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc(0)">
+            <span class="add_metadata_compute_number">0</span>
+          </el-button>
+          <br/>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc('(')">
+            <span class="add_metadata_compute_number">(</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc(')')">
+            <span class="add_metadata_compute_number">)</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc('+')">
+            <span class="add_metadata_compute_number">+</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc('-')">
+            <span class="add_metadata_compute_number">-</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc('*')">
+            <span class="add_metadata_compute_number">*</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc('/')">
+            <span class="add_metadata_compute_number">/</span>
+          </el-button>
+          <el-button size="mini" class="add_metadata_right_outside_button" @click="calc('.')">
+            <span class="add_metadata_compute_number">.</span>
+          </el-button>
+          <br/>
+
+          <div style="display: flex;flex-wrap: wrap">
+            <div v-show="add_metadata_inside_select">
+              <el-button size="mini" class="add_metadata_right_outside_cell_button"
+                         v-for="(item,index) in inputData"
+                         :key="index"
+                         @click="cell(addMetadataSelect[index])"
+              >
+                <span class="add_metadata_compute_number">{{ item.id }}</span>
+              </el-button>
+            </div>
+          </div>
+
+          <el-button type="danger" class="clear_compute" @click="clear_compute_btn">清空计算公式</el-button>
+        </div>
+      </div>
+
+    </el-form>
+
+    <div slot="footer" class="dialog-footer">
+      <el-button type="primary" @click="submit">确 定</el-button>
+      <el-button @click="cancel">取 消</el-button>
+    </div>
+  </el-dialog>
+</template>
+
+<script>
+  import { listNORMFEE, updateFormulaById } from "@/api/norm/NORMFEE";
+  export default {
+    name: 'formula',
+    data() {
+      return {
+        // 存放新增统计指标弹窗等式右边元素的添加按钮数据
+        inputData: [],
+        // 存放新增统计指标弹窗计算公式的选中下拉框对应的code数据
+        metadataCode: '',
+        // 存放新增统计指标弹窗计算公式的选中下拉框对应的name数据
+        metadataName: '',
+        // 存放新增统计指标弹窗计算公式的选中下拉框对应的code和name数据
+        add_metadata_name_and_code: [],
+        // 新增指标信息弹窗等式右边元素的下拉框递增
+        dataNum: 1,
+        // 新增指标元素的下拉框默认隐藏
+        add_metadata_inside_select: false,
+        feeBoxShow: true,
+        // 修改指标信息的标题
+        update_metadata_title: '',
+        // 修改指标信息的弹窗
+        update_metadata_open: false,
+        // 存放新增指标信息的表单数据
+        add_metadata_form: {},
+        // 存放新增统计指标计算公式输入框的值
+        number_input: '',
+        // 存放新增统计指标计算公式输入框的值(name)
+        no_show_number_input: '',
+        // 存放修改指标信息的表单数据
+        update_metadata_form: {},
+        // 新增添加指标弹窗等式右边元素的下拉框
+        NORMFEEList: [],
+        addMetadataSelect: [],
+        metadataList: [],
+        // 新增指标信息的校验方法
+        add_metadata_rules: {
+          statistical_object_name: [{ required: true, message: '请输入指标名称', trigger: 'blur' }],
+          name_code: [{ required: true, message: '请输入编号', trigger: 'blur' }],
+          unit: [{ required: true, message: '请输入单位', trigger: 'blur' }]
+        },
+      }
+    },
+    props: {
+      isShowFormulaDialog: {
+        type: Boolean,
+        default: () => {
+          return false;
+        },
+      },
+      id: {
+        type: String,
+        defaultL: () => {
+          return null;
+        },
+      },
+      normId: {
+        type: String,
+        default: () => {
+          return null;
+        },
+      },
+    },
+    mounted() {
+      listNORMFEE().then((response) => {
+        response.rows.forEach((item, index) => {
+          response.rows[index].status = item.status == 0 ? false : true;
+        });
+        this.NORMFEEList = response.rows;
+      });
+    },
+    methods: {
+      close () {
+        this.addMetadataSelect = [];
+        this.no_show_number_input = '';
+      },
+      // 关闭Dialog窗口
+      closeFormulaHandler() {
+        this.$emit("closeFormulaHandler");
+      },
+      cancel() {
+        this.isShowFormulaDialog = false;
+      },
+      // 回删功能
+      number_input_delete() {
+        this.number_input = this.number_input.replace(/.$/, '')
+        this.no_show_number_input = this.no_show_number_input.replace(/.$/, '')
+      },
+      // 指标元素下拉框的改变方法
+      metadataSelect(val) {
+        console.log("111111111",val)
+        let metadataCode = ''
+        let metadataName = ''
+        let metadataId = ''
+        for (let i = 0; i < this.inputData.length; i++) {
+          for (let j = 0; j < this.inputData[i].data.length; j++) {
+            if (val == this.inputData[i].data[j].fname) {
+              metadataCode = (this.inputData[i].data[j].fcode)
+              metadataName = (this.inputData[i].data[j].fname)
+              metadataId = (this.inputData[i].id)
+            }
+          }
+        }
+        this.metadataCode = metadataCode
+        this.metadataName = metadataName
+        this.add_metadata_name_and_code = [{
+          name: this.metadataName,
+          code: this.metadataCode,
+          id: metadataId
+        }]
+      },
+      // 计算公式的按钮方法
+      calc(number) {
+        this.number_input = this.number_input + number
+        this.no_show_number_input = this.no_show_number_input + number
+      },
+      // 新增选择下拉框对应的按钮方法
+      cell(data) {
+        console.log("22222222",data)
+        // 拿到对应的编码
+        let select_data_code = ''
+        // 拿到对应的名称
+        let select_data_name = ''
+        for (let i = 0; i < this.NORMFEEList.length; i++) {
+          if (data == this.NORMFEEList[i].fcode) {
+            select_data_code = (this.NORMFEEList[i].fcode)
+            select_data_name = (this.NORMFEEList[i].fname)
+          }
+        }
+        this.number_input = this.number_input  + select_data_name
+        this.no_show_number_input = this.no_show_number_input + select_data_code
+
+      },
+      // 实现指标元素添加输入框的按钮
+      input() {
+        this.feeBoxShow = false
+        this.add_metadata_inside_select = true
+        this.inputData.push({
+          id: 'cell' + this.dataNum++,
+          data: this.metadataList
+        })
+      },
+      // 清空计算公式的按钮实现
+      clear_compute_btn() {
+        this.number_input = ''
+        this.no_show_number_input = ''
+      },
+      // 实现新增指标信息弹窗的确定按钮方法
+      submit() {
+        this.$refs['add_metadata_form'].validate(valid => {
+          if (valid) {
+            // 拿到下拉框的全部数据
+            console.log("33333",this.addMetadataSelect)
+            //拿到输入框的数据
+            console.log("444444",this.no_show_number_input,"555555",this.id)
+            updateFormulaById({formula: this.no_show_number_input, id: this.id}).then((response) => {
+              this.$emit("dataFormulaHandler",this.normId);
+              this.$modal.msgSuccess("修改成功");
+              this.addMetadataSelect = [];
+              this.number_input = '';
+              this.no_show_number_input = '';
+            });
+          }
+        })
+
+      },
+    }
+  }
+</script>
+
+<style scoped>
+  /*设置新增添加指标弹窗的表格外边框样式*/
+  .outside_border {
+    border: 1px solid #c7c6c6;
+    border-radius: 5px
+  }
+  /*设置新增添加指标弹窗的表格等式右边元素的样式*/
+  .fee {
+    background-color: #f5f1f1;
+    height: 50px;
+    padding: 10px
+  }
+  /*设置新增统计指标弹窗的等式右边元素添加按钮的样式*/
+  .fee_button {
+    margin: 0 5px;
+    background: rgb(64, 142, 186);
+    width: 20px;
+  }
+
+
+  /*设置新增添加指标弹窗的表格等式左边元素的样式*/
+  .add_metadata_left {
+    background-color: #f5f1f1;
+    height: 40px;
+    padding: 10px;
+    border-radius: 5px
+  }
+
+
+
+
+  /*设置新增统计指标弹窗的计算公式按钮外部的样式*/
+  .add_metadata_right_outside_button {
+    background: rgb(64, 142, 186);
+    width: 20px;
+    margin: 10px 13px;
+  }
+
+  /*设置新增统计指标弹窗的计算公式按钮cell的样式*/
+  .add_metadata_right_outside_cell_button {
+    background: rgb(64, 142, 186);
+    width: 50px;
+    margin: 10px 13px;
+  }
+
+  /*设置新增统计指标弹窗的等式右边元素下拉框的外部样式的样式*/
+  .fee_inside_style {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    margin: 15px;
+  }
+
+  /*设置新增统计指标弹窗的计算公式的按钮*/
+  .add_metadata_compute_number {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    color: white
+  }
+
+  /*设置新增统计指标弹窗的计算公式的清空计算公式的样式*/
+  .clear_compute {
+    width: 535px;
+    margin: 12px
+  }
+
+</style>

+ 1 - 1
src/views/norm/quotaBonded.vue

@@ -104,7 +104,7 @@
           <el-link style="text-decoration: underline;color: #36aafd" @click="download(scope.row.fileNames)">{{scope.row.fileNames}}</el-link>
         </template>
       </el-table-column>
-      <el-table-column label="操作" align="center" fixed="right" width="350">
+      <el-table-column label="操作" align="center" fixed="right" width="180">
         <template slot-scope="scope">
           <el-button
             v-if="scope.row.auditStatus == 0 || scope.row.auditStatus == null"