소스 검색

Merge remote-tracking branch 'origin/master'

Administrator 4 년 전
부모
커밋
f19c682c78

+ 10 - 0
ruoyi-ui/src/App.vue

@@ -9,3 +9,13 @@ export default  {
   name:  'App'
 }
 </script>
+<style>
+  .dw_name{
+    line-height: 30px;
+    font-size: 14px;
+    padding: 0 8px;
+    color: #343434;
+    display: inline-block;
+  }
+  
+</style>

+ 53 - 0
ruoyi-ui/src/api/projectInfo/info.js

@@ -0,0 +1,53 @@
+import request from '@/utils/request'
+
+// 查询项目-线索信息列表
+export function listInfo(query) {
+  return request({
+    url: '/projectInfo/info/list',
+    method: 'get',
+    params: query
+  })
+}
+
+// 查询项目-线索信息详细
+export function getInfo(id) {
+  return request({
+    url: '/projectInfo/info/' + id,
+    method: 'get'
+  })
+}
+
+// 新增项目-线索信息
+export function addInfo(data) {
+  return request({
+    url: '/projectInfo/info',
+    method: 'post',
+    data: data
+  })
+}
+
+// 修改项目-线索信息
+export function updateInfo(data) {
+  return request({
+    url: '/projectInfo/info',
+    method: 'put',
+    data: data
+  })
+}
+
+// 删除项目-线索信息
+export function delInfo(id) {
+  return request({
+    url: '/projectInfo/info/' + id,
+    method: 'delete'
+  })
+}
+
+// 导出项目-线索信息
+export function exportInfo(query) {
+  return request({
+    url: '/projectInfo/info/export',
+    method: 'get',
+    params: query
+  })
+}

BIN
ruoyi-ui/src/assets/images/icon_add@2x.png


+ 5 - 2
ruoyi-ui/src/assets/styles/sidebar.scss

@@ -111,8 +111,11 @@
   .el-submenu__title{
     color: #fff!important;
   }
-  .el-menu-item {
-    color: #90D3FD!important;
+  // .el-menu-item {
+  //   color: #90D3FD!important;
+  // }
+  .el-submenu__title i {
+      color: #fff !important;
   }
 
 

+ 487 - 0
ruoyi-ui/src/components/ProjectDec/SignContract.vue

@@ -0,0 +1,487 @@
+<template>
+  <div class="sign_box">
+    <el-form label-position="right" ref="form" :model="form" label-width="80px">
+      <div class="sign_tit">
+        项目签约信息
+      </div>
+      <el-row>
+        <el-form-item label-width="120px" label="活动名称:" class="elItem" prop="date1">
+          <el-col :span="6">
+            <el-date-picker type="date" placeholder="请选择签约日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
+          </el-col>
+        </el-form-item>
+      </el-row>
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label-width="120px" label="投资方式:" class="elItem" prop="tz">
+            <el-col :span="24">
+              <el-radio-group v-model="form.resource" style="width: 100%;">
+                <el-col :span="12">
+                  <el-radio label="独资"></el-radio>
+                </el-col>
+                <el-col :span="12">
+                  <el-radio label="合资"></el-radio>
+                </el-col>
+              </el-radio-group>
+            </el-col>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="是否外资:" class="elItem" prop="tz1">
+            <el-col :span="6">
+              <el-checkbox-group v-model="form.resource1">
+                <el-checkbox label="外资" name="type"></el-checkbox>
+              </el-checkbox-group>
+            </el-col>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="7">
+          <el-form-item label-width="120px" label="总投资额度:" class="elItem" prop="je">
+            <el-col :span="18">
+              <el-input type="number" placeholder="请输入总投资额度" v-model="form.je"></el-input>
+            </el-col>
+            <div class="dw_name">万元</div>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="1">
+          <div class="qz_name">其中</div>
+        </el-col>
+        <el-col :span="10">
+          <el-form-item label-width="182px" label="境外投资(含港澳台投资):" class="elItem" prop="je">
+            <el-col :span="18">
+              <el-input type="number" placeholder="请输入总投资额度" v-model="form.je"></el-input>
+            </el-col>
+            <div class="dw_name">万元</div>
+          </el-form-item>
+          <el-form-item label-width="182px" label="境内省外投资:" class="elItem" prop="je">
+            <el-col :span="18">
+              <el-input type="number" placeholder="请输入境内省外投资额度" v-model="form.je"></el-input>
+            </el-col>
+            <div class="dw_name">万元</div>
+          </el-form-item>
+          <el-form-item label-width="182px" label="省内市外投资:" class="elItem" prop="je">
+            <el-col :span="18">
+              <el-input type="number" placeholder="请输入省内市外投资额度" v-model="form.je"></el-input>
+            </el-col>
+            <div class="dw_name">万元</div>
+          </el-form-item>
+          <el-form-item label-width="182px" label="市内县外投资:" class="elItem" prop="je">
+            <el-col :span="18">
+              <el-input type="number" placeholder="请输入市内县外投资额度" v-model="form.je"></el-input>
+            </el-col>
+            <div class="dw_name">万元</div>
+          </el-form-item>
+          <el-form-item label-width="182px" label="县内投资:" class="elItem" prop="je">
+            <el-col :span="18">
+              <el-input type="number" placeholder="请输入县内投资额度" v-model="form.je"></el-input>
+            </el-col>
+            <div class="dw_name">万元</div>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="5">
+          <el-form-item label-width="121px" label="是否独立供地:" class="elItem" prop="je">
+            <el-select v-model="form.region" placeholder="请选择">
+              <el-option label="是" value="shanghai"></el-option>
+              <el-option label="否" value="beijing"></el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label-width="93px" label="供地面积:" class="elItem" prop="je">
+            <el-col :span="20">
+              <el-input placeholder="请输入供地面积" v-model="form.gdmj"></el-input>
+            </el-col>
+            <div class="dw_name">亩</div>
+          </el-form-item>
+        </el-col>
+        <el-col :span="9">
+          <el-form-item label-width="93px" label="供地位置:" class="elItem" prop="je">
+            <el-input placeholder="请输入供地位置" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label-width="82px" label="土地证:" class="elItem" prop="je">
+            <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+              <el-button size="small" type="primary">点击上传</el-button>
+            </el-upload>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label-width="121px" label="流转土地面积:" class="elItem" prop="je">
+            <el-col :span="18">
+              <el-input placeholder="请输入" v-model="form.gdmj"></el-input>
+            </el-col>
+            <div class="dw_name">亩</div>
+          </el-form-item>
+        </el-col>
+        <el-col :span="10">
+          <el-form-item label-width="111px" label="流转土地位置:" class="elItem" prop="je">
+            <el-input placeholder="请输入流转土地位置" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label-width="119px" label="土地流转合同:" class="elItem" prop="je">
+            <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+              <el-button size="small" type="primary">点击上传</el-button>
+            </el-upload>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label-width="94px" label="产权证:" class="elItem" prop="je">
+            <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+              <el-button size="small" type="primary">点击上传</el-button>
+            </el-upload>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="7">
+          <el-form-item label-width="121px" label="租赁厂房面积:" class="elItem" prop="je">
+            <el-col :span="16">
+              <el-input placeholder="请输入" v-model="form.gdmj"></el-input>
+            </el-col>
+            <div class="dw_name">平方米</div>
+          </el-form-item>
+        </el-col>
+        <el-col :span="10">
+          <el-form-item label-width="111px" label="租赁厂房位置:" class="elItem" prop="je">
+            <el-input placeholder="请输入租赁厂房位置" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="3">
+          <el-form-item label-width="94px" label="租赁合同:" class="elItem" prop="je">
+            <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+              <el-button size="small" type="primary">点击上传</el-button>
+            </el-upload>
+          </el-form-item>
+        </el-col>
+        <el-col :span="4">
+          <el-form-item label-width="94px" label="产权证:" class="elItem" prop="je">
+            <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+              <el-button size="small" type="primary">点击上传</el-button>
+            </el-upload>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="8">
+          <el-form-item label-width="121px" label="合同约定产值:" class="elItem" prop="je">
+            <el-col :span="18">
+              <el-input placeholder="请输入" v-model="form.gdmj"></el-input>
+            </el-col>
+            <div class="dw_name">万元</div>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label-width="121px" label="合同约定税收:" class="elItem" prop="je">
+            <el-col :span="18">
+              <el-input placeholder="请输入" v-model="form.gdmj"></el-input>
+            </el-col>
+            <div class="dw_name">万元</div>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row style="margin-left: -10px;">
+        <el-col :span="8">
+          <el-form-item label-width="131px" label="合同约定开工时间:" class="elItem" prop="je">
+            <el-col :span="18">
+              <el-date-picker type="date" placeholder="请选择开工时间" v-model="form.date1" style="width: 100%;"></el-date-picker>
+            </el-col>
+          </el-form-item>
+        </el-col>
+        <el-col :span="8">
+          <el-form-item label-width="131px" label="合同约定竣工时间:" class="elItem" prop="je">
+            <el-col :span="18">
+              <el-date-picker type="date" placeholder="请选择竣工时间" v-model="form.date1" style="width: 100%;"></el-date-picker>
+            </el-col>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-form-item label-width="121px" label="合同签约方:" class="elItem" prop="je">
+        </el-form-item>
+      </el-row>
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label-width="121px" label="对方:" class="elItem" prop="je">
+            <el-input placeholder="请输入对方" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label-width="121px" label="签约人:" class="elItem" prop="je">
+            <el-input placeholder="请输入签约人" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label-width="121px" label="我方:" class="elItem" prop="je">
+            <el-input placeholder="请输入我方" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label-width="121px" label="签约人:" class="elItem" prop="je">
+            <el-input placeholder="请输入签约人" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="6">
+          <el-form-item label-width="121px" label="第三方:" class="elItem" prop="je">
+            <el-input placeholder="请输入第三方" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label-width="121px" label="签约人:" class="elItem" prop="je">
+            <el-input placeholder="请输入签约人" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="18">
+          <el-form-item label-width="121px" label="合同文本:" class="elItem" prop="je">
+            <el-upload class="upload-demo" ref="upload" action="https://jsonplaceholder.typicode.com/posts/"
+              :on-preview="handlePreview" :on-remove="handleRemove" :file-list="fileList" :auto-upload="false">
+              <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
+              <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
+              <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
+            </el-upload>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <div class="sign_tit">
+        企业注册信息
+      </div>
+      <el-row>
+          <el-col :span="6" style="margin-right: -10px;">
+            <el-form-item label-width="131px" label="在潜注册公司名称:" class="elItem" prop="je">
+              <el-input placeholder="请输入在潜注册公司名称" v-model="form.gdmj"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label-width="109px" label="法定代表人:" class="elItem" prop="je">
+              <el-input placeholder="请输入法定代表人" v-model="form.gdmj"></el-input>
+            </el-form-item>
+          </el-col>
+      </el-row>
+      <el-row>
+          <el-col :span="6" style="margin-right: -10px;">
+            <el-form-item label-width="131px" label="注册资本金:" class="elItem" prop="je">
+              <el-input placeholder="请输入注册资本金" v-model="form.gdmj"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label-width="109px" label="注册地址:" class="elItem" prop="je">
+              <el-input placeholder="请输入注册地址" v-model="form.gdmj"></el-input>
+            </el-form-item>
+          </el-col>
+      </el-row>
+      <el-row>
+          <el-col :span="6" style="margin-right: -10px;">
+            <el-form-item label-width="131px" label="注册资本金:" class="elItem" prop="je">
+              <el-input placeholder="请输入注册资本金" v-model="form.gdmj"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="8">
+            <el-form-item label-width="173px" label="营业执照复印件:" class="elItem" prop="je">
+              <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+                <el-button size="small" type="primary">点击上传</el-button>
+              </el-upload>
+            </el-form-item>
+          </el-col>
+      </el-row>
+      <div class="sign_tit">
+        企业股东构成
+      </div>
+      <el-row>
+        <div class="ads_box">
+          <img src="../../assets/images/icon_add@2x.png" alt="" class="add_icon">
+          <span>添加企业股东构成</span>
+        </div>
+      </el-row>
+      <el-row>
+        <el-table v-loading="loading" class="elItem" :data="configList">
+          <!-- <el-table-column type="selection" width="55" align="center" /> -->
+          <el-table-column label="姓名" align="center" prop="configId" />
+          <el-table-column label="股权比例" align="center" prop="configName" :show-overflow-tooltip="true" />
+          <el-table-column label="身份证号码" align="center" prop="configKey" :show-overflow-tooltip="true" />
+          <el-table-column label="身份证(正面)" align="center" prop="configValue">
+            <template>
+              <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+                <el-button size="small" type="primary">点击上传</el-button>
+              </el-upload>
+            </template>
+          </el-table-column>
+          <el-table-column label="身份证(反面)" align="center" prop="configType">
+            <template>
+              <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+                <el-button size="small" type="primary">点击上传</el-button>
+              </el-upload>
+            </template>
+          </el-table-column>
+          <!-- <el-table-column label="操作" align="center" prop="remark" :show-overflow-tooltip="true" /> -->
+          <el-table-column label="操作" align="center">
+            <!-- class-name="small-padding fixed-width" -->
+            <template slot-scope="scope">
+              <el-button size="mini" type="warning" @click="handleUpdate(scope.row)" v-hasPermi="['system:config:edit']">修改</el-button>
+              <el-button size="mini" type="danger" @click="handleDelete(scope.row)" v-hasPermi="['system:config:remove']">删除</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+      </el-row>
+      <div class="sign_tit">
+        企业备案信息
+      </div>
+      <el-row>
+          <el-col :span="6">
+            <el-form-item label-width="121px" label="备案单位:" class="elItem" prop="je">
+              <el-input placeholder="请输入备案单位" v-model="form.gdmj"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label-width="109px" label="备案文号:" class="elItem" prop="je">
+              <el-input placeholder="请输入备案文号" v-model="form.gdmj"></el-input>
+            </el-form-item>
+          </el-col>
+      </el-row>
+      <el-row>
+          <el-col :span="6">
+            <el-form-item label-width="121px" label="备案总投资额:" class="elItem" prop="je">
+              <el-col :span="18">
+                <el-input placeholder="请输入备案总投资额" v-model="form.gdmj"></el-input>
+              </el-col>
+              <div class="dw_name">万元</div>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label-width="109px" label="备案建设周期:" class="elItem" prop="je">
+              <el-input placeholder="请输入备案建设周期" v-model="form.gdmj"></el-input>
+            </el-form-item>
+          </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="18">
+          <el-form-item label-width="121px" label="备案表:" class="elItem" prop="je">
+            <el-upload class="upload-demo" ref="upload" action="https://jsonplaceholder.typicode.com/posts/"
+              :on-preview="handlePreview" :on-remove="handleRemove" :file-list="fileList" :auto-upload="false">
+              <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
+              <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
+              <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
+            </el-upload>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <div class="sign_tit">
+        企业包保服务
+      </div>
+      <el-row>
+        <el-col :span="8">
+          <el-form-item label-width="122px" label="联系领导:" class="elItem" prop="je">
+            <el-input placeholder="请输入联系领导" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label-width="98px" label="联系方式:" class="elItem" prop="je">
+            <el-input placeholder="请输入联系方式" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row>
+        <el-col :span="8">
+          <el-form-item label-width="122px" label="责任单位:" class="elItem" prop="je">
+            <el-input placeholder="请输入责任单位" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label-width="98px" label="责任人:" class="elItem" prop="je">
+            <el-input placeholder="请输入责任人" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label-width="98px" label="联系方式:" class="elItem" prop="je">
+            <el-input placeholder="请输入联系方式" v-model="form.gdmj"></el-input>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+  </div>
+</template>
+
+<script>
+  export default {
+    data() {
+      return {
+        configList: [{}],
+        form: {
+          resource1: false,
+        },
+        fileList: []
+      }
+    },
+    methods: {
+      submitUpload() {
+        this.$refs.upload.submit();
+      },
+      handleRemove(file, fileList) {
+        console.log(file, fileList);
+      },
+      handlePreview(file) {
+        console.log(file);
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+  .ads_box {
+    margin: 18px 0;
+    font-size: 14px;
+    color: #666;
+    display: flex;
+    align-items: center;
+
+    .add_icon {
+      margin-right: 6px;
+      width: 15px;
+      height: 15px;
+    }
+  }
+
+  .sign_box {
+    padding: 26px 23px;
+
+
+    .sign_tit {
+      font-size: 14px;
+      border-left: 3px solid #1C84C6;
+      padding: 5px 0 5px 13px;
+      color: #343434;
+      line-height: 1;
+      margin: 8px 0;
+      font-weight: bold;
+    }
+
+    .elItem {
+      margin: 15px 0;
+    }
+  }
+
+  .qz_name {
+    font-size: 14px;
+    color: #606266;
+    display: inline-block;
+    margin: 15px 0 15px;
+    font-weight: bold;
+    text-align: right;
+    line-height: 36px;
+    width: 100%;
+  }
+</style>

+ 2 - 2
ruoyi-ui/src/layout/components/Navbar.vue

@@ -8,13 +8,13 @@
       <template v-if="device!=='mobile'">
         <search id="header-search" class="right-menu-item" />
         
-        <el-tooltip content="源码地址" effect="dark" placement="bottom">
+      <!--  <el-tooltip content="源码地址" effect="dark" placement="bottom">
           <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
         </el-tooltip>
 
         <el-tooltip content="文档地址" effect="dark" placement="bottom">
           <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
-        </el-tooltip>
+        </el-tooltip> -->
 
         <screenfull id="screenfull" class="right-menu-item hover-effect" />
 

+ 2 - 1
ruoyi-ui/src/router/index.js

@@ -64,7 +64,8 @@ export const constantRoutes = [
         name: '首页',
         meta: { title: '首页', icon: 'dashboard', noCache: true, affix: true }
       }
-    ]
+    ],
+    
   },
   {
     path: '/user',

+ 7 - 1
ruoyi-ui/src/views/index.vue

@@ -1,3 +1,9 @@
 <template>
-  <h1>这是首页</h1>
+  <div>
+    <h1>这是首页</h1>
+    <!-- <sign-contract></sign-contract> -->
+  </div>
 </template>
+<script>
+
+</script>

+ 575 - 0
ruoyi-ui/src/views/management/info/index.vue

@@ -0,0 +1,575 @@
+<template>
+  <div class="app-container">
+    <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+      <el-form-item label="项目id*" prop="bmProjectId">
+        <el-input
+          v-model="queryParams.bmProjectId"
+          placeholder="请输入项目id*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="项目名称*" prop="name">
+        <el-input
+          v-model="queryParams.name"
+          placeholder="请输入项目名称*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="是否删除(0未删除、1已删除)" prop="isDel">
+        <el-input
+          v-model="queryParams.isDel"
+          placeholder="请输入是否删除(0未删除、1已删除)"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="投资方联系人*" prop="contactor">
+        <el-input
+          v-model="queryParams.contactor"
+          placeholder="请输入投资方联系人*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="投资方联系方式*" prop="phone">
+        <el-input
+          v-model="queryParams.phone"
+          placeholder="请输入投资方联系方式*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="预计投资额*" prop="needAmt">
+        <el-input
+          v-model="queryParams.needAmt"
+          placeholder="请输入预计投资额*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="固定资产投资*" prop="fixedAssets">
+        <el-input
+          v-model="queryParams.fixedAssets"
+          placeholder="请输入固定资产投资*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="产品名称*" prop="productName">
+        <el-input
+          v-model="queryParams.productName"
+          placeholder="请输入产品名称*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="设计产能*" prop="productQty">
+        <el-input
+          v-model="queryParams.productQty"
+          placeholder="请输入设计产能*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="预计产值*" prop="productPrice">
+        <el-input
+          v-model="queryParams.productPrice"
+          placeholder="请输入预计产值*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="预计税收*" prop="productTax">
+        <el-input
+          v-model="queryParams.productTax"
+          placeholder="请输入预计税收*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="预计用工*" prop="productEmp">
+        <el-input
+          v-model="queryParams.productEmp"
+          placeholder="请输入预计用工*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="项目计划用地" prop="plannedLand">
+        <el-input
+          v-model="queryParams.plannedLand"
+          placeholder="请输入项目计划用地"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="独立供地" prop="independentLand">
+        <el-input
+          v-model="queryParams.independentLand"
+          placeholder="请输入独立供地"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="流转土地" prop="circulationLan">
+        <el-input
+          v-model="queryParams.circulationLan"
+          placeholder="请输入流转土地"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="计划租赁用房" prop="needRoom">
+        <el-input
+          v-model="queryParams.needRoom"
+          placeholder="请输入计划租赁用房"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="计划租赁厂房" prop="needFactoryRoom">
+        <el-input
+          v-model="queryParams.needFactoryRoom"
+          placeholder="请输入计划租赁厂房"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="计划租赁办公生活用房" prop="needBusRoom">
+        <el-input
+          v-model="queryParams.needBusRoom"
+          placeholder="请输入计划租赁办公生活用房"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="其他需求" prop="other">
+        <el-input
+          v-model="queryParams.other"
+          placeholder="请输入其他需求"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="拟落户地点*" prop="address">
+        <el-input
+          v-model="queryParams.address"
+          placeholder="请输入拟落户地点*"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="是否签订框架协议* Y/N" prop="isFrameorder">
+        <el-input
+          v-model="queryParams.isFrameorder"
+          placeholder="请输入是否签订框架协议* Y/N"
+          clearable
+          size="small"
+          @keyup.enter.native="handleQuery"
+        />
+      </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="['projectInfo:info: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="['projectInfo:info: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="['projectInfo:info: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="['projectInfo:info:export']"
+        >导出</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+    <el-table v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="id*" align="center" prop="id" />
+      <el-table-column label="项目id*" align="center" prop="bmProjectId" />
+      <el-table-column label="项目名称*" align="center" prop="name" />
+      <el-table-column label="是否删除(0未删除、1已删除)" align="center" prop="isDel" />
+      <el-table-column label="投资方联系人*" align="center" prop="contactor" />
+      <el-table-column label="投资方联系方式*" align="center" prop="phone" />
+      <el-table-column label="预计投资额*" align="center" prop="needAmt" />
+      <el-table-column label="固定资产投资*" align="center" prop="fixedAssets" />
+      <el-table-column label="产品名称*" align="center" prop="productName" />
+      <el-table-column label="设计产能*" align="center" prop="productQty" />
+      <el-table-column label="预计产值*" align="center" prop="productPrice" />
+      <el-table-column label="预计税收*" align="center" prop="productTax" />
+      <el-table-column label="预计用工*" align="center" prop="productEmp" />
+      <el-table-column label="项目计划用地" align="center" prop="plannedLand" />
+      <el-table-column label="独立供地" align="center" prop="independentLand" />
+      <el-table-column label="流转土地" align="center" prop="circulationLan" />
+      <el-table-column label="计划租赁用房" align="center" prop="needRoom" />
+      <el-table-column label="计划租赁厂房" align="center" prop="needFactoryRoom" />
+      <el-table-column label="计划租赁办公生活用房" align="center" prop="needBusRoom" />
+      <el-table-column label="其他需求" align="center" prop="other" />
+      <el-table-column label="拟落户地点*" align="center" prop="address" />
+      <el-table-column label="是否签订框架协议* Y/N" align="center" prop="isFrameorder" />
+      <el-table-column label="框架协议附件url(框架协议为是,需要上传)" align="center" prop="attachment" />
+      <el-table-column label="备注" align="center" prop="description" />
+      <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="['projectInfo:info:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['projectInfo:info: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="500px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+        <el-form-item label="项目id*" prop="bmProjectId">
+          <el-input v-model="form.bmProjectId" placeholder="请输入项目id*" />
+        </el-form-item>
+        <el-form-item label="项目名称*" prop="name">
+          <el-input v-model="form.name" placeholder="请输入项目名称*" />
+        </el-form-item>
+        <el-form-item label="是否删除(0未删除、1已删除)" prop="isDel">
+          <el-input v-model="form.isDel" placeholder="请输入是否删除(0未删除、1已删除)" />
+        </el-form-item>
+        <el-form-item label="投资方联系人*" prop="contactor">
+          <el-input v-model="form.contactor" placeholder="请输入投资方联系人*" />
+        </el-form-item>
+        <el-form-item label="投资方联系方式*" prop="phone">
+          <el-input v-model="form.phone" placeholder="请输入投资方联系方式*" />
+        </el-form-item>
+        <el-form-item label="预计投资额*" prop="needAmt">
+          <el-input v-model="form.needAmt" placeholder="请输入预计投资额*" />
+        </el-form-item>
+        <el-form-item label="固定资产投资*" prop="fixedAssets">
+          <el-input v-model="form.fixedAssets" placeholder="请输入固定资产投资*" />
+        </el-form-item>
+        <el-form-item label="产品名称*" prop="productName">
+          <el-input v-model="form.productName" placeholder="请输入产品名称*" />
+        </el-form-item>
+        <el-form-item label="设计产能*" prop="productQty">
+          <el-input v-model="form.productQty" placeholder="请输入设计产能*" />
+        </el-form-item>
+        <el-form-item label="预计产值*" prop="productPrice">
+          <el-input v-model="form.productPrice" placeholder="请输入预计产值*" />
+        </el-form-item>
+        <el-form-item label="预计税收*" prop="productTax">
+          <el-input v-model="form.productTax" placeholder="请输入预计税收*" />
+        </el-form-item>
+        <el-form-item label="预计用工*" prop="productEmp">
+          <el-input v-model="form.productEmp" placeholder="请输入预计用工*" />
+        </el-form-item>
+        <el-form-item label="项目计划用地" prop="plannedLand">
+          <el-input v-model="form.plannedLand" placeholder="请输入项目计划用地" />
+        </el-form-item>
+        <el-form-item label="独立供地" prop="independentLand">
+          <el-input v-model="form.independentLand" placeholder="请输入独立供地" />
+        </el-form-item>
+        <el-form-item label="流转土地" prop="circulationLan">
+          <el-input v-model="form.circulationLan" placeholder="请输入流转土地" />
+        </el-form-item>
+        <el-form-item label="计划租赁用房" prop="needRoom">
+          <el-input v-model="form.needRoom" placeholder="请输入计划租赁用房" />
+        </el-form-item>
+        <el-form-item label="计划租赁厂房" prop="needFactoryRoom">
+          <el-input v-model="form.needFactoryRoom" placeholder="请输入计划租赁厂房" />
+        </el-form-item>
+        <el-form-item label="计划租赁办公生活用房" prop="needBusRoom">
+          <el-input v-model="form.needBusRoom" placeholder="请输入计划租赁办公生活用房" />
+        </el-form-item>
+        <el-form-item label="其他需求" prop="other">
+          <el-input v-model="form.other" placeholder="请输入其他需求" />
+        </el-form-item>
+        <el-form-item label="拟落户地点*" prop="address">
+          <el-input v-model="form.address" placeholder="请输入拟落户地点*" />
+        </el-form-item>
+        <el-form-item label="是否签订框架协议* Y/N" prop="isFrameorder">
+          <el-input v-model="form.isFrameorder" placeholder="请输入是否签订框架协议* Y/N" />
+        </el-form-item>
+        <el-form-item label="框架协议附件url(框架协议为是,需要上传)" prop="attachment">
+          <el-input v-model="form.attachment" type="textarea" placeholder="请输入内容" />
+        </el-form-item>
+        <el-form-item label="备注" prop="description">
+          <el-input v-model="form.description" type="textarea" placeholder="请输入内容" />
+        </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 { listInfo, getInfo, delInfo, addInfo, updateInfo, exportInfo } from "@/api/projectInfo/info";
+
+export default {
+  name: "Info",
+  components: {
+  },
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 项目-线索信息表格数据
+      infoList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        bmProjectId: null,
+        name: null,
+        isDel: null,
+        contactor: null,
+        phone: null,
+        needAmt: null,
+        fixedAssets: null,
+        productName: null,
+        productQty: null,
+        productPrice: null,
+        productTax: null,
+        productEmp: null,
+        plannedLand: null,
+        independentLand: null,
+        circulationLan: null,
+        needRoom: null,
+        needFactoryRoom: null,
+        needBusRoom: null,
+        other: null,
+        address: null,
+        isFrameorder: null,
+        attachment: null,
+        description: null
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+      }
+    };
+  },
+  created() {
+    this.getList();
+  },
+  methods: {
+    /** 查询项目-线索信息列表 */
+    getList() {
+      this.loading = true;
+      listInfo(this.queryParams).then(response => {
+        this.infoList = response.rows;
+        this.total = response.total;
+        this.loading = false;
+      });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        id: null,
+        bmProjectId: null,
+        createBy: null,
+        createTime: null,
+        updateBy: null,
+        updateTime: null,
+        name: null,
+        isDel: null,
+        contactor: null,
+        phone: null,
+        needAmt: null,
+        fixedAssets: null,
+        productName: null,
+        productQty: null,
+        productPrice: null,
+        productTax: null,
+        productEmp: null,
+        plannedLand: null,
+        independentLand: null,
+        circulationLan: null,
+        needRoom: null,
+        needFactoryRoom: null,
+        needBusRoom: null,
+        other: null,
+        address: null,
+        isFrameorder: null,
+        attachment: null,
+        description: 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
+      getInfo(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) {
+            updateInfo(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addInfo(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const ids = row.id || this.ids;
+      this.$confirm('是否确认删除项目-线索信息编号为"' + ids + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delInfo(ids);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有项目-线索信息数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportInfo(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    }
+  }
+};
+</script>

+ 824 - 0
ruoyi-ui/src/views/management/nstruction/index.vue

@@ -0,0 +1,824 @@
+<template>
+
+  <div class="app-conta">
+
+
+  <div class="nauer">
+
+
+
+     <!-- 在建项目 -->
+     <div>
+       <div class="nstruction">
+          <div class="nstruction_nav">
+            <p>
+              <span>*</span>
+              <span>合同约定开工时间:</span>
+            </p>
+            <p>23</p>
+          </div>
+          <div class="nstruction_navne">
+            <p>
+              <span>*</span>
+              <span>合同约定开工时间:</span>
+            </p>
+            <p></p>
+          </div>
+
+       </div>
+       <div class="naue_tab">
+        <p @click="tabClid(index)" v-for="(item,index) in tabNume"  :key="index" :class="[tab == index? 'p' : '']">{{item}}</p>
+       </div>
+       <!-- 内容 -->
+       <div class="namjeu" >
+         <el-form :model="queryParamstwr" ref="queryForm" :inline="true" v-show="showSearch" label-width="135px" label-position="center" class="manager_form">
+          <el-form-item label="施工许可证:" prop="configType" class="maget_ty">
+              <div class="forieu" style="width: 618px;">
+               <div class="bure burert">
+                 <el-upload
+                   action="#"
+                    list-type="picture-card"
+                    :auto-upload="false">
+                      <!-- <i slot="default" class="el-icon-plus"></i> -->
+                      <div slot="file" slot-scope="{file}" style="height: 78px;">
+                        <img
+                          class="el-upload-list__item-thumbnail"
+                          :src="file.url" alt=""
+                        >
+                        <span class="el-upload-list__item-actions">
+                          <span
+                            class="el-upload-list__item-preview"
+                            @click="handlePictureCardPreview(file)"
+                          >
+                            <i class="el-icon-zoom-in"></i>
+                          </span>
+                         <!-- <span
+                            v-if="!disabled"
+                            class="el-upload-list__item-delete"
+                            @click="handleDownload(file)"
+                          >
+                            <i class="el-icon-download"></i>
+                          </span> -->
+                          <span
+                            v-if="!disabled"
+                            class="el-upload-list__item-delete"
+                            @click="handleRemove(file)"
+                          >
+                            <i class="el-icon-delete"></i>
+                          </span>
+                        </span>
+
+                      </div>
+                   <div class="ijeut">
+                     <el-button plain slot="trigger" size="small" type="primary" >选择图片</el-button>
+                      <!-- margin-top: 15%; transform: translateY(-50%); -->
+                     <el-button style="margin-left: 10px;" size="small" type="primary" @click="submitUpload">开始上传</el-button>
+                   </div>
+                   <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
+                 </el-upload>
+               </div>
+              </div>
+            </el-form-item>
+            <el-form-item label="是否开工建设:" prop="configType">
+              <el-select v-model="queryParams.configType" placeholder="系统内置" clearable size="small" style="width: 458px">
+                <el-option
+                  v-for="dict in typeOptions"
+                  :key="dict.dictValue"
+                  :label="dict.dictLabel"
+                  :value="dict.dictValue"
+                />
+              </el-select>
+            </el-form-item>
+             <el-form-item label=" 开工日期:">
+                  <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 335px"></el-date-picker>
+              </el-form-item>
+              <el-form-item label="预计完工日期:">
+                   <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 335px"></el-date-picker>
+               </el-form-item>
+               <el-form-item label="施工合同:" prop="configType" class="maget_ty">
+                   <div class="forieu" style="width: 618px;">
+                    <div class="bure burert">
+                      <el-upload
+                        action="#"
+                         list-type="picture-card"
+                         :auto-upload="false">
+                           <!-- <i slot="default" class="el-icon-plus"></i> -->
+                           <div slot="file" slot-scope="{file}" style="height: 78px;">
+                             <img
+                               class="el-upload-list__item-thumbnail"
+                               :src="file.url" alt=""
+                             >
+                             <span class="el-upload-list__item-actions">
+                               <span
+                                 class="el-upload-list__item-preview"
+                                 @click="handlePictureCardPreview(file)"
+                               >
+                                 <i class="el-icon-zoom-in"></i>
+                               </span>
+                              <!-- <span
+                                 v-if="!disabled"
+                                 class="el-upload-list__item-delete"
+                                 @click="handleDownload(file)"
+                               >
+                                 <i class="el-icon-download"></i>
+                               </span> -->
+                               <span
+                                 v-if="!disabled"
+                                 class="el-upload-list__item-delete"
+                                 @click="handleRemove(file)"
+                               >
+                                 <i class="el-icon-delete"></i>
+                               </span>
+                             </span>
+                    
+                           </div>
+                        <div class="ijeut">
+                          <el-button plain slot="trigger" size="small" type="primary" >选择图片</el-button>
+                           <!-- margin-top: 15%; transform: translateY(-50%); -->
+                          <el-button style="margin-left: 10px;" size="small" type="primary" @click="submitUpload">开始上传</el-button>
+                        </div>
+                        <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
+                      </el-upload>
+                    </div>
+                   </div>
+                 </el-form-item>
+          </el-form>
+          <p class="kaieu">开工照片:</p>
+          <p class="kaieu_tw"><i class="el-icon-circle-plus-outline"></i> 添加企业</p>
+          <el-table v-loading="loading" :data="configList" >
+            <!-- <el-table-column type="selection" width="55" align="center" /> -->
+            <el-table-column label="时间" align="center" prop="configId" />
+            <el-table-column label="进度" align="center" prop="configName" :show-overflow-tooltip="true" />
+            <el-table-column label="照片" align="center" >
+              <!-- class-name="small-padding fixed-width" -->
+              <template slot-scope="scope">
+                <el-button
+                  size="mini"
+                  type="warning"
+                  @click="handleUpdate(scope.row)"
+                  v-hasPermi="['system:config:edit']"
+                >上传</el-button>
+              </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="danger"
+                  @click="handleDelete(scope.row)"
+                  v-hasPermi="['system:config:remove']"
+                >删除</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+
+       </div>
+
+       <div class="equipment" v-if="false">
+            <p class="kaieu_tw"><i class="el-icon-circle-plus-outline"></i> 添加设备安装信息</p>
+          <el-table v-loading="loading" :data="configList" >
+            <!-- <el-table-column type="selection" width="55" align="center" /> -->
+            <el-table-column label="时间" align="center" prop="configId" />
+            <el-table-column label="进度" align="center" prop="configName" :show-overflow-tooltip="true" />
+            <el-table-column label="照片" align="center" >
+              <!-- class-name="small-padding fixed-width" -->
+              <template slot-scope="scope">
+                <el-button
+                  size="mini"
+                  type="warning"
+                  @click="handleUpdate(scope.row)"
+                  v-hasPermi="['system:config:edit']"
+                >上传</el-button>
+              </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="danger"
+                  @click="handleDelete(scope.row)"
+                  v-hasPermi="['system:config:remove']"
+                >删除</el-button>
+              </template>
+            </el-table-column>
+          </el-table>
+
+       </div>
+
+     <div class="funding" v-if="false">
+        <p class="kaieu">到资金额合计:  万元</p>
+          <p class="kaieu_tw"><i class="el-icon-circle-plus-outline"></i> 添加设备安装信息</p>
+        <el-table v-loading="loading" :data="configList" >
+          <!-- <el-table-column type="selection" width="55" align="center" /> -->
+          <el-table-column label="时间" align="center" prop="configId" />
+          <el-table-column label="进度" align="center" prop="configName" :show-overflow-tooltip="true" />
+          <el-table-column label="照片" align="center" >
+            <!-- class-name="small-padding fixed-width" -->
+            <template slot-scope="scope">
+              <el-button
+                size="mini"
+                type="warning"
+                @click="handleUpdate(scope.row)"
+                v-hasPermi="['system:config:edit']"
+              >上传</el-button>
+            </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="danger"
+                @click="handleDelete(scope.row)"
+                v-hasPermi="['system:config:remove']"
+              >删除</el-button>
+            </template>
+          </el-table-column>
+        </el-table>
+
+     </div>
+     </div>
+     <div class="namjeu" v-if="false">
+       <el-form :model="queryParamstwr" ref="queryForm" :inline="true" v-show="showSearch" label-width="135px" label-position="center" class="manager_form">
+           <el-form-item label=" 入统时间:">
+                <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 335px"></el-date-picker>
+            </el-form-item>
+             <el-form-item label="施工许可证:" prop="configType" class="maget_ty maget_tyty">
+                 <div class="forieu" style="width: 618px;">
+                  <div class="bure burert">
+                   <el-upload
+                     action="#"
+                      list-type="picture-card"
+                      :auto-upload="false">
+                        <!-- <i slot="default" class="el-icon-plus"></i> -->
+                        <div slot="file" slot-scope="{file}" style="height: 78px;">
+                          <img
+                            class="el-upload-list__item-thumbnail"
+                            :src="file.url" alt=""
+                          >
+                          <span class="el-upload-list__item-actions">
+                            <span
+                              class="el-upload-list__item-preview"
+                              @click="handlePictureCardPreview(file)"
+                            >
+                              <i class="el-icon-zoom-in"></i>
+                            </span>
+                           <!-- <span
+                              v-if="!disabled"
+                              class="el-upload-list__item-delete"
+                              @click="handleDownload(file)"
+                            >
+                              <i class="el-icon-download"></i>
+                            </span> -->
+                            <span
+                              v-if="!disabled"
+                              class="el-upload-list__item-delete"
+                              @click="handleRemove(file)"
+                            >
+                              <i class="el-icon-delete"></i>
+                            </span>
+                          </span>
+
+                        </div>
+                     <div class="ijeut">
+                       <el-button plain slot="trigger" size="small" type="primary" >选择图片</el-button>
+                        <!-- margin-top: 15%; transform: translateY(-50%); -->
+                       <el-button style="margin-left: 10px;" size="small" type="primary" @click="submitUpload">开始上传</el-button>
+                     </div>
+                     <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
+                   </el-upload>
+
+                  </div>
+                 </div>
+               </el-form-item>
+        </el-form>
+
+
+     </div>
+
+
+  </div>
+
+
+<el-dialog :visible.sync="dialogVisible">
+                     <img width="100%" :src="dialogImageUrl" alt="">
+                   </el-dialog>
+    <!-- 添加或修改参数配置对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="150px">
+        <el-form-item label="企业名称" prop="configName">
+          <el-input v-model="form.configName" placeholder="请输入企业名称" />
+        </el-form-item>
+        <el-form-item label="企业所在地" prop="configKey">
+          <el-input v-model="form.configKey" placeholder="请输入参数键名" />
+        </el-form-item>
+        <el-form-item label="法人代表姓名" prop="configValue">
+          <el-input v-model="form.configValue" placeholder="请输入参数键值" />
+        </el-form-item>
+        <el-form-item label="系统内置" prop="configType">
+          <el-radio-group v-model="form.configType">
+            <el-radio
+              v-for="dict in typeOptions"
+              :key="dict.dictValue"
+              :label="dict.dictValue"
+            >{{dict.dictLabel}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="统一社会信用代码" prop="remark">
+          <el-input v-model="form.remark"  placeholder="请输入统一社会信用代码" />
+        </el-form-item>
+        <el-form-item label="联系方式" prop="remark">
+          <el-input v-model="form.remark"  placeholder="请输入联系方式" />
+        </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 { listConfig, getConfig, delConfig, addConfig, updateConfig, exportConfig, clearCache } from "@/api/system/config";
+export default {
+  name: "Config",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      //步骤条
+      naueactive:2,
+      tab:1,
+      tabNume:['线索信息','签约信息','在建信息','投产信息'],
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 参数表格数据
+      configList: [],
+      // 弹出层标题
+      title: "",
+      dialogImageUrl: '',
+      dialogVisible: false,
+      disabled: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        configName: undefined,
+        configKey: undefined,
+        configType: undefined
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        configName: [
+          { required: true, message: "参数名称不能为空", trigger: "blur" }
+        ],
+        configKey: [
+          { required: true, message: "参数键名不能为空", trigger: "blur" }
+        ],
+        configValue: [
+          { required: true, message: "参数键值不能为空", trigger: "blur" }
+        ]
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getDicts("sys_yes_no").then(response => {
+      this.typeOptions = response.data;
+    });
+  },
+  methods: {
+    submitUpload() {
+      this.$refs.upload.submit();
+    },
+    handleRemove(file) {
+           console.log(file);
+         },
+         handlePictureCardPreview(file) {
+           this.dialogImageUrl = file.url;
+           this.dialogVisible = true;
+         },
+         handleDownload(file) {
+           console.log(file);
+         },
+    /** 查询参数列表 */
+    getList() {
+      this.loading = true;
+      listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+          this.configList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    // 参数系统内置字典翻译
+    typeFormat(row, column) {
+      return this.selectDictLabel(this.typeOptions, row.configType);
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        configId: undefined,
+        configName: undefined,
+        configKey: undefined,
+        configValue: undefined,
+        configType: "Y",
+        remark: undefined
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加参数";
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.configId)
+      this.single = selection.length!=1
+      this.multiple = !selection.length
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const configId = row.configId || this.ids
+      getConfig(configId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改参数";
+      });
+    },
+    /** 提交按钮 */
+    submitForm: function() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.configId != undefined) {
+            updateConfig(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addConfig(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const configIds = row.configId || this.ids;
+      this.$confirm('是否确认删除参数编号为"' + configIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delConfig(configIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有参数数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportConfig(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    },
+    /** 清理缓存按钮操作 */
+    handleClearCache() {
+      clearCache().then(response => {
+        this.msgSuccess("清理成功");
+      });
+    },
+    //tab
+    tabClid(index){
+    this.tab = index
+    // this.$router.push('/tab');
+    }
+  }
+};
+</script>
+<style rel="stylesheet/scss" lang="scss">
+  .buiy{
+    // width: 75px !important;
+    // height: 30px !important;
+    // line-height: 30px !important;
+  }
+  .ijeut{
+    display: flex;
+    height: 78px;
+    align-items: center;
+  }
+
+  .burert{
+    .el-upload--picture-card{
+      height: 78px;
+      line-height: 78px;
+      width: 80px;
+      vertical-align:center;
+      border: 0 !important;
+      background-color: #fff;
+    }
+    .el-upload-list--picture-card .el-upload-list__item{
+      height: 78px !important;
+      width: 78px !important;
+    }
+  }
+
+  .manager_form{
+    .manager_lab{
+      .el-form-item__label{
+        width: 145px !important;
+      }
+    }
+    .maneg_lar{
+      position: relative;
+      .el-form-item__label{
+        width: 134px !important;
+      }
+      span{
+        position: absolute;
+        left: -95%;
+      }
+    }
+    .manager_labtwo{
+      .el-form-item__label{
+        width: 244px !important;
+      }
+    }
+    .manager_labthre{
+      // .el-form-item{
+        .el-form-item__label{
+          width: 130px !important;
+        }
+        margin-right: 40px !important;
+      // }
+    }
+    .ieuyr{
+      .el-textarea__inner{
+        height: 80px !important;
+      }
+    }
+    .mage_ter{
+      .el-form-item__label{
+        width: 513px !important;
+      }
+    }
+    .maget_ty{
+      .el-form-item__label{
+        width: 135px !important;
+      }
+    }
+    .forieu{
+     border: 1px solid #DCDFE6;
+     border-radius: 4px;
+     width: 480px;
+     height: 100px !important;
+     position: relative;
+
+     .bure{
+       display: flex;
+       // position: absolute;
+       // height: 100%;
+       // right: 20px;
+       // top: 50%;
+       // transform: translateY(-50%);
+       padding: 10px 0;
+     }
+     .burert{
+       display: flex;
+       position: absolute;
+       height: 100%;
+       left: 20px;
+       top: 50%;
+       transform: translateY(-50%);
+     }
+    }
+  }
+  .lage_div{
+    padding-left: 15px;
+    display: flex;
+    align-items: center;
+    margin-bottom: 22px;
+    .el-form-item{
+      margin-bottom: 0 !important;
+    }
+  }
+.app-conta{
+  .header{
+    padding-left: 22px;
+    height: 45px;
+    line-height: 40px;
+    background-color: #F1F1F1;
+    font-size: 18px;
+    color: #343434;
+    margin-bottom: 40px;
+  }
+  .nauer{
+    .nuae_wtu{
+      display: flex;
+      justify-content: center;
+      align-content: center;
+     .naue_one{
+       width: 30%;
+       p{
+         font-size: 12px;
+         font-family: PingFang SC;
+         font-weight: 400;
+         color: #343434;
+       }
+       .naue_name{
+         font-size: 14px;
+         font-family: PingFang SC;
+         font-weight: bold;
+         color: #0669B2;
+         margin-bottom: 30px;
+       }
+     }
+     .naue_two{
+       flex: 1;
+       padding-top: 20px;
+       // display: flex;
+       // align-items: center;
+       // justify-content: center;
+     }
+    }
+    //tab
+    .naue_tab{
+      border-bottom: 1px solid #CDCDCD;
+      display: flex;
+      margin-top: 30px;
+      padding: 0 10px;
+      margin-bottom: 30px;
+      p{
+        font-size: 12px;
+        font-family: PingFang SC;
+        font-weight: 400;
+        color: #343434;
+        padding: 11px 15px;
+        margin: 0;
+      }
+      .p{
+        border-bottom: 2px solid #1C84C6;
+        margin-bottom: -1px;
+      }
+    }
+    .mation{
+
+      .enterprise{
+        font-size: 14px;
+        font-family: PingFang SC;
+        font-weight: bold;
+        color: #1C84C6;
+        margin-top: 25px;
+        margin-bottom: 20px;
+      }
+      .enterprise_tw{
+        i{
+          margin-right: 5px;
+        }
+        font-size: 14px;
+        font-family: PingFang SC;
+        font-weight: 600;
+        color: #666666;
+      }
+    }
+
+  }
+  .nvestor{
+    margin-bottom: 10px;
+    p{
+      margin:0;
+      font-size: 14px;
+      font-family: PingFang SC;
+      font-weight: bold;
+      color: #343434;
+      height: 24px;
+      line-height: 24px;
+      border-left: 3px solid #1C84C6;
+      padding-left: 13px;
+      i{
+        color: red;
+      }
+    }
+  }
+  .souu{
+    font-size: 14px;
+    font-family: PingFang SC;
+    font-weight: 400;
+    color: #343434;
+    margin-left: 5px;
+  }
+}
+//在建项目
+.nstruction{
+  display: flex;
+  align-items: center;
+ .nstruction_nav{
+   display: flex;
+   align-items: center;
+   p:nth-child(1){
+     margin-right: 10px;
+     span{
+       font-size: 14px;
+       font-family: PingFang SC;
+       font-weight: bold;
+       color: #343434;
+     }
+     span:nth-child(1){
+       color: #DF0024;
+     }
+   }
+   p:nth-child(2){
+     width: 233px;
+     height: 30px;
+     line-height: 30px;
+     border: 1px solid #CDCDCD;
+     border-radius: 3px;
+     padding-left: 14px;
+   }
+
+ }
+ .nstruction_navne{
+   margin-left: 50px;
+   display: flex;
+   align-items: center;
+   p:nth-child(1){
+      margin-right: 10px;
+     span{
+       font-size: 14px;
+       font-family: PingFang SC;
+       font-weight: bold;
+       color: #343434;
+     }
+     span:nth-child(1){
+       color: #DF0024;
+     }
+   }
+   p:nth-child(2){
+     width: 233px;
+     height: 30px;
+     line-height: 30px;
+     border: 1px solid #CDCDCD;
+     border-radius: 3px;
+     padding-left: 14px;
+   }
+
+ }
+}
+.kaieu{
+  padding-left: 60px;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 800;
+  color: #343434;
+}
+.kaieu_tw{
+  padding-left: 60px;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 500;
+  color: #666666;
+}
+</style>

+ 606 - 0
ruoyi-ui/src/views/management/roduction/index.vue

@@ -0,0 +1,606 @@
+<template>
+
+  <div class="app-conta">
+
+
+  <div class="nauer">
+
+
+
+     <!-- 在建项目 -->
+     <div>
+       <div class="nstruction">
+
+       <!-- 内容 -->
+       <div class="namjeu" >
+         <el-form :model="queryParamstwr" ref="queryForm" :inline="true" v-show="showSearch" label-width="135px" label-position="center" class="manager_form">
+         <el-form-item label=" 已完成投资额:">
+              <el-input
+                v-model="queryParams.configName"
+                placeholder="请输入已完成投资额"
+                clearable
+                size="small"
+                style="width: 335px"
+                @keyup.enter.native="handleQuery"
+              />
+          </el-form-item>
+          <el-form-item label="设备投资额度:">
+               <el-input
+                 v-model="queryParams.configName"
+                 placeholder="请输入设备投资额度"
+                 clearable
+                 size="small"
+                 style="width: 335px"
+                 @keyup.enter.native="handleQuery"
+               />
+           </el-form-item>
+           <el-form-item label="投产时间:">
+                <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 335px"></el-date-picker>
+            </el-form-item>
+          <el-form-item label="施工许可证:" prop="configType" class="maget_ty">
+              <div class="forieu" style="width: 618px;">
+               <div class="bure burert">
+                 <el-upload
+                   action="#"
+                    list-type="picture-card"
+                    :auto-upload="false">
+                      <!-- <i slot="default" class="el-icon-plus"></i> -->
+                      <div slot="file" slot-scope="{file}" style="height: 78px;">
+                        <img
+                          class="el-upload-list__item-thumbnail"
+                          :src="file.url" alt=""
+                        >
+                        <span class="el-upload-list__item-actions">
+                          <span
+                            class="el-upload-list__item-preview"
+                            @click="handlePictureCardPreview(file)"
+                          >
+                            <i class="el-icon-zoom-in"></i>
+                          </span>
+                         <!-- <span
+                            v-if="!disabled"
+                            class="el-upload-list__item-delete"
+                            @click="handleDownload(file)"
+                          >
+                            <i class="el-icon-download"></i>
+                          </span> -->
+                          <span
+                            v-if="!disabled"
+                            class="el-upload-list__item-delete"
+                            @click="handleRemove(file)"
+                          >
+                            <i class="el-icon-delete"></i>
+                          </span>
+                        </span>
+
+                      </div>
+                   <div class="ijeut">
+                     <el-button plain slot="trigger" size="small" type="primary" >选择图片</el-button>
+                      <!-- margin-top: 15%; transform: translateY(-50%); -->
+                     <el-button style="margin-left: 10px;" size="small" type="primary" @click="submitUpload">开始上传</el-button>
+                   </div>
+                   <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
+                 </el-upload>
+               </div>
+              </div>
+            </el-form-item>
+            <el-form-item label="是否开工建设:" prop="configType">
+              <el-select v-model="queryParams.configType" placeholder="系统内置" clearable size="small" style="width: 458px">
+                <el-option
+                  v-for="dict in typeOptions"
+                  :key="dict.dictValue"
+                  :label="dict.dictLabel"
+                  :value="dict.dictValue"
+                />
+              </el-select>
+            </el-form-item>
+             <el-form-item label=" 项目入规(限):">
+                  <el-select v-model="queryParams.configType" placeholder="系统内置" clearable size="small" style="width: 335px">
+                    <el-option
+                      v-for="dict in typeOptions"
+                      :key="dict.dictValue"
+                      :label="dict.dictLabel"
+                      :value="dict.dictValue"
+                    />
+                  </el-select>
+              </el-form-item>
+              <el-form-item label="项目入规时间:">
+                   <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 335px"></el-date-picker>
+               </el-form-item>
+          </el-form>
+
+
+       </div>
+
+</div>
+</div>
+  </div>
+
+
+<el-dialog :visible.sync="dialogVisible">
+                     <img width="100%" :src="dialogImageUrl" alt="">
+                   </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listConfig, getConfig, delConfig, addConfig, updateConfig, exportConfig, clearCache } from "@/api/system/config";
+export default {
+  name: "Config",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      //步骤条
+      naueactive:2,
+      tab:1,
+      tabNume:['线索信息','签约信息','在建信息','投产信息'],
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 参数表格数据
+      configList: [],
+      // 弹出层标题
+      title: "",
+      dialogImageUrl: '',
+      dialogVisible: false,
+      disabled: false,
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        configName: undefined,
+        configKey: undefined,
+        configType: undefined
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        configName: [
+          { required: true, message: "参数名称不能为空", trigger: "blur" }
+        ],
+        configKey: [
+          { required: true, message: "参数键名不能为空", trigger: "blur" }
+        ],
+        configValue: [
+          { required: true, message: "参数键值不能为空", trigger: "blur" }
+        ]
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getDicts("sys_yes_no").then(response => {
+      this.typeOptions = response.data;
+    });
+  },
+  methods: {
+    submitUpload() {
+      this.$refs.upload.submit();
+    },
+    handleRemove(file) {
+           console.log(file);
+         },
+         handlePictureCardPreview(file) {
+           this.dialogImageUrl = file.url;
+           this.dialogVisible = true;
+         },
+         handleDownload(file) {
+           console.log(file);
+         },
+    /** 查询参数列表 */
+    getList() {
+      this.loading = true;
+      listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+          this.configList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    // 参数系统内置字典翻译
+    typeFormat(row, column) {
+      return this.selectDictLabel(this.typeOptions, row.configType);
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        configId: undefined,
+        configName: undefined,
+        configKey: undefined,
+        configValue: undefined,
+        configType: "Y",
+        remark: undefined
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加参数";
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.configId)
+      this.single = selection.length!=1
+      this.multiple = !selection.length
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const configId = row.configId || this.ids
+      getConfig(configId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改参数";
+      });
+    },
+    /** 提交按钮 */
+    submitForm: function() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.configId != undefined) {
+            updateConfig(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addConfig(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const configIds = row.configId || this.ids;
+      this.$confirm('是否确认删除参数编号为"' + configIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delConfig(configIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有参数数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportConfig(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    },
+    /** 清理缓存按钮操作 */
+    handleClearCache() {
+      clearCache().then(response => {
+        this.msgSuccess("清理成功");
+      });
+    },
+    //tab
+    tabClid(index){
+    this.tab = index
+    // this.$router.push('/tab');
+    }
+  }
+};
+</script>
+<style rel="stylesheet/scss" lang="scss">
+  .buiy{
+    // width: 75px !important;
+    // height: 30px !important;
+    // line-height: 30px !important;
+  }
+  .ijeut{
+    display: flex;
+    height: 78px;
+    align-items: center;
+  }
+
+  .burert{
+    .el-upload--picture-card{
+      height: 78px;
+      line-height: 78px;
+      width: 80px;
+      vertical-align:center;
+      border: 0 !important;
+      background-color: #fff;
+    }
+    .el-upload-list--picture-card .el-upload-list__item{
+      height: 78px !important;
+      width: 78px !important;
+    }
+  }
+
+  .manager_form{
+    .manager_lab{
+      .el-form-item__label{
+        width: 145px !important;
+      }
+    }
+    .maneg_lar{
+      position: relative;
+      .el-form-item__label{
+        width: 134px !important;
+      }
+      span{
+        position: absolute;
+        left: -95%;
+      }
+    }
+    .manager_labtwo{
+      .el-form-item__label{
+        width: 244px !important;
+      }
+    }
+    .manager_labthre{
+      // .el-form-item{
+        .el-form-item__label{
+          width: 130px !important;
+        }
+        margin-right: 40px !important;
+      // }
+    }
+    .ieuyr{
+      .el-textarea__inner{
+        height: 80px !important;
+      }
+    }
+    .mage_ter{
+      .el-form-item__label{
+        width: 513px !important;
+      }
+    }
+    .maget_ty{
+      .el-form-item__label{
+        width: 135px !important;
+      }
+    }
+    .forieu{
+     border: 1px solid #DCDFE6;
+     border-radius: 4px;
+     width: 480px;
+     height: 100px !important;
+     position: relative;
+
+     .bure{
+       display: flex;
+       // position: absolute;
+       // height: 100%;
+       // right: 20px;
+       // top: 50%;
+       // transform: translateY(-50%);
+       padding: 10px 0;
+     }
+     .burert{
+       display: flex;
+       position: absolute;
+       height: 100%;
+       left: 20px;
+       top: 50%;
+       transform: translateY(-50%);
+     }
+    }
+  }
+  .lage_div{
+    padding-left: 15px;
+    display: flex;
+    align-items: center;
+    margin-bottom: 22px;
+    .el-form-item{
+      margin-bottom: 0 !important;
+    }
+  }
+.app-conta{
+  .header{
+    padding-left: 22px;
+    height: 45px;
+    line-height: 40px;
+    background-color: #F1F1F1;
+    font-size: 18px;
+    color: #343434;
+    margin-bottom: 40px;
+  }
+  .nauer{
+    .nuae_wtu{
+      display: flex;
+      justify-content: center;
+      align-content: center;
+     .naue_one{
+       width: 30%;
+       p{
+         font-size: 12px;
+         font-family: PingFang SC;
+         font-weight: 400;
+         color: #343434;
+       }
+       .naue_name{
+         font-size: 14px;
+         font-family: PingFang SC;
+         font-weight: bold;
+         color: #0669B2;
+         margin-bottom: 30px;
+       }
+     }
+     .naue_two{
+       flex: 1;
+       padding-top: 20px;
+       // display: flex;
+       // align-items: center;
+       // justify-content: center;
+     }
+    }
+    //tab
+    .naue_tab{
+      border-bottom: 1px solid #CDCDCD;
+      display: flex;
+      margin-top: 30px;
+      padding: 0 10px;
+      margin-bottom: 30px;
+      p{
+        font-size: 12px;
+        font-family: PingFang SC;
+        font-weight: 400;
+        color: #343434;
+        padding: 11px 15px;
+        margin: 0;
+      }
+      .p{
+        border-bottom: 2px solid #1C84C6;
+        margin-bottom: -1px;
+      }
+    }
+    .mation{
+
+      .enterprise{
+        font-size: 14px;
+        font-family: PingFang SC;
+        font-weight: bold;
+        color: #1C84C6;
+        margin-top: 25px;
+        margin-bottom: 20px;
+      }
+      .enterprise_tw{
+        i{
+          margin-right: 5px;
+        }
+        font-size: 14px;
+        font-family: PingFang SC;
+        font-weight: 600;
+        color: #666666;
+      }
+    }
+
+  }
+  .nvestor{
+    margin-bottom: 10px;
+    p{
+      margin:0;
+      font-size: 14px;
+      font-family: PingFang SC;
+      font-weight: bold;
+      color: #343434;
+      height: 24px;
+      line-height: 24px;
+      border-left: 3px solid #1C84C6;
+      padding-left: 13px;
+      i{
+        color: red;
+      }
+    }
+  }
+  .souu{
+    font-size: 14px;
+    font-family: PingFang SC;
+    font-weight: 400;
+    color: #343434;
+    margin-left: 5px;
+  }
+}
+//在建项目
+.nstruction{
+  display: flex;
+  align-items: center;
+ .nstruction_nav{
+   display: flex;
+   align-items: center;
+   p:nth-child(1){
+     margin-right: 10px;
+     span{
+       font-size: 14px;
+       font-family: PingFang SC;
+       font-weight: bold;
+       color: #343434;
+     }
+     span:nth-child(1){
+       color: #DF0024;
+     }
+   }
+   p:nth-child(2){
+     width: 233px;
+     height: 30px;
+     line-height: 30px;
+     border: 1px solid #CDCDCD;
+     border-radius: 3px;
+     padding-left: 14px;
+   }
+
+ }
+ .nstruction_navne{
+   margin-left: 50px;
+   display: flex;
+   align-items: center;
+   p:nth-child(1){
+      margin-right: 10px;
+     span{
+       font-size: 14px;
+       font-family: PingFang SC;
+       font-weight: bold;
+       color: #343434;
+     }
+     span:nth-child(1){
+       color: #DF0024;
+     }
+   }
+   p:nth-child(2){
+     width: 233px;
+     height: 30px;
+     line-height: 30px;
+     border: 1px solid #CDCDCD;
+     border-radius: 3px;
+     padding-left: 14px;
+   }
+
+ }
+}
+.kaieu{
+  padding-left: 60px;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 800;
+  color: #343434;
+}
+.kaieu_tw{
+  padding-left: 60px;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 500;
+  color: #666666;
+}
+</style>

+ 574 - 0
ruoyi-ui/src/views/management/row/index.vue

@@ -0,0 +1,574 @@
+<template>
+
+  <div class="app-container">
+    <div class="header">
+      项目详情 >
+    </div>
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          @click="handleAdd"
+          v-hasPermi="['system:config:add']"
+        >提交</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          @click="handleUpdate"
+          v-hasPermi="['system:config:edit']"
+        >暂存</el-button>
+      </el-col>
+      <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+    </el-row>
+
+  <div class="naue">
+    <!-- //步骤条 -->
+    <div class="nuae_wtu">
+      <div class="naue_one">
+       <p class="naue_name">项目名称:电子类企业</p>
+       <p>返乡创业:是</p>
+       <p>所属产业:电子产业</p>
+      </div>
+      <div class="naue_two">
+        <el-steps :active="naueactive" align-center finish-status="success">
+          <el-step title="线索审核中"></el-step>
+          <el-step title="线索审核成功"></el-step>
+          <el-step title="签约审核成功"></el-step>
+          <el-step title="在建审核成功"></el-step>
+          <el-step title="结束"></el-step>
+        </el-steps>
+      </div>
+    </div>
+    <!-- //tab栏 -->
+    <!-- <div class="naue_tab">
+     <p @click="tabClid(index)" v-for="(item,index) in tabNume"  :key="index" :class="[tab == index? 'p' : '']">{{item}}</p>
+    </div> -->
+      <my-tabs :tabList="tabList" :tabIndex="tabIndex" @changeTab="changeTab">
+          <keep-alive>
+            <component :is="currentContent">
+            </component>
+          </keep-alive>
+        </my-tabs>
+
+    <!-- 内容的显示隐藏 -->
+
+
+
+     <!-- 在建项目 -->
+
+
+  </div>
+
+
+
+    <!-- 添加或修改参数配置对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="150px">
+        <el-form-item label="企业名称" prop="configName">
+          <el-input v-model="form.configName" placeholder="请输入企业名称" />
+        </el-form-item>
+        <el-form-item label="企业所在地" prop="configKey">
+          <el-input v-model="form.configKey" placeholder="请输入参数键名" />
+        </el-form-item>
+        <el-form-item label="法人代表姓名" prop="configValue">
+          <el-input v-model="form.configValue" placeholder="请输入参数键值" />
+        </el-form-item>
+        <el-form-item label="系统内置" prop="configType">
+          <el-radio-group v-model="form.configType">
+            <el-radio
+              v-for="dict in typeOptions"
+              :key="dict.dictValue"
+              :label="dict.dictValue"
+            >{{dict.dictLabel}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="统一社会信用代码" prop="remark">
+          <el-input v-model="form.remark"  placeholder="请输入统一社会信用代码" />
+        </el-form-item>
+        <el-form-item label="联系方式" prop="remark">
+          <el-input v-model="form.remark"  placeholder="请输入联系方式" />
+        </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 { listConfig, getConfig, delConfig, addConfig, updateConfig, exportConfig, clearCache } from "@/api/system/config";
+import myTabs from '../../tab/index.vue'
+import One from '../../under/index.vue'
+import Two from '../nstruction/index.vue'
+import Three from '../roduction/index.vue'
+import Four from '../../../components/ProjectDec/SignContract.vue'
+export default {
+  name: "Config",
+  components: {
+      myTabs,
+      'one': One,
+      'two': Two,
+      'three':Three,
+      'four':Four
+},
+  data() {
+    return {
+      tabIndex: 0,
+            currentContent: 'one',
+            tabList: [
+              {
+                index: 0,
+                name: '线索信息',
+                component: 'one'
+              },
+              {
+                index: 2,
+                name: '签约信息',
+                component: 'four'
+              },
+              {
+                index: 3,
+                name: '在建信息',
+                component: 'two'
+              },
+              {
+                index: 4,
+                name: '投产信息',
+                component: 'three'
+              }
+            ],
+      // 遮罩层
+      loading: true,
+      //步骤条
+      naueactive:2,
+      tab:1,
+      tabNume:['线索信息','签约信息','在建信息','投产信息'],
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 参数表格数据
+      configList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 类型数据字典
+      typeOptions: [],
+      // 日期范围
+      dateRange: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        configName: undefined,
+        configKey: undefined,
+        configType: undefined
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        configName: [
+          { required: true, message: "参数名称不能为空", trigger: "blur" }
+        ],
+        configKey: [
+          { required: true, message: "参数键名不能为空", trigger: "blur" }
+        ],
+        configValue: [
+          { required: true, message: "参数键值不能为空", trigger: "blur" }
+        ]
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getDicts("sys_yes_no").then(response => {
+      this.typeOptions = response.data;
+    });
+  },
+  methods: {
+    /** 查询参数列表 */
+    getList() {
+      this.loading = true;
+      listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+          this.configList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    // 参数系统内置字典翻译
+    typeFormat(row, column) {
+      return this.selectDictLabel(this.typeOptions, row.configType);
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        configId: undefined,
+        configName: undefined,
+        configKey: undefined,
+        configValue: undefined,
+        configType: "Y",
+        remark: undefined
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加参数";
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.configId)
+      this.single = selection.length!=1
+      this.multiple = !selection.length
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const configId = row.configId || this.ids
+      getConfig(configId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改参数";
+      });
+    },
+    /** 提交按钮 */
+    submitForm: function() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.configId != undefined) {
+            updateConfig(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addConfig(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const configIds = row.configId || this.ids;
+      this.$confirm('是否确认删除参数编号为"' + configIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delConfig(configIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有参数数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportConfig(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    },
+    /** 清理缓存按钮操作 */
+    handleClearCache() {
+      clearCache().then(response => {
+        this.msgSuccess("清理成功");
+      });
+    },
+    //tab
+    changeTab(index){
+      console.log(34)
+    this.tabIndex = index.index
+    this.currentContent = index.component
+    // this.$router.push('/tab');
+    }
+  }
+};
+</script>
+<style rel="stylesheet/scss" lang="scss">
+  .manager_form{
+    .manager_lab{
+      .el-form-item__label{
+        width: 145px !important;
+      }
+    }
+    .maneg_lar{
+      position: relative;
+      .el-form-item__label{
+        width: 134px !important;
+      }
+      span{
+        position: absolute;
+        left: -95%;
+      }
+    }
+    .manager_labtwo{
+      .el-form-item__label{
+        width: 244px !important;
+      }
+    }
+    .manager_labthre{
+      // .el-form-item{
+        .el-form-item__label{
+          width: 130px !important;
+        }
+        margin-right: 40px !important;
+      // }
+    }
+    .ieuyr{
+      .el-textarea__inner{
+        height: 80px !important;
+      }
+    }
+    .mage_ter{
+      .el-form-item__label{
+        width: 513px !important;
+      }
+    }
+    .maget_ty{
+      .el-form-item__label{
+        width: 135px !important;
+      }
+    }
+    .forieu{
+     border: 1px solid #DCDFE6;
+     border-radius: 4px;
+     width: 480px;
+     height: 90px;
+     position: relative;
+     .bure{
+       position: absolute;
+       right: 20px;
+       top: 50%;
+       transform: translateY(-50%);
+     }
+    }
+  }
+  .lage_div{
+    padding-left: 15px;
+    display: flex;
+    align-items: center;
+    margin-bottom: 22px;
+    .el-form-item{
+      margin-bottom: 0 !important;
+    }
+  }
+.app-container{
+  .header{
+    padding-left: 22px;
+    height: 45px;
+    line-height: 40px;
+    background-color: #F1F1F1;
+    font-size: 18px;
+    color: #343434;
+    margin-bottom: 40px;
+  }
+  .naue{
+    border: 1px solid #DADADA;
+    padding:  20px;
+    margin-top: 40px;
+    .nuae_wtu{
+      display: flex;
+      justify-content: center;
+      align-content: center;
+     .naue_one{
+       width: 30%;
+       p{
+         font-size: 12px;
+         font-family: PingFang SC;
+         font-weight: 400;
+         color: #343434;
+       }
+       .naue_name{
+         font-size: 14px;
+         font-family: PingFang SC;
+         font-weight: bold;
+         color: #0669B2;
+         margin-bottom: 30px;
+       }
+     }
+     .naue_two{
+       flex: 1;
+       padding-top: 20px;
+       // display: flex;
+       // align-items: center;
+       // justify-content: center;
+     }
+    }
+    //tab
+    .naue_tab{
+      border-bottom: 1px solid #CDCDCD;
+      display: flex;
+      margin-top: 30px;
+      padding: 0 10px;
+      margin-bottom: 30px;
+      p{
+        font-size: 12px;
+        font-family: PingFang SC;
+        font-weight: 400;
+        color: #343434;
+        padding: 11px 15px;
+        margin: 0;
+      }
+      .p{
+        border-bottom: 2px solid #1C84C6;
+        margin-bottom: -1px;
+      }
+    }
+    .mation{
+
+      .enterprise{
+        font-size: 14px;
+        font-family: PingFang SC;
+        font-weight: bold;
+        color: #1C84C6;
+        margin-top: 25px;
+        margin-bottom: 20px;
+      }
+      .enterprise_tw{
+        i{
+          margin-right: 5px;
+        }
+        font-size: 14px;
+        font-family: PingFang SC;
+        font-weight: 600;
+        color: #666666;
+      }
+    }
+
+  }
+  .nvestor{
+    margin-bottom: 10px;
+    p{
+      margin:0;
+      font-size: 14px;
+      font-family: PingFang SC;
+      font-weight: bold;
+      color: #343434;
+      height: 24px;
+      line-height: 24px;
+      border-left: 3px solid #1C84C6;
+      padding-left: 13px;
+      i{
+        color: red;
+      }
+    }
+  }
+  .souu{
+    font-size: 14px;
+    font-family: PingFang SC;
+    font-weight: 400;
+    color: #343434;
+    margin-left: 5px;
+  }
+}
+//在建项目
+.nstruction{
+  display: flex;
+  align-items: center;
+ .nstruction_nav{
+   display: flex;
+   align-items: center;
+   p:nth-child(1){
+     margin-right: 10px;
+     span{
+       font-size: 14px;
+       font-family: PingFang SC;
+       font-weight: bold;
+       color: #343434;
+     }
+     span:nth-child(1){
+       color: #DF0024;
+     }
+   }
+   p:nth-child(2){
+     width: 233px;
+     height: 30px;
+     line-height: 30px;
+     border: 1px solid #CDCDCD;
+     border-radius: 3px;
+     padding-left: 14px;
+   }
+
+ }
+ .nstruction_navne{
+   margin-left: 50px;
+   display: flex;
+   align-items: center;
+   p:nth-child(1){
+      margin-right: 10px;
+     span{
+       font-size: 14px;
+       font-family: PingFang SC;
+       font-weight: bold;
+       color: #343434;
+     }
+     span:nth-child(1){
+       color: #DF0024;
+     }
+   }
+   p:nth-child(2){
+     width: 233px;
+     height: 30px;
+     line-height: 30px;
+     border: 1px solid #CDCDCD;
+     border-radius: 3px;
+     padding-left: 14px;
+   }
+
+ }
+}
+.kaieu{
+  padding-left: 60px;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 800;
+  color: #343434;
+}
+.kaieu_tw{
+  padding-left: 60px;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 500;
+  color: #666666;
+}
+</style>

+ 63 - 0
ruoyi-ui/src/views/management/row/tab.vue

@@ -0,0 +1,63 @@
+<template>
+  <div>
+    <!-- //tab栏 -->
+    <div class="naue_tab">
+     <p @click="tabClid(index)" v-for="(item,index) in tabNume"  :key="index" :class="[tab == index? 'p' : '']">{{item}}</p>
+    </div>
+    <div>
+         <slot></slot>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "Config",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      //步骤条
+      naueactive:2,
+      tab:1,
+      tabNume:['线索信息','签约信息','在建信息','投产信息'],
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+    };
+  },
+  created() {
+  },
+  methods: {
+    //tab
+    tabClid(index){
+    this.tab = index
+    }
+  }
+};
+</script>
+
+<style rel="stylesheet/scss" lang="scss">
+  //tab
+  .naue_tab{
+    border-bottom: 1px solid #CDCDCD;
+    display: flex;
+    margin-top: 30px;
+    padding: 0 10px;
+    margin-bottom: 30px;
+    p{
+      font-size: 12px;
+      font-family: PingFang SC;
+      font-weight: 400;
+      color: #343434;
+      padding: 11px 15px;
+      margin: 0;
+    }
+    .p{
+      border-bottom: 2px solid #1C84C6;
+      margin-bottom: -1px;
+    }
+  }
+</style>

+ 29 - 27
ruoyi-ui/src/views/system/notice/index.vue

@@ -1,26 +1,26 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="公告标题" prop="noticeTitle">
+      <el-form-item label="标题" prop="noticeTitle">
         <el-input
           v-model="queryParams.noticeTitle"
-          placeholder="请输入公告标题"
+          placeholder="请输入标题"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="操作人员" prop="createBy">
+      <el-form-item label="作者" prop="createBy">
         <el-input
           v-model="queryParams.createBy"
-          placeholder="请输入操作人员"
+          placeholder="请输入作者"
           clearable
           size="small"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
       <el-form-item label="类型" prop="noticeType">
-        <el-select v-model="queryParams.noticeType" placeholder="公告类型" clearable size="small">
+        <el-select v-model="queryParams.noticeType" placeholder="类型" clearable size="small">
           <el-option
             v-for="dict in typeOptions"
             :key="dict.dictValue"
@@ -75,27 +75,26 @@
       <el-table-column type="selection" width="55" align="center" />
       <el-table-column label="序号" align="center" prop="noticeId" width="100" />
       <el-table-column
-        label="公告标题"
+        label="标题"
         align="center"
         prop="noticeTitle"
         :show-overflow-tooltip="true"
       />
+      <el-table-column label="作者" align="center" prop="createBy" />
       <el-table-column
-        label="公告类型"
+        label="类型"
         align="center"
         prop="noticeType"
         :formatter="typeFormat"
-        width="100"
       />
-      <el-table-column
+     <!-- <el-table-column
         label="状态"
         align="center"
         prop="status"
         :formatter="statusFormat"
         width="100"
-      />
-      <el-table-column label="创建者" align="center" prop="createBy" width="100" />
-      <el-table-column label="创建时间" align="center" prop="createTime" width="100">
+      /> -->
+      <el-table-column label="创建时间" align="center" prop="createTime">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span>
         </template>
@@ -132,21 +131,24 @@
     <el-dialog :title="title" :visible.sync="open" width="780px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
-          <el-col :span="12">
-            <el-form-item label="公告标题" prop="noticeTitle">
+          <el-col :span="24">
+            <el-form-item label="标题" prop="noticeTitle">
               <el-input v-model="form.noticeTitle" placeholder="请输入公告标题" />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
-            <el-form-item label="公告类型" prop="noticeType">
-              <el-select v-model="form.noticeType" placeholder="请选择">
-                <el-option
-                  v-for="dict in typeOptions"
-                  :key="dict.dictValue"
-                  :label="dict.dictLabel"
-                  :value="dict.dictValue"
-                ></el-option>
-              </el-select>
+          <el-col :span="24">
+            <el-form-item label="作者" prop="noticeTitle">
+              <el-input v-model="form.noticeTitle" placeholder="请输入作者" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="单位" prop="noticeTitle">
+              <el-input v-model="form.noticeTitle" placeholder="请输入单位" />
+            </el-form-item>
+          </el-col>
+          <el-col :span="24">
+            <el-form-item label="类型" prop="noticeType">
+              
             </el-form-item>
           </el-col>
           <el-col :span="24">
@@ -292,7 +294,7 @@ export default {
     handleAdd() {
       this.reset();
       this.open = true;
-      this.title = "添加公告";
+      this.title = "添加动态";
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
@@ -301,7 +303,7 @@ export default {
       getNotice(noticeId).then(response => {
         this.form = response.data;
         this.open = true;
-        this.title = "修改公告";
+        this.title = "修改动态";
       });
     },
     /** 提交按钮 */
@@ -340,4 +342,4 @@ export default {
     }
   }
 };
-</script>
+</script>

+ 67 - 0
ruoyi-ui/src/views/tab/index.vue

@@ -0,0 +1,67 @@
+<template>
+  <div>
+    <!-- //tab栏 -->
+    <div class="naue_tab">
+     <p @click="changeTab(tab)" v-for="tab in tabList"  :key="tab.index" :class="[tabIndex == tab.index? 'p' : '']">{{tab.name}}</p>
+    </div>
+    <div>
+         <slot></slot>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "'Mytabs'",
+  props:{
+    tabList: Array,
+    tabIndex: Number
+  },
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      //步骤条
+      naueactive:2,
+      tabNume:['线索信息','签约信息','在建信息','投产信息'],
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+    };
+  },
+  created() {
+  },
+  methods: {
+    //tab
+    changeTab(index){
+      this.$emit('changeTab', index)
+    // this.tab = index
+    }
+  }
+};
+</script>
+
+<style rel="stylesheet/scss" lang="scss">
+  //tab
+  .naue_tab{
+    border-bottom: 1px solid #CDCDCD;
+    display: flex;
+    margin-top: 30px;
+    padding: 0 10px;
+    margin-bottom: 30px;
+    p{
+      font-size: 12px;
+      font-family: PingFang SC;
+      font-weight: 400;
+      color: #343434;
+      padding: 11px 15px;
+      margin: 0;
+    }
+    .p{
+      border-bottom: 2px solid #1C84C6;
+      margin-bottom: -1px;
+    }
+  }
+</style>

+ 860 - 0
ruoyi-ui/src/views/under/index.vue

@@ -0,0 +1,860 @@
+<template>
+
+  <div class="app-cont">
+  <!-- <div class="naue"> -->
+    <!-- 内容的显示隐藏 -->
+<div class="mation" >
+       <div class="nvestor">
+         <p>投资方 <i>*</i></p>
+       </div>
+       <p class="enterprise">企业</p>
+       <p class="enterprise_tw"><i class="el-icon-circle-plus-outline"></i>添加企业</p>
+       <el-table v-loading="loading" :data="configList" >
+         <!-- <el-table-column type="selection" width="55" align="center" /> -->
+         <el-table-column label="企业名称" align="center" prop="configId" />
+         <el-table-column label="企业所在地" align="center" prop="configName" :show-overflow-tooltip="true" />
+         <el-table-column label="法人代表姓名" align="center" prop="configKey" :show-overflow-tooltip="true" />
+         <el-table-column label="统一社会信用代码" align="center" prop="configValue" />
+         <el-table-column label="联系方式" align="center" prop="configType" :formatter="typeFormat" />
+        <!-- <el-table-column label="操作" align="center" prop="remark" :show-overflow-tooltip="true" /> -->
+         <el-table-column label="操作" align="center" >
+           <!-- class-name="small-padding fixed-width" -->
+           <template slot-scope="scope">
+             <el-button
+               size="mini"
+               type="warning"
+               @click="handleUpdate(scope.row)"
+               v-hasPermi="['system:config:edit']"
+             >修改</el-button>
+             <el-button
+               size="mini"
+               type="danger"
+               @click="handleDelete(scope.row)"
+               v-hasPermi="['system:config:remove']"
+             >删除</el-button>
+           </template>
+         </el-table-column>
+       </el-table>
+       <p class="enterprise">自然人</p>
+       <p class="enterprise_tw"><i class="el-icon-circle-plus-outline"></i>添加自然人</p>
+  <el-table v-loading="loading" :data="configList" >
+   <!-- <el-table-column type="selection" width="55" align="center" /> -->
+   <el-table-column label="姓名" align="center" prop="configId" />
+   <el-table-column label="自然人所在地" align="center" prop="configName" :show-overflow-tooltip="true" />
+   <el-table-column label="身份证号码" align="center" prop="configKey" :show-overflow-tooltip="true" />
+   <el-table-column label="联系方式" align="center" prop="configValue" />
+   <!-- <el-table-column label="联系方式" align="center" prop="configType" :formatter="typeFormat" /> -->
+  <!-- <el-table-column label="操作" align="center" prop="remark" :show-overflow-tooltip="true" /> -->
+   <el-table-column label="操作" align="center" >
+     <!-- class-name="small-padding fixed-width" -->
+     <template slot-scope="scope">
+       <el-button
+         size="mini"
+         type="warning"
+         @click="handleUpdate(scope.row)"
+         v-hasPermi="['system:config:edit']"
+       >修改</el-button>
+       <el-button
+         size="mini"
+         type="danger"
+         @click="handleDelete(scope.row)"
+         v-hasPermi="['system:config:remove']"
+       >删除</el-button>
+     </template>
+   </el-table-column>
+ </el-table>
+       <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="115px" label-position="center" class="manager_form">
+         <el-form-item label="投资方联系人" prop="configName">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="请输入投资方联系人"
+             clearable
+             size="small"
+             style="width: 223px"
+             @keyup.enter.native="handleQuery"
+           />
+         </el-form-item>
+         <el-form-item label="投资方联系方式:" prop="configKey">
+           <el-input
+             v-model="queryParams.configKey"
+             placeholder="请输入联系方式"
+             clearable
+             size="small"
+             style="width: 223px"
+             @keyup.enter.native="handleQuery"
+           />
+         </el-form-item>
+         <div class="nvestor">
+           <p>投资方 <i>*</i></p>
+         </div>
+         <el-form-item label="引荐单位:" prop="configType">
+           <el-select v-model="queryParams.configType" placeholder="系统内置" clearable size="small" style="width: 188px">
+             <el-option
+               v-for="dict in typeOptions"
+               :key="dict.dictValue"
+               :label="dict.dictLabel"
+               :value="dict.dictValue"
+             />
+           </el-select>
+         </el-form-item>
+         <el-form-item label="投资分配额:" prop="configName">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="输入数字"
+             clearable
+             size="small"
+             style="width: 98px"
+             @keyup.enter.native="handleQuery"
+           />
+           <span class="souu">%</span>
+         </el-form-item>
+         <el-form-item label="引荐方联系人:" prop="configName">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="请输入"
+             clearable
+             size="small"
+             style="width: 98px"
+             @keyup.enter.native="handleQuery"
+           />
+         </el-form-item>
+
+         <el-form-item label="引荐方联系方式:" prop="configName">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="请输入联系方式"
+             clearable
+             size="small"
+             style="width: 153px"
+             @keyup.enter.native="handleQuery"
+           />
+         </el-form-item>
+         <el-form-item label="引荐单位:" prop="configType">
+           <el-select v-model="queryParams.configType" placeholder="系统内置" clearable size="small" style="width: 188px">
+             <el-option
+               v-for="dict in typeOptions"
+               :key="dict.dictValue"
+               :label="dict.dictLabel"
+               :value="dict.dictValue"
+             />
+           </el-select>
+         </el-form-item>
+         <el-form-item label="投资分配额:" prop="configName">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="输入数字"
+             clearable
+             size="small"
+             style="width: 98px"
+             @keyup.enter.native="handleQuery"
+           />
+           <span class="souu">%</span>
+         </el-form-item>
+         <el-form-item label="引荐方联系人:" prop="configName">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="请输入"
+             clearable
+             size="small"
+             style="width: 98px"
+             @keyup.enter.native="handleQuery"
+           />
+         </el-form-item>
+
+         <el-form-item label="引荐方联系方式:" prop="configName">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="请输入联系方式"
+             clearable
+             size="small"
+             style="width: 153px"
+             @keyup.enter.native="handleQuery"
+           />
+         </el-form-item>
+         <div class="nvestor">
+           <p>项目基本信息 <i>*</i></p>
+         </div>
+         <el-form-item label="预计投资额" prop="configName">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="请输入预计投资额"
+             clearable
+             size="small"
+             style="width: 223px"
+             @keyup.enter.native="handleQuery"
+           />
+         </el-form-item>
+         <el-form-item label="其中 固定资产投资:" prop="configKey" class="manager_lab" >
+           <el-input
+             v-model="queryParams.configKey"
+             placeholder="请输入"
+             clearable
+             size="small"
+             style="width: 223px"
+             @keyup.enter.native="handleQuery"
+           />
+         </el-form-item>
+         <div class="lage_div">
+           <span>项目主营产品</span>
+           <el-form-item label="产品名称:" prop="configKey"  class="maneg_lar">
+
+             <el-input
+               v-model="queryParams.configKey"
+               placeholder="请输入产品名称"
+               clearable
+               size="small"
+               style="width: 470px"
+               @keyup.enter.native="handleQuery"
+             />
+
+           </el-form-item>
+         </div>
+         <el-form-item label="设计产能:" prop="configKey" class="manager_labtwo" >
+           <el-input
+             v-model="queryParams.configKey"
+             placeholder="请输入设计产能"
+             clearable
+             size="small"
+             style="width: 470px"
+             @keyup.enter.native="handleQuery"
+           />
+
+         </el-form-item>
+         <div class="lage_div">
+           <span>项目预计收益</span>
+           <el-form-item label="预计产值:" prop="configKey"  class="maneg_lar">
+
+             <el-input
+               v-model="queryParams.configKey"
+               placeholder="请输入预计产值"
+               clearable
+               size="small"
+               style="width: 470px"
+               @keyup.enter.native="handleQuery"
+             />
+
+           </el-form-item>
+         </div>
+         <el-form-item label="预计税收:" prop="configKey" class="manager_labtwo" >
+           <el-input
+             v-model="queryParams.configKey"
+             placeholder="请输入预计税收"
+             clearable
+             size="small"
+             style="width: 470px"
+             @keyup.enter.native="handleQuery"
+           />
+
+         </el-form-item>
+         <el-form-item label="预计用工:" prop="configKey" class="manager_labtwo" >
+           <el-input
+             v-model="queryParams.configKey"
+             placeholder="请输入预计用工"
+             clearable
+             size="small"
+             style="width: 470px"
+             @keyup.enter.native="handleQuery"
+           />
+         </el-form-item>
+         <div class="nvestor">
+           <p>项目基本需求 </p>
+         </div>
+         <el-form-item label="项目计划用地:" prop="configName" class="manager_labthre">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="请输入"
+             clearable
+             size="small"
+             style="width: 207px"
+             @keyup.enter.native="handleQuery"
+           />
+           <span class="souu">亩</span>
+         </el-form-item>
+         <el-form-item label="其中 独立供地:" prop="configName">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="请输入"
+             clearable
+             size="small"
+             style="width: 207px"
+             @keyup.enter.native="handleQuery"
+           />
+           <span class="souu">亩</span>
+         </el-form-item>
+        <el-form-item label="流转土地:" prop="configName" class="mage_ter">
+          <el-input
+            v-model="queryParams.configName"
+            placeholder="请输入"
+            clearable
+            size="small"
+            style="width: 207px"
+            @keyup.enter.native="handleQuery"
+          />
+          <span class="souu">亩</span>
+        </el-form-item>
+        <el-form-item label="项目计划租赁用房:" prop="configName" class="manager_labthre">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="请输入"
+             clearable
+             size="small"
+             style="width: 207px"
+             @keyup.enter.native="handleQuery"
+           />
+           <span class="souu">亩</span>
+         </el-form-item>
+         <el-form-item label="其中 厂房:" prop="configName">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="请输入"
+             clearable
+             size="small"
+             style="width: 207px"
+             @keyup.enter.native="handleQuery"
+           />
+           <span class="souu">亩</span>
+         </el-form-item>
+        <el-form-item label="办公生活用房:" prop="configName" class="mage_ter">
+          <el-input
+            v-model="queryParams.configName"
+            placeholder="请输入"
+            clearable
+            size="small"
+            style="width: 207px"
+            @keyup.enter.native="handleQuery"
+          />
+          <span class="souu">亩</span>
+        </el-form-item>
+        <el-form-item label="其他需求:" prop="configName" class="maget_ty">
+          <el-input
+            v-model="queryParams.configName"
+            placeholder="请输入项目概况"
+            clearable
+            type="textarea"
+            size="small"
+            style="width: 480px;height: 78px;"
+            class="ieuyr"
+            @keyup.enter.native="handleQuery"
+          />
+        </el-form-item>
+       <el-form-item label="拟落户地点:" prop="configType">
+           <el-select v-model="queryParams.configType" placeholder="系统内置" clearable size="small" style="width: 188px">
+             <el-option
+               v-for="dict in typeOptions"
+               :key="dict.dictValue"
+               :label="dict.dictLabel"
+               :value="dict.dictValue"
+             />
+           </el-select>
+         </el-form-item>
+         <el-form-item label="是否签订框架协议:" prop="configType" class="maget_ty">
+             <el-select v-model="queryParams.configType" placeholder="系统内置" clearable size="small" style="width: 298px">
+               <el-option
+                 v-for="dict in typeOptions"
+                 :key="dict.dictValue"
+                 :label="dict.dictLabel"
+                 :value="dict.dictValue"
+               />
+             </el-select>
+           </el-form-item>
+          <el-form-item label="添加附件:" prop="configType" class="maget_ty">
+              <div class="forieu">
+               <div class="bure">
+                 <el-button  type="primary" size="small" plain>选择图片</el-button>
+                 <el-button  type="primary" size="small">开始上传</el-button>
+               </div>
+              </div>
+            </el-form-item>
+         <el-form-item label="备注:" prop="configName" class="maget_ty">
+           <el-input
+             v-model="queryParams.configName"
+             placeholder="请输入备注"
+             clearable
+             type="textarea"
+             size="small"
+             style="width: 480px;height: 78px;"
+             class="ieuyr"
+             @keyup.enter.native="handleQuery"
+           />
+         </el-form-item>
+       </el-form>
+     </div>
+
+
+
+  <!-- </div> -->
+
+
+
+    <!-- 添加或修改参数配置对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
+      <el-form ref="form" :model="form" :rules="rules" label-width="150px">
+        <el-form-item label="企业名称" prop="configName">
+          <el-input v-model="form.configName" placeholder="请输入企业名称" />
+        </el-form-item>
+        <el-form-item label="企业所在地" prop="configKey">
+          <el-input v-model="form.configKey" placeholder="请输入参数键名" />
+        </el-form-item>
+        <el-form-item label="法人代表姓名" prop="configValue">
+          <el-input v-model="form.configValue" placeholder="请输入参数键值" />
+        </el-form-item>
+        <el-form-item label="系统内置" prop="configType">
+          <el-radio-group v-model="form.configType">
+            <el-radio
+              v-for="dict in typeOptions"
+              :key="dict.dictValue"
+              :label="dict.dictValue"
+            >{{dict.dictLabel}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+        <el-form-item label="统一社会信用代码" prop="remark">
+          <el-input v-model="form.remark"  placeholder="请输入统一社会信用代码" />
+        </el-form-item>
+        <el-form-item label="联系方式" prop="remark">
+          <el-input v-model="form.remark"  placeholder="请输入联系方式" />
+        </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 { listConfig, getConfig, delConfig, addConfig, updateConfig, exportConfig, clearCache } from "@/api/system/config";
+export default {
+  name: "Config",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      //步骤条
+      naueactive:2,
+      tab:1,
+      tabNume:['线索信息','签约信息','在建信息','投产信息'],
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 参数表格数据
+      configList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 类型数据字典
+      typeOptions: [],
+      // 日期范围
+      dateRange: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        configName: undefined,
+        configKey: undefined,
+        configType: undefined
+      },
+      // 表单参数
+      form: {},
+      // 表单校验
+      rules: {
+        configName: [
+          { required: true, message: "参数名称不能为空", trigger: "blur" }
+        ],
+        configKey: [
+          { required: true, message: "参数键名不能为空", trigger: "blur" }
+        ],
+        configValue: [
+          { required: true, message: "参数键值不能为空", trigger: "blur" }
+        ]
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getDicts("sys_yes_no").then(response => {
+      this.typeOptions = response.data;
+    });
+  },
+  methods: {
+    /** 查询参数列表 */
+    getList() {
+      this.loading = true;
+      listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
+          this.configList = response.rows;
+          this.total = response.total;
+          this.loading = false;
+        }
+      );
+    },
+    // 参数系统内置字典翻译
+    typeFormat(row, column) {
+      return this.selectDictLabel(this.typeOptions, row.configType);
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+        configId: undefined,
+        configName: undefined,
+        configKey: undefined,
+        configValue: undefined,
+        configType: "Y",
+        remark: undefined
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.open = true;
+      this.title = "添加参数";
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.configId)
+      this.single = selection.length!=1
+      this.multiple = !selection.length
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const configId = row.configId || this.ids
+      getConfig(configId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.title = "修改参数";
+      });
+    },
+    /** 提交按钮 */
+    submitForm: function() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          if (this.form.configId != undefined) {
+            updateConfig(this.form).then(response => {
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            });
+          } else {
+            addConfig(this.form).then(response => {
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            });
+          }
+        }
+      });
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const configIds = row.configId || this.ids;
+      this.$confirm('是否确认删除参数编号为"' + configIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delConfig(configIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        })
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有参数数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportConfig(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
+    },
+    /** 清理缓存按钮操作 */
+    handleClearCache() {
+      clearCache().then(response => {
+        this.msgSuccess("清理成功");
+      });
+    },
+    //tab
+    tabClid(index){
+    this.tab = index
+    // this.$router.push('/tab');
+    }
+  }
+};
+</script>
+<style rel="stylesheet/scss" lang="scss">
+  .manager_form{
+    .manager_lab{
+      .el-form-item__label{
+        width: 145px !important;
+      }
+    }
+    .maneg_lar{
+      position: relative;
+      .el-form-item__label{
+        width: 134px !important;
+      }
+      span{
+        position: absolute;
+        left: -95%;
+      }
+    }
+    .manager_labtwo{
+      .el-form-item__label{
+        width: 244px !important;
+      }
+    }
+    .manager_labthre{
+      // .el-form-item{
+        .el-form-item__label{
+          width: 130px !important;
+        }
+        margin-right: 40px !important;
+      // }
+    }
+    .ieuyr{
+      .el-textarea__inner{
+        height: 80px !important;
+      }
+    }
+    .mage_ter{
+      .el-form-item__label{
+        width: 513px !important;
+      }
+    }
+    .maget_ty{
+      .el-form-item__label{
+        width: 135px !important;
+      }
+    }
+    .forieu{
+     border: 1px solid #DCDFE6;
+     border-radius: 4px;
+     width: 480px;
+     height: 90px;
+     position: relative;
+     .bure{
+       position: absolute;
+       right: 20px;
+       top: 50%;
+       transform: translateY(-50%);
+     }
+    }
+  }
+  .lage_div{
+    padding-left: 15px;
+    display: flex;
+    align-items: center;
+    margin-bottom: 22px;
+    .el-form-item{
+      margin-bottom: 0 !important;
+    }
+  }
+.app-cont{
+  .header{
+    padding-left: 22px;
+    height: 45px;
+    line-height: 40px;
+    background-color: #F1F1F1;
+    font-size: 18px;
+    color: #343434;
+    margin-bottom: 40px;
+  }
+  // .naue{
+    // border: 1px solid #DADADA;
+    // padding:  20px;
+    // margin-top: 40px;
+    .nuae_wtu{
+      display: flex;
+      justify-content: center;
+      align-content: center;
+     .naue_one{
+       width: 30%;
+       p{
+         font-size: 12px;
+         font-family: PingFang SC;
+         font-weight: 400;
+         color: #343434;
+       }
+       .naue_name{
+         font-size: 14px;
+         font-family: PingFang SC;
+         font-weight: bold;
+         color: #0669B2;
+         margin-bottom: 30px;
+       }
+     }
+     .naue_two{
+       flex: 1;
+       padding-top: 20px;
+       // display: flex;
+       // align-items: center;
+       // justify-content: center;
+     }
+    }
+    //tab
+    .naue_tab{
+      border-bottom: 1px solid #CDCDCD;
+      display: flex;
+      margin-top: 30px;
+      padding: 0 10px;
+      margin-bottom: 30px;
+      p{
+        font-size: 12px;
+        font-family: PingFang SC;
+        font-weight: 400;
+        color: #343434;
+        padding: 11px 15px;
+        margin: 0;
+      }
+      .p{
+        border-bottom: 2px solid #1C84C6;
+        margin-bottom: -1px;
+      }
+    }
+    .mation{
+
+      .enterprise{
+        font-size: 14px;
+        font-family: PingFang SC;
+        font-weight: bold;
+        color: #1C84C6;
+        margin-top: 25px;
+        margin-bottom: 20px;
+      }
+      .enterprise_tw{
+        i{
+          margin-right: 5px;
+        }
+        font-size: 14px;
+        font-family: PingFang SC;
+        font-weight: 600;
+        color: #666666;
+      }
+    }
+
+  // }
+  .nvestor{
+    margin-bottom: 10px;
+    p{
+      margin:0;
+      font-size: 14px;
+      font-family: PingFang SC;
+      font-weight: bold;
+      color: #343434;
+      height: 24px;
+      line-height: 24px;
+      border-left: 3px solid #1C84C6;
+      padding-left: 13px;
+      i{
+        color: red;
+      }
+    }
+  }
+  .souu{
+    font-size: 14px;
+    font-family: PingFang SC;
+    font-weight: 400;
+    color: #343434;
+    margin-left: 5px;
+  }
+}
+//在建项目
+.nstruction{
+  display: flex;
+  align-items: center;
+ .nstruction_nav{
+   display: flex;
+   align-items: center;
+   p:nth-child(1){
+     margin-right: 10px;
+     span{
+       font-size: 14px;
+       font-family: PingFang SC;
+       font-weight: bold;
+       color: #343434;
+     }
+     span:nth-child(1){
+       color: #DF0024;
+     }
+   }
+   p:nth-child(2){
+     width: 233px;
+     height: 30px;
+     line-height: 30px;
+     border: 1px solid #CDCDCD;
+     border-radius: 3px;
+     padding-left: 14px;
+   }
+
+ }
+ .nstruction_navne{
+   margin-left: 50px;
+   display: flex;
+   align-items: center;
+   p:nth-child(1){
+      margin-right: 10px;
+     span{
+       font-size: 14px;
+       font-family: PingFang SC;
+       font-weight: bold;
+       color: #343434;
+     }
+     span:nth-child(1){
+       color: #DF0024;
+     }
+   }
+   p:nth-child(2){
+     width: 233px;
+     height: 30px;
+     line-height: 30px;
+     border: 1px solid #CDCDCD;
+     border-radius: 3px;
+     padding-left: 14px;
+   }
+
+ }
+}
+.kaieu{
+  padding-left: 60px;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 800;
+  color: #343434;
+}
+.kaieu_tw{
+  padding-left: 60px;
+  font-size: 14px;
+  font-family: PingFang SC;
+  font-weight: 500;
+  color: #666666;
+}
+</style>