Jelajahi Sumber

Merge remote-tracking branch 'origin/master'

Administrator 3 tahun lalu
induk
melakukan
322410e3d8

+ 21 - 0
ruoyi-ui/src/api/system/config.js

@@ -36,6 +36,13 @@ export function listConfigname(query) {
 
 
 
+export function listConfigintegrationsieju(query) {
+  return request({
+    url: '/constructionEntry/entry/' + query,
+    method: 'get'
+    // params:query
+  })
+}
 
 export function listConfigthert(query) {
   return request({
@@ -221,6 +228,13 @@ export function addConfigsix(data) {
     data: data
   })
 }
+export function addConfigsixde(data) {
+  return request({
+    url: '/constructionEntry/entry',
+    method: 'post',
+    data: data
+  })
+}
 
 // 修改参数配置
 export function updateConfig(data) {
@@ -251,6 +265,13 @@ export function updateConfigntegration(data) {
     data: data
   })
 }
+export function updateConfigntegrationde(data) {
+  return request({
+    url: '/constructionEntry/entry',
+    method: 'put',
+    data: data
+  })
+}
 export function updateConfigtwo(data) {
   return request({
     url: '/projectPersion/persion',

+ 40 - 0
ruoyi-ui/src/api/system/signContract.js

@@ -39,6 +39,14 @@ export function delShareholder(id) {
     method: 'DELETE',
   })
 }
+
+// 股东构成-删除
+export function delShareholders(id) {
+  return request({
+    url: `/projectShareholder/shareholder/${id}`,
+    method: 'DELETE',
+  })
+}
 // 股东构成-新增
 export function addShareholder(data) {
   return request({
@@ -47,6 +55,14 @@ export function addShareholder(data) {
     data
   })
 }
+
+export function addShareholderde(data) {
+  return request({
+    url: `/projectShareholder/shareholder`,
+    method: 'post',
+    data
+  })
+}
 // 股东构成-修改
 export function setShareholder(data) {
   return request({
@@ -55,6 +71,14 @@ export function setShareholder(data) {
     data
   })
 }
+
+export function setShareholderde(data) {
+  return request({
+    url: `/projectShareholder/shareholder`,
+    method: 'put',
+    data
+  })
+}
 // 股东构成-查看
 export function getShareholder(id) {
   return request({
@@ -62,6 +86,14 @@ export function getShareholder(id) {
     method: 'GET',
   })
 }
+
+// 股东构成-查看
+export function getShareholders(id) {
+  return request({
+    url: `/projectShareholder/shareholder/${id}`,
+    method: 'GET',
+  })
+}
 // 股东构成-列表
 export function getShareholderList(query) {
   return request({
@@ -70,3 +102,11 @@ export function getShareholderList(query) {
     params: query
   })
 }
+// 股东构成-列表
+export function getShareholderListss(query) {
+  return request({
+    url: `/projectShareholder/shareholder/list`,
+    method: 'get',
+    params: query
+  })
+}

+ 479 - 58
ruoyi-ui/src/components/ProjectDec/SignContract.vue

@@ -1,5 +1,6 @@
 <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" v-if="setrd % 2 == 1">
@@ -55,11 +56,19 @@
         </el-col>
         <el-col :span="6">
           <el-form-item label="是否外资:" class="elItem" prop="isOutInvestment">
-            <el-col :span="6">
-              <el-checkbox-group v-model="form.isOutInvestment" :disabled="dis_flag">
-                <el-checkbox :label="1" name="type">外资</el-checkbox>
-              </el-checkbox-group>
-            </el-col>
+            <!-- <el-col :span="6"> -->
+              <!-- <el-checkbox-group v-model="form.isOutInvestment" :disabled="dis_flag"> -->
+				  <el-radio-group v-model="form.isOutInvestment" :disabled="dis_flag" style="width: 100%">
+				    <el-col :span="12">
+				      <el-radio label="1">是</el-radio>
+				    </el-col>
+				    <el-col :span="12">
+				      <el-radio label="2">否</el-radio>
+				    </el-col>
+				  </el-radio-group>
+                <!-- <el-checkbox :label="1" name="type">外资</el-checkbox> -->
+              <!-- </el-checkbox-group> -->
+            <!-- </el-col> -->
           </el-form-item>
         </el-col>
       </el-row>
@@ -82,32 +91,32 @@
             <el-col :span="18">
               <el-input type="number" :disabled="dis_flag" placeholder="请输入总投资额度" v-model="form.overseasInvestment"></el-input>
             </el-col>
-            <div class="dw_name">亿元</div>
+            <div class="dw_name">元</div>
           </el-form-item>
           <el-form-item label-width="182px" label="境内省外投资:" class="elItem" prop="jnswInvestm" :rules="[
       { required: true, message: '请输入境内省外投资', trigger: 'blur' }]">
             <el-col :span="18">
               <el-input type="number" :disabled="dis_flag" placeholder="请输入境内省外投资额度" v-model="form.jnswInvestm" ></el-input>
             </el-col>
-            <div class="dw_name">亿元</div>
+            <div class="dw_name">元</div>
           </el-form-item>
           <el-form-item label-width="182px" label="省内市外投资:" class="elItem" prop="snswInvestm":rules="[{ required: true, message: '请输入省内市外投资', trigger: 'blur' }]">
             <el-col :span="18">
               <el-input type="number" :disabled="dis_flag" placeholder="请输入省内市外投资额度" v-model="form.snswInvestm"></el-input>
             </el-col>
-            <div class="dw_name">亿元</div>
+            <div class="dw_name">元</div>
           </el-form-item>
           <el-form-item label-width="182px" label="市内县外投资:" class="elItem" prop="snxwInvestm" :rules="[{ required: true, message: '请输入市内县外投资', trigger: 'blur' }]">
             <el-col :span="18">
               <el-input type="number" :disabled="dis_flag" placeholder="请输入市内县外投资额度" v-model="form.snxwInvestm"></el-input>
             </el-col>
-            <div class="dw_name">亿元</div>
+            <div class="dw_name">元</div>
           </el-form-item>
           <el-form-item label-width="182px" label="县内投资:" class="elItem" prop="xnInvestm" :rules="[{ required: true, message: '请输入县内投资', trigger: 'blur' }]">
             <el-col :span="18">
               <el-input type="number" :disabled="dis_flag" placeholder="请输入县内投资额度" v-model="form.xnInvestm"></el-input>
             </el-col>
-            <div class="dw_name">亿元</div>
+            <div class="dw_name">元</div>
           </el-form-item>
         </el-col>
       </el-row>
@@ -139,8 +148,10 @@
 	  <el-row>
 		  <el-col :span="24">
 		    <el-form-item label-width="121px" label="土地证:" class="elItem" prop="landPhoto">
-		      <el-upload class="upload-demo" list-type="picture-card" :disabled="dis_flag" :file-list="fileListTdz" :on-remove="resetPhoto" :on-success="upl_fn" :on-preview="handlePreview" :action="defaultSettings.urls + process + '/common/upload'">
+		      <el-upload class="upload-demo" :before-upload= "beforeAvatarUpload"  :disabled="dis_flag" :file-list="fileListTdz" :on-remove="resetPhoto" :on-success="upl_fn" :on-preview="handlePreview" :action="defaultSettings.urls + process + '/common/upload'">
 		        <el-button size="small" type="primary">点击上传</el-button>
+            <div slot="tip" class="el-upload__tip">只能上传word/pdf格式,大小不超过10M(土地证须盖章)</div>
+            <!-- <div></div> -->
 		      </el-upload>
 		    </el-form-item>
 		  </el-col>
@@ -163,15 +174,17 @@
         <el-row>
         <el-col :span="12">
           <el-form-item label-width="121px" label="土地流转合同:" class="elItem" prop="circulationDoc">
-            <el-upload :disabled="dis_flag" class="upload-demo" list-type="picture-card" :on-preview="handlePreview" :on-remove="resetPhoto1" :file-list="fileListTdls" :on-success="upl_fn_lzht" :action="defaultSettings.urls+process+'/common/upload'">
+            <el-upload :before-upload= "beforeAvatarUpload" :disabled="dis_flag" class="upload-demo" :on-preview="handlePreview" :on-remove="resetPhoto1" :file-list="fileListTdls" :on-success="upl_fn_lzht" :action="defaultSettings.urls+process+'/common/upload'">
               <el-button size="small" type="primary">点击上传</el-button>
+              <div slot="tip" class="el-upload__tip">只能上传word/pdf格式,大小不超过10M(合同须盖章)</div>
             </el-upload>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label-width="121px" label="产权证:" class="elItem" prop="circulationPhoto">
-            <el-upload :disabled="dis_flag" class="upload-demo" list-type="picture-card" :on-remove="resetPhoto2" :file-list="fileListCqz" :on-success="upl_fn_cqz" :on-preview="handlePreview" :action="defaultSettings.urls + process + '/common/upload'">
+            <el-upload :before-upload= "beforeAvatarUpload" :disabled="dis_flag" class="upload-demo"  :on-remove="resetPhoto2" :file-list="fileListCqz" :on-success="upl_fn_cqz" :on-preview="handlePreview" :action="defaultSettings.urls + process + '/common/upload'">
               <el-button size="small" type="primary">点击上传</el-button>
+              <div slot="tip" class="el-upload__tip">只能上传word/pdf格式,大小不超过10M(产权证须盖章)</div>
             </el-upload>
           </el-form-item>
         </el-col>
@@ -194,15 +207,17 @@
         <el-row>
         <el-col :span="12">
           <el-form-item label-width="121px" label="租赁合同:" class="elItem" prop="leasePlantDoc">
-            <el-upload :disabled="dis_flag" class="upload-demo" list-type="picture-card" :on-remove="resetPhoto3" :file-list="fileListZht" :on-success="upl_fn_zlht" :on-preview="handlePreview" :action="defaultSettings.urls + process + '/common/upload'">
+            <el-upload :before-upload= "beforeAvatarUpload" :disabled="dis_flag" class="upload-demo"  :on-remove="resetPhoto3" :file-list="fileListZht" :on-success="upl_fn_zlht" :on-preview="handlePreview" :action="defaultSettings.urls + process + '/common/upload'">
               <el-button size="small" type="primary">点击上传</el-button>
+              <div slot="tip" class="el-upload__tip">只能上传word/pdf格式,大小不超过10M(合同须盖章)</div>
             </el-upload>
           </el-form-item>
         </el-col>
         <el-col :span="12">
           <el-form-item label-width="121px" label="产权证:" class="elItem" prop="leasePlantPhoto">
-            <el-upload :disabled="dis_flag" class="upload-demo" list-type="picture-card" :on-remove="resetPhoto4" :file-list="fileListZcq" :on-success="upl_fn_zlcqz" :on-preview="handlePreview" :action="defaultSettings.urls + process + '/common/upload'">
+            <el-upload :before-upload= "beforeAvatarUpload" :disabled="dis_flag" class="upload-demo"  :on-remove="resetPhoto4" :file-list="fileListZcq" :on-success="upl_fn_zlcqz" :on-preview="handlePreview" :action="defaultSettings.urls + process + '/common/upload'">
               <el-button size="small" type="primary">点击上传</el-button>
+              <div slot="tip" class="el-upload__tip">只能上传word/pdf格式,大小不超过10M(产权证须盖章)</div>
             </el-upload>
           </el-form-item>
         </el-col>
@@ -258,6 +273,11 @@
             <el-input placeholder="请输入签约人" :disabled="dis_flag" v-model="form.partner"></el-input>
           </el-form-item>
         </el-col>
+		<el-col :span="6">
+		  <el-form-item label-width="121px" label="职务:" class="elItem" prop="partnerJob">
+		    <el-input placeholder="请输入职务" :disabled="dis_flag" v-model="form.partnerJob"></el-input>
+		  </el-form-item>
+		</el-col>
       </el-row>
       <el-row>
         <el-col :span="6">
@@ -270,6 +290,11 @@
             <el-input placeholder="请输入签约人" :disabled="dis_flag" v-model="form.signUs"></el-input>
           </el-form-item>
         </el-col>
+		<el-col :span="6">
+		  <el-form-item label-width="121px" label="职务:" class="elItem" prop="usJob">
+		    <el-input placeholder="请输入职务" :disabled="dis_flag" v-model="form.usJob"></el-input>
+		  </el-form-item>
+		</el-col>
       </el-row>
       <el-row>
         <el-col :span="6">
@@ -282,17 +307,20 @@
             <el-input placeholder="请输入签约人" :disabled="dis_flag" v-model="form.third"></el-input>
           </el-form-item>
         </el-col>
+		<el-col :span="6">
+		  <el-form-item label-width="121px" label="职务:" class="elItem" prop="thirdJob">
+		    <el-input placeholder="请输入职务" :disabled="dis_flag" v-model="form.thirdJob"></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="agreementUrl">
-            <el-upload class="upload-demo" :disabled="dis_flag" ref="upload" list-type="picture-card"  :file-list="flieListHt" :action="defaultSettings.urls + process + '/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-upload class="upload-demo" :disabled="dis_flag" ref="upload"   :file-list="flieListHt" :action="defaultSettings.urls + process + '/common/upload'" :on-preview="handlePreview"
+              :on-success="up_loat_htwb" :on-remove="handleRemove" :auto-upload="false" :before-upload= "beforeAvatarUpload">
+              <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>
+              <div slot="tip" class="el-upload__tip">只能上传word/pdf格式,大小不超过10M(合同须盖章)</div>
             </el-upload>
           </el-form-item>
         </el-col>
@@ -321,7 +349,7 @@
       </el-row>
       <el-row>
         <el-col :span="8">
-          <el-form-item label-width="141px" label="注册资本金:" class="elItem" prop="totMoney">
+          <el-form-item label-width="141px" label="注册资本金(万元):" class="elItem" prop="totMoney">
             <el-input :disabled="dis_flag" placeholder="请输入注册资本金" v-model="form.totMoney"></el-input>
           </el-form-item>
         </el-col>
@@ -339,18 +367,21 @@
         </el-col>
         <el-col :span="8">
           <el-form-item label-width="173px" label="营业执照复印件:" class="elItem" prop="bussinessUrl">
-            <el-upload :disabled="dis_flag" class="upload-demo" :on-remove='resetPhoto5'  list-type="picture-card" :on-preview="handlePreview" :file-list="flieListYzz" :on-success="upl_fn_zzfyj" :action="defaultSettings.urls + process + '/common/upload'">
+            <el-upload :before-upload= "beforeAvatarUpload" :disabled="dis_flag" class="upload-demo" :on-remove='resetPhoto5'  list-type="picture-card" :on-preview="handlePreview" :file-list="flieListYzz" :on-success="upl_fn_zzfyj" :action="defaultSettings.urls + process + '/common/upload'">
               <el-button size="small" type="primary">点击上传</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">企业股东构成<span>*</span></div>
+      <div class="sign_tit">企业股东构成  (以下自然人和企业股东二选一必填)</div>
       <el-row>
-        <div class="ads_box" @click="addshareBtn">
+        <div class="ads_box" @click="addshareBtn" v-hasPermi="['projectPersion:persion:add']">
           <img src="../../assets/images/icon_add@2x.png" alt="" class="add_icon" />
-          <span>添加企业股东构成</span>
-          <i style="color: red;">*</i>
+          <span >添加自然人</span>
+          <!-- <i style="color: red;">*</i> -->
         </div>
       </el-row>
       <el-row>
@@ -377,21 +408,60 @@
           <el-table-column label="操作" align="center">
             <!-- class-name="small-padding fixed-width" -->
             <template slot-scope="scope">
-              <el-button size="mini" :disabled="dis_flag" type="warning" @click="handleUpdate(scope.row)" v-hasPermi="['system:config:edit']">修改</el-button>
-              <el-button size="mini":disabled="dis_flag" type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['system:config:remove']">删除</el-button>
+              <el-button size="mini" :disabled="dis_flag" type="warning" @click="handleUpdate(scope.row)" v-hasPermi="['projectPersion:persion:edit']">修改</el-button>
+              <el-button size="mini":disabled="dis_flag" type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['projectPersion:persion: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>
+	  <el-row>
+	    <div class="ads_box" @click="addshareBtnde" v-hasPermi="['projectInvestor:investor:add']">
+	      <img src="../../assets/images/icon_add@2x.png" alt="" class="add_icon" />
+	      <span>添加企业股东</span>
+	      <!-- <i style="color: red;">*</i> -->
+	    </div>
+	  </el-row>
+	  <el-row>
+	    <el-table v-loading="loading" class="elItem" :data="shareholderLists">
+	      <!-- <el-table-column type="selection" width="55" align="center" /> -->
+	      <el-table-column label="企业名称" align="center" prop="companyName" />
+	      <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="companyCode" :show-overflow-tooltip="true" />
+	      <el-table-column label="企业股东营业执照" align="center" prop="businessPhoto">
+	        <template slot-scope="scope">
+	          <img @click="imgBtn(scope.row.businessPhoto)" :src="scope.row.businessPhoto" alt="" class="imgs" />
+	        </template>
+	      </el-table-column>
+	      <!-- <el-table-column label="身份证(反面)" align="center" prop="idcardBack">
+	        <template slot-scope="scope">
+	          <img @click="imgBtn(scope.row.idcardBack)" :src="scope.row.idcardBack" alt="" class="imgs" />
+	        </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" :disabled="dis_flag" type="warning" @click="handleUpdates(scope.row)" v-hasPermi="['projectInvestor:investor:edit']">修改</el-button>
+	          <el-button size="mini":disabled="dis_flag" type="danger" @click="handleDeletes(scope.row.id)" v-hasPermi="['projectInvestor:investor:remove']">删除</el-button>
+	        </template>
+	      </el-table-column>
+	    </el-table>
+	    <pagination v-show="total > 0" :total="totals" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
+	      @pagination="getShareholderListss" />
+	  </el-row>
       <div class="sign_tit">企业备案信息</div>
       <el-row>
-        <el-col :span="8">
+        <!-- <el-col :span="8">
           <el-form-item label-width="121px" label="备案单位:" class="elItem" prop="recordName">
             <el-input placeholder="请输入备案单位" :disabled="dis_flag" v-model="form.recordName"></el-input>
           </el-form-item>
-        </el-col>
+        </el-col> -->
         <el-col :span="6">
           <el-form-item label-width="109px" label="备案文号:" class="elItem" prop="recordCode">
             <el-input placeholder="请输入备案文号" :disabled="dis_flag" v-model="form.recordCode"></el-input>
@@ -416,13 +486,11 @@
       <el-row>
         <el-col :span="18">
           <el-form-item label-width="121px" label="备案表:" class="elItem" prop="recordUrl">
-            <el-upload class="upload-demo" :disabled="dis_flag" ref="bAupload" list-type="picture-card" :file-list="flieListBa" :action="defaultSettings.urls + process + '/common/upload'" :on-preview="handlePreview"
+            <el-upload class="upload-demo" :disabled="dis_flag" ref="bAupload" :before-upload="beforeAvatarUpload" :file-list="flieListBa" :action="defaultSettings.urls + process + '/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 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>
+              <div slot="tip" class="el-upload__tip">只能上传word/pdf格式,大小不超过10M</div>
             </el-upload>
           </el-form-item>
         </el-col>
@@ -488,8 +556,48 @@
         <el-button @click="open = false">取 消</el-button>
       </div>
     </el-dialog>
+
+	<!-- 添加或修改岗位对话框 -->
+	<el-dialog :close-on-click-modal="false" :title="titles" :visible.sync="openss" width="600px" append-to-body>
+	  <el-form ref="forms" :model="sharData" :rules="sharRules" label-width="140px">
+	    <el-form-item label="企业名称" prop="companyName">
+	      <!-- <el-input v-model="sharData.name" placeholder="请输入企业名称" /> -->
+		  <el-autocomplete
+		    v-model="sharData.companyName"
+		    :fetch-suggestions="querySearchAsync"
+		    placeholder="请输入企业名称"
+		    @select="handleSelecthueys"
+		    :trigger-on-focus="false"
+		    style="width: 100%;"
+		    :disabled="dis_flag"
+		  ></el-autocomplete>
+	    </el-form-item>
+	    <el-form-item label="股权比例" prop="equityRatio">
+	      <el-input-number :min="0" :max="100" style="width: 140px" v-model="sharData.equityRatio" /><span style="margin: 0 10px; font-size: 16px">%</span>
+	    </el-form-item>
+	    <el-form-item label="统一社会信用代码" prop="companyCode">
+	      <el-input v-model="sharData.companyCode" placeholder="请输入统一社会信用代码" />
+	    </el-form-item>
+	    <el-form-item label="企业股东营业执照" prop="businessPhoto">
+	      <el-upload class="upload-demo" :file-list="idcardFrontFlie" list-type="picture-card" :on-remove="upl_remove_sfzzms" :on-success="upl_fn_sfzzms"
+	        :action="defaultSettings.urls + process + '/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="submitFormss">确 定</el-button>
+	    <el-button @click="openss = false">取 消</el-button>
+	  </div>
+	</el-dialog>
+
+
+
      <el-dialog :visible.sync="dialogVisible">
-       <img width="100%" :src="dialogImageUrl" alt="">
+
+       <img width="100%" :src="dialogImageUrl" alt="" v-if="ndheuos">
+       <a :href="dialogImageUrl" target="view_window" v-if="!ndheuos"> {{dialogImagename}} <span style="color: red;">点击查看/下载</span> </a>
+
      </el-dialog>
 
     <BigPicture ref="BigPicture" :urls="pir_imgs"></BigPicture>
@@ -503,10 +611,15 @@
     getShareholder,
     delShareholder,
     addShareholder,
+	  addShareholderde,
     setShareholder,
+	  setShareholderde,
     setOrderinfo,
     addOrderinfo,
     getExamine,
+    getShareholderListss,
+    getShareholders,
+    delShareholders
   } from "@/api/system/signContract";
   import {
     addConfigbout,
@@ -530,12 +643,13 @@
         fileListCqz: [],
         fileListTdls: [],
         fileListTdz: [],
-
+        dialogImagename:'',
         flieListHt: [],
         flieListYzz: [],
         flieListBa: [],
         defaultSettings,
         title: "",
+        totals:0,
         // 是否显示弹出层
         open: false,
         configList: [],
@@ -578,6 +692,7 @@
           idcard: "",
           idcardFront: "",
           idcardBack: "",
+		  companyCode:'',
         },
         queryParams: {
           pageNum: 1,
@@ -585,7 +700,10 @@
           bmProjectId: "",
         },
         total: 0,
+		titles:'',
         shareholderList: [],
+        shareholderLists:[],
+		openss:false,
         // showSearch: true,
         loading: true,
         rules: {
@@ -599,6 +717,7 @@
             message: "请选择投资方式",
             trigger: "blur",
           }, ],
+
           totInvestment: [{
             required: true,
             message: "请输入总投资额度",
@@ -644,6 +763,16 @@
             message: "请输入对方合同签约人",
             trigger: "blur",
           }, ],
+		  partnerJob:[{
+			  required: true,
+			  message: "请输入信息",
+			  trigger: "blur",
+		  }],
+		  usJob:[{
+		  			  required: true,
+		  			  message: "请输入信息",
+		  			  trigger: "blur",
+		  }],
           agreementUs: [{
             required: true,
             message: "请输入合同签约我方",
@@ -799,7 +928,8 @@
         pir_imgs: '',
         dialogImageUrl: '',
                 dialogVisible: false,
-        dkrou:{}
+        dkrou:{},
+        ndheuos:false
       };
     },
     mounted() {
@@ -808,6 +938,7 @@
       this.dis_flag = (this.$route.query.setrd!=3)
       this.getOrderinfo();
       this.getShareholderList();
+      this.getShareholderListss();
     },
     methods: {
       handlePictureCardPreview(file) {
@@ -977,9 +1108,20 @@
           return
         }
         this.reset();
-        this.title = "添加企业股东";
+        this.title = "添加自然人";
+		this.titles = '添加企业股东'
         this.open = true;
       },
+	  addshareBtnde() {
+
+	    if(this.dis_flag){
+	      return
+	    }
+	    this.reset();
+	    this.title = "添加自然人";
+	    this.titles = '添加企业股东'
+	    this.openss = true;
+	  },
       // 表单重置
       reset() {
         this.sharData = {
@@ -989,6 +1131,7 @@
           idcard: "",
           idcardFront: "",
           idcardBack: "",
+		  companyCode:'',
         };
         this.idcardFrontFlie = [];
         this.idcardBackFlie = [];
@@ -1046,6 +1189,26 @@
           }
         }
       },
+      beforeAvatarUpload(file) {
+        console.log(file.type);
+        const isJPG =
+          file.type === "image/jpeg" ||
+          file.type === "image/png" ||
+          file.type === "image/jpg";
+        const isPNG = file.type === "image/png";
+        const isLt2M = file.size / 1024 / 1024 < 10;
+        this.ndheuos = isJPG
+        // if (!isJPG) {
+        //   this.$message.error("图片只能是 JPG 格式! 或者 PNG 格式!");
+        // }
+        // if(!isPNG){
+        //   this.$message.error('图片只能是 JPG 格式! 或者 PNG 格式!');
+        // }
+        if (!isLt2M) {
+          this.$message.error("文件大小不能超过 10MB!");
+        }
+        return  isLt2M;
+      },
       resetPhoto4(file, fileList) {
         let urls = ""
         if(file.response){
@@ -1103,11 +1266,25 @@
           url: res.url,
         }, ];
         this.sharData.idcardFront = res.url;
+        this.sharData.businessPhoto = res.url
+      },
+      upl_fn_sfzzms(res, file){
+        this.idcardFrontFlie = [];
+        this.idcardFrontFlie = [{
+          name: res.url,
+          url: res.url,
+        }, ];
+        // this.sharData.idcardFront = res.url;
+        this.sharData.businessPhoto = res.url
       },
       upl_remove_sfzzm() {
         this.idcardFrontFlie = [];
         this.sharData.idcardFront = "";
       },
+      upl_remove_sfzzms() {
+        this.idcardFrontFlie = [];
+        this.sharData.businessPhoto = ''
+      },
       upl_remove_sfzfm() {
         this.idcardBackFlie = [];
         this.sharData.idcardBack = "";
@@ -1127,6 +1304,13 @@
           this.loading = false;
         });
       },
+      getShareholderListss() {
+        getShareholderListss(this.queryParams).then((res) => {
+          this.shareholderLists = res.rows;
+          this.totals = res.total;
+          this.loading = false;
+        });
+      },
       submitForms() {
         this.$refs["forms"].validate((valid) => {
           if (valid) {
@@ -1146,19 +1330,175 @@
           }
         });
       },
+	  submitFormss(){
+		  this.$refs["forms"].validate((valid) => {
+        // this.sharData
+		    if (valid) {
+          this.sharData.idcard = undefined
+          this.sharData.idcardBack = undefined
+          this.sharData.idcardFront = undefined
+          this.sharData.name = undefined
+		      if (this.sharData.id) {
+		        setShareholderde(this.sharData).then((res) => {
+		          this.openss = false;
+		          this.msgSuccess("修改成功");
+		          this.getShareholderListss();
+		        });
+		      } else {
+
+		        addShareholderde(this.sharData).then((res) => {
+		          this.openss = false;
+		          this.msgSuccess("新增成功");
+		          this.getShareholderListss();
+		        });
+		      }
+		    }
+		  });
+	  },
       submitForm() {
+        console.log(344,this.form)
+        if(this.form.orderDate == ""){
+          this.msgError("请选择签约日期");
+          return  false
+        }
+        if(this.form.investmentType == ''){
+          this.msgError("请选择投资方式");
+          return  false
+        }
+        if(this.form.totInvestment == ''){
+          this.msgError("请输入总投资额度");
+          return  false
+        }
+        if(this.form.overseasInvestment == ''){
+          this.msgError("请输入境外投资");
+          return  false
+        }
+        if(this.form.isIndependentLan == ''){
+          this.msgError("请选择是否独立供地");
+          return  false
+        }
+        if(this.form.agreementTot == ''){
+          this.msgError("请输入合同约定产值");
+          return  false
+        }
+        if(this.form.agreementTax == ''){
+          this.msgError("请输入合同约定税收");
+          return  false
+        }
+        if(this.form.agreementStartdate == ''){
+          this.msgError("请选择合同约定开工时间");
+          return  false
+        }
+        if(this.form.agreementEnddate == ''){
+          this.msgError("请选择合同约定竣工时间");
+          return  false
+        }
+        if(this.form.agreementPartner == ''){
+          this.msgError("请输入合同签约对方");
+          return  false
+        }
+        if(this.form.partner == ''){
+          this.msgError("请输入对方合同签约人");
+          return  false
+        }
+        if(this.form.partnerJob == ''){
+          this.msgError("请输入对方职务信息");
+          return  false
+        }
+        if(this.form.usJob == ''){
+          this.msgError("请输入我方职务信息");
+          return  false
+        }
+        if(this.form.agreementUs == ''){
+          this.msgError("请输入合同签约我方");
+          return  false
+        }
+        if(this.form.signUs == ''){
+          this.msgError("请输入我方合同签约人");
+          return  false
+        }
+        if(this.form.agreementUrl.length == 0){
+          this.msgError("请上传合同文本");
+          return  false
+        }
+        if(this.form.name == ''){
+          this.msgError("请输入在潜注册公司名称");
+          return  false
+        }
+        if(this.form.legalRep == ''){
+          this.msgError("请输入法定代表人");
+          return  false
+        }
+        if(this.form.totMoney == ''){
+          this.msgError("请输入注册资本金");
+          return  false
+        }
+        if(this.form.address == ''){
+          this.msgError("请输入注册地址");
+          return  false
+        }
+        if(this.form.code == undefined){
+          this.msgError("请输入统一社会信用代码");
+          return  false
+        }
+        if(this.form.bussinessUrl.length ==0){
+          this.msgError("请上传营业执照");
+          return  false
+        }
+        if(this.form.recordName == undefined){
+          this.msgError("请输入备案单位");
+          return  false
+        }
+        if(this.form.recordCode == ''){
+          this.msgError("请输入备案文号");
+          return  false
+        }
+        if(this.form.recordTot == ''){
+          this.msgError("请输入备案总投资额");
+          return  false
+        }
+        if(this.form.recordTime == ''){
+          this.msgError("请输入备案建设周期");
+          return  false
+        }
+        if(this.form.recordUrl.length ==0){
+          this.msgError("请上传备案表信息");
+          return  false
+        }
+        if(this.form.contactLeader == ''){
+          this.msgError("请输入联系领导");
+          return  false
+        }
+        if(this.form.contactPhone == ''){
+          this.msgError("请输入联系方式");
+          return  false
+        }
+        if(this.form.contactCompany == ''){
+          this.msgError("请输入责任单位");
+          return  false
+        }
+        if(this.form.contactPerson == ''){
+          this.msgError("请输入责任人");
+          return  false
+        }
+        if(this.form.contactPersonPhone == ''){
+          this.msgError("请输入责任人联系方式");
+          return  false
+        }
         this.$refs["form"].validate((valid) => {
           if (valid) {
             let  zNum =  (this.form.overseasInvestment-0)+ (this.form.jnswInvestm-0)+ (this.form.snswInvestm-0)+ (this.form.snxwInvestm-0)+ (this.form.xnInvestm-0)
-            console.log(this.form.totInvestment,zNum)
+            console.log(this.form.totInvestment,zNum,765)
+            // if (this.total == 0) {
+            //   this.msgError("企业股东不能为空,请上传企业股东");
+            //   return;
+            // }
+            
             if (this.form.totInvestment != zNum) {
               this.msgError("请重新填写总投资额,总投资额度与其他投资数总和不等");
               return;
             }
-            if (this.total == 0) {
-              this.msgError("企业股东不能为空,请上传企业股东");
-              return;
-            }
+
             let data = JSON.parse(JSON.stringify(this.form));
             data.isOutInvestment = Number(data.isOutInvestment)
             data.agreementUrl = data.agreementUrl.join(",");
@@ -1198,15 +1538,16 @@
           console.log(res);
           if (res.data) {
             let data = res.data
+            // data.circulationPhoto = defaultSettings.urls + this.process + data.circulationPhoto
             this.flieListHt = this.gshFn(data.agreementUrl)
             this.fileListTdls = this.gshFn(data.circulationDoc)
             this.flieListBa = this.gshFn(data.recordUrl)
             this.fileListTdz = this.gshFn(data.landPhoto)
-
-            this.flieListYzz = this.gshFn(data.bussinessUrl)
+            this.flieListYzz = this.gshFns(data.bussinessUrl)
             this.fileListZcq = this.gshFn(data.leasePlantPhoto)
             this.fileListZht = this.gshFn(data.leasePlantDoc)
-            this.fileListCqz = this.gshFn(data.circulationPhoto)
+            // this.fileListCqz = this.gshFn(data.circulationPhoto)
+            console.log(this.fileListCqz,234)
 
             if(data.circulationPhoto.length){
               data.circulationPhoto = data.circulationPhoto.split(',')
@@ -1253,11 +1594,24 @@
               data.circulationDoc = []
             }
             data.isOutInvestment = Boolean(data.isOutInvestment - 0)
+            console.log(data.circulationPhoto,defaultSettings.urls + this.process,654)
             this.form = data;
           }
         });
       },
       gshFn(arr){
+        let arrs = []
+        if(arr){
+          for(let item of arr.split(',')){
+            arrs.push({
+              name: item.substring(item.lastIndexOf("/")+1),
+              url: item  ,
+            })
+          }
+        }
+        return arrs
+      },
+      gshFns(arr){
         let arrs = []
         if(arr){
           for(let item of arr.split(',')){
@@ -1281,6 +1635,8 @@
         const id = row.id || this.ids;
         getShareholder(id).then((response) => {
           this.sharData = response.data;
+          this.idcardFrontFlie = []
+          this.idcardBackFlie = []
           this.idcardFrontFlie = [{
             name: response.data.idcardBack,
             url: response.data.idcardBack,
@@ -1290,9 +1646,30 @@
             url: response.data.idcardFront,
           }, ];
           this.open = true;
-          this.title = "修改股东信息";
+          this.title = "修改自然人";
         });
       },
+	  /** 修改按钮操作 */
+	  handleUpdates(row) {
+	    this.reset();
+	    const id = row.id || this.ids;
+	    getShareholders(id).then((response) => {
+	      this.sharData = response.data;
+        this.idcardFrontFlie = []
+        this.idcardBackFlie = []
+	      this.idcardFrontFlie = [{
+	        name: response.data.businessPhoto,
+	        url: response.data.businessPhoto,
+	      }, ];
+	      this.idcardBackFlie = [{
+	        name: response.data.businessPhoto,
+	        url: response.data.businessPhoto,
+	      }, ];
+	      this.openss = true;
+	      this.titles = "修改股东信息";
+	    });
+	  },
+
       /** 删除按钮操作 */
       handleDelete(id) {
         this.$confirm("是否确认删除该股东", "警告", {
@@ -1308,6 +1685,21 @@
             this.msgSuccess("删除成功");
           });
       },
+      /** 删除按钮操作 */
+      handleDeletes(id) {
+        this.$confirm("是否确认删除该股东", "警告", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning",
+          })
+          .then(function() {
+            return delShareholders(id);
+          })
+          .then(() => {
+            this.getShareholderListss();
+            this.msgSuccess("删除成功");
+          });
+      },
       handleRemove(file, fileList) {
         let urls = ""
         if(file.response){
@@ -1337,32 +1729,61 @@
       },
       handlePreview(file) {
         console.log(file, 22);
-        this.dialogImageUrl = file.url;
-        this.dialogVisible = true;
+        if(file.response !== undefined){
+          this.dialogImageUrl = file.response.url;
+          this.dialogVisible = true;
+          this.dialogImagename = file.name
+        }else{
+          this.dialogImageUrl = file.url;
+          this.dialogVisible = true;
+          this.dialogImagename = file.name
+        }
       },
       handleSelecthuey(item){
 
         console.log(item)
-        this.form.code = item.id
-        this.form.legalRep = item.labr
+        // this.form.code = item.id
+        // this.form.legalRep = item.labr
         for (let i = 0; i < this.resets.length; i++) {
          if(item.id == this.resets[i].CreditCode){
            // 企业名称
-           // this.form.companyName = this.resets[i].Name
+           this.form.name = this.resets[i].Name
            // 企业所在地
-           // this.form.companyAddress = this.resets[i].Name
+           // this.form.address = this.resets[i].Name
            // 法人代表姓名
-           // this.form.companyLegal = this.resets[i].OperName
+           this.form.legalRep = this.resets[i].OperName
            // 统一社会信用代码
-           // this.form.companyCode = item.id
+           this.form.code = item.id
            // 联系方式
-           // this.form.companyName = this.resets[i].Name
+           this.form.companyName = this.resets[i].Name
          }
         }
 
 
          // console.log(3345)
       },
+	  handleSelecthueys(item){
+	    console.log(item)
+	    this.form.code = item.id
+	    this.form.legalRep = item.labr
+	    for (let i = 0; i < this.resets.length; i++) {
+	     if(item.id == this.resets[i].CreditCode){
+	       // 企业名称
+	       this.sharData.companyName = this.resets[i].Name
+	       // 企业所在地
+	       // this.form.companyAddress = this.resets[i].Name
+	       // 法人代表姓名
+	       // this.form.companyLegal = this.resets[i].OperName
+	       // 统一社会信用代码
+	       this.sharData.companyCode = this.resets[i].CreditCode
+	       // 联系方式
+	       // this.form.companyName = this.resets[i].Name
+	     }
+	    }
+
+
+	     // console.log(3345)
+	  },
       querySearchAsync(queryString, cb){
          console.log(queryString, cb)
          this.options = []

+ 4 - 4
ruoyi-ui/src/settings.js

@@ -1,7 +1,7 @@
 module.exports = {
   title: '招商引资管理系统',
-  urls: 'http://47.99.82.249:80',
-  // urls: 'http://192.168.101.11:8010',
+  // urls: 'http://47.99.82.249:80',
+  urls: 'http://192.168.101.11:8010',
 
   /**
    * 侧边栏主题 深色主题theme-dark,浅色主题theme-light
@@ -35,6 +35,6 @@ module.exports = {
    * If you want to also use it in dev, you can pass ['production', 'development']
    */
   errorLog: 'production',
-  // apiUrl: 'http://192.168.101.11:8010'
-  apiUrl: 'http://47.99.82.249:80'
+  apiUrl: 'http://192.168.101.11:8010'
+  // apiUrl: 'http://47.99.82.249:80'
 }

+ 19 - 19
ruoyi-ui/src/under/index.vue

@@ -1542,25 +1542,25 @@ export default {
     }
   }
   //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;
-    }
-  }
+  // .naue_tab {
+  //   border-bottom: 1px solid #cdcdcd;
+  //   display: flex;
+  //   margin-top: 30px;
+  //   padding: 0 10px;
+  //   margin-bottom: 30px;
+  //   p {
+  //     font-size: 16px;
+  //     font-family: PingFang SC;
+  //     font-weight: 700;
+  //     color: #fff;
+  //     padding: 11px 15px;
+  //     margin: 10px;
+  //   }
+  //   .p {
+  //     border-bottom: 2px solid #1c84c6;
+  //     margin-bottom: -1px;
+  //   }
+  // }
   .mation {
     .enterprise {
       font-size: 14px;

File diff ditekan karena terlalu besar
+ 438 - 188
ruoyi-ui/src/views/management/nstruction/index.vue


+ 163 - 45
ruoyi-ui/src/views/management/roduction/index.vue

@@ -61,7 +61,7 @@
               :inline="true"
               label-width="135px"
               label-position="center"
-              class="manager_form"
+              class="manager_form bhyeksu"
             >
               <el-form-item label=" 已完成投资额:" prop="totInvestment">
                 <el-input
@@ -93,18 +93,22 @@
                 ></el-date-picker>
               </el-form-item>
               <el-form-item label="投产图片:" prop="productPhoto" class="maget_ty" :rules="[{ required: true, message: '请上传投产图片', trigger: 'blur' }]" >
-                <div class="forieu" style="width: 618px">
-                  <div class="bure burert">
+                <div class="bgteu " style="width: 618px">
+                  <div class="">
                     <el-upload
                       :action="defaultSettings.urls + process+'/common/upload'"
                       list-type="picture-card"
                       :on-preview="handlePictureCardPreview"
                       :on-remove="handleRemove"
                       :on-success="handleOnsuccess"
+                      :before-upload="beforeAvatarUpload"
                       :file-list="productPhotoList"
                        :disabled = "disfal"
                     >
-                      <i class="el-icon-plus"></i>
+                      <div style="display: flex; justify-content: flex-start; flex-direction: column; flex: 1;">
+                        <i slot="default" class="el-icon-plus" style="width:100px;height: 100px; line-height: 100px; background-color: #f5f5f5; border-radius: 6px;"> </i>
+                        <div slot="tip" class="el-upload__tip" style="line-height: 24px;">只能上传jpg/png文件,且不超过500kb</div>
+                      </div>
                       <!-- <el-button slot="trigger" size="small" type="primary"
                         >选取文件</el-button
                       >
@@ -123,18 +127,21 @@
                 </div>
               </el-form-item>
               <el-form-item label="设备订购合同:" prop="orderContractPhoto" class="maget_ty" :rules="[{ required: true, message: '请上传设备订购合同', trigger: 'blur' }]">
-                <div class="forieu" style="width: 618px">
-                  <div class="bure burert">
+                <div class="bgteu fre" style="width: 618px">
+                  <div class="">
                     <el-upload
                       :action="defaultSettings.urls + process+'/common/upload'"
-                      list-type="picture-card"
                       :on-preview="handlePictureCardPreview"
+                      :before-upload="beforeAvatarUpload"
                       :on-remove="handleRemove3"
                       :on-success="handleOnsuccess3"
                       :file-list="orderContractPhotoList"
                        :disabled = "disfal"
                     >
-                      <i class="el-icon-plus"></i>
+                      <div style="display: flex; justify-content: flex-start; flex-direction: column; flex: 1;">
+                        <i slot="default" class="el-icon-plus" style="width:100px;height: 100px; line-height: 100px; background-color: #f5f5f5; border-radius: 6px;"> </i>
+                        <div slot="tip" class="el-upload__tip" style="line-height: 24px;">只能上传word/pdf格式,大小不超过10M(合同须盖章)</div>
+                      </div>
                       <!-- <el-button slot="trigger" size="small" type="primary"
                         >选取文件</el-button
                       >
@@ -153,18 +160,55 @@
                 </div>
               </el-form-item>
               <el-form-item label="到资清单:" prop="arrivalListPhoto" class="maget_ty" :rules="[{ required: true, message: '请上传到资清单', trigger: 'blur' }]">
-                <div class="forieu" style="width: 618px">
-                  <div class="bure burert">
+                <div class="bgteu fre" style="width: 618px">
+                  <div class="">
                     <el-upload
                       :action="defaultSettings.urls + process+'/common/upload'"
-                      list-type="picture-card"
                       :on-preview="handlePictureCardPreview"
                       :on-remove="handleRemove2"
                       :on-success="handleOnsuccess2"
                       :file-list="arrivalListPhotoList"
+                      :before-upload="beforeAvatarUpload"
+                       :disabled = "disfal"
+                    >
+                      <div style="display: flex; justify-content: flex-start; flex-direction: column; flex: 1;">
+                        <i slot="default" class="el-icon-plus" style="width:100px;height: 100px; line-height: 100px; background-color: #f5f5f5; border-radius: 6px;"> </i>
+                        <div slot="tip" class="el-upload__tip" style="line-height: 24px;">只能上传word/pdf格式,大小不超过10M</div>
+                      </div>
+                      <!-- <el-button slot="trigger" size="small" type="primary"
+                        >选取文件</el-button
+                      >
+                      <el-button
+                        style="margin-left: 10px"
+                        size="small"
+                        type="primary"
+                        @click="submitUpload"
+                        >上传到服务器</el-button
+                      > -->
+                    </el-upload>
+                    <el-dialog :visible.sync="dialogVisible">
+                      <img width="100%" :src="dialogImageUrl" alt="" />
+                    </el-dialog>
+                  </div>
+                </div>
+              </el-form-item>
+              <el-form-item label="入规截图:" prop="entryPhoto" class="maget_ty">
+                <div class="bgteu " style="width: 618px">
+                  <div class="">
+                    <el-upload
+                      :action="defaultSettings.urls + process+'/common/upload'"
+                      list-type="picture-card"
+                      :on-preview="handlePictureCardPreview"
+                      :on-remove="handleRemove4"
+                      :on-success="handleOnsuccess4"
+                      :before-upload="beforeAvatarUpload"
+                      :file-list="orderContractPhotoLists"
                        :disabled = "disfal"
                     >
-                      <i class="el-icon-plus"></i>
+                      <div style="display: flex; justify-content: flex-start; flex-direction: column; flex: 1;">
+                        <i slot="default" class="el-icon-plus" style="width:100px;height: 100px; line-height: 100px; background-color: #f5f5f5; border-radius: 6px;"> </i>
+                        <div slot="tip" class="el-upload__tip" style="line-height: 24px;">只能上传jpg/png文件,且不超过500kb</div>
+                      </div>
                       <!-- <el-button slot="trigger" size="small" type="primary"
                         >选取文件</el-button
                       >
@@ -190,7 +234,7 @@
                   clearable
                   size="small"
                   :disabled = "disfal"
-                  style="width: 335px"
+                  style="width: 235px"
                 >
                   <el-option
                     v-for="dict in typeOptions"
@@ -206,7 +250,7 @@
                   :disabled = "disfal"
                   placeholder="选择项目入规时间"
                   v-model="form.okDate"
-                  style="width: 335px"
+                  style="width: 235px"
                 ></el-date-picker>
               </el-form-item>
             </el-form>
@@ -216,7 +260,10 @@
     </div>
 
     <el-dialog :visible.sync="dialogVisible">
-      <img width="100%" :src="dialogImageUrl" alt="" />
+
+      <img width="100%" :src="dialogImageUrl" alt="" v-if="ndheuos">
+      <a :href="dialogImageUrl" target="view_window" v-if="!ndheuos"> {{dialogImagename}} <span style="color: red; margin-left: 10px;">点击查看/下载</span> </a>
+
     </el-dialog>
   </div>
 </template>
@@ -250,10 +297,13 @@ export default {
       disabled: false,
       dialogVisible: false,
       dialogImageUrl: false,
+      dialogImagename:'',
 
       productPhotoList: [],
       arrivalListPhotoList: [],
       orderContractPhotoList: [],
+      orderContractPhotoLists:[],
+      ndheuos:false,
 
       //数据字典
       typeOptions: {},
@@ -270,12 +320,9 @@ export default {
         productDate: [
           { required: true, message: "请选择投产时间", trigger: "blur" },
         ],
-        isOk: [
-          { required: true, message: "请选择项目入规(限)", trigger: "blur" },
-        ],
-        okDate: [
-          { required: true, message: "请选择项目入规时间", trigger: "blur" },
-        ],
+        isOk:[{
+          required: true, message: "请填写信息", trigger: "blur"
+        }]
       },
     };
   },
@@ -298,6 +345,7 @@ export default {
         that.form = response.data;
         //  投产图片
         if (that.form.productPhoto.length > 0) {
+
           this.productPhotoList = JSON.parse(that.form.productPhoto);
         }
         //  到资清单
@@ -308,6 +356,10 @@ export default {
         if (that.form.orderContractPhoto.length > 0) {
           this.orderContractPhotoList = JSON.parse(that.form.orderContractPhoto);
         }
+        //入规截图
+        if (that.form.entryPhoto.length > 0) {
+          this.orderContractPhotoLists = JSON.parse(that.form.entryPhoto);
+        }
       }
     });
   },
@@ -354,6 +406,7 @@ export default {
       this.productPhotoList = [];
       this.arrivalListPhotoList = [];
       this.orderContractPhotoList = [];
+      this.orderContractPhotoLists= []
     },
     //上传图片
     handleSuccpermit(response, file, fileList) {
@@ -394,16 +447,32 @@ export default {
     /** 暂存按钮 */
     submitForm() {
       var tmp = [];
+	  if (this.form.totInvestment == null) {
+	    this.msgError("请输入已完成投资额");
+	    return;
+	  }
+	  if (this.form.macInvestment == null) {
+	    this.msgError("请输入设备投资额度");
+	    return;
+	  }
+	  if (this.form.productDate == null) {
+	    this.msgError("请选择投产时间");
+	    return;
+	  }
       if (this.productPhotoList.length == 0) {
         this.msgError("请先选择投产图片");
         return;
       }
+	  if (this.orderContractPhotoList.length == 0) {
+	    this.msgError("请先选择设备订购合同");
+	    return;
+	  }
       if (this.arrivalListPhotoList.length == 0) {
-        this.msgError("请先选择到资清单图片");
+        this.msgError("请先选择到资清单");
         return;
       }
-      if (this.orderContractPhotoList.length == 0) {
-        this.msgError("请先选择设备订购合同图片");
+      if (this.form.isOk == null) {
+        this.msgError("请填写项目入规信息");
         return;
       }
       this.productPhotoList.forEach((item, index) => {
@@ -432,6 +501,15 @@ export default {
         tmp[index] = obj;
       });
       this.form.orderContractPhoto = JSON.stringify(tmp);
+      this.orderContractPhotoLists.forEach((item, index) => {
+        var obj = {};
+        obj.name = item.response.fileName;
+        obj.uid = item.uid;
+        obj.url = item.response.url;
+        tmp[index] = obj;
+      });
+      this.form.entryPhoto = JSON.stringify(tmp);
+
 
       this.$refs["form"].validate((valid) => {
         if (valid) {
@@ -473,12 +551,25 @@ export default {
     handleOnsuccess3(response, file, fileList) {
       this.orderContractPhotoList = fileList;
     },
+    handleOnsuccess4(response, file, fileList){
+     this.orderContractPhotoLists = fileList;
+    },
     handleRemove3(file, fileList) {
       this.orderContractPhotoList = fileList;
     },
+    handleRemove4(file, fileList) {
+      this.orderContractPhotoLists = fileList;
+    },
     handlePictureCardPreview(file) {
-      this.dialogImageUrl = file.url;
-      this.dialogVisible = true;
+      if(file.response !== undefined){
+        this.dialogImageUrl = file.response.url;
+        this.dialogVisible = true;
+        this.dialogImagename = file.name
+      }else{
+        this.dialogImageUrl = file.url;
+        this.dialogVisible = true;
+        this.dialogImagename = file.name
+      }
     },
     handleDownload(file) {
       console.log(file);
@@ -520,6 +611,28 @@ export default {
           this.msgSuccess("审核成功");
         });
     },
+    beforeAvatarUpload(file) {
+      console.log(file.type);
+        const isJPG =
+          file.type === "image/jpeg" ||
+          file.type === "image/png" ||
+          file.type === "image/jpg";
+        const isPNG = file.type === "image/png";
+        const isLt2M = file.size / 1024 / 1024 < 10;
+        this.ndheuos = isJPG
+        console.log(this.ndheuos,76)
+        // if (!isJPG) {
+        //   this.$message.error("图片只能是 JPG 格式! 或者 PNG 格式!");
+        // }
+        // if(!isPNG){
+        //   this.$message.error('图片只能是 JPG 格式! 或者 PNG 格式!');
+        // }
+        if (!isLt2M) {
+          this.$message.error("文件大小不能超过 10MB!");
+        }
+        return  isLt2M;
+      // },
+    },
     //驳回
     backBtn() {
       var that = this;
@@ -726,25 +839,25 @@ export default {
       }
     }
     //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;
-      }
-    }
+    // .naue_tab {
+    //   border-bottom: 1px solid #cdcdcd;
+    //   display: flex;
+    //   margin-top: 30px;
+    //   padding: 0 10px;
+    //   margin-bottom: 30px;
+    //   p {
+    //     font-size: 16px;
+    //     font-family: PingFang SC;
+    //     font-weight: 700;
+    //     color: #fff;
+    //     padding: 11px 15px;
+    //     margin: 10px;
+    //   }
+    //   .p {
+    //     border-bottom: 2px solid #1c84c6;
+    //     margin-bottom: -1px;
+    //   }
+    // }
     .mation {
       .enterprise {
         font-size: 14px;
@@ -858,4 +971,9 @@ export default {
   font-weight: 500;
   color: #666666;
 }
+.bgteu{
+   border: 1px solid #dcdfe6;
+      border-radius: 4px;
+      padding: 10px ;
+}
 </style>

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

@@ -593,7 +593,7 @@ export default {
           color: #343434;
         }
         .naue_name {
-          font-size: 14px;
+          font-size: 16px;
           font-family: PingFang SC;
           font-weight: bold;
           color: #0669b2;
@@ -609,25 +609,25 @@ export default {
       }
     }
     //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;
-      }
-    }
+    // .naue_tab {
+    //   border-bottom: 1px solid #cdcdcd;
+    //   display: flex;
+    //   margin-top: 30px;
+    //   padding: 0 10px;
+    //   margin-bottom: 30px;
+    //   p {
+    //     font-size: 14px;
+    //     font-family: PingFang SC;
+    //     font-weight: 700;
+    //     color: #fff;
+    //     padding: 11px 15px;
+    //     margin: 10px;
+    //   }
+    //   .p {
+    //     border-bottom: 2px solid #1c84c6;
+    //     margin-bottom: -1px;
+    //   }
+    // }
     .mation {
       .enterprise {
         font-size: 14px;

+ 61 - 19
ruoyi-ui/src/views/management/row/tab.vue

@@ -41,23 +41,65 @@ export default {
 
 <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;
-    }
-  }
+ .naue_tab{
+   border-bottom: 1px solid #CDCDCD;
+   display: flex;
+   margin-top: 30px;
+   padding: 0 10px;
+   margin-bottom: 30px;
+   p{
+     font-size: 16px;
+     font-family: PingFang SC;
+     font-weight: 700;
+     color: #fff !important;
+     padding: 11px 15px;
+     margin: 0;
+     cursor: pointer;
+     background-color: #0086c6;
+     margin-right: 10px !important;
+     // border-radius: 6px;
+   }
+   p:nth-child(2){
+     font-size: 16px;
+     font-family: PingFang SC;
+     font-weight: 700;
+     color: #fff;
+     padding: 11px 15px;
+     margin: 0;
+     cursor: pointer;
+     background-color: #02b938;
+     margin-right: 10px;
+     // border-radius: 6px;
+   }
+   p:nth-child(3){
+     font-size: 16px;
+     font-family: PingFang SC;
+     font-weight: 700;
+     color: #fff;
+     padding: 11px 15px;
+     margin: 0;
+     cursor: pointer;
+     background-color: #df3838;
+     margin-right: 10px;
+     // border-radius: 6px;
+   }
+   p:nth-child(4){
+     font-size: 16px;
+     font-family: PingFang SC;
+     font-weight: 700;
+     color: #fff !important;
+     padding: 11px 15px;
+     margin: 0;
+     cursor: pointer;
+     background-color: #f66e00;
+     margin-right: 10px !important;
+     // border-radius: 6px;
+   }
+   .p{
+     // border-bottom: 2px solid #1C84C6;
+     // margin-bottom: -1px;
+     // color: #343434;
+     opacity: .8;
+   }
+ }
 </style>

+ 46 - 5
ruoyi-ui/src/views/tab/index.vue

@@ -54,17 +54,58 @@ export default {
     padding: 0 10px;
     margin-bottom: 30px;
     p{
-      font-size: 12px;
+      font-size: 16px;
       font-family: PingFang SC;
-      font-weight: 400;
-      color: #343434;
+      font-weight: 700;
+      color: #fff !important;
       padding: 11px 15px;
       margin: 0;
       cursor: pointer;
+      background-color: #0086c6;
+      margin-right: 10px !important;
+      // border-radius: 6px;
+    }
+    p:nth-child(2){
+      font-size: 16px;
+      font-family: PingFang SC;
+      font-weight: 700;
+      color: #fff;
+      padding: 11px 15px;
+      margin: 0;
+      cursor: pointer;
+      background-color: #02b938;
+      margin-right: 10px;
+      // border-radius: 6px;
+    }
+    p:nth-child(3){
+      font-size: 16px;
+      font-family: PingFang SC;
+      font-weight: 700;
+      color: #fff;
+      padding: 11px 15px;
+      margin: 0;
+      cursor: pointer;
+      background-color: #df3838;
+      margin-right: 10px;
+      // border-radius: 6px;
+    }
+    p:nth-child(4){
+      font-size: 16px;
+      font-family: PingFang SC;
+      font-weight: 700;
+      color: #fff !important;
+      padding: 11px 15px;
+      margin: 0;
+      cursor: pointer;
+      background-color: #f66e00;
+      margin-right: 10px !important;
+      // border-radius: 6px;
     }
     .p{
-      border-bottom: 2px solid #1C84C6;
-      margin-bottom: -1px;
+      // border-bottom: 2px solid #1C84C6;
+      // margin-bottom: -1px;
+      // color: #343434;
+      opacity: .8;
     }
   }
 </style>

+ 98 - 38
ruoyi-ui/src/views/under/index.vue

@@ -86,7 +86,7 @@
               type="warning"
               :disabled="disfal"
               @click="handleUpdate(scope.row)"
-              v-hasPermi="['system:config:edit']"
+              v-hasPermi="['projectInvestor:investor:edit']"
               >修改</el-button
             >
             <el-button
@@ -94,7 +94,7 @@
               type="danger"
               :disabled="disfal"
               @click="handleDelete(scope.row)"
-              v-hasPermi="['system:config:remove']"
+              v-hasPermi="['projectInvestor:investor:remove']"
               >删除</el-button
             >
           </template>
@@ -131,7 +131,7 @@
               :disabled="disfal"
               type="warning"
               @click="handleUpdatetwo(scope.row)"
-              v-hasPermi="['system:config:edit']"
+              v-hasPermi="['projectInvestor:investor:edit']"
               >修改</el-button
             >
             <el-button
@@ -139,7 +139,7 @@
               type="danger"
               :disabled="disfal"
               @click="handleDeletetwo(scope.row)"
-              v-hasPermi="['system:config:remove']"
+              v-hasPermi="['projectInvestor:investor:remove']"
               >删除</el-button
             >
           </template>
@@ -148,7 +148,7 @@
       <el-form
         :model="queryParams"
         :rules="queryForm"
-        ref="queryParams"
+        ref="queryForm"
         :inline="true"
         v-show="showSearch"
         label-width="120px"
@@ -565,15 +565,14 @@
             />
           </el-select>
         </el-form-item>
-        <el-form-item label="添加附件:" prop="configType" class="maget_ty">
-          <div class="forieu" style="width: 618px">
-            <div class="bure burert">
+        <el-form-item label="添加附件:" prop="configType" class="maget_ty" style="margin-bottom: 50px;">
+          <div class="bgteu fre" style="width: 618px">
+            <div class="">
               <el-upload
                 :action="defaultSettings.urls + process + '/common/upload'"
-                :auto-upload="false"
+                :auto-upload="true"
                 ref="upload"
                 :before-upload="beforeAvatarUpload"
-                list-type="picture-card"
                 :on-preview="handlePictureCardPreview"
                 :on-remove="handleRemove"
                 :on-success="handleSuccntry"
@@ -581,17 +580,13 @@
                 :file-list="fileList"
                 :disabled="disfal"
               >
-                <!-- <i slot="default" class="el-icon-plus"></i> -->
-
-                <div class="ijeut">
-                  <el-button plain slot="trigger" size="small" type="primary"
-                    >选择图片</el-button
-                  >
-                  <!-- margin-top: 15%; transform: translateY(-50%); -->
+                <div style="display: flex; justify-content: flex-start; flex-direction: column; flex: 1;">
+                  <i slot="default" class="el-icon-plus" style="width:100px;height: 100px; line-height: 100px; background-color: #f5f5f5; border-radius: 6px;"> </i>
+                  <div slot="tip" class="el-upload__tip" style="line-height: 24px;">只能上传word/pdf格式,大小不超过10M</div>
                 </div>
-                <!-- <div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div> -->
+
               </el-upload>
-              <div class="ijeut">
+             <!-- <div class="ijeut">
                 <el-button
                   style="margin-left: 10px; height: 32px"
                   size="small"
@@ -599,7 +594,7 @@
                   @click="submitUpload"
                   >开始上传</el-button
                 >
-              </div>
+              </div> -->
             </div>
           </div>
         </el-form-item>
@@ -761,7 +756,8 @@
       </div>
     </el-dialog>
     <el-dialog :visible.sync="dialogVisible">
-      <img width="100%" :src="dialogImageUrl" alt="" />
+      <!-- <img width="100%" :src="dialogImageUrl" alt="" /> -->
+      <a :href="dialogImageUrl" target="view_window" > {{dialogImagename}} <span style="color: red;">点击查看/下载</span></a>
     </el-dialog>
   </div>
 </template>
@@ -862,6 +858,7 @@ export default {
         ],
       },
       dialogImageUrl: "",
+      dialogImagename:'',
       dialogVisible: false,
       disabled: false,
       bmProjectId: 0,
@@ -1096,8 +1093,16 @@ export default {
       console.log(file, 87);
     },
     handlePictureCardPreview(file) {
-      this.dialogImageUrl = file.url;
-      this.dialogVisible = true;
+      if(file.response !== undefined){
+        this.dialogImageUrl = file.response.url;
+        this.dialogVisible = true;
+        this.dialogImagename = file.name
+      }else{
+        this.dialogImageUrl = file.url;
+        this.dialogVisible = true;
+        this.dialogImagename = file.name
+      }
+      console.log(file,345)
     },
     handleDownload(file) {
       console.log(file);
@@ -1109,23 +1114,23 @@ export default {
     },
     beforeAvatarUpload(file) {
       console.log(file.type);
-      const isJPG =
-        file.type === "image/jpeg" ||
-        file.type === "image/png" ||
-        file.type === "image/jpg";
-      const isPNG = file.type === "image/png";
-      const isLt2M = file.size / 1024 / 1024 < 2;
+      // const isJPG =
+      //   file.type === "image/jpeg" ||
+      //   file.type === "image/png" ||
+      //   file.type === "image/jpg";
+      // const isPNG = file.type === "image/png";
+      const isLt2M = file.size / 1024 / 1024 < 10;
 
-      if (!isJPG) {
-        this.$message.error("图片只能是 JPG 格式! 或者 PNG 格式!");
-      }
+      // if (!isJPG) {
+      //   this.$message.error("图片只能是 JPG 格式! 或者 PNG 格式!");
+      // }
       // if(!isPNG){
       //   this.$message.error('图片只能是 JPG 格式! 或者 PNG 格式!');
       // }
       if (!isLt2M) {
-        this.$message.error("图片大小不能超过 2MB!");
+        this.$message.error("文件大小不能超过 10MB!");
       }
-      return isJPG && isLt2M;
+      return  isLt2M;
     },
     /** 查询参数列表 */
     getList() {
@@ -1238,7 +1243,7 @@ export default {
             this.fileListhye = this.queryParams.attachment.split(",");
             for (var i = 0; i < this.fileListhye.length; i++) {
               this.fileList.push({
-                name: this.fileListhye[i],
+                name: this.fileListhye[i].substring(this.fileListhye[i].lastIndexOf("/")+1),
                 url: this.fileListhye[i],
               });
             }
@@ -1480,7 +1485,52 @@ export default {
          this.msgSuccess("请填写引荐方信息");
          return  false
        }
-      this.$refs["queryParams"].validate((valid) => {
+       if(this.queryParams.contactor == undefined){
+         this.msgSuccess("请填写投资方联系人信息");
+         return  false
+       }
+       if(this.queryParams.phone == undefined){
+         this.msgSuccess("请填写投资方联系方式信息");
+         return  false
+       }
+       if(this.queryParams.needAmt == undefined){
+         this.msgSuccess("请填写预计投资额信息");
+         return  false
+       }
+       if(this.queryParams.fixedAssets == undefined){
+         this.msgSuccess("请填写固定资产投资信息");
+         return  false
+       }
+       if(this.queryParams.productName == undefined){
+         this.msgSuccess("请填写产品名称信息");
+         return  false
+       }
+       if(this.queryParams.productQty == undefined){
+         this.msgSuccess("请填写设计产能信息");
+         return  false
+       }
+       if(this.queryParams.productPrice == undefined){
+         this.msgSuccess("请填写预计产值信息");
+         return  false
+       }
+       if(this.queryParams.productTax == undefined){
+         this.msgSuccess("请填写预计税收信息");
+         return  false
+       }
+       if(this.queryParams.productEmp == undefined){
+         this.msgSuccess("请填写预计用工信息");
+         return  false
+       }
+       if(this.queryParams.address == undefined){
+         this.msgSuccess("请填写拟落户地点信息");
+         return  false
+       }
+       if(this.queryParams.isFrameorder == undefined){
+         this.msgSuccess("请选择是否签订框架协议信息");
+         return  false
+       }
+       console.log(this.queryParams)
+      this.$refs["queryForm"].validate((valid) => {
         if (valid) {
           if (this.sbuen == 1) {
             updateConfigalking(this.queryParams).then((response) => {
@@ -1673,6 +1723,11 @@ export default {
 };
 </script>
 <style  lang="scss"  >
+  .fre{
+    .el-upload-list{
+      width: 80%;
+    }
+  }
   .yiuejg{
     .el-form-item__label{
       width: 125px !important;
@@ -1866,9 +1921,9 @@ export default {
     padding: 0 10px;
     margin-bottom: 30px;
     p {
-      font-size: 12px;
+      font-size: 14px;
       font-family: PingFang SC;
-      font-weight: 400;
+      font-weight: 700;
       color: #343434;
       padding: 11px 15px;
       margin: 0;
@@ -1993,4 +2048,9 @@ export default {
   font-weight: 500;
   color: #666666;
 }
+.bgteu{
+   border: 1px solid #dcdfe6;
+      border-radius: 4px;
+      padding: 10px ;
+}
 </style>

Beberapa file tidak ditampilkan karena terlalu banyak file yang berubah dalam diff ini