sr преди 4 години
родител
ревизия
541ae5baa3

+ 58 - 3
ruoyi-ui/src/api/system/signContract.js

@@ -3,15 +3,70 @@ import request from '@/utils/request'
 // 查询角色列表
 export function getOrderinfo(bmProjectId) {
   return request({
-    url: `projectOrderInfo/orderinfo/${bmProjectId}`,
+    url: `/projectOrderInfo/orderinfo/${bmProjectId}`,
     method: 'get',
   })
 }
+// 签约信息-新增
+export function addOrderinfo(data) {
+  return request({
+    url: `/projectOrderInfo/orderinfo`,
+    method: 'POST',
+    data
+  })
+}
+// 提交审核
+export function getExamine(data) {
+  return request({
+    url: `/bmProject/project/examine`,
+    method: 'POST',
+    data
+  })
+}
+// 签约信息-新增
+export function setOrderinfo(data) {
+  return request({
+    url: `/projectOrderInfo/orderinfo`,
+    method: 'PUT',
+    data
+  })
+}
+
+// 股东构成-删除
+export function delShareholder(id) {
+  return request({
+    url: `/shareholder/shareholder/${id}`,
+    method: 'DELETE',
+  })
+}
+// 股东构成-新增
+export function addShareholder(data) {
+  return request({
+    url: `/shareholder/shareholder`,
+    method: 'post',
+    data
+  })
+}
+// 股东构成-修改
+export function setShareholder(data) {
+  return request({
+    url: `/shareholder/shareholder`,
+    method: 'put',
+    data
+  })
+}
+// 股东构成-查看
+export function getShareholder(id) {
+  return request({
+    url: `/shareholder/shareholder/${id}`,
+    method: 'GET',
+  })
+}
 // 股东构成-列表
 export function getShareholderList(query) {
   return request({
-    url: `shareholder/shareholder/list`,
+    url: `/shareholder/shareholder/list`,
     method: 'get',
     params: query
   })
-}
+}

+ 494 - 231
ruoyi-ui/src/components/ProjectDec/SignContract.vue

@@ -1,17 +1,17 @@
 <template>
   <div class="sign_box">
-    <el-form label-position="right" ref="form" :rules="rules" :model="form" label-width="80px">
-      <el-row :gutter="10" class="mb8 roiyy">
-        <el-col :span="1.5">
-          <el-button type="primary" v-hasPermi="['system:config:add']" @click="submitForm">提交</el-button>
-        </el-col>
-        <el-col :span="1.5">
-          <el-button type="primary" v-hasPermi="['system:config:edit']">暂存</el-button>
-        </el-col>
-        <el-col :span="1.5">
-          <el-button type="primary" v-hasPermi="['system:config:edit']">取消</el-button>
-        </el-col>
-        <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
+    <el-form label-position="right" ref="form" :rules="rules" :model="form" label-width="80px">
+      <el-row :gutter="10" class="mb8 roiyy">
+        <el-col :span="1.5">
+          <el-button type="primary" v-hasPermi="['system:config:add']" @click="upBtn">提交</el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button type="primary" v-hasPermi="['system:config:edit']" @click="submitForm">暂存</el-button>
+        </el-col>
+        <el-col :span="1.5">
+          <el-button type="primary" v-hasPermi="['system:config:edit']" @click="goBtn">取消</el-button>
+        </el-col>
+        <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
       </el-row>
       <div class="sign_tit">
         项目签约信息
@@ -19,7 +19,7 @@
       <el-row>
         <el-form-item label-width="120px" label="签约日期:" class="elItem" prop="orderDate">
           <el-col :span="6">
-            <el-date-picker type="date" placeholder="请选择签约日期" v-model="form.orderDate" style="width: 100%;"></el-date-picker>
+            <el-date-picker value-format="yyyy-MM-dd" type="date" placeholder="请选择签约日期" v-model="form.orderDate" style="width: 100%;"></el-date-picker>
           </el-col>
         </el-form-item>
       </el-row>
@@ -29,10 +29,10 @@
             <el-col :span="24">
               <el-radio-group v-model="form.investmentType" style="width: 100%;">
                 <el-col :span="12">
-                  <el-radio :value="1" label="独资"></el-radio>
+                  <el-radio label="1">独资</el-radio>
                 </el-col>
                 <el-col :span="12">
-                  <el-radio :value="2" label="合资"></el-radio>
+                  <el-radio label="2">合资</el-radio>
                 </el-col>
               </el-radio-group>
             </el-col>
@@ -42,7 +42,7 @@
           <el-form-item label="是否外资:" class="elItem" prop="isOutInvestment">
             <el-col :span="6">
               <el-checkbox-group v-model="form.isOutInvestment">
-                <el-checkbox label="外资" name="type"></el-checkbox>
+                <el-checkbox :label="1" name="type">外资</el-checkbox>
               </el-checkbox-group>
             </el-col>
           </el-form-item>
@@ -119,7 +119,7 @@
         </el-col>
         <el-col :span="4">
           <el-form-item label-width="82px" label="土地证:" class="elItem" prop="landPhoto">
-            <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+            <el-upload class="upload-demo" :limit="1" :on-success="upl_fn" :action="defaultSettings.urls + '/common/upload'">
               <el-button size="small" type="primary">点击上传</el-button>
             </el-upload>
           </el-form-item>
@@ -141,14 +141,14 @@
         </el-col>
         <el-col :span="4">
           <el-form-item label-width="119px" label="土地流转合同:" class="elItem" prop="circulationDoc">
-            <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+            <el-upload class="upload-demo" :limit="1" :on-success="upl_fn_lzht" :action="defaultSettings.urls + '/common/upload'">
               <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="circulationPhoto">
-            <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+            <el-upload class="upload-demo" :limit="1" :on-success="upl_fn_cqz" :action="defaultSettings.urls + '/common/upload'">
               <el-button size="small" type="primary">点击上传</el-button>
             </el-upload>
           </el-form-item>
@@ -170,14 +170,14 @@
         </el-col>
         <el-col :span="3">
           <el-form-item label-width="94px" label="租赁合同:" class="elItem" prop="leasePlantDoc">
-            <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+            <el-upload class="upload-demo" :limit="1" :on-success="upl_fn_zlht" :action="defaultSettings.urls + '/common/upload'">
               <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="leasePlantPhoto">
-            <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+            <el-upload class="upload-demo" :limit="1" :on-success="upl_fn_zlcqz" :action="defaultSettings.urls + '/common/upload'">
               <el-button size="small" type="primary">点击上传</el-button>
             </el-upload>
           </el-form-item>
@@ -205,14 +205,16 @@
         <el-col :span="8" style="margin-left: -10px;">
           <el-form-item label-width="148px" label="合同约定开工时间:" class="elItem" prop="agreementStartdate">
             <el-col :span="18">
-              <el-date-picker type="date" placeholder="请选择开工时间" v-model="form.agreementStartdate" style="width: 100%;"></el-date-picker>
+              <el-date-picker value-format="yyyy-MM-dd" type="date" placeholder="请选择开工时间" v-model="form.agreementStartdate"
+                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="agreementEnddate">
+          <el-form-item label-width="141px" label="合同约定竣工时间:" class="elItem" prop="agreementEnddate">
             <el-col :span="18">
-              <el-date-picker type="date" placeholder="请选择竣工时间" v-model="form.agreementEnddate" style="width: 100%;"></el-date-picker>
+              <el-date-picker value-format="yyyy-MM-dd" type="date" placeholder="请选择竣工时间" v-model="form.agreementEnddate"
+                style="width: 100%;"></el-date-picker>
             </el-col>
           </el-form-item>
         </el-col>
@@ -260,10 +262,10 @@
       <el-row>
         <el-col :span="18">
           <el-form-item label-width="121px" label="合同文本:" class="elItem" prop="agreementUrl">
-            <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>
+            <el-upload class="upload-demo" ref="upload" :action="defaultSettings.urls + '/common/upload'" :on-preview="handlePreview"
+              :on-success="up_loat_htwb" :on-remove="handleRemove" :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>
@@ -273,8 +275,8 @@
         企业注册信息
       </div>
       <el-row>
-        <el-col :span="6" style="margin-right: -10px;">
-          <el-form-item label-width="131px" label="在潜注册公司名称:" class="elItem" prop="name">
+        <el-col :span="6">
+          <el-form-item label-width="141px" label="在潜注册公司名称:" class="elItem" prop="name">
             <el-input placeholder="请输入在潜注册公司名称" v-model="form.name"></el-input>
           </el-form-item>
         </el-col>
@@ -285,8 +287,8 @@
         </el-col>
       </el-row>
       <el-row>
-        <el-col :span="6" style="margin-right: -10px;">
-          <el-form-item label-width="131px" label="注册资本金:" class="elItem" prop="totMoney">
+        <el-col :span="6">
+          <el-form-item label-width="141px" label="注册资本金:" class="elItem" prop="totMoney">
             <el-input placeholder="请输入注册资本金" v-model="form.totMoney"></el-input>
           </el-form-item>
         </el-col>
@@ -297,24 +299,24 @@
         </el-col>
       </el-row>
       <el-row>
-        <el-col :span="6" style="margin-right: -10px;">
-          <el-form-item label-width="131px" label="统一社会信用代码:" class="elItem" prop="code">
+        <el-col :span="6">
+          <el-form-item label-width="141px" label="统一社会信用代码:" class="elItem" prop="code">
             <el-input placeholder="请输入注册资本金" v-model="form.code"></el-input>
           </el-form-item>
         </el-col>
         <el-col :span="8">
           <el-form-item label-width="173px" label="营业执照复印件:" class="elItem" prop="bussinessUrl">
-            <el-upload class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/">
+            <el-upload class="upload-demo" :limit="1" :on-success="upl_fn_zzfyj" :action="defaultSettings.urls + '/common/upload'">
               <el-button size="small" type="primary">点击上传</el-button>
             </el-upload>
           </el-form-item>
         </el-col>
       </el-row>
       <div class="sign_tit">
-        企业股东构成
+        企业股东构成<span>*</span>
       </div>
       <el-row>
-        <div class="ads_box">
+        <div class="ads_box" @click="addshareBtn">
           <img src="../../assets/images/icon_add@2x.png" alt="" class="add_icon">
           <span>添加企业股东构成</span>
         </div>
@@ -322,21 +324,21 @@
       <el-row>
         <el-table v-loading="loading" class="elItem" :data="shareholderList">
           <!-- <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>
+          <el-table-column label="姓名" align="center" prop="name" />
+          <el-table-column label="股权比例" align="center" prop="equityRatio" :show-overflow-tooltip="true">
+            <template slot-scope="scope">
+              <span>{{scope.row.equityRatio}}%</span>
+            </template>
+          </el-table-column>
+          <el-table-column label="身份证号码" align="center" prop="idcard" :show-overflow-tooltip="true" />
+          <el-table-column label="身份证(正面)" align="center" prop="idcardFront">
+            <template slot-scope="scope">
+              <img :src="scope.row.idcardFront" alt="" class="imgs">
             </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>
+          <el-table-column label="身份证(反面)" align="center" prop="idcardBack">
+            <template slot-scope="scope">
+              <img :src="scope.row.idcardBack" alt="" class="imgs">
             </template>
           </el-table-column>
           <!-- <el-table-column label="操作" align="center" prop="remark" :show-overflow-tooltip="true" /> -->
@@ -344,10 +346,12 @@
             <!-- 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>
+              <el-button size="mini" type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['system:config: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="getShareholderList" />
       </el-row>
       <div class="sign_tit">
         企业备案信息
@@ -374,7 +378,7 @@
           </el-form-item>
         </el-col>
         <el-col :span="6">
-          <el-form-item label-width="109px" label="备案建设周期:" class="elItem" prop="recordTime">
+          <el-form-item label-width="139px" label="备案建设周期:" class="elItem" prop="recordTime">
             <el-input placeholder="请输入备案建设周期" v-model="form.recordTime"></el-input>
           </el-form-item>
         </el-col>
@@ -382,10 +386,10 @@
       <el-row>
         <el-col :span="18">
           <el-form-item label-width="121px" label="备案表:" class="elItem" prop="recordUrl">
-            <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>
+            <el-upload class="upload-demo" ref="bAupload" :action="defaultSettings.urls + '/common/upload'" :on-preview="handlePreview"
+              :on-success="up_loat_bab" :on-remove="handleRemove_bab" :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_bab">开始上传</el-button>
               <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
             </el-upload>
           </el-form-item>
@@ -424,179 +428,257 @@
         </el-col>
       </el-row>
     </el-form>
+    <!-- 添加或修改岗位对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
+      <el-form ref="forms" :model="sharData" :rules="sharRules" label-width="120px">
+        <el-form-item label="姓名" prop="name">
+          <el-input v-model="sharData.name" placeholder="请输入姓名" />
+        </el-form-item>
+        <el-form-item label="股权比例" prop="equityRatio">
+          <el-input-number style="width: 140px;" v-model="sharData.equityRatio" /><span style="margin: 0 10px;font-size: 16px;">%</span>
+        </el-form-item>
+        <el-form-item label="身份证号码" prop="idcard">
+          <el-input v-model="sharData.idcard" placeholder="请输入身份证号码" />
+        </el-form-item>
+        <el-form-item label="身份证(正面)" prop="idcardFront">
+          <el-upload class="upload-demo" :file-list="idcardFrontFlie" :on-remove="upl_remove_sfzzm" :on-success="upl_fn_sfzzm"
+            :action="defaultSettings.urls + '/common/upload'">
+            <el-button size="small" type="primary">点击上传</el-button>
+          </el-upload>
+        </el-form-item>
+        <el-form-item label="身份证(反面)" prop="idcardBack">
+          <el-upload class="upload-demo" :file-list="idcardBackFlie" :on-remove="upl_remove_sfzfm" :on-success="upl_fn_sfzfm"
+            :action="defaultSettings.urls + '/common/upload'">
+            <el-button size="small" type="primary">点击上传</el-button>
+          </el-upload>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForms">确 定</el-button>
+        <el-button @click="open=false">取 消</el-button>
+      </div>
+    </el-dialog>
   </div>
 </template>
 
 <script>
   import {
-    getOrderinfo,
-    getShareholderList
+    getOrderinfo,
+    getShareholderList,
+    getShareholder,
+    delShareholder,
+    addShareholder,
+    setShareholder,
+    setOrderinfo,
+    addOrderinfo
   } from '@/api/system/signContract'
+  const defaultSettings = require('@/settings.js')
   export default {
     data() {
-      return {
-        queryParams: {
-          pageNum: 1,
-          pageSize: 10,
-          bmProjectId: ''
-        },
-        total: '',
+      return {
+        defaultSettings,
+        title: "",
+        // 是否显示弹出层
+        open: false,
+        sharRules: {
+          name: [{
+            required: true,
+            message: '请输入姓名',
+            trigger: 'blur'
+          }],
+          equityRatio: [{
+            required: true,
+            message: '请输入股权比例',
+            trigger: 'blur'
+          }],
+          idcard: [{
+            required: true,
+            message: '请输入身份证号',
+            trigger: 'blur'
+          }],
+          idcardFront: [{
+            required: true,
+            message: '请上传身份证正面',
+            trigger: 'blur'
+          }],
+          idcardBack: [{
+            required: true,
+            message: '请上传身份证反面',
+            trigger: 'blur'
+          }],
+        },
+        sharData: {
+          bmProjectId: this.$route.query.setid,
+          name: '',
+          equityRatio: 0,
+          idcard: '',
+          idcardFront: '',
+          idcardBack: '',
+        },
+        queryParams: {
+          pageNum: 1,
+          pageSize: 10,
+          bmProjectId: ''
+        },
+        total: 0,
         shareholderList: [],
-        // showSearch: true,
+        // showSearch: true,
         loading: true,
         rules: {
           orderDate: [{
             required: true,
             message: '请选择签约日期',
             trigger: 'blur'
-          }],
-          investmentType: [{
-            required: true,
-            message: '请选择投资方式',
-            trigger: 'blur'
-          }],
-          totInvestment: [{
-            required: true,
-            message: '请输入总投资额度',
-            trigger: 'blur'
-          }],
-          overseasInvestment: [{
-            required: true,
-            message: '请输入境外投资',
-            trigger: 'blur'
-          }],
-          isIndependentLan: [{
-            required: true,
-            message: '请选择是否独立供地',
-            trigger: 'blur'
-          }],
-          agreementTot: [{
-            required: true,
-            message: '请输入合同约定产值',
-            trigger: 'blur'
-          }],
-          agreementTax: [{
-            required: true,
-            message: '请输入合同约定税收',
-            trigger: 'blur'
-          }],
-          agreementStartdate: [{
-            required: true,
-            message: '请选择合同约定开工时间',
-            trigger: 'blur'
-          }],
-          agreementEnddate: [{
-            required: true,
-            message: '请选择合同约定竣工时间',
-            trigger: 'blur'
-          }],
-          agreementPartner: [{
-            required: true,
-            message: '请输入合同签约对方',
-            trigger: 'blur'
-          }],
-          partner: [{
-            required: true,
-            message: '请输入对方合同签约人',
-            trigger: 'blur'
-          }],
-          agreementUs: [{
-            required: true,
-            message: '请输入合同签约我方',
-            trigger: 'blur'
-          }],
-          signUs: [{
-            required: true,
-            message: '请输入我方合同签约人',
-            trigger: 'blur'
-          }],
-          agreementUrl: [{
-            required: true,
-            message: '请上传合同文本',
-            trigger: 'blur'
-          }],
-          name: [{
-            required: true,
-            message: '请输入在潜注册公司名称',
-            trigger: 'blur'
-          }],
-          legalRep: [{
-            required: true,
-            message: '请输入法定代表人',
-            trigger: 'blur'
-          }],
-          totMoney: [{
-            required: true,
-            message: '请输入注册资本金',
-            trigger: 'blur'
-          }],
-          address: [{
-            required: true,
-            message: '请输入注册地址',
-            trigger: 'blur'
-          }],
-          code: [{
-            required: true,
-            message: '请输入统一社会信用代码',
-            trigger: 'blur'
-          }],
-          bussinessUrl: [{
-            required: true,
-            message: '请上传营业执照',
-            trigger: 'blur'
-          }],
-          recordName: [{
-            required: true,
-            message: '请输入备案单位',
-            trigger: 'blur'
-          }],
-          recordCode: [{
-            required: true,
-            message: '请输入备案文号',
-            trigger: 'blur'
-          }],
-          recordTot: [{
-            required: true,
-            message: '请输入备案总投资额',
-            trigger: 'blur'
-          }],
-          recordTime: [{
-            required: true,
-            message: '请输入备案建设周期',
-            trigger: 'blur'
-          }],
-          recordUrl: [{
-            required: true,
-            message: '请上传备案表信息',
-            trigger: 'blur'
-          }],
-          contactLeader: [{
-            required: true,
-            message: '请输入联系领导',
-            trigger: 'blur'
-          }],
-          contactPhone: [{
-            required: true,
-            message: '请输入联系方式',
-            trigger: 'blur'
-          }],
-          contactCompany: [{
-            required: true,
-            message: '请输入责任单位',
-            trigger: 'blur'
-          }],
-          contactPerson: [{
-            required: true,
-            message: '请输入责任人',
-            trigger: 'blur'
-          }],
-          contactPersonPhone: [{
-            required: true,
-            message: '请输入责任人联系方式',
-            trigger: 'blur'
+          }],
+          investmentType: [{
+            required: true,
+            message: '请选择投资方式',
+            trigger: 'blur'
+          }],
+          totInvestment: [{
+            required: true,
+            message: '请输入总投资额度',
+            trigger: 'blur'
+          }],
+          overseasInvestment: [{
+            required: true,
+            message: '请输入境外投资',
+            trigger: 'blur'
+          }],
+          isIndependentLan: [{
+            required: true,
+            message: '请选择是否独立供地',
+            trigger: 'blur'
+          }],
+          agreementTot: [{
+            required: true,
+            message: '请输入合同约定产值',
+            trigger: 'blur'
+          }],
+          agreementTax: [{
+            required: true,
+            message: '请输入合同约定税收',
+            trigger: 'blur'
+          }],
+          agreementStartdate: [{
+            required: true,
+            message: '请选择合同约定开工时间',
+            trigger: 'blur'
+          }],
+          agreementEnddate: [{
+            required: true,
+            message: '请选择合同约定竣工时间',
+            trigger: 'blur'
+          }],
+          agreementPartner: [{
+            required: true,
+            message: '请输入合同签约对方',
+            trigger: 'blur'
+          }],
+          partner: [{
+            required: true,
+            message: '请输入对方合同签约人',
+            trigger: 'blur'
+          }],
+          agreementUs: [{
+            required: true,
+            message: '请输入合同签约我方',
+            trigger: 'blur'
+          }],
+          signUs: [{
+            required: true,
+            message: '请输入我方合同签约人',
+            trigger: 'blur'
+          }],
+          agreementUrl: [{
+            required: true,
+            message: '请上传合同文本',
+            trigger: 'blur'
+          }],
+          name: [{
+            required: true,
+            message: '请输入在潜注册公司名称',
+            trigger: 'blur'
+          }],
+          legalRep: [{
+            required: true,
+            message: '请输入法定代表人',
+            trigger: 'blur'
+          }],
+          totMoney: [{
+            required: true,
+            message: '请输入注册资本金',
+            trigger: 'blur'
+          }],
+          address: [{
+            required: true,
+            message: '请输入注册地址',
+            trigger: 'blur'
+          }],
+          code: [{
+            required: true,
+            message: '请输入统一社会信用代码',
+            trigger: 'blur'
+          }],
+          bussinessUrl: [{
+            required: true,
+            message: '请上传营业执照',
+            trigger: 'blur'
+          }],
+          recordName: [{
+            required: true,
+            message: '请输入备案单位',
+            trigger: 'blur'
+          }],
+          recordCode: [{
+            required: true,
+            message: '请输入备案文号',
+            trigger: 'blur'
+          }],
+          recordTot: [{
+            required: true,
+            message: '请输入备案总投资额',
+            trigger: 'blur'
+          }],
+          recordTime: [{
+            required: true,
+            message: '请输入备案建设周期',
+            trigger: 'blur'
+          }],
+          recordUrl: [{
+            required: true,
+            message: '请上传备案表信息',
+            trigger: 'blur'
+          }],
+          contactLeader: [{
+            required: true,
+            message: '请输入联系领导',
+            trigger: 'blur'
+          }],
+          contactPhone: [{
+            required: true,
+            message: '请输入联系方式',
+            trigger: 'blur'
+          }],
+          contactCompany: [{
+            required: true,
+            message: '请输入责任单位',
+            trigger: 'blur'
+          }],
+          contactPerson: [{
+            required: true,
+            message: '请输入责任人',
+            trigger: 'blur'
+          }],
+          contactPersonPhone: [{
+            required: true,
+            message: '请输入责任人联系方式',
+            trigger: 'blur'
           }],
         },
-        form: {
+        form: {
+          bmProjectId: this.$route.query.setid,
+          id: -1,
           orderDate: "", //签约日期
           investmentType: "", //投资方式
           isOutInvestment: "", // 是否外资(N:Y)
@@ -629,7 +711,7 @@
           signUs: "", //我方合同签约人
           agreementThird: "", //第三方
           third: "", //第三方签约人
-          agreementUrl: "", //合同url
+          agreementUrl: [], //合同url
           name: "", //在潜注册公司名称
           legalRep: "", //法定代表人
           totMoney: "", //注册资本金
@@ -640,55 +722,231 @@
           recordCode: "", //备案文号
           recordTot: "", //备案总投资额
           recordTime: "", //备案建设周期
-          recordUrl: "", //备案表url
+          recordUrl: [], //备案表url
           contactLeader: "", //企业包服务-联系领导
           contactPhone: "", //联系方式
           contactCompany: "", //责任单位
           contactPerson: "", //责任人
           contactPersonPhone: "", //责任人联系方式
         },
+        idcardFrontFlie: [],
+        idcardBackFlie: [],
         fileList: []
       }
     },
     mounted() {
+      console.log(defaultSettings.urls)
       this.queryParams.bmProjectId = this.$route.query.setid
-      this.getOrderinfo()
+      this.getOrderinfo()
       this.getShareholderList()
     },
     methods: {
-      getShareholderList() {
-        getShareholderList(this.queryParams).then(res => {
-          this.shareholderList = res.rows;
-          this.total = res.total;
-          this.loading = false;
+      upBtn() {
+        getExamine({
+          code: 1,
+          bmProjectId: this.$route.query.setid
+        }).then(res => {
+          this.msgSuccess("提交成功");
         })
       },
-      submitForm() {
-        this.$refs["form"].validate(valid => {
-          if (valid) {
-            console.log(JSON.stringify(this.form))
-          }
-        })
+      goBtn() {
+        this.$router.go(-1)
+      },
+      addshareBtn() {
+        this.reset();
+        this.title = "添加企业股东";
+        this.open = true
+      },
+      // 表单重置
+      reset() {
+        this.sharData = {
+          bmProjectId: this.$route.query.setid,
+          name: '',
+          equityRatio: 0,
+          idcard: '',
+          idcardFront: '',
+          idcardBack: '',
+        };
+        this.idcardFrontFlie = []
+        this.idcardBackFlie = []
+        this.resetForm("forms");
+      },
+      upl_fn(res, file) {
+        this.form.landPhoto = res.url
+      },
+      upl_fn_lzht(res, file) {
+        this.form.circulationDoc = res.url
+      },
+      upl_fn_cqz(res, file) {
+        this.form.circulationPhoto = res.url
+      },
+      upl_fn_zlht(res, file) {
+        this.form.leasePlantDoc = res.url
+      },
+      upl_fn_zlcqz(res, file) {
+        this.form.leasePlantPhoto = res.url
+      },
+      up_loat_htwb(res, file) {
+        this.form.agreementUrl.push(res.url)
+      },
+      up_loat_bab(res, file) {
+        this.form.recordUrl.push(res.url)
+      },
+      upl_fn_zzfyj(res, file) {
+        this.form.bussinessUrl = res.url
+      },
+      upl_fn_sfzzm(res, file) {
+        this.idcardFrontFlie = []
+        this.idcardFrontFlie = [{
+          name: res.url,
+          url: res.url,
+        }]
+        this.sharData.idcardFront = res.url
+      },
+      upl_remove_sfzzm() {
+        this.idcardFrontFlie = []
+        this.sharData.idcardFront = ''
+      },
+      upl_remove_sfzfm() {
+        this.idcardBackFlie = []
+        this.sharData.idcardBack = ''
+      },
+      upl_fn_sfzfm(res, file) {
+        this.idcardBackFlie = []
+        this.idcardBackFlie = [{
+          name: res.url,
+          url: res.url,
+        }]
+        this.sharData.idcardBack = res.url
+      },
+      getShareholderList() {
+        getShareholderList(this.queryParams).then(res => {
+          this.shareholderList = res.rows;
+          this.total = res.total;
+          this.loading = false;
+        })
+      },
+      submitForms() {
+        this.$refs["forms"].validate(valid => {
+          if (valid) {
+            if (this.sharData.id) {
+              setShareholder(this.sharData).then(res => {
+                this.open = false
+                this.msgSuccess("修改成功");
+                this.getShareholderList()
+              })
+            } else {
+              addShareholder(this.sharData).then(res => {
+                this.open = false
+                this.msgSuccess("新增成功");
+                this.getShareholderList()
+              })
+            }
+          }
+        })
+      },
+      submitForm() {
+        this.$refs["form"].validate(valid => {
+          if (valid) {
+            if (this.total == 0) {
+              this.msgError('企业股东不能为空,请上传企业股东')
+              return
+            }
+            let data = JSON.parse(JSON.stringify(this.form))
+            data.agreementUrl = data.agreementUrl.join(',')
+            data.recordUrl = data.recordUrl.join(',')
+            if (this.form.id) {
+              // 修改
+              setOrderinfo(JSON.stringify(data)).then(res => {
+                this.msgSuccess('修改成功')
+                this.$router.push({
+                  path: '/management/info/index',
+                });
+
+              })
+            } else {
+              // 新增
+              addOrderinfo(JSON.stringify(data)).then(res => {
+                this.msgSuccess('缓存成功')
+                this.$router.push({
+                  path: '/management/info/index',
+                });
+              })
+            }
+          }
+        })
       },
       getOrderinfo() {
         getOrderinfo(this.queryParams.bmProjectId).then(res => {
-          console.log(res)
+          console.log(res)
+          this.form = res.data
         })
       },
+      submitUpload_bab() {
+        this.$refs.bAupload.submit();
+      },
       submitUpload() {
         this.$refs.upload.submit();
       },
+      /** 修改按钮操作 */
+      handleUpdate(row) {
+        this.reset();
+        const id = row.id || this.ids
+        getShareholder(id).then(response => {
+          this.sharData = response.data;
+          this.idcardFrontFlie = [{
+            name: response.data.idcardBack,
+            url: response.data.idcardBack
+          }]
+          this.idcardBackFlie = [{
+            name: response.data.idcardFront,
+            url: response.data.idcardFront
+          }]
+          this.open = true;
+          this.title = "修改股东信息";
+        });
+      },
+      /** 删除按钮操作 */
+      handleDelete(id) {
+        this.$confirm('是否确认删除该股东', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delShareholder(id);
+        }).then(() => {
+          this.getShareholderList();
+          this.msgSuccess("删除成功");
+        })
+      },
       handleRemove(file, fileList) {
-        console.log(file, fileList);
+        for (let i = this.form.agreementUrl.length - 1; i >= 0; i--) {
+          if (this.form.agreementUrl[i] == file.response.url) {
+            this.form.agreementUrl.splice(i, 1);
+          }
+        }
+      },
+      handleRemove_bab(file, fileList) {
+        for (let i = this.form.recordUrl.length - 1; i >= 0; i--) {
+          if (this.form.recordUrl[i] == file.response.url) {
+            this.form.recordUrl.splice(i, 1);
+          }
+        }
       },
       handlePreview(file) {
-        console.log(file);
+        console.log(file, 22);
       }
     }
   }
 </script>
 
 <style lang="scss" scoped>
+  .imgs {
+    width: 100px;
+    height: 100px;
+    object-fit: cover;
+  }
+
   .roiyy {
     position: fixed;
     top: 180px;
@@ -704,8 +962,9 @@
     margin: 18px 0;
     font-size: 14px;
     color: #666;
+    width: 140px;
     display: flex;
-    align-items: center;
+    align-items: center;
     cursor: pointer;
 
     .add_icon {
@@ -718,7 +977,6 @@
   .sign_box {
     padding: 26px 23px;
 
-
     .sign_tit {
       font-size: 14px;
       border-left: 3px solid #1C84C6;
@@ -727,6 +985,11 @@
       line-height: 1;
       margin: 8px 0;
       font-weight: bold;
+
+      span {
+        color: #DF0024;
+        margin-left: 10px;
+      }
     }
 
     .elItem {

+ 1 - 0
ruoyi-ui/src/settings.js

@@ -1,5 +1,6 @@
 module.exports = {
   title: '招商引资管理系统',
+  urls: 'http://192.168.101.11:8080',
 
   /**
    * 侧边栏主题 深色主题theme-dark,浅色主题theme-light

+ 1 - 2
ruoyi-ui/src/views/management/info/index.vue

@@ -93,7 +93,7 @@
         </el-form-item>
         <el-form-item label="所属行业:" prop="industry">
           <el-radio-group v-model="xs_form.industry">
-            <el-radio :label="item.dictValue" v-for="item in industryOptions">
+            <el-radio :label="item.dictValue" v-for="(item,index) in industryOptions" :key="index">
               {{item.dictLabel}}
             </el-radio>
           </el-radio-group>
@@ -512,7 +512,6 @@
       },
       //查看
       chei(row) {
-        console.log(row)
         this.$router.push({
           path: '/management/row',
           query: {

+ 1 - 1
ruoyi-ui/vue.config.js

@@ -34,7 +34,7 @@ module.exports = {
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        target: `http://192.168.101.11:8080`,
+        target: defaultSettings.urls,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''