浏览代码

Merge branch 'master' into hezhihong修复bug

hezhihong 1 年之前
父节点
当前提交
08912e733b

+ 4 - 2
.env.development

@@ -5,10 +5,12 @@ VUE_APP_TITLE = 综合保税区管理系统
 ENV = 'development'
 
 # 综合保税区管理系统/开发环境
-# 本地
+
+# 本地服务地址
 VUE_APP_BASE_IP = 'http://localhost:9527'
 
-# VUE_APP_BASE_IP = 'http://106.55.241.82:9528'
+# 远端服务地址
+# VUE_APP_BASE_IP = 'http://bsq-server.aseanbusiness.cn:80'
 
 VUE_APP_BASE_API = '/dev-api'
 

+ 2 - 0
src/api/portal/ENTERPRISESCREENDATA/ENTERPRISESCREENDATA.js

@@ -51,3 +51,5 @@ export function delENTERPRISESCREENDATA(id) {
     method: 'get'
   })
 }
+
+

+ 126 - 137
src/views/GARDENBASEDATA/index.vue

@@ -8,9 +8,17 @@
       v-show="showSearch"
       label-width="88px"
     >
-      <el-form-item label="部门名称" prop="deptName">
-        <el-input v-model="queryParams.deptName" placeholder="请输入"></el-input>
-      </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>
@@ -86,11 +94,11 @@
       @selection-change="handleSelectionChange"
     >
       <el-table-column type="selection" width="55" align="center" />
-      <!-- <el-table-column label="园区内企业基础数据主键" align="center" prop="id">
+      <el-table-column label="园区内企业基础数据主键" align="center" prop="id">
       </el-table-column>
       <el-table-column label="部门主键" align="center" prop="deptId">
-      </el-table-column> -->
-      <el-table-column label="企业名称" align="center" prop="deptName">
+      </el-table-column>
+      <el-table-column label="部门名称" align="center" prop="deptName">
       </el-table-column>
       <el-table-column label="法定代表人 " align="center" prop="fddbr">
       </el-table-column>
@@ -194,22 +202,25 @@
     />
 
     <!-- 添加或修改园区内企业基础数据对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="65%" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="180px">
-        <el-row>
-          <el-col :span="12">
+    <el-dialog :title="title" :visible.sync="open" 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-col>
-          <el-col :span="12">
-            <el-form-item label="企业" prop="fddbr">
-              <el-select v-model="detpValue" @change="deptSelect" placeholder="请选择企业">
+
+            <el-form-item label="部门" prop="deptName">
+              <el-select
+                v-model="form.deptName"
+                @change="deptSelect"
+                placeholder="请选择部门"
+              >
                 <el-option
-                  v-for="(item,index) in detpList"
+                  v-for="(item, index) in detpList"
                   :key="index"
                   :label="item.deptName"
                   :value="index"
@@ -217,102 +228,45 @@
                 </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="kgqy">
-              <el-input
-                v-model="form.kgqy"
-                placeholder="请输入控股企业 "
-              ></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <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-col :span="12">
-            <el-form-item label="行业大类 " prop="hydl">
               <el-input
-                v-model="form.hydl"
-                placeholder="请输入行业大类 "
+                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="hyxl">
-              <el-input
-                v-model="form.hyxl"
-                placeholder="请输入行业小类 "
-              ></el-input>
-            </el-form-item>
-          </el-col>
-          <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-row>
-        <el-row>
-          <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-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="qyhgbm">
+
+            <el-form-item label="人员规模" prop="rygm">
               <el-input
-                v-model="form.qyhgbm"
-                placeholder="请输入企业海关编码 "
+                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="rygm">
-              <el-input v-model="form.rygm" placeholder="请输入人员规模"></el-input>
-            </el-form-item>
-          </el-col>
-          <el-col :span="12">
             <el-form-item label="成立日期 " prop="clrq">
               <!-- <el-input  v-model="form.clrq" placeholder="请输入成立日期 "></el-input> -->
               <el-date-picker
@@ -324,10 +278,59 @@
               >
               </el-date-picker>
             </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <el-col :span="12">
+            <el-form-item label="注册地址 " prop="zcdz">
+              <el-input
+                v-model="form.zcdz"
+                placeholder="请输入注册地址 "
+              ></el-input>
+            </el-form-item>
+
+            <el-form-item label="经营范围  " prop="jyfw">
+              <el-input
+                v-model="form.jyfw"
+                placeholder="请输入经营范围  "
+              ></el-input>
+            </el-form-item>
+          </el-form>
+        </el-tab-pane>
+
+        <!-- 额外信息 -->
+        <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
@@ -339,98 +342,56 @@
               >
               </el-date-picker>
             </el-form-item>
-          </el-col>
-          <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-row>
-        <el-row>
-          <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-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-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="jyfw">
-              <el-input
-                v-model="form.jyfw"
-                placeholder="请输入经营范围  "
-              ></el-input>
-            </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <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-col :span="12">
             <el-form-item label="主要市场  " prop="zysc">
               <el-input
                 v-model="form.zysc"
                 placeholder="请输入主要市场  "
               ></el-input>
             </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <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-col :span="12">
             <el-form-item label="国家级奖项、发明专利   " prop="gjjjxfmzl">
               <el-input
                 v-model="form.gjjjxfmzl"
                 placeholder="请输入国家级奖项、发明专利   "
               ></el-input>
             </el-form-item>
-          </el-col>
-        </el-row>
-        <el-row>
-          <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-col :span="12">
             <el-form-item
               label="检测、服务外包、文化服务创新   "
               prop="jcfwwbwhfwcx"
@@ -440,9 +401,13 @@
                 placeholder="请输入检测、服务外包、文化服务创新   "
               ></el-input>
             </el-form-item>
-          </el-col>
-        </el-row>
-      </el-form>
+          </el-form>
+        </el-tab-pane>
+      </el-tabs>
+      <!-- <el-form> 
+        <h1>123</h1>
+      </el-form> -->
+
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
@@ -465,9 +430,10 @@ export default {
   name: "GARDENBASEDATA",
   data() {
     return {
+      // 新增标签索引
+      tabMsg:"basicMsg",
       // 部门列表
       detpList: [],
-      detpValue:null,
 
       // 根路径
       baseURL: process.env.VUE_APP_BASE_API,
@@ -527,6 +493,7 @@ export default {
       },
       // 表单参数
       form: {},
+
       // 表单校验
       rules: {
         id: [
@@ -536,8 +503,8 @@ export default {
             trigger: "blur",
           },
         ],
-        deptId: [
-          { required: true, message: "部门主键不能为空", trigger: "blur" },
+        deptName: [
+          { required: true, message: "部门不能为空", trigger: "blur" },
         ],
         fddbr: [
           { required: true, message: "法定代表人 不能为空", trigger: "blur" },
@@ -584,10 +551,10 @@ export default {
           { required: true, message: "人员规模不能为空", trigger: "blur" },
         ],
         clrq: [
-          { required: true, message: "成立日期 不能为空", trigger: "change" },
+          { required: true, message: "成立日期 不能为空", trigger: "blur" },
         ],
         tcsj: [
-          { required: true, message: "投产时间 不能为空", trigger: "change" },
+          { required: true, message: "投产时间 不能为空", trigger: "blur" },
         ],
         jyqxz: [
           { required: true, message: "经营期限自 不能为空", trigger: "blur" },
@@ -644,7 +611,10 @@ export default {
     });
   },
   methods: {
-    deptSelect(val){
+    changeIsShowStatus(val) {
+      this.isShowStatus = val;
+    },
+    deptSelect(val) {
       this.form.deptId = this.detpList[val].deptId;
       this.form.deptName = this.detpList[val].deptName;
     },
@@ -670,6 +640,7 @@ export default {
     },
     // 表单重置
     reset() {
+      this.tabMsg = "basicMsg";
       this.form = {
         id: null,
         deptId: null,
@@ -700,6 +671,7 @@ export default {
         jcfwwbwhfwcx: null,
       };
       this.resetForm("form");
+      this.resetForm("forms");
     },
     /** 搜索按钮操作 */
     handleQuery() {
@@ -708,6 +680,7 @@ export default {
     },
     /** 重置按钮操作 */
     resetQuery() {
+      this.queryParams.deptId = null;
       this.resetForm("queryForm");
       this.handleQuery();
     },
@@ -735,6 +708,19 @@ export default {
     },
     /** 提交按钮 */
     submitForm() {
+      let is;
+      this.$refs["forms"].validate((valid)=>{
+        if (valid) {
+        
+        }else{
+          this.$message.error("请补齐企业基本信息")
+          is = true;
+          return;
+        }
+      });
+      
+      if (is) return;
+
       this.$refs["form"].validate((valid) => {
         if (valid) {
           if (this.form.id != null) {
@@ -750,6 +736,9 @@ export default {
               this.getList();
             });
           }
+        }else{
+          this.$message.error("请补齐额外信息");
+          return;
         }
       });
     },

+ 1 - 0
src/views/GARDENTRADEDATA/edit.vue

@@ -73,6 +73,7 @@
         ></el-input>
       </el-form-item>
     </el-form>
+
     <div class="mfooter">
       <el-button type="primary" @click="submitForm">确 定</el-button>
       <el-button @click="$layer.close(layerid)">取 消</el-button>

+ 433 - 153
src/views/GATHER/index.vue

@@ -7,83 +7,160 @@
       :inline="true"
       v-show="showSearch"
     >
-<!--      <el-form-item label="数据类型" prop="type">-->
-<!--        <el-select-->
-<!--          v-model="queryParams.type"-->
-<!--          placeholder="请选择数据类型"-->
-<!--          clearable-->
-<!--          filterable-->
-<!--          class="se"-->
-<!--        >-->
-<!--          <el-option-->
-<!--            v-for="dict in typeList"-->
-<!--            :key="dict.value + 'typeList'"-->
-<!--            :label="dict.label"-->
-<!--            :value="dict.value"-->
-<!--          />-->
-<!--        </el-select>-->
-<!--      </el-form-item>-->
+      <!--      <el-form-item label="数据类型" prop="type">-->
+      <!--        <el-select-->
+      <!--          v-model="queryParams.type"-->
+      <!--          placeholder="请选择数据类型"-->
+      <!--          clearable-->
+      <!--          filterable-->
+      <!--          class="se"-->
+      <!--        >-->
+      <!--          <el-option-->
+      <!--            v-for="dict in typeList"-->
+      <!--            :key="dict.value + 'typeList'"-->
+      <!--            :label="dict.label"-->
+      <!--            :value="dict.value"-->
+      <!--          />-->
+      <!--        </el-select>-->
+      <!--      </el-form-item>-->
       <el-form-item label="采集状态" prop="collStatus">
-        <el-select v-model="queryParams.collStatus" placeholder="请选择采集状态" clearable filterable class="se">
-          <el-option v-for="dict in collStatus" :key="dict.value + 'collStatus'" :label="dict.label"
-            :value="dict.value" />
+        <el-select
+          v-model="queryParams.collStatus"
+          placeholder="请选择采集状态"
+          clearable
+          filterable
+          class="se"
+        >
+          <el-option
+            v-for="dict in collStatus"
+            :key="dict.value + 'collStatus'"
+            :label="dict.label"
+            :value="dict.value"
+          />
         </el-select>
       </el-form-item>
       <el-form-item label="上报状态" prop="reportStatus">
-        <el-select v-model="queryParams.reportStatus" placeholder="请选择上报状态" clearable filterable class="se">
-          <el-option v-for="dict in reportStatus" :key="dict.value + 'reportStatus'" :label="dict.label"
-            :value="dict.value" />
+        <el-select
+          v-model="queryParams.reportStatus"
+          placeholder="请选择上报状态"
+          clearable
+          filterable
+          class="se"
+        >
+          <el-option
+            v-for="dict in reportStatus"
+            :key="dict.value + 'reportStatus'"
+            :label="dict.label"
+            :value="dict.value"
+          />
         </el-select>
       </el-form-item>
       <el-form-item label="审核状态" prop="approveStatus">
-        <el-select v-model="queryParams.approveStatus" placeholder="请选择审核状态" clearable filterable class="se">
-          <el-option v-for="dict in approveStatus" :key="dict.value + 'approveStatus'" :label="dict.label"
-            :value="dict.value" />
+        <el-select
+          v-model="queryParams.approveStatus"
+          placeholder="请选择审核状态"
+          clearable
+          filterable
+          class="se"
+        >
+          <el-option
+            v-for="(dict, index) in approveStatus"
+            :key="dict.value + 'approveStatus'"
+            :label="dict.label"
+            :value="dict.value"
+          />
         </el-select>
       </el-form-item>
       <el-form-item label="年度" prop="year">
-        <el-date-picker v-model="queryParams.year" type="year" format="yyyy" value-format="yyyy" placeholder="选择年度"
-          class="se"></el-date-picker>
+        <el-date-picker
+          v-model="queryParams.year"
+          type="year"
+          format="yyyy"
+          value-format="yyyy"
+          placeholder="选择年度"
+          class="se"
+        ></el-date-picker>
       </el-form-item>
       <el-form-item label="月份" prop="month">
-        <el-date-picker v-model="queryParams.month" type="month" format="MM" value-format="MM" placeholder="选择月份"
-          class="se"></el-date-picker>
+        <el-date-picker
+          v-model="queryParams.month"
+          type="month"
+          format="MM"
+          value-format="MM"
+          placeholder="选择月份"
+          class="se"
+        ></el-date-picker>
       </el-form-item>
       <el-form-item>
-        <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
+        <el-button type="primary" icon="el-icon-search" @click="handleQuery"
+          >搜索</el-button
+        >
         <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
       </el-form-item>
     </el-form>
 
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
-        <el-button type="success" @click="onOpenDialog('old')">历史数据导入</el-button>
+        <el-button type="success" @click="onOpenDialog('old')"
+          >历史数据导入</el-button
+        >
       </el-col>
       <el-col :span="1.5">
-        <el-button type="success" v-hasPermi="['gather:GATHER:upload']" @click="onOpenDialog('new')">导入</el-button>
+        <el-button
+          type="success"
+          v-hasPermi="['gather:GATHER:upload']"
+          @click="onOpenDialog('new')"
+          >导入</el-button
+        >
       </el-col>
       <el-col :span="1.5">
-        <el-button @click="handleDownload()" :title="radio === '' ? '请先选择下面对应的单位模板' : ''"
-          :disabled="radio === '' ? true : false">下载导入模板</el-button>
+        <el-button
+          @click="handleDownload()"
+          :title="radio === '' ? '请先选择下面对应的单位模板' : ''"
+          :disabled="radio === '' ? true : false"
+          >下载导入模板</el-button
+        >
       </el-col>
       <el-col :span="1.5">
-        <el-button type="danger" plain @click="importFile({ type: '0', mark: '1' })"
-          v-hasPermi="['gather:GATHER:upload']">海关部分贸易导入</el-button>
+        <el-button
+          type="danger"
+          plain
+          @click="importFile({ type: '0', mark: '1' })"
+          v-hasPermi="['gather:GATHER:upload']"
+          >海关部分贸易导入</el-button
+        >
       </el-col>
       <el-col :span="1.5">
-        <el-button type="danger" plain @click="importFile({ type: '0', mark: '2' })"
-          v-hasPermi="['gather:GATHER:upload']">海关进出口总值导入</el-button>
+        <el-button
+          type="danger"
+          plain
+          @click="importFile({ type: '0', mark: '2' })"
+          v-hasPermi="['gather:GATHER:upload']"
+          >海关进出口总值导入</el-button
+        >
       </el-col>
 
-      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+      <right-toolbar
+        :showSearch.sync="showSearch"
+        @queryTable="getList"
+      ></right-toolbar>
     </el-row>
 
-    <el-table :data="GATHERList" @selection-change="handleSelectionChange" @row-click="showRow">
+    <el-table
+      :data="GATHERList"
+      @selection-change="handleSelectionChange"
+      @row-click="showRow"
+    >
       <!-- @current-change="handleCurrentChange" -->
       <el-table-column label="选择" fixed="left" width="70" center>
         <template scope="scope">
-          <el-radio class="radio" v-model="radio" :label="scope.$index" @change.native="getCurrentRow(scope.row)">{{ ""
-          }}</el-radio>
+          <el-radio
+            class="radio"
+            v-model="radio"
+            :label="scope.$index"
+            @change.native="getCurrentRow(scope.row)"
+            >{{ "" }}</el-radio
+          >
         </template>
       </el-table-column>
       <!-- <el-table-column type="selection" width="55" align="center" /> -->
@@ -114,12 +191,22 @@
           <span v-if="scope.row.collStatus == 1">已采集</span>
         </template>
       </el-table-column>
-      <el-table-column label="采集人" align="center" prop="collName" width="110">
+      <el-table-column
+        label="采集人"
+        align="center"
+        prop="collName"
+        width="110"
+      >
         <template slot-scope="scope">
           <span>{{ scope.row.collName }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="采集时间" align="center" prop="collTime" width="100">
+      <el-table-column
+        label="采集时间"
+        align="center"
+        prop="collTime"
+        width="100"
+      >
       </el-table-column>
       <el-table-column label="上报状态" align="center" prop="reportStatus">
         <template slot-scope="scope">
@@ -127,19 +214,50 @@
           <span v-if="scope.row.reportStatus == 1">已上报</span>
         </template>
       </el-table-column>
-      <el-table-column label="上报人" align="center" prop="reportName" width="110" />
-      <el-table-column label="上报时间" align="center" prop="reportTime" width="100" />
-      <el-table-column label="审核人" align="center" prop="approveName" width="110" />
-      <el-table-column label="审核时间" align="center" prop="approveTime" width="100" />
+      <el-table-column
+        label="上报人"
+        align="center"
+        prop="reportName"
+        width="110"
+      />
+      <el-table-column
+        label="上报时间"
+        align="center"
+        prop="reportTime"
+        width="100"
+      />
+      <el-table-column
+        label="审核人"
+        align="center"
+        prop="approveName"
+        width="110"
+      />
+      <el-table-column
+        label="审核时间"
+        align="center"
+        prop="approveTime"
+        width="100"
+      />
       <el-table-column label="审核状态" align="center" prop="approveStatus">
         <template slot-scope="scope">
-          <span v-if="scope.row.audit == 0 && scope.row.auditTime == null">未提交审核</span>
-          <span v-if="scope.row.approveStatus == 0 && scope.row.approveTime == null">未审核</span>
+          <span v-if="scope.row.audit == 0 && scope.row.auditTime == null"
+            >未提交审核</span
+          >
+          <span
+            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>
       </el-table-column>
-      <el-table-column label="操作" align="center" fixed="right" class-name="small-padding fixed-width">
+      <el-table-column
+        label="操作"
+        align="center"
+        fixed="right"
+        class-name="small-padding fixed-width"
+      >
         <template slot-scope="scope">
           <!-- <el-button
             style="margin: 0 2px"
@@ -150,16 +268,37 @@
           > -->
           <!--          todo不加 template 会造成浏览器渲染问题 导致无法弹出 el-popconfirm 组件-->
 
-          <template v-if="scope.row.collStatus == 0 && checkPermi(['gather:GATHER:add'])
-            ">
-            <el-button style="margin: 0 2px" size="mini" type="text" @click="handleUpdate(scope.row)">录入</el-button>
+          <template
+            v-if="
+              scope.row.collStatus == 0 && checkPermi(['gather:GATHER:add'])
+            "
+          >
+            <el-button
+              style="margin: 0 2px"
+              size="mini"
+              type="text"
+              @click="handleUpdate(scope.row)"
+              >录入</el-button
+            >
           </template>
-          <template v-if="scope.row.collStatus == 1 &&
-            (scope.row.audit == 0 || scope.row.audit == null) &&
-            checkPermi(['gather:GATHER:approve'])
-            ">
-            <el-popconfirm title="确定提交审核吗?" @confirm="handleAudit(scope.row)">
-              <el-button style="margin: 0 2px" size="mini" type="text" slot="reference">提交审核</el-button>
+          <template
+            v-if="
+              scope.row.collStatus == 1 &&
+              (scope.row.audit == 0 || scope.row.audit == null) &&
+              checkPermi(['gather:GATHER:approve'])
+            "
+          >
+            <el-popconfirm
+              title="确定提交审核吗?"
+              @confirm="handleAudit(scope.row)"
+            >
+              <el-button
+                style="margin: 0 2px"
+                size="mini"
+                type="text"
+                slot="reference"
+                >提交审核</el-button
+              >
             </el-popconfirm>
           </template>
           <!--              已采集,未上报,未提交审核 或 审核拒绝-->
@@ -171,46 +310,87 @@
             {{ checkPermi(["gather:GATHER:check"]) }}普通 ---
             {{ checkPermi(["gather:GATHER:approve"]) }}管理
           </template> -->
-          <template v-if="scope.row.collStatus == 1 &&
-            scope.row.audit == 1 &&
-            (scope.row.approveStatus == 0 ||
-              scope.row.approveStatus == null || scope.row.approveStatus == 2) &&
-            checkPermi(['gather:GATHER:check'])
-            ">
+          <template
+            v-if="
+              scope.row.collStatus == 1 &&
+              scope.row.audit == 1 &&
+              (scope.row.approveStatus == 0 ||
+                scope.row.approveStatus == null ||
+                scope.row.approveStatus == 2) &&
+              checkPermi(['gather:GATHER:check'])
+            "
+          >
             <!-- <el-popconfirm
               title="确定提交吗?"
               @confirm="handleApprove(scope.row)"
             > -->
-            <el-button @click="handleApprove(scope.row)" style="margin: 0 2px" size="mini" type="text"
-              slot="reference">审核绩效</el-button>
+            <el-button
+              @click="handleApprove(scope.row)"
+              style="margin: 0 2px"
+              size="mini"
+              type="text"
+              slot="reference"
+              >审核绩效</el-button
+            >
             <!-- </el-popconfirm> -->
           </template>
 
           <!--              已采集,未上报,审核通过 -->
-          <template v-if="scope.row.collStatus == 1 &&
-            scope.row.reportStatus == 0 &&
-            scope.row.approveStatus == 1 &&
-            checkPermi(['gather:GATHER:report'])
-            ">
-            <el-popconfirm title="确定上报吗?" @confirm="handleReport(scope.row)">
-              <el-button style="margin: 0 2px" size="mini" slot="reference" type="text">上报</el-button>
+          <template
+            v-if="
+              scope.row.collStatus == 1 &&
+              scope.row.reportStatus == 0 &&
+              scope.row.approveStatus == 1 &&
+              checkPermi(['gather:GATHER:report'])
+            "
+          >
+            <el-popconfirm
+              title="确定上报吗?"
+              @confirm="handleReport(scope.row)"
+            >
+              <el-button
+                style="margin: 0 2px"
+                size="mini"
+                slot="reference"
+                type="text"
+                >上报</el-button
+              >
             </el-popconfirm>
           </template>
 
-          <el-button style="margin: 0 2px" v-if="scope.row.collStatus == 1" size="mini" type="text"
-            @click="handleDetail(scope.row, 0)">查看</el-button>
+          <el-button
+            style="margin: 0 2px"
+            v-if="scope.row.collStatus == 1"
+            size="mini"
+            type="text"
+            @click="handleDetail(scope.row, 0)"
+            >查看</el-button
+          >
           <!-- {{scope.row.collStatus}}--{{scope.row.approveStatus}} -->
 
-          <el-button style="margin: 0 2px" v-if="scope.row.collStatus == 1 && // 已采集
-            scope.row.audit == 0 && // 未审核
-            checkPermi(['gather:GATHER:edit']) // 编辑权限
-            " size="mini" type="text" @click="handleDetail(scope.row, 1)">修改</el-button>
+          <el-button
+            style="margin: 0 2px"
+            v-if="
+              scope.row.collStatus == 1 && // 已采集
+              scope.row.audit == 0 && // 未审核
+              checkPermi(['gather:GATHER:edit']) // 编辑权限
+            "
+            size="mini"
+            type="text"
+            @click="handleDetail(scope.row, 1)"
+            >修改</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" />
+    <pagination
+      v-show="total > 0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
 
     <!-- 上传文件对话框  历史数据导入 -->
     <el-dialog
@@ -226,25 +406,35 @@
         :rules="rules"
         label-width="120px"
       >
-<!--        <el-form-item label="数据类型" prop="type">-->
-<!--          <el-select-->
-<!--            v-model="uploadForm.type"-->
-<!--            placeholder="请选择数据类型"-->
-<!--            clearable-->
-<!--            filterable-->
-<!--          >-->
-<!--            <el-option-->
-<!--              v-for="dict in typeList"-->
-<!--              :key="dict.value + 'typeList'"-->
-<!--              :label="dict.label"-->
-<!--              :value="dict.value"-->
-<!--            />-->
-<!--          </el-select>-->
-<!--        </el-form-item>-->
-        <el-form-item label="文件" prop="linkUrl" v-show="uploadForm.type">
-          <el-upload class="upload-demo" ref="upload" action="#" :http-request="httprequest" :before-upload="uploadFile"
-            :file-list="fileList" :auto-upload="false" :limit="1">
-            <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
+        <!--        <el-form-item label="数据类型" prop="type">-->
+        <!--          <el-select-->
+        <!--            v-model="uploadForm.type"-->
+        <!--            placeholder="请选择数据类型"-->
+        <!--            clearable-->
+        <!--            filterable-->
+        <!--          >-->
+        <!--            <el-option-->
+        <!--              v-for="dict in typeList"-->
+        <!--              :key="dict.value + 'typeList'"-->
+        <!--              :label="dict.label"-->
+        <!--              :value="dict.value"-->
+        <!--            />-->
+        <!--          </el-select>-->
+        <!--        </el-form-item>-->
+        <el-form-item label="文件" prop="linkUrl">
+          <el-upload
+            class="upload-demo"
+            ref="upload"
+            action="#"
+            :http-request="httprequest"
+            :before-upload="uploadFile"
+            :file-list="fileList"
+            :auto-upload="false"
+            :limit="1"
+          >
+            <el-button slot="trigger" size="small" type="primary"
+              >选取文件</el-button
+            >
           </el-upload>
         </el-form-item>
         <div class="tips-text">
@@ -260,20 +450,48 @@
     </el-dialog>
 
     <!-- 录入数据采集对话框 -->
-    <el-dialog center :title="title" :visible.sync="open" width="50%" append-to-body>
-      <el-tabs v-if="this.form.type == 0" v-model="activeName" type="border-card" @tab-click="handleClick">
-        <el-tab-pane v-for="(item, index) in tabList" :key="index + 'tabs'" :label="item.normName" :name="item.normName">
+    <el-dialog
+      center
+      :title="title"
+      :visible.sync="open"
+      width="50%"
+      append-to-body
+    >
+      <el-tabs
+        v-if="this.form.type == 0"
+        v-model="activeName"
+        type="border-card"
+        @tab-click="handleClick"
+      >
+        <el-tab-pane
+          v-for="(item, index) in tabList"
+          :key="index + 'tabs'"
+          :label="item.normName"
+          :name="item.normName"
+        >
           <template v-for="listItem in form.feeLists">
-            <el-form v-if="listItem.normId == item.normId" :rules="validatorList(listItem.normfeeName)" :model="listItem"
-              :ref="'form' + listItem.normfeeId" :key="listItem.normfeeId">
+            <el-form
+              v-if="listItem.normId == item.normId"
+              :rules="validatorList(listItem.normfeeName)"
+              :model="listItem"
+              :ref="'form' + listItem.normfeeId"
+              :key="listItem.normfeeId"
+            >
               <!-- :key="index + listIndex + listItem.normId" -->
               <!-- :rules="rules" ref="form" -->
-              <el-form-item :label="listItem.normfeeName + '(' + listItem.funit_dictText + ')'
-                " prop="collCalue">
+              <el-form-item
+                :label="
+                  listItem.normfeeName + '(' + listItem.funit_dictText + ')'
+                "
+                prop="collCalue"
+              >
                 <!-- 这里科研失败!想动态绑定校验规则的 -->
                 <!-- :prop="listItem.normfeeId" -->
                 <!-- :rules="rules.listItem.normfeeId" -->
-                <el-input v-model="listItem.collCalue" :placeholder="'请输入' + listItem.normfeeName"></el-input>
+                <el-input
+                  v-model="listItem.collCalue"
+                  :placeholder="'请输入' + listItem.normfeeName"
+                ></el-input>
               </el-form-item>
             </el-form>
           </template>
@@ -293,15 +511,27 @@
         </el-tab-pane>
       </el-tabs>
       <template v-else-if="this.form.type == 1">
-        <el-form v-for="listItem in form.feeLists" :model="listItem" :ref="'form' + listItem.normfeeId" :rules="rules"
-          :key="listItem.normfeeId">
+        <el-form
+          v-for="listItem in form.feeLists"
+          :model="listItem"
+          :ref="'form' + listItem.normfeeId"
+          :rules="rules"
+          :key="listItem.normfeeId"
+        >
           <!-- :rules="rules" ref="form" -->
-          <el-form-item :label="listItem.normfeeName + '(' + listItem.funit_dictText + ')'
-            " prop="collCalue">
+          <el-form-item
+            :label="
+              listItem.normfeeName + '(' + listItem.funit_dictText + ')'
+            "
+            prop="collCalue"
+          >
             <!-- 这里科研失败!想动态绑定校验规则的 -->
             <!-- :prop="listItem.normfeeId" -->
             <!-- :rules="rules.listItem.normfeeId" -->
-            <el-input v-model="listItem.collCalue" :placeholder="'请输入' + listItem.normfeeName"></el-input>
+            <el-input
+              v-model="listItem.collCalue"
+              :placeholder="'请输入' + listItem.normfeeName"
+            ></el-input>
           </el-form-item>
         </el-form>
       </template>
@@ -313,20 +543,49 @@
     </el-dialog>
 
     <!-- 查看或修改 -->
-    <el-dialog center @close="handleClose" :title="title" :visible.sync="openDetail" width="50%" append-to-body>
-      <el-tabs v-if="this.form.type == 0" v-model="activeName" type="border-card" @tab-click="handleClick">
-        <el-tab-pane v-for="(item, index) in tabList" :key="index + 'tabs'" :label="item.normName" :name="item.normName">
+    <el-dialog
+      center
+      @close="handleClose"
+      :title="title"
+      :visible.sync="openDetail"
+      width="50%"
+      append-to-body
+    >
+      <el-tabs
+        v-if="this.form.type == 0"
+        v-model="activeName"
+        type="border-card"
+        @tab-click="handleClick"
+      >
+        <el-tab-pane
+          v-for="(item, index) in tabList"
+          :key="index + 'tabs'"
+          :label="item.normName"
+          :name="item.normName"
+        >
           <template v-for="listItem in form.feeLists">
-            <el-form v-if="listItem.normId == item.normId" :model="listItem" :ref="'form' + listItem.normfeeId"
-              :rules="rules" :key="listItem.normfeeId">
+            <el-form
+              v-if="listItem.normId == item.normId"
+              :model="listItem"
+              :ref="'form' + listItem.normfeeId"
+              :rules="rules"
+              :key="listItem.normfeeId"
+            >
               <!-- :rules="rules" ref="form" -->
-              <el-form-item prop="collCalue" :label="listItem.normfeeName + '(' + listItem.funit_dictText + ')'
-                ">
+              <el-form-item
+                prop="collCalue"
+                :label="
+                  listItem.normfeeName + '(' + listItem.funit_dictText + ')'
+                "
+              >
                 <!-- 这里科研失败!想动态绑定校验规则的 -->
                 <!-- :prop="listItem.normfeeId" -->
                 <!-- :rules="rules.listItem.normfeeId" -->
-                <el-input :disabled="!edit" v-model="listItem.collCalue"
-                  :placeholder="'请输入' + listItem.normfeeName"></el-input>
+                <el-input
+                  :disabled="!edit"
+                  v-model="listItem.collCalue"
+                  :placeholder="'请输入' + listItem.normfeeName"
+                ></el-input>
               </el-form-item>
             </el-form>
           </template>
@@ -348,15 +607,27 @@
       </el-tabs>
 
       <template v-else-if="this.form.type == 1">
-        <el-form v-for="listItem in form.feeLists" :model="listItem" :ref="'form' + listItem.normfeeId" :rules="rules"
-          :key="listItem.normfeeId">
+        <el-form
+          v-for="listItem in form.feeLists"
+          :model="listItem"
+          :ref="'form' + listItem.normfeeId"
+          :rules="rules"
+          :key="listItem.normfeeId"
+        >
           <!-- :rules="rules" ref="form" -->
-          <el-form-item :label="listItem.normfeeName + '(' + listItem.funit_dictText + ')'
-            " prop="collCalue">
+          <el-form-item
+            :label="
+              listItem.normfeeName + '(' + listItem.funit_dictText + ')'
+            "
+            prop="collCalue"
+          >
             <!-- 这里科研失败!想动态绑定校验规则的 -->
             <!-- :prop="listItem.normfeeId" -->
             <!-- :rules="rules.listItem.normfeeId" -->
-            <el-input v-model="listItem.collCalue" :placeholder="'请输入' + listItem.normfeeName"></el-input>
+            <el-input
+              v-model="listItem.collCalue"
+              :placeholder="'请输入' + listItem.normfeeName"
+            ></el-input>
           </el-form-item>
         </el-form>
       </template>
@@ -377,9 +648,15 @@
       </el-form>
       -->
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="submitForm('edit')" v-if="edit">确 定</el-button>
-        <el-button type="primary" v-if="check" @click="handleCheck(1)">通 过</el-button>
-        <el-button type="warning" v-if="check" @click="handleReject">驳 回</el-button>
+        <el-button type="primary" @click="submitForm('edit')" v-if="edit"
+          >确 定</el-button
+        >
+        <el-button type="primary" v-if="check" @click="handleCheck(1)"
+          >通 过</el-button
+        >
+        <el-button type="warning" v-if="check" @click="handleReject"
+          >驳 回</el-button
+        >
         <el-button type="primary" @click="cancel">返 回</el-button>
       </div>
     </el-dialog>
@@ -480,6 +757,7 @@ export default {
         collStatus: null,
         reportStatus: null,
         approveStatus: null,
+        audit: null,
       },
       // 表单参数
       form: {},
@@ -615,7 +893,7 @@ export default {
     submitUpload() {
       this.$refs.upload.submit();
     },
-    httprequest() { },
+    httprequest() {},
     getCurrentRow(val) {
       console.log(val);
     },
@@ -754,27 +1032,28 @@ export default {
 
     // 驳回处理
     handleReject() {
-      this.$prompt('请驳回理由:', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        inputType: "textarea"
-      }).then(({ value }) => {
-        // console.log(value);
-        this.handleCheck(2);
-        // this.$message({
-        //   type: 'success',
-        //   message: '你的邮箱是: ' + value
-        // });
-      }).catch(() => {
-        // this.$message({
-        //   type: 'info',
-        //   message: '取消输入'
-        // });
-      });
+      this.$prompt("请驳回理由:", "提示", {
+        confirmButtonText: "确定",
+        cancelButtonText: "取消",
+        inputType: "textarea",
+      })
+        .then(({ value }) => {
+          // console.log(value);
+          this.handleCheck(2);
+          // this.$message({
+          //   type: 'success',
+          //   message: '你的邮箱是: ' + value
+          // });
+        })
+        .catch(() => {
+          // this.$message({
+          //   type: 'info',
+          //   message: '取消输入'
+          // });
+        });
     },
 
-
-    handleClick(tab, event) { },
+    handleClick(tab, event) {},
     /** 查询数据采集列表 */
     getList() {
       this.loading = true;
@@ -886,6 +1165,7 @@ export default {
       });
     },
 
+   
     handleAudit(row) {
       let data = {
         type: "1",
@@ -1021,7 +1301,7 @@ export default {
           this.getList();
           this.$modal.msgSuccess("删除成功");
         })
-        .catch(() => { });
+        .catch(() => {});
     },
     /** 导出按钮操作 */
     handleExport() {

+ 94 - 26
src/views/TOTEXP/index.vue

@@ -179,24 +179,39 @@
     />
 
     <!-- 添加或修改保税区进出口总值数据对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="580px" append-to-body>
+    <el-dialog :title="title" :visible.sync="open" width="580px" :close-on-click-modal="false" append-to-body>
       <el-form :ref="'form'" :model="form" :rules="rules" label-width="80px">
-        <el-form-item prop="deptId" label-width="120px" label="保税区名称">
-          <el-select
-            v-model="form.deptId"
-            filterable
-            default-first-option
-            clearable
-            placeholder="请选择保税区"
-            style="width: 100%;"
-          >
-            <el-option
-              v-for="item in deptList"
-              :key="item.deptId"
-              :label="item.deptName"
-              :value="item.deptId"
-            >
-            </el-option>
+        <el-form-item prop="deptId" label-width="120px" label="部门">
+<!--          <el-select-->
+<!--            v-model="form.deptId"-->
+<!--            filterable-->
+<!--            default-first-option-->
+<!--            clearable-->
+<!--            placeholder="请选择保税区"-->
+<!--            @change="formDeptSelect"-->
+<!--            style="width: 100%;"-->
+<!--          >-->
+<!--            <el-option-->
+<!--              v-for="item in deptList"-->
+<!--              :key="item.deptId"-->
+<!--              :label="item.deptName"-->
+<!--              :value="item.deptId"-->
+<!--            >-->
+<!--            </el-option>-->
+<!--          </el-select>-->
+
+          <el-select v-model="form.deptId" filterable default-first-option style="width: 100%;" @change="formDeptSelect" placeholder="请选择部门">
+            <el-option-group
+              v-for="group in deptGroupOptions"
+              :key="group.label"
+              :label="group.label">
+              <el-option
+                v-for="item in group.options"
+                :key="item.id"
+                :label="item.deptName"
+                :value="item.deptId">
+              </el-option>
+            </el-option-group>
           </el-select>
         </el-form-item>
         <el-form-item prop="year" label-width="120px" label="年份">
@@ -210,6 +225,7 @@
             </el-option>
           </el-select>
 <!--          我只要年份,请不要打开这个代码谢谢 -->
+<!--          只要年份,为啥不用type == year  -->
 <!--          <el-date-picker-->
 <!--            v-model="form.year"-->
 <!--            type="month"-->
@@ -227,14 +243,32 @@
           >
           </el-cascader>
         </el-form-item> -->
-        <el-form-item prop="imExport" label-width="120px" label="进出口总值">
-          <el-input
-            v-model="form.imExport"
-            placeholder="请输入进出口总值"
-          ></el-input>
+        <el-form-item v-show="form.level" prop="level" label-width="120px" label="级别">
+          <el-select
+            v-model="form.level"
+            clearable
+            disabled
+            style="width: 100%;"
+            placeholder="请选择级别"
+          >
+            <el-option
+              v-for="item in option"
+              :key="item.value"
+              :label="item.label"
+              :value="item.value"
+            >
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item prop="imExport" label-width="120px" label="进出口总值" v-show="form.level == 2"
+                      :rules="{required: form.level == 2 ? true : false, message: '请选择', trigger: 'blur'}"
+        >
+          <el-input type="number" v-model="form.imExport" placeholder="请输入进出口总值"></el-input>
         </el-form-item>
-        <el-form-item prop="cityTotal" label-width="120px" label="市进口总值">
-          <el-input v-model="form.cityTotal" placeholder="请输入市进口总值"></el-input>
+        <el-form-item prop="cityTotal" label-width="120px" label="市进口总值" v-show="form.level == 4"
+                      :rules="{required: form.level == 4 ? true : false, message: '请选择', trigger: 'blur'}"
+        >
+          <el-input v-model="form.cityTotal" placeholder="请输入市进口总值" type="number"></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">
@@ -277,6 +311,11 @@ export default {
       TOTEXPList: [],
       // 保税区列表
       deptList: [],
+      // 部门列表分组
+      deptGroupOptions: [
+        {label: '地级市', options: [{deptId: '12312', deptName: 'aaa'}]},
+        {label: '保税区', options: [{dept: '12312', deptName: '12321'}]},
+      ],
       // 近年年份列表
       nearYearList: [],
       // 弹出层标题
@@ -310,7 +349,19 @@ export default {
           { trigger: "blur", validator: this.validatorFloatNum },
         ],
         year: [{ required: true, message: "年份不能为空", trigger: "blur" }],
+        level: [{ required: true, message: "请选择级别", trigger: "blur" }],
+
       },
+      option:[
+        {
+          value:4,
+          label: '市级'
+        },
+        {
+          value:2,
+          label: '保税区'
+        },
+      ]
     };
   },
   created() {
@@ -331,8 +382,11 @@ export default {
     // 获取保税区列表
     getDeptList() {
       this.loading = true;
-      listDept({ parentId: "100" }).then((response) => {
-        this.deptList = response.data;
+      listDept().then((response) => {
+        // this.deptList = response.data;
+        // 过滤type  === 2 或 4 的部门数据
+        this.deptList = response.data.filter(item => item.type === 2 || item.type === 4);
+        this.buildDeptGroupOptions();
         this.loading = false;
       });
     },
@@ -350,6 +404,20 @@ export default {
 
       this.nearYearList = nearYearArr;
     },
+    // 部门选择器
+    formDeptSelect() {
+      console.log('部门id', this.form.deptId)
+      // 寻找deptId 对应的部门
+      let dept = this.deptList.filter(item => item.deptId === this.form.deptId)[0]
+      // 根据部门 的 type 赋值给level
+      this.form.level = dept.type
+    },
+    // 构造部门分组
+    buildDeptGroupOptions() {
+      // 计算第一层
+      this.deptGroupOptions[0].options = this.deptList.filter(item => item.type === 4);
+      this.deptGroupOptions[1].options = this.deptList.filter(item => item.type === 2);
+    },
     // 取消按钮
     cancel() {
       this.open = false;

+ 415 - 0
src/views/UnassignedMeeting/index.vue

@@ -0,0 +1,415 @@
+<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-form-item> -->
+  
+        <el-form-item label="会议状态" prop="status">
+          <el-select
+            v-model="queryParams.status"
+            placeholder="请选择会议状态"
+            clearable
+            filterable
+          >
+            <el-option
+              v-for="dict in statusList"
+              :key="dict.value + 'statusList'"
+              :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:JOINTCONFERENCE: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:JOINTCONFERENCE: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:JOINTCONFERENCE:remove']"
+            >删除</el-button
+          >
+        </el-col>
+        <right-toolbar
+          :showSearch.sync="showSearch"
+          @queryTable="getList"
+        ></right-toolbar>
+      </el-row>
+  
+      <el-table
+        :data="JOINTCONFERENCEList"
+        @selection-change="handleSelectionChange"
+      >
+        <el-table-column type="selection" width="55" align="center" />
+  
+        <el-table-column label="会议标题" align="center" prop="conferenceTitle">
+          <template slot-scope="scope">
+            {{ scope.row.conferenceTitle }}
+          </template>
+        </el-table-column>
+  
+        <el-table-column label="协作单位" align="center" prop="cooperativeUnit">
+          <template slot-scope="scope">
+            {{ scope.row.cooperativeUnit }}
+          </template>
+        </el-table-column>
+  
+        <el-table-column label="会议状态" align="center" prop="status">
+          <template slot-scope="scope">
+            <el-tag v-if="scope.row.status == 1">未指派</el-tag>
+            <el-tag v-else-if="scope.row.status == 2" type="success"
+              >进行中</el-tag
+            >
+            <el-tag v-else-if="scope.row.status == 3" type="info">已完成</el-tag>
+          </template>
+        </el-table-column>
+  
+        <el-table-column label="已回复单位数量" align="center" prop="replied">
+          <template slot-scope="scope">
+            {{ scope.row.replied }}
+          </template>
+        </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"
+              @click="goDetail(scope.row)"
+              v-hasPermi="['business:JOINTCONFERENCE:query']"
+              >会议详情</el-button
+            >
+            <el-button
+              size="mini"
+              type="text"
+              @click="handleUnit(scope.row)"
+              v-hasPermi="['business:JOINTCONFERENCE:add']"
+              >单位指派</el-button
+            >
+            <el-button
+              size="mini"
+              type="text"
+              @click="handleReply(scope.row)"
+              v-hasPermi="['business:JOINTCONFERENCE:edit']"
+              >会议回复</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"
+      />
+    </div>
+  </template>
+  
+  <script>
+  import {
+    listJOINTCONFERENCE,
+    getJOINTCONFERENCE,
+    delJOINTCONFERENCE,
+    addJOINTCONFERENCE,
+    updateJOINTCONFERENCE,
+  } from "@/api/portal/JOINTCONFERENCE/JOINTCONFERENCE.js";
+  import add from "@/views/JOINTCONFERENCE/add.vue";
+  import detail from "@/views/JOINTCONFERENCE/detail.vue";
+  import callback from "@/views/JOINTCONFERENCE/callback.vue";
+  
+  import { getInfo } from "@/api/login";
+  
+  export default {
+    // name: "JOINTCONFERENCE",
+    data() {
+      return {
+        meetId: null,
+        statusList: [
+          { label: "未指派", value: 1 },
+          { label: "进行中", value: 2 },
+          { label: "已完成", value: 3 },
+        ],
+        // 根路径
+        baseURL: process.env.VUE_APP_BASE_API,
+        // 遮罩层
+        loading: true,
+        // 选中数组
+        ids: [],
+        // 非单个禁用
+        single: true,
+        // 非多个禁用
+        multiple: true,
+        // 显示搜索条件
+        showSearch: true,
+        // 总条数
+        total: 0,
+        // 联席会议表格数据
+        JOINTCONFERENCEList: [],
+        // 弹出层标题
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        // 查询参数
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          deptIds: null,
+          id: null,
+          createTime: null,
+          createBy: null,
+          updateTime: null,
+          updateBy: null,
+          delFlag: null,
+          deptId: null,
+          conferenceTitle: null,
+          conferenceContent: null,
+          cooperativeUnit: null,
+          replied: null,
+          status: null,
+        },
+        // 表单参数
+        form: {},
+        // 表单校验
+        rules: {
+          id: [{ required: true, message: "主键id不能为空", trigger: "blur" }],
+          delFlag: [
+            { required: true, message: "删除标志不能为空", trigger: "blur" },
+          ],
+          deptId: [
+            { required: true, message: "部门id不能为空", trigger: "blur" },
+          ],
+          conferenceTitle: [
+            { required: true, message: "会议标题不能为空", trigger: "blur" },
+          ],
+          conferenceContent: [
+            { required: true, message: "会议内容不能为空", trigger: "blur" },
+          ],
+          cooperativeUnit: [
+            { required: true, message: "协作单位不能为空", trigger: "blur" },
+          ],
+          replied: [
+            {
+              required: true,
+              message: "已回复单位数量不能为空",
+              trigger: "blur",
+            },
+          ],
+          status: [
+            {
+              required: true,
+              message: "会议状态1=未指派,2=进行中,3=已完成不能为空",
+              trigger: "blur",
+            },
+          ],
+        },
+      };
+    },
+    created() {
+      getInfo().then((res) => {
+        this.meetId = res.user.deptId;
+        // this.queryParams.deptIds = this.meetId;
+        this.getList();
+      });
+    },
+    methods: {
+      goDetail(row) {
+        this.iframe({
+          obj: detail,
+          param: { id: row.id },
+          title: "会议详情",
+          width: "750px",
+          height: "60%",
+        });
+      },
+      handleUnit(row) {
+        const id = row.id || this.ids;
+        this.iframe({
+          obj: add,
+          param: { id: id },
+          title: "单位指派",
+          width: "750px",
+          height: "60%",
+        });
+      },
+      handleReply(row) {
+        this.iframe({
+          obj: callback,
+          param: { id: row.id },
+          title: "回复会议",
+          width: "750px",
+          height: "60%",
+        });
+      },
+      /** 查询联席会议列表 */
+      getList() {
+        this.loading = true;
+        this.queryParams.deptId = null;
+        this.queryParams.status = 1;
+        listJOINTCONFERENCE(this.queryParams).then((response) => {
+          this.JOINTCONFERENCEList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        });
+      },
+      // 取消按钮
+      cancel() {
+        this.open = false;
+        this.reset();
+      },
+      // 表单重置
+      reset() {
+        this.form = {
+          id: null,
+          delFlag: null,
+          deptId: null,
+          conferenceTitle: null,
+          conferenceContent: null,
+          cooperativeUnit: null,
+          replied: null,
+          status: "0",
+        };
+        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.iframe({
+          obj: add,
+          param: {},
+          title: "发起会议",
+          width: "750px",
+          height: "60%",
+        });
+      },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const id = row.id || this.ids;
+        // getJOINTCONFERENCE(id).then((response) => {
+        //   this.form = response.data;
+        //   this.open = true;
+        //   this.title = "修改联席会议";
+        // });
+  
+        this.iframe({
+          obj: add,
+          param: {id:id},
+          title: "修改会议",
+          width: "750px",
+          height: "60%",
+        });
+      },
+      /** 提交按钮 */
+      submitForm() {
+        this.$refs["form"].validate((valid) => {
+          if (valid) {
+            if (this.form.id != null) {
+              updateJOINTCONFERENCE(this.form).then((response) => {
+                this.$modal.msgSuccess("修改成功");
+                this.open = false;
+                this.getList();
+              });
+            } else {
+              addJOINTCONFERENCE(this.form).then((response) => {
+                this.$modal.msgSuccess("新增成功");
+                this.open = false;
+                this.getList();
+              });
+            }
+          }
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(row) {
+        const ids = row.id || this.ids;
+        this.$modal
+          .confirm("是否确认删除?")
+          .then(function () {
+            return delJOINTCONFERENCE(ids);
+          })
+          .then(() => {
+            this.getList();
+            this.$modal.msgSuccess("删除成功");
+          })
+          .catch(() => {});
+      },
+      /** 导出按钮操作 */
+      handleExport() {
+        this.download(
+          "business/JOINTCONFERENCE/export",
+          {
+            ...this.queryParams,
+          },
+          `JOINTCONFERENCE_${new Date().getTime()}.xlsx`
+        );
+      },
+    },
+  };
+  </script>
+  

+ 6 - 4
src/views/WEBSITE/index.vue

@@ -80,10 +80,10 @@
           </el-col>
         </el-row>
         <el-form-item label="顶部背景图" prop="topPicture">
-          <cropper v-model="form.topPicture" :fixed_number="[4, 2]"></cropper>
+          <cropper v-model="form.topPicture" :fixed_number="[5, 1]"></cropper>
         </el-form-item>
         <el-form-item label="底部背景图" prop="bottomPicture">
-          <cropper v-model="form.bottomPicture" :fixed_number="[34, 2]"></cropper>
+          <cropper v-model="form.bottomPicture" :fixed_number="[160, 9]"></cropper>
         </el-form-item>
 <!--        <el-form-item label="顶部背景图" prop="websiteUrl">-->
 <!--          <el-upload action="#" list-type="picture-card" :limit="1" :auto-upload="true" :http-request="httprequest" :before-upload="beforeupload" :file-list="fileList">-->
@@ -255,6 +255,8 @@ export default {
       this.form = {
         websiteUrl: null,
         websiteName: null,
+        topPicture: null,
+        bottomPicture: null,
         id: null
       };
       this.fileList = [];
@@ -290,8 +292,8 @@ export default {
         this.form = response.data;
         this.open = true;
         this.title = '修改网站管理';
-        this.fileList.push({ name: 'xxx', url: this.baseUrl+response.data.topPicture});
-        this.fileList2.push({ name: 'xxx', url: this.baseUrl+response.data.bottomPicture});
+        // this.fileList.push({ name: 'xxx', url: this.baseUrl + response.data.topPicture});
+        // this.fileList2.push({ name: 'xxx', url: this.baseUrl + response.data.bottomPicture});
       });
     },
     /** 提交按钮 */