浏览代码

Merge remote-tracking branch 'origin/master'

shiqian 3 年之前
父节点
当前提交
3e519f17d3
共有 32 个文件被更改,包括 946 次插入225 次删除
  1. 29 0
      ruoyi-ui/src/api/system/config.js
  2. 1 1
      ruoyi-ui/src/api/system/signContract.js
  3. 二进制
      ruoyi-ui/src/assets/images/icon_enter.png
  4. 二进制
      ruoyi-ui/src/assets/images/icon_hp_qyxm.png
  5. 二进制
      ruoyi-ui/src/assets/images/icon_hp_tcxm.png
  6. 二进制
      ruoyi-ui/src/assets/images/icon_hp_zjxm.png
  7. 二进制
      ruoyi-ui/src/assets/images/icon_hp_ztxs.png
  8. 二进制
      ruoyi-ui/src/assets/images/icon_ztsj_blue.png
  9. 二进制
      ruoyi-ui/src/assets/images/icon_ztsj_blueright.png
  10. 二进制
      ruoyi-ui/src/assets/images/icon_ztsj_green.png
  11. 二进制
      ruoyi-ui/src/assets/images/icon_ztsj_pink.png
  12. 二进制
      ruoyi-ui/src/assets/images/icon_ztsj_yellow.png
  13. 二进制
      ruoyi-ui/src/assets/images/pic_enter_btn.png
  14. 二进制
      ruoyi-ui/src/assets/images/pic_hthp_qybg.png
  15. 二进制
      ruoyi-ui/src/assets/images/pic_hthp_tcbg.png
  16. 二进制
      ruoyi-ui/src/assets/images/pic_hthp_zjbg.png
  17. 二进制
      ruoyi-ui/src/assets/images/pic_hthp_ztbg.png
  18. 二进制
      ruoyi-ui/src/assets/images/pic_ydy_bg.png
  19. 168 88
      ruoyi-ui/src/components/ProjectDec/SignContract.vue
  20. 20 1
      ruoyi-ui/src/router/index.js
  21. 4 4
      ruoyi-ui/src/settings.js
  22. 4 3
      ruoyi-ui/src/under/index.vue
  23. 2 1
      ruoyi-ui/src/views/login.vue
  24. 27 22
      ruoyi-ui/src/views/management/nstruction/index.vue
  25. 14 5
      ruoyi-ui/src/views/management/report/index.vue
  26. 9 6
      ruoyi-ui/src/views/management/roduction/index.vue
  27. 292 0
      ruoyi-ui/src/views/reviewed/items/index.vue
  28. 5 11
      ruoyi-ui/src/views/system/phone/index.vue
  29. 30 18
      ruoyi-ui/src/views/system/user/index.vue
  30. 5 1
      ruoyi-ui/src/views/system/user/profile/resetPwd.vue
  31. 224 64
      ruoyi-ui/src/views/under/index.vue
  32. 112 0
      ruoyi-ui/src/views/yind.vue

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

@@ -24,6 +24,19 @@ export function listConfigtwo(query) {
     // params:
   })
 }
+
+// 查询在企业名称
+export function listConfigname(query) {
+  return request({
+    url: '/bmProject/project/qichachaSearch/' +query,
+    method: 'get',
+    // params:query
+  })
+}
+
+
+
+
 export function listConfigthert(query) {
   return request({
     url: '/projectInvestor/investor/list',
@@ -136,6 +149,8 @@ export function addConfig(data) {
     data: data
   })
 }
+
+
 export function addConfigalking (data) {
   return request({
     url: '/projectInfo/info',
@@ -143,6 +158,8 @@ export function addConfigalking (data) {
     data: data
   })
 }
+
+
 export function addConfigbout (data) {
   return request({
     url: '/bmProject/project/pass',
@@ -150,6 +167,18 @@ export function addConfigbout (data) {
     data: data
   })
 }
+
+
+export function addConfigboutty (data) {
+  return request({
+    url: '/bmProject/project/examine',
+    method: 'post',
+    data: data
+  })
+}
+
+
+
 export function addConfigtwo(data) {
   return request({
     url: '/projectPersion/persion',

+ 1 - 1
ruoyi-ui/src/api/system/signContract.js

@@ -23,7 +23,7 @@ export function getExamine(data) {
     data
   })
 }
-// 签约信息-新增
+// 签约信息-修改
 export function setOrderinfo(data) {
   return request({
     url: `/projectOrderInfo/orderinfo`,

二进制
ruoyi-ui/src/assets/images/icon_enter.png


二进制
ruoyi-ui/src/assets/images/icon_hp_qyxm.png


二进制
ruoyi-ui/src/assets/images/icon_hp_tcxm.png


二进制
ruoyi-ui/src/assets/images/icon_hp_zjxm.png


二进制
ruoyi-ui/src/assets/images/icon_hp_ztxs.png


二进制
ruoyi-ui/src/assets/images/icon_ztsj_blue.png


二进制
ruoyi-ui/src/assets/images/icon_ztsj_blueright.png


二进制
ruoyi-ui/src/assets/images/icon_ztsj_green.png


二进制
ruoyi-ui/src/assets/images/icon_ztsj_pink.png


二进制
ruoyi-ui/src/assets/images/icon_ztsj_yellow.png


二进制
ruoyi-ui/src/assets/images/pic_enter_btn.png


二进制
ruoyi-ui/src/assets/images/pic_hthp_qybg.png


二进制
ruoyi-ui/src/assets/images/pic_hthp_tcbg.png


二进制
ruoyi-ui/src/assets/images/pic_hthp_zjbg.png


二进制
ruoyi-ui/src/assets/images/pic_hthp_ztbg.png


二进制
ruoyi-ui/src/assets/images/pic_ydy_bg.png


+ 168 - 88
ruoyi-ui/src/components/ProjectDec/SignContract.vue

@@ -84,25 +84,26 @@
             </el-col>
             <div class="dw_name">亿元</div>
           </el-form-item>
-          <el-form-item label-width="182px" label="境内省外投资:" class="elItem" prop="jnswInvestm">
+          <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-input type="number" :disabled="dis_flag" placeholder="请输入境内省外投资额度" v-model="form.jnswInvestm" ></el-input>
             </el-col>
             <div class="dw_name">亿元</div>
           </el-form-item>
-          <el-form-item label-width="182px" label="省内市外投资:" class="elItem" prop="snswInvestm">
+          <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>
           </el-form-item>
-          <el-form-item label-width="182px" label="市内县外投资:" class="elItem" prop="snxwInvestm">
+          <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>
           </el-form-item>
-          <el-form-item label-width="182px" label="县内投资:" class="elItem" prop="xnInvestm">
+          <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>
@@ -298,9 +299,18 @@
       </el-row>
       <div class="sign_tit">企业注册信息</div>
       <el-row>
-        <el-col :span="6">
+        <el-col :span="8">
           <el-form-item label-width="141px" label="在潜注册公司名称:" class="elItem" prop="name">
-            <el-input :disabled="dis_flag" placeholder="请输入在潜注册公司名称" v-model="form.name"></el-input>
+            <!-- <el-input :disabled="dis_flag" placeholder="请输入在潜注册公司名称" v-model="form.name"></el-input> -->
+            <el-autocomplete
+              v-model="form.name"
+              :fetch-suggestions="querySearchAsync"
+              placeholder="请输入在潜注册公司名称"
+              @select="handleSelecthuey"
+              :trigger-on-focus="false"
+              style="width: 100%;"
+              :disabled="dis_flag"
+            ></el-autocomplete>
           </el-form-item>
         </el-col>
         <el-col :span="6">
@@ -310,7 +320,7 @@
         </el-col>
       </el-row>
       <el-row>
-        <el-col :span="6">
+        <el-col :span="8">
           <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>
@@ -322,7 +332,7 @@
         </el-col>
       </el-row>
       <el-row>
-        <el-col :span="6">
+        <el-col :span="8">
           <el-form-item label-width="141px" label="统一社会信用代码:" class="elItem" prop="code">
             <el-input :disabled="dis_flag" placeholder="请输入社会信用代码" v-model="form.code"></el-input>
           </el-form-item>
@@ -340,6 +350,7 @@
         <div class="ads_box" @click="addshareBtn">
           <img src="../../assets/images/icon_add@2x.png" alt="" class="add_icon" />
           <span>添加企业股东构成</span>
+          <i style="color: red;">*</i>
         </div>
       </el-row>
       <el-row>
@@ -366,7 +377,7 @@
           <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="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>
             </template>
           </el-table-column>
@@ -376,7 +387,7 @@
       </el-row>
       <div class="sign_tit">企业备案信息</div>
       <el-row>
-        <el-col :span="6">
+        <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>
@@ -388,7 +399,7 @@
         </el-col>
       </el-row>
       <el-row>
-        <el-col :span="6">
+        <el-col :span="8">
           <el-form-item label-width="121px" label="备案总投资额:" class="elItem" prop="recordTot">
             <el-col :span="18">
               <el-input placeholder="请输入备案总投资额" :disabled="dis_flag" v-model="form.recordTot"></el-input>
@@ -497,11 +508,17 @@
     addOrderinfo,
     getExamine,
   } from "@/api/system/signContract";
+  import {
+    addConfigbout,
+  } from "@/api/system/config";
   import {
     setExamine,
     setBack,
     setReject
   } from "@/api/projectInfo/info.js";
+  import {
+    listConfigname
+  } from "@/api/system/config";
   const defaultSettings = require("@/settings.js");
   export default {
     data() {
@@ -782,6 +799,7 @@
         pir_imgs: '',
         dialogImageUrl: '',
                 dialogVisible: false,
+        dkrou:{}
       };
     },
     mounted() {
@@ -829,7 +847,8 @@
             type: "warning",
           })
           .then(function() {
-            return setExamine({
+            // addConfigbout
+            return addConfigbout({
               code: 3,
               bmProjectId: that.queryParams.bmProjectId,
             });
@@ -865,77 +884,89 @@
       },
       upBtn() {
         var that = this
-        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)
-            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(",");
-            data.landPhoto = data.landPhoto.join(",");
-            data.recordUrl = data.recordUrl.join(",");
-            data.circulationDoc = data.circulationDoc.join(",");
-            data.bussinessUrl = data.bussinessUrl.join(",");
-            data.leasePlantPhoto = data.leasePlantPhoto.join(",");
-            data.leasePlantDoc = data.leasePlantDoc.join(",");
-            data.circulationPhoto = data.circulationPhoto.join(",");
-            if (this.form.id) {
-              // 修改
-              setOrderinfo(JSON.stringify(data)).then((res) => {
-                this.$confirm("是否确认提交?", "提醒", {
-                    confirmButtonText: "确定",
-                    cancelButtonText: "取消",
-                    type: "warning",
-                  })
-                  .then(function() {
-                    return getExamine({
-                      code: 1,
-                      bmProjectId: that.$route.query.setid,
-                    })
-                  })
-                  .then(() => {
-                    this.msgSuccess("提交成功");
-                    setTimeout(res => {
-                      this.$router.go(-1)
-                    }, 1000)
-
-                  });
-
-              });
-            } else {
-              // 新增
-              addOrderinfo(JSON.stringify(data)).then((res) => {
-                this.$confirm("是否确认提交?", "提醒", {
-                    confirmButtonText: "确定",
-                    cancelButtonText: "取消",
-                    type: "warning",
-                  })
-                  .then(function() {
-                    return getExamine({
-                      code: 1,
-                      bmProjectId: that.$route.query.setid,
-                    })
-                  })
-                  .then(() => {
-                    this.msgSuccess("提交成功");
-                    setTimeout(res => {
-                      this.$router.go(-1)
-                    }, 1000)
-                  });
-              });
-            }
-          }
-        });
+        // 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)
+        //     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(",");
+        //     data.landPhoto = data.landPhoto.join(",");
+        //     data.recordUrl = data.recordUrl.join(",");
+        //     data.circulationDoc = data.circulationDoc.join(",");
+        //     data.bussinessUrl = data.bussinessUrl.join(",");
+        //     data.leasePlantPhoto = data.leasePlantPhoto.join(",");
+        //     data.leasePlantDoc = data.leasePlantDoc.join(",");
+        //     data.circulationPhoto = data.circulationPhoto.join(",");
+        //     if (this.form.id) {
+        //       // 修改
+        //       setOrderinfo(JSON.stringify(data)).then((res) => {
+        //         this.$confirm("是否确认提交?", "提醒", {
+        //             confirmButtonText: "确定",
+        //             cancelButtonText: "取消",
+        //             type: "warning",
+        //           })
+        //           .then(function() {
+        //             return getExamine({
+        //               code: 1,
+        //               bmProjectId: that.$route.query.setid,
+        //             })
+        //           })
+        //           .then(() => {
+        //             this.msgSuccess("提交成功");
+        //             setTimeout(res => {
+        //               this.$router.go(-1)
+        //             }, 1000)
 
+        //           });
 
+        //       });
+        //     } else {
+        //       // 新增
+        //       addOrderinfo(JSON.stringify(data)).then((res) => {
+        //         this.$confirm("是否确认提交?", "提醒", {
+        //             confirmButtonText: "确定",
+        //             cancelButtonText: "取消",
+        //             type: "warning",
+        //           })
+        //           .then(function() {
+        //             return getExamine({
+        //               code: 1,
+        //               bmProjectId: that.$route.query.setid,
+        //             })
+        //           })
+        //           .then(() => {
+        //             this.msgSuccess("提交成功");
+        //             setTimeout(res => {
+        //               this.$router.go(-1)
+        //             }, 1000)
+        //           });
+        //       });
+        //     }
+            this.dkrou.code = 1;
+            this.dkrou.bmProjectId = that.$route.query.setid;
+            setExamine(this.dkrou).then((response) => {
+              // setExamine setExamine addConfigbout
+              console.log(response);
+              this.msgSuccess("提交成功");
+              // this.open = false;
+              // this.getListtwo();
+              this.$router.go(-1);
+              // 就可以回到上一页。
+              // this.open = false;
+              // this.getListtwo();
+            });
+            console.log(this.queryParams);
+          // }
+        // });
       },
       goBtn() {
         this.$router.go(-1);
@@ -1145,18 +1176,18 @@
               setOrderinfo(JSON.stringify(data)).then((res) => {
                 this.msgSuccess("修改成功");
                 this.upBtn()
-                this.$router.push({
-                  path: "/management/info/index",
-                });
+                // this.$router.push({
+                //   path: "/management/info/index",
+                // });
               });
             } else {
               // 新增
               addOrderinfo(JSON.stringify(data)).then((res) => {
                 this.msgSuccess("操作成功");
                 this.upBtn()
-                this.$router.push({
-                  path: "/management/info/index",
-                });
+                // this.$router.push({
+                //   path: "/management/info/index",
+                // });
               });
             }
           }
@@ -1307,6 +1338,55 @@
       handlePreview(file) {
         console.log(file, 22);
       },
+      handleSelecthuey(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.form.companyName = this.resets[i].Name
+           // 企业所在地
+           // this.form.companyAddress = this.resets[i].Name
+           // 法人代表姓名
+           // this.form.companyLegal = this.resets[i].OperName
+           // 统一社会信用代码
+           // this.form.companyCode = item.id
+           // 联系方式
+           // this.form.companyName = this.resets[i].Name
+         }
+        }
+
+
+         // console.log(3345)
+      },
+      querySearchAsync(queryString, cb){
+         console.log(queryString, cb)
+         this.options = []
+         // this.form = {}
+         listConfigname(queryString).then((res) => {
+           console.log(res);
+            if (res.code == 200 && res.data.length !== 0) {
+           	                var result = res.data
+                            this.resets = res.data
+           	                //循环放到一个远程搜索需要的数组
+           	                for (let i = 0; i < result.length; i++) {
+           	                  const element = result[i];
+                              console.log(result[i])
+           	                  this.options.push({
+           	                    value: element.Name,
+           	                    id: element.CreditCode,
+                                labr:element.OperName
+           	                  })
+           	                }
+           	                cb(this.options);
+           	              } else {
+           	                this.options = []
+           	                cb(this.options);
+           	              }
+         });
+      }
     },
   };
 </script>

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

@@ -48,6 +48,11 @@ export const constantRoutes = [
     component: (resolve) => require(['@/views/error/404'], resolve),
     hidden: true
   },
+  {
+    path: '/yind',
+    component: (resolve) => require(['@/views/yind'], resolve),
+    hidden: false
+  },
   {
     path: '/401',
     component: (resolve) => require(['@/views/error/401'], resolve),
@@ -65,8 +70,22 @@ export const constantRoutes = [
         meta: { title: '首页', icon: 'dashboard', noCache: true, affix: true }
       }
     ],
-    
+
   },
+  // {
+  //   path: '',
+  //   component: Layout,
+  //   redirect: 'yind',
+  //   children: [
+  //     {
+  //       path: 'yind',
+  //       component: (resolve) => require(['@/views/yind'], resolve),
+  //       name: '引导',
+  //       meta: { title: '引导', icon: 'dashboard', noCache: true, affix: true }
+  //     }
+  //   ],
+
+  // },
   {
     path: '/user',
     component: Layout,

+ 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'
 }

+ 4 - 3
ruoyi-ui/src/under/index.vue

@@ -1094,10 +1094,11 @@ export default {
 
         if(response.data !== undefined){
           this.typeOptionstwo = response.data;
-          this.dietj(this.typeOptionstwo)
+          // this.dietj(this.typeOptionstwo)
         }
         this.typeOptionstwos= response.data ,
-        this.typeOptionstwoss= response.data,
+        this.typeOptionstwoss= response.data,
+
         // this.typeOptionstwo.filter((route) => {
         //   route.value = route.id
         //   route.children.filter((router) =>{
@@ -1309,7 +1310,7 @@ export default {
       this.queryFormhye.bmProjectId = this.bmProjectId;
 	  console.log(this.queryFormhye)
 	  // if(){
-		  
+
 	  // }
       // addConfigbout(this.queryFormhye).then((response) => {
       //   console.log(response);

+ 2 - 1
ruoyi-ui/src/views/login.vue

@@ -174,7 +174,8 @@ export default {
             Cookies.remove('rememberMe');
           }
           this.$store.dispatch("Login", this.loginForm).then(() => {
-            this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
+            this.$router.push({ path: "/yind" }).catch(()=>{});
+            // \ path: this.redirect || "/yind"
           }).catch(() => {
             this.loading = false;
             // this.getCode();

+ 27 - 22
ruoyi-ui/src/views/management/nstruction/index.vue

@@ -4,10 +4,11 @@
       <el-col :span="1.5" v-if="setrd % 2 == 1">
         <el-button
           type="primary"
-          @click="handleAudit"
+          @click="submitCtion"
           v-hasPermi="['projectConstruction:construction:add']"
           v-if="tab == 0 || tab == 3"
           >提交</el-button>
+          <!-- handleAudit -->
         <!-- <el-button
           type="primary"
           @click="submitCtion"
@@ -102,6 +103,7 @@
               label="施工许可证:"
               prop="constructionCode"
               class="maget_ty"
+              :rules="[{ required: true, message: '请上传施工许可证', trigger: 'blur' }]"
             >
               <div class="forieu" style="width: 618px">
                 <div class="bure burert">
@@ -163,7 +165,7 @@
                 />
               </el-select>
             </el-form-item>
-            <el-form-item label=" 开工日期:">
+            <el-form-item label=" 开工日期:" prop="constructionStartdate" :rules="[{ required: true, message: '请选择开工日期', trigger: 'blur' }]">
               <el-date-picker
                 type="date"
                 placeholder="选择日期"
@@ -172,7 +174,7 @@
                 style="width: 335px"
               ></el-date-picker>
             </el-form-item>
-            <el-form-item label="预计完工日期:">
+            <el-form-item label="预计完工日期:" prop="constructionEnddate" :rules="[{ required: true, message: '请选择预计完工日期', trigger: 'blur' }]">
               <el-date-picker
                 type="date"
                 :disabled = "disfal"
@@ -181,7 +183,7 @@
                 style="width: 335px"
               ></el-date-picker>
             </el-form-item>
-            <el-form-item label="施工合同:" prop="configType" class="maget_ty">
+            <el-form-item label="施工合同:" prop="constructionDoc" class="maget_ty" :rules="[{ required: true, message: '请上传施工合同', trigger: 'blur' }]" >
               <div class="forieu" style="width: 618px">
                 <div class="bure burert">
                   <el-upload
@@ -225,7 +227,7 @@
                 </div>
               </div>
             </el-form-item>
-            <el-form-item label="开工照片:" prop="configType" class="maget_ty">
+            <el-form-item label="开工照片:" prop="constructionPhoto" class="maget_ty" :rules="[{ required: true, message: '请上传开工照片', trigger: 'blur' }]" >
               <div class="forieu" style="width: 618px">
                 <div class="bure burert">
                   <el-upload
@@ -271,7 +273,7 @@
             </el-form-item>
           </el-form>
           <p class="kaieu_tw" @click="handleAdd(0)">
-            <i class="el-icon-circle-plus-outline"></i> 添加开工照片
+            <i class="el-icon-circle-plus-outline"></i> <i style="color: red;">*</i> 添加开工照片
           </p>
           <el-table v-loading="loading" :data="configList">
             <!-- <el-table-column type="selection" width="55" align="center" /> -->
@@ -319,7 +321,7 @@
 
         <div class="equipment" v-if="tab == 1">
           <p class="kaieu_tw" @click="quipment(1)">
-            <i class="el-icon-circle-plus-outline"></i> 添加设备安装信息
+            <i class="el-icon-circle-plus-outline"></i> <i style="color: red; margin-right: 5px;">*</i>添加设备安装信息
           </p>
           <el-table v-loading="loading" :data="configListher">
             <!-- <el-table-column type="selection" width="55" align="center" /> -->
@@ -368,7 +370,7 @@
         <div class="funding" v-if="tab == 2">
           <p class="kaieu">到资金额合计: {{ queryParamstwo }} 万元</p>
           <p class="kaieu_tw" @click="handleAdd(2)">
-            <i class="el-icon-circle-plus-outline"></i> 添加项目到资
+            <i class="el-icon-circle-plus-outline"></i> <i style="color: red;margin-right: 5px;">*</i>添加项目到资
           </p>
           <el-table v-loading="loading" :data="configLisfour">
             <!-- <el-table-column type="selection" width="55" align="center" /> -->
@@ -425,7 +427,7 @@
           label-position="center"
           class="manager_form"
         >
-          <el-form-item label=" 入统时间:">
+          <el-form-item label=" 入统时间:" prop="statisticsDate" :rules="[{ required: true, message: '请选择入统时间', trigger: 'blur' }]">
             <el-date-picker
               type="date"
               :disabled = "disfal"
@@ -436,8 +438,9 @@
           </el-form-item>
           <el-form-item
             label="入统截图:"
-            prop="configType"
+            prop="statisticsPhoto"
             class="maget_ty maget_tyty"
+            :rules="[{ required: true, message: '请上传入统截图', trigger: 'blur' }]"
           >
             <div class="forieu" style="width: 618px">
               <div class="bure burert">
@@ -516,7 +519,7 @@
             :on-remove="handleRemovether"
             :on-success="handleSuccther"
             :file-list="fileListtherrt"
-            :auto-upload="false"
+            :auto-upload="true"
             :multiple="true"
             list-type="picture"
             :disabled = "disfal"
@@ -524,14 +527,14 @@
             <el-button slot="trigger" :disabled = "disfal" size="small" type="primary"
               >选取文件</el-button
             >
-            <el-button
+            <!-- <el-button
               style="margin-left: 10px"
               size="small"
               type="success"
               :disabled = "disfal"
               @click="submitUploadther"
               >上传到服务器</el-button
-            >
+            > -->
             <div slot="tip" class="el-upload__tip">
               只能上传jpg/png文件,且不超过500kb
             </div>
@@ -586,7 +589,7 @@
             :on-remove="handleRemovether"
             :on-success="handleSuccther"
             :file-list="fileListtherrt"
-            :auto-upload="false"
+            :auto-upload="true"
             :multiple="true"
             :disabled = "disfal"
             list-type="picture"
@@ -596,14 +599,14 @@
             >
             <!-- :disabled = "disfal" -->
             <!--  -->
-            <el-button
+            <!-- <el-button
               style="margin-left: 10px"
               size="small"
               type="success"
               :disabled = "disfal"
               @click="submitUploadther"
               >上传到服务器</el-button
-            >
+            > -->
             <div slot="tip" class="el-upload__tip">
               只能上传jpg/png文件,且不超过500kb
             </div>
@@ -667,7 +670,7 @@
             :on-success="handleSuccther"
             :on-change="handleChange"
             :file-list="fileListtherrt"
-            :auto-upload="false"
+            :auto-upload="true"
             :multiple="true"
             :disabled = "disfal"
             list-type="picture"
@@ -675,14 +678,14 @@
             <el-button slot="trigger" :disabled = "disfal"  size="small" type="primary"
               >选取文件</el-button
             >
-            <el-button
+            <!-- <el-button
               style="margin-left: 10px"
               size="small"
               type="success"
               :disabled = "disfal"
               @click="submitUploadther"
               >上传到服务器</el-button
-            >
+            > -->
             <div slot="tip" class="el-upload__tip">
               只能上传jpg/png文件,且不超过500kb
             </div>
@@ -924,7 +927,7 @@ export default {
         type: "warning",
       })
         .then(function () {
-          return setExamine({
+          return addConfigbout({
             code: 3,
             bmProjectId: that.bmProjectId,
           });
@@ -1455,6 +1458,7 @@ export default {
                 this.msgSuccess("修改成功");
                 this.open = false;
                 // this.getListtoi();
+                this.handleAudit()
                 this.$router.go(-1);
               });
             } else {
@@ -1473,7 +1477,7 @@ export default {
                 this.opentwo = false;
                 this.handleAudit()
                 // this.getListther();
-                this.$router.go(-1);
+                // this.$router.go(-1);
               });
             }
           }
@@ -1604,7 +1608,8 @@ export default {
       // this.msgSuccess("请点击暂存按钮,返回上级页面进行提交");
       this.queryFormhye.code = 1;
       this.queryFormhye.bmProjectId = this.bmProjectId;
-      addConfigbout(this.queryFormhye).then((response) => {
+      setExamine(this.queryFormhye).then((response) => {
+        // setExamine addConfigbout
         console.log(response);
         this.msgSuccess("提交成功");
         this.$router.go(-1);

+ 14 - 5
ruoyi-ui/src/views/management/report/index.vue

@@ -115,7 +115,7 @@
           v-hasPermi="['BmProjectReport:report:remove']"
         >删除</el-button>
       </el-col>
-<!--      <el-col :span="1.5">
+     <el-col :span="1.5">
         <el-button
           type="warning"
           plain
@@ -124,7 +124,7 @@
           @click="handleExport"
           v-hasPermi="['BmProjectReport:report:export']"
         >导出</el-button>
-      </el-col>-->
+      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
@@ -390,7 +390,7 @@ export default {
         //   this.form.sysDeptId = []
         // }else{
         //   this.form.sysDeptId = this.form.sysDeptId.split(',')
-           
+
         //   this.form.sysDeptId.filter(route=>{
         //     route = route - 0
         //     yhehg.push(route)
@@ -476,18 +476,27 @@ export default {
       });
     },
     /** 导出按钮操作 */
+    /** 导出按钮操作 */
+    /** 导出按钮操作 */
     handleExport() {
       const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有项目上报数据项?', "警告", {
+      this.$confirm('是否确认导出所有参数数据项?', "警告", {
           confirmButtonText: "确定",
           cancelButtonText: "取消",
           type: "warning"
         }).then(function() {
+          console.log(12)
           return exportReport(queryParams);
         }).then(response => {
+          console.log(34)
           this.download(response.msg);
         })
-    }
+    },
+    // handleExport() {
+    //   this.download('/bmProjectReport/report/export', {
+    //     ...this.queryParams
+    //   }, `post_${new Date().getTime()}.xlsx`)
+    // }
   }
 };
 </script>

+ 9 - 6
ruoyi-ui/src/views/management/roduction/index.vue

@@ -92,7 +92,7 @@
                   style="width: 335px"
                 ></el-date-picker>
               </el-form-item>
-              <el-form-item label="投产图片:" class="maget_ty">
+              <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">
                     <el-upload
@@ -122,7 +122,7 @@
                   </div>
                 </div>
               </el-form-item>
-              <el-form-item label="设备订购合同:" class="maget_ty">
+              <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">
                     <el-upload
@@ -152,7 +152,7 @@
                   </div>
                 </div>
               </el-form-item>
-              <el-form-item label="到资清单:" class="maget_ty">
+              <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">
                     <el-upload
@@ -230,6 +230,9 @@ import {
   updateProduct,
   exportProduct,
 } from "@/api/production/production.js";
+import {
+  addConfigbout,
+} from "@/api/system/config";
 import { setExamine, setReject,setBack } from "@/api/projectInfo/info.js";
   const defaultSettings = require("@/settings.js");
 export default {
@@ -436,13 +439,13 @@ export default {
             updateProduct(this.form).then((response) => {
               this.msgSuccess("操作成功");
               this.submitBtn()
-              this.$router.go(-1)
+              // this.$router.go(-1)
             });
           } else {
             addProduct(this.form).then((response) => {
               this.msgSuccess("操作成功");
               this.submitBtn()
-              this.$router.go(-1)
+              // this.$router.go(-1)
             });
           }
         }
@@ -506,7 +509,7 @@ export default {
         type: "warning",
       })
         .then(function () {
-          return setExamine({
+          return addConfigbout({
             code: 3,
             bmProjectId: that.bmProjectId,
           });

+ 292 - 0
ruoyi-ui/src/views/reviewed/items/index.vue

@@ -0,0 +1,292 @@
+<template>
+  <div class="in_box">
+    <el-row>
+      <el-col :span="18">
+        <div class="in_left">
+          <div class="toReviewed">
+            <div class="rev_title">
+              待审核项目
+            </div>
+            <el-table v-loading="loading" :data="infoList">
+              <el-table-column label="项目名称" align="center" prop="name" />
+              <el-table-column label="当前状态" align="center" prop="dictLabel" />
+              <el-table-column label="时间" align="center" prop="createTime" />
+              <el-table-column label="操作" width="280" align="center" class-name="small-padding fixed-width">
+                <template slot-scope="scope">
+                  <el-button size="mini" type="text" style="background: #F5A40C;color: #FFF;padding: 7px;" v-hasPermi="['bmProject:project:query']" @click="dec_btn(scope.row)">查看和编辑</el-button>
+                  <el-button size="mini" type="text" style="background: #DE1939;color: #FFF;padding: 7px;" v-hasPermi="['bmProject:project:pass']"
+                    @click="infoBtn(scope.row)">确认审核</el-button>
+                  <el-button size="mini" type="text" style="background: #1C84C6;color: #FFF;padding: 7px;" v-hasPermi="['bmProject:project:reject']" @click="bh_brn(scope.row)">驳回</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+          <div class="exl_box">
+            <div class="exl_title">
+              <span>招资引资项目到资金额</span>
+              <el-date-picker
+                    v-model="lb_value"
+                    style="width: 100px;"
+                    type="year"
+                    value-format="yyyy"
+                    @change="picher_fn"
+                    placeholder="选择年">
+                  </el-date-picker>
+            </div>
+            <echarts :echartData="echartData" :ehaersList="ehaersList" v-if="flags"></echarts>
+          </div>
+        </div>
+      </el-col>
+      <el-col :span="6" style="padding: 24px 12px 24px 0 ;">
+        <div class="in_right">
+          <div class="rig_title">
+            "两区"及乡镇
+          </div>
+          <div class="rig_tab_top">
+            <div class="rig_tab_item">
+              单位名称
+            </div>
+            <div class="rig_tab_item">
+              新签约亿元以上项目的个数
+            </div>
+            <div class="rig_tab_item">
+              实际利用市外资金金额
+            </div>
+            <div class="rig_tab_item">
+              入省项目个数
+            </div>
+          </div>
+          <div class="rig_cont">
+            <div class="rig_items" v-for="(item,index) in unitList" :key="index">
+              <span>{{item.deptName}}</span>
+              <span>{{item.projectMillionNum?item.projectMillionNum:0}}个</span>
+              <span>{{item.projectCityMoney?item.projectCityMoney:0}}亿元</span>
+              <span>{{item.projectProNum?item.projectProNum:0}}个</span>
+            </div>
+          </div>
+          <div class="rig_title">
+            市直榜单
+          </div>
+          <div class="rig_tab_top" style="background-color: #1C84C6;">
+
+            <div class="rig_tab_item">
+              单位名称
+            </div>
+            <div class="rig_tab_item">
+              新签约目标金额
+            </div>
+            <div class="rig_tab_item">
+              实际到资金额
+            </div>
+          </div>
+          <div class="rig_cont">
+            <div class="rig_items" v-for="(item,index) in zjList" :key="index">
+              <span>{{item.deptName}}</span>
+              <span>{{item.targetArrivalAmount?item.targetArrivalAmount:0}}万元</span>
+              <span>{{item.targetcAontractAmount?item.targetcAontractAmount:0}}万元</span>
+            </div>
+          </div>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+<script>
+  import echarts from '@/components/Echarts/index.vue'
+  import {toBeReviewedList,setExamine,setReject,getUnitList,getUnitAmountList,getIndexEharts} from '@/api/index.js'
+  export default {
+    data() {
+      return {
+        infoList: [],
+        echartData: {
+          name: '到资金额柱状图',
+          numName: '到资金额',
+          numNameArr: ['到资金额']
+        },
+        zjList: [],
+        ehaersList: {},
+        loading: false,
+        unitList: [],
+        flags: false,
+        lb_value: '2021', // 柱状图类别
+      }
+    },
+    components: {
+      echarts
+    },
+    mounted() {
+      this.getList()
+      this.bd_btn()
+      this.zj_btn()
+      this.eharts_fn()
+    },
+    methods: {
+      picher_fn() {
+        this.eharts_fn()
+      },
+      eharts_fn(val) {
+        getIndexEharts({
+          year: this.lb_value
+        }).then(res => {
+          this.ehaersList = res.data
+          this.flags = true
+        })
+      },
+      zj_btn() {
+        getUnitAmountList().then(res => {
+          if(res.rows == null){
+            this.zjList = []
+          }else{
+            this.zjList = res.rows
+          }
+
+        })
+      },
+      bd_btn() {
+        getUnitList().then(res =>{
+          console.log(res)
+          this.unitList = res.rows
+          if(res.rows == null){
+            this.unitList = []
+          }else{
+            this.unitList = res.rows
+          }
+
+        })
+      },
+      dec_btn(row){
+        this.$router.push({
+          path: '/management/row/index',
+          query: {
+            setid: row.id,
+            setrd: row.projectStatus,
+          },
+        })
+      },
+      bh_brn(scope) {
+        const _this = this
+        this.$confirm('是否确认驳回审核', "提醒", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return setReject({
+            code: 2,
+            bmProjectId: scrop.id
+          });
+        }).then(() => {
+          _this.getList();
+          _this.msgSuccess("提交成功");
+        })
+      },
+      infoBtn(scope) {
+        const _this = this
+        this.$confirm('是否确认提交审核', "提醒", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return setExamine({
+            code: 1,
+            bmProjectId: scrop.id
+          });
+        }).then(() => {
+          _this.getList();
+          _this.msgSuccess("提交成功");
+        })
+        },
+      getList() {
+        toBeReviewedList().then(res => {
+          console.log(res)
+          this.infoList = res.rows
+        })
+      },
+    }
+  }
+</script>
+<style lang="scss" scoped>
+  .rig_tab_top{
+    display: flex;
+    background: #6DCEF6;
+    line-height: 36px;
+    color: #fff;
+    .rig_tab_item{
+      font-size: 14px;
+      flex: 1;
+      text-align: center;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap;
+    }
+  }
+  .rig_cont{
+    border: 1px solid #CDCDCD;
+    box-sizing: border-box;
+    margin-bottom: 31px;
+    max-height: 270px;
+    overflow-y: auto;
+    scrollbar-width: none;
+/* firefox */
+    -ms-overflow-style: none;
+
+    /* IE 10+ */
+    &::-webkit-scrollbar {
+      display: none;
+      /* Chrome Safari */
+    }
+    .rig_items{
+      line-height: 36px;
+      color: #343434;
+      font-size: 12px;
+      display: flex;
+      span{
+        flex: 1;
+        text-align: center;
+      }
+    }
+  }
+  .in_right{
+    padding: 15px 15px 0;
+    border: 1px solid #DADADA;
+    box-shadow: 0px 7px 9px 2px rgba(201, 201, 201, 0.36);
+    .rig_title{
+      color: #1C84C6;
+      font-size: 18px;
+      line-height: 36px;
+      margin-bottom: 15px;
+    }
+  }
+  .in_left {
+    padding: 24px 20px 40px;
+
+    .toReviewed {
+      padding: 19px 16px;
+      border: 1px solid #DADADA;
+      box-shadow: 0px 7px 9px 2px rgba(201, 201, 201, 0.36);
+      margin-bottom: 38px;
+
+      .rev_title {
+        margin-bottom: 23px;
+      }
+    }
+
+    .exl_box {
+      border: 1px solid #DADADA;
+      box-shadow: 0px 7px 9px 2px rgba(201, 201, 201, 0.36);
+      padding: 20px;
+      box-sizing: border-box;
+
+      .exl_title {
+        display: flex;
+        justify-content: space-between;
+
+        span {
+          color: #1C84C6;
+          font-size: 18px;
+          line-height: 36px;
+        }
+
+      }
+    }
+  }
+</style>

+ 5 - 11
ruoyi-ui/src/views/system/phone/index.vue

@@ -631,17 +631,11 @@ export default {
         })
     },
     /** 导出按钮操作 */
+    /** 导出按钮操作 */
     handleExport() {
-      const queryParams = this.queryParams;
-      this.$confirm('是否确认导出所有用户数据项?', "警告", {
-          confirmButtonText: "确定",
-          cancelButtonText: "取消",
-          type: "warning"
-        }).then(function() {
-          return exportUser(queryParams);
-        }).then(response => {
-          this.download(response.msg);
-        })
+      this.download('system/user/export', {
+        ...this.queryParams
+      }, `post_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {
@@ -672,4 +666,4 @@ export default {
     }
   }
 };
-</script>
+</script>

+ 30 - 18
ruoyi-ui/src/views/system/user/index.vue

@@ -204,7 +204,7 @@
     </el-row>
 
     <!-- 添加或修改参数配置对话框 -->
-    <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="600px" append-to-body>
+    <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="800px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="12">
@@ -231,12 +231,12 @@
           </el-col>
         </el-row>
         <el-row>
-          <el-col :span="12">
+          <el-col :span="24">
             <el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
               <el-input v-model="form.userName" placeholder="请输入用户名称" />
             </el-form-item>
           </el-col>
-          <el-col :span="12">
+          <el-col :span="24">
             <el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
               <el-input v-model="form.password" placeholder="请输入用户密码" type="password" />
             </el-form-item>
@@ -437,7 +437,12 @@ export default {
           { required: true, message: "用户昵称不能为空", trigger: "blur" }
         ],
         password: [
-          { required: true, message: "用户密码不能为空", trigger: "blur" }
+          { required: true, message: "用户密码不能为空", trigger: "blur" },
+          {
+            pattern: /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/,
+            message: "请输入包含大写字母、小写字母、数字、特殊符号(不是字母,数字,下划线,汉字的字符)的8位密码",
+            trigger: "blur",
+          },
         ],
         email: [
           {
@@ -566,7 +571,7 @@ export default {
         this.roleOptions = response.roles;
         this.open = true;
         this.title = "添加用户";
-        this.form.password = this.initPassword;
+        // this.form.password = this.initPassword;
       });
     },
     /** 修改按钮操作 */
@@ -591,9 +596,18 @@ export default {
         confirmButtonText: "确定",
         cancelButtonText: "取消"
       }).then(({ value }) => {
-          resetUserPwd(row.userId, value).then(response => {
-            this.msgSuccess("修改成功,新密码是:" + value);
-          });
+        console.log(value,567)
+        const FloatRegex = /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/;
+        console.log(FloatRegex.test(value))
+          if(!FloatRegex.test(value)){
+             this.msgSuccess("请输入包含大写字母、小写字母、数字、特殊符号(不是字母,数字,下划线,汉字的字符)的8位密码");
+             return  false
+          }else{
+            resetUserPwd(row.userId, value).then(response => {
+              this.msgSuccess("修改成功,新密码是:" + value);
+            });
+          }
+
         }).catch(() => {});
     },
     /** 提交按钮 */
@@ -634,16 +648,14 @@ export default {
     handleExport() {
       const queryParams = this.queryParams;
       this.$confirm('是否确认导出所有用户数据项?', "警告", {
-        confirmButtonText: "确定",
-        cancelButtonText: "取消",
-        type: "warning"
-      }).then(() => {
-        this.exportLoading = true;
-        return exportUser(queryParams);
-      }).then(response => {
-        this.download(response.msg);
-        this.exportLoading = false;
-      }).catch(() => {});
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return exportUser(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+        })
     },
     /** 导入按钮操作 */
     handleImport() {

+ 5 - 1
ruoyi-ui/src/views/system/user/profile/resetPwd.vue

@@ -42,7 +42,11 @@ export default {
         ],
         newPassword: [
           { required: true, message: "新密码不能为空", trigger: "blur" },
-          { min: 6, max: 20, message: "长度在 6 到 20 个字符", trigger: "blur" }
+          {
+            pattern: /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/,
+            message: "请输入包含大写字母、小写字母、数字、特殊符号(不是字母,数字,下划线,汉字的字符)的8位密码",
+            trigger: "blur",
+          },
         ],
         confirmPassword: [
           { required: true, message: "确认密码不能为空", trigger: "blur" },

+ 224 - 64
ruoyi-ui/src/views/under/index.vue

@@ -54,6 +54,7 @@
       <p class="enterprise">企业</p>
       <p class="enterprise_tw" @click="handleAdd">
         <i class="el-icon-circle-plus-outline"></i>添加企业
+        <i style="color: red;">*</i>
       </p>
       <el-table v-loading="loading" :data="configList">
         <!-- <el-table-column type="selection" width="55" align="center" /> -->
@@ -102,6 +103,7 @@
       <p class="enterprise">自然人</p>
       <p class="enterprise_tw" @click="handleAddtwo">
         <i class="el-icon-circle-plus-outline"></i>添加自然人
+        <i style="color: red;">*</i>
       </p>
       <el-table v-loading="loading" :data="configListtwoL">
         <!-- <el-table-column type="selection" width="55" align="center" /> -->
@@ -179,24 +181,27 @@
         </div>
 
         <!-- <div v-if="queryParams.referralList == null" > -->
-        <el-form-item label="引荐单位:" prop="sysDeptId" style="width: 24% ; margin-right: 0;">
+        <el-form-item label="引荐单位:"  style="width: 23% ; margin-right: 0;" :rules="[{ required: true, message: '请输入引荐单位', trigger: 'blur' }]" class="yije">
+         <!-- <treeselect :multiple="false" v-model="queryParams.referralList[0].sysDeptId" :normalizer="normalizer" :options="typeOptionstwo"  :maxHeight="150" @select="djieskle" placeholder="请选择归属部门" /> -->
           <el-cascader
-            v-model="queryParams.referralList[0].sysDeptId"
+            v-model="queryParams.referralList[0].sysDeptId "
             :show-all-levels="false"
             :disabled="disfal"
             :options="typeOptionstwo"
             @change="handleChange"
             style="width: 128px"
+            :props="{checkStrictly: true,value:'id',label:'label',children: 'children'}"
           ></el-cascader>
         </el-form-item>
         <el-form-item
           label="省外股东占比:"
           style="width: 20%"
           class="fenpe"
-          prop="investmentAllcocation"
+          :prop="queryParams.referralList[0].investmentAllcocation + ''"
+          :rules="[{ required: true, message: '请输入省外股东占比', trigger: 'blur' }]"
         >
           <el-input
-            v-model="queryParams.referralList[0].investmentAllcocation"
+            v-model="queryParams.referralList[0].investmentAllcocation  "
             placeholder="数"
             clearable
             :disabled="disfal"
@@ -206,7 +211,7 @@
           />
           <span class="souu">%</span>
         </el-form-item>
-        <el-form-item label="引荐方联系人:" prop="referral" style="width: 21%;margin-right: 0;">
+        <el-form-item label="引荐方联系人:" :prop="queryParams.referralList[0].referral" style="width: 22%; margin-right: 0;" :rules="[{ required: true, message: '请输入引荐方联系人', trigger: 'blur' }]">
           <el-input
             v-model="queryParams.referralList[0].referral"
             placeholder="请输入"
@@ -220,8 +225,10 @@
 
         <el-form-item
           label="引荐方联系方式:"
-          prop="referralPhone"
-          style="width: 33%;margin-right: 0;"
+          :prop="queryParams.referralList[0].referralPhone"
+          style="width: 34%;margin-right: 0;"
+          class="yiuejg"
+          :rules="[{ required: true, message: '请输入引荐方联系方式', trigger: 'blur' }]"
         >
           <el-input
             v-model="queryParams.referralList[0].referralPhone"
@@ -232,7 +239,7 @@
             @keyup.enter.native="handleQuery"
           />
         </el-form-item>
-        <el-form-item label="引荐单位:" style="width: 24%;margin-right: 0;" prop="sysDeptId">
+        <el-form-item class="yije" label="引荐单位:" style="width: 23%;margin-right: 0;"  >
           <el-cascader
             :show-all-levels="false"
             v-model="queryParams.referralList[1].sysDeptId"
@@ -240,13 +247,14 @@
             style="width: 128px"
             :disabled="disfal"
             @change="handleChangete"
+            :props="{checkStrictly: true,value:'id',label:'label',children: 'children'}"
           ></el-cascader>
         </el-form-item>
         <el-form-item
           label="省外股东占比:"
-          style="width: 18%;margin-right: 0;"
+          style="width: 20%;margin-right: 0;"
           class="fenpe"
-          prop="investmentAllcocation"
+          :prop="queryParams.referralList[1].investmentAllcocation + ''"
         >
           <el-input
             v-model="queryParams.referralList[1].investmentAllcocation"
@@ -259,7 +267,7 @@
           />
           <span class="souu">%</span>
         </el-form-item>
-        <el-form-item label="引荐方联系人:" prop="referral" style="width: 21%;margin-right: 0;">
+        <el-form-item label="引荐方联系人:"  style="width: 22%;margin-right: 0;">
           <el-input
             v-model="queryParams.referralList[1].referral"
             placeholder="请输入"
@@ -273,8 +281,8 @@
 
         <el-form-item
           label="引荐方联系方式:"
-          prop="referralPhone"
-          style="width: 33%"
+          style="width: 34%"
+          class="yiuejg"
         >
           <el-input
             v-model="queryParams.referralList[1].referralPhone"
@@ -623,11 +631,33 @@
     >
       <el-form ref="form" :model="form" :rules="rules" label-width="150px">
         <el-form-item label="企业名称" prop="companyName">
-          <el-input
+          <!-- <el-input
             v-model="form.companyName"
             :disabled="disfal"
             placeholder="请输入企业名称"
-          />
+            @blur="blures"
+          /> -->
+          <!-- :remote-method="querySearch" -->
+          <!-- <el-select
+            ref="headerSearchSelect"
+            v-model="form.companyName"
+            filterable
+            default-first-option
+            remote
+            placeholder="请输入企业名称"
+            class="header-search-select"
+            @change="changetyu"
+          >
+            <el-option v-for="option in options" :key="option.item.path" :value="option.item" :label="option.item.title.join(' > ')" />
+          </el-select> -->
+          <el-autocomplete
+            v-model="form.companyName"
+            :fetch-suggestions="querySearchAsync"
+            placeholder="请输入企业名称"
+            @select="handleSelecthuey"
+            :trigger-on-focus="false"
+            style="width: 100%;"
+          ></el-autocomplete>
         </el-form-item>
         <el-form-item label="企业所在地" prop="companyAddress">
           <el-input
@@ -685,6 +715,13 @@
         :rules="rulestwo"
         label-width="150px"
       >
+      <el-form-item label="身份证号码" prop="idcode">
+        <el-input
+          :disabled="disfal"
+          v-model="formtwo.idcode"
+          placeholder="请输入身份证号码"
+        />
+      </el-form-item>
         <el-form-item label="姓名" prop="name">
           <el-input
             :disabled="disfal"
@@ -699,13 +736,7 @@
             placeholder="请输入自然人所在地"
           />
         </el-form-item>
-        <el-form-item label="身份证号码" prop="idcode">
-          <el-input
-            :disabled="disfal"
-            v-model="formtwo.idcode"
-            placeholder="请输入身份证号码"
-          />
-        </el-form-item>
+
         <!--      <el-form-item label="系统内置" prop="configType">
           <el-radio-group v-model="form.configType">
             <el-radio
@@ -751,15 +782,21 @@ import {
   addConfigtwo,
   addConfigalking,
   addConfigbout,
+  addConfigboutty,
   updateConfig,
   updateConfigtwo,
   updateConfigalking,
   exportConfig,
   clearCache,
+  listConfigname
 } from "@/api/system/config";
 import { setExamine, setBack, setReject } from "@/api/projectInfo/info.js";
+import { treeselect } from '@/api/system/dept';
+import Treeselect from '@riophae/vue-treeselect';
+import '@riophae/vue-treeselect/dist/vue-treeselect.css';
 export default {
   name: "Config",
+   components: {  Treeselect },
   props: {
     // queryParams: Object,
     tabIndex: Number,
@@ -795,8 +832,9 @@ export default {
       open: false,
       opentwo: false,
       // 类型数据字典
+      options:[],
       typeOptions: [],
-      typeOptionstwo: [],
+      typeOptionstwo: undefined,
       typeOptionstwos: [],
       typeOptionstwoss: [],
       // 日期范围
@@ -809,15 +847,15 @@ export default {
         referralList: [
           {
             bmProjectId: "",
-            sysDeptId: "",
-            investmentAllcocation: "",
+            sysDeptId: undefined,
+            investmentAllcocation: '',
             referral: "",
             referralPhone: "",
           },
           {
             bmProjectId: "",
-            sysDeptId: "",
-            investmentAllcocation: "",
+            sysDeptId: undefined,
+            investmentAllcocation: '',
             referral: "",
             referralPhone: "",
           },
@@ -828,7 +866,11 @@ export default {
       disabled: false,
       bmProjectId: 0,
       // 表单参数
-      form: {},
+      form: {
+        companyCode:'',
+        companyName:'',
+        companyLegal:''
+      },
       formtwo: {},
       queryFormhye: {},
       fileList: [],
@@ -865,15 +907,6 @@ export default {
         address: [
           { required: true, message: "所在地不能为空", trigger: "blur" },
         ],
-        idcode: [
-          { required: true, message: "身份证号码不能为空", trigger: "blur" },
-          {
-            pattern:
-              /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)/,
-            message: "身份证号码格式不对",
-            trigger: "blur",
-          },
-        ],
         phone: [
           { required: true, message: "联系方式不能为空", trigger: "blur" },
           {
@@ -946,6 +979,7 @@ export default {
       value: [],
       valuess: [],
       values: [],
+      resets:[]
     };
   },
   created() {
@@ -999,13 +1033,14 @@ export default {
       console.log(value);
     },
     handleChangete(value) {
+      console.log(value)
       if (value.length == 1) {
         this.queryParams.referralList[1].sysDeptId = value.join(",");
       } else {
         this.queryParams.referralList[1].sysDeptId = value[value.length - 1];
       }
       //1
-      console.log(value);
+      console.log(value[value.length - 1]);
     },
     handleChangess(value) {
       console.log(value);
@@ -1019,7 +1054,7 @@ export default {
         type: "warning",
       })
         .then(function () {
-          return setExamine({
+          return addConfigbout({
             code: 3,
             bmProjectId: that.bmProjectId,
           });
@@ -1051,6 +1086,9 @@ export default {
           this.msgSuccess("驳回成功");
         });
     },
+    blures(val){
+      console.log(val )
+    },
     submitUpload() {
       this.$refs.upload.submit();
     },
@@ -1103,14 +1141,14 @@ export default {
               {
                 bmProjectId: this.bmProjectId,
                 sysDeptId: "",
-                investmentAllcocation: "",
+                investmentAllcocation: '',
                 referral: "",
                 referralPhone: "",
               },
               {
                 bmProjectId: this.bmProjectId,
                 sysDeptId: "",
-                investmentAllcocation: "",
+                investmentAllcocation: '',
                 referral: "",
                 referralPhone: "",
               },
@@ -1120,20 +1158,30 @@ export default {
         } else if (response.data !== undefined) {
           //修改
           this.sbuen = 1;
+          if(response.data.referralList !== null || response.data.referralList.length !==0){
+            if(response.data.referralList.length == 1 ){
+              response.data.referralList[0].sysDeptId =  response.data.referralList[0].sysDeptId - 0
+            }
+            if(response.data.referralList.length !== 1){
+              response.data.referralList[0].sysDeptId =  response.data.referralList[0].sysDeptId - 0
+              response.data.referralList[1].sysDeptId =  response.data.referralList[1].sysDeptId - 0
+            }
+          }
           this.queryParams = response.data;
+          console.log(response.data,9876)
           if (this.queryParams.referralList == null) {
             this.queryParams.referralList = [
               {
                 bmProjectId: this.bmProjectId,
-                sysDeptId: "",
-                investmentAllcocation: "",
+                sysDeptId: undefined,
+                investmentAllcocation: '',
                 referral: "",
                 referralPhone: "",
               },
               {
                 bmProjectId: this.bmProjectId,
-                sysDeptId: "",
-                investmentAllcocation: "",
+                sysDeptId: undefined,
+                investmentAllcocation: '',
                 referral: "",
                 referralPhone: "",
               },
@@ -1145,21 +1193,43 @@ export default {
             this.queryParams.referralList = [
               {
                 bmProjectId: this.bmProjectId,
-                sysDeptId: response.data.referralList[0].sysDeptId,
+                sysDeptId: response.data.referralList[0].sysDeptId ,
                 investmentAllcocation:
-                  response.data.referralList[0].investmentAllcocation,
+                  response.data.referralList[0].investmentAllcocation + '',
                 referral: response.data.referralList[0].referral,
                 referralPhone: response.data.referralList[0].referralPhone,
               },
               {
                 bmProjectId: this.bmProjectId,
-                sysDeptId: "",
+                sysDeptId: undefined,
                 investmentAllcocation: "",
                 referral: "",
                 referralPhone: "",
               },
             ];
           }
+
+          if(this.queryParams.referralList.length == 2){
+            console.log()
+            this.queryParams.referralList = [
+              {
+                bmProjectId: this.bmProjectId,
+                sysDeptId: response.data.referralList[0].sysDeptId  ,
+                investmentAllcocation:
+                  response.data.referralList[0].investmentAllcocation ,
+                referral: response.data.referralList[0].referral,
+                referralPhone: response.data.referralList[0].referralPhone,
+              },
+              {
+               bmProjectId: this.bmProjectId,
+               sysDeptId: response.data.referralList[1].sysDeptId  ,
+               investmentAllcocation:
+                 response.data.referralList[1].investmentAllcocation ,
+               referral: response.data.referralList[1].referral,
+               referralPhone: response.data.referralList[1].referralPhone,
+              },
+            ];
+          }
           // this.queryParams.phone = 987
           console.log(this.queryParams, 98755);
           // this.queryParams = this.queryParams.bmProjectId
@@ -1210,12 +1280,14 @@ export default {
       listConfigfieu().then((response) => {
         console.log(response);
 
-        if (response.data !== undefined) {
-          this.typeOptionstwo = response.data;
-          this.dietj(this.typeOptionstwo);
-        }
-        (this.typeOptionstwos = response.data),
-          (this.typeOptionstwoss = response.data),
+        // if (response.data !== undefined) {
+        //   this.typeOptionstwo = response.data;
+        //   console.log(123457,this.typeOptionstwo)
+        //   // this.dietj(this.typeOptionstwo);
+        // }
+        this.typeOptionstwo = response.data;
+        this.typeOptionstwos = response.data,
+        this.typeOptionstwoss = response.data,
           // this.typeOptionstwo.filter((route) => {
           //   route.value = route.id
           //   route.children.filter((router) =>{
@@ -1231,7 +1303,7 @@ export default {
 
           // this.fileList =  this.queryParams.attachment
           // this.total = response.total;
-          (this.loading = false);
+          this.loading = false;
       });
     },
     //递归
@@ -1408,10 +1480,6 @@ export default {
          this.msgSuccess("请填写引荐方信息");
          return  false
        }
-       if(this.queryParams.referralList[1].investmentAllcocation== '' || this.queryParams.referralList[1].referral== '' || this.queryParams.referralList[1].referralPhone== '' || this.queryParams.referralList[1].sysDeptId== '' ){
-         this.msgSuccess("请填写引荐方信息");
-         return  false
-       }
       this.$refs["queryParams"].validate((valid) => {
         if (valid) {
           if (this.sbuen == 1) {
@@ -1431,10 +1499,10 @@ export default {
             //   this.queryParams.referralList[1].sysDeptId = this.queryParams.referralList[1].sysDeptId.pop()
             // }
             // this.queryParams.bmProjectId = this.bmProjectId
-            //console.log(this.queryParams, 87);
+            console.log(this.queryParams, 87);
             addConfigalking(this.queryParams).then((response) => {
-              //console.log(response);
-              //this.msgSuccess("新增成功");
+              console.log(response);
+              this.msgSuccess("新增成功");
               this.submitCtion();
             });
           }
@@ -1445,7 +1513,8 @@ export default {
       // this.msgSuccess("请点击暂存按钮,返回上级页面进行提交");
       this.queryFormhye.code = 1;
       this.queryFormhye.bmProjectId = this.bmProjectId;
-      addConfigbout(this.queryFormhye).then((response) => {
+      setExamine(this.queryFormhye).then((response) => {
+        // setExamine addConfigbout
         console.log(response);
         this.msgSuccess("提交成功");
         this.open = false;
@@ -1521,10 +1590,99 @@ export default {
     cancelqiu() {
       this.$router.go(-1);
     },
+    querySearch(query) {
+      if (query !== '') {
+        this.options = this.fuse.search(query)
+      } else {
+        this.options = []
+      }
+    },
+    changetyu(){
+     // console.log(234)
+    },
+    handleSelecthuey(item){
+      console.log(item)
+      // this.form.companyCode = item.id
+      // this.form.companyLegal = item.labr
+      this.$set(this.form, 'companyCode', item.id)
+      this.$set(this.form, 'companyLegal', 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.companyAddress = this.resets[i].Name
+         // 法人代表姓名
+         // this.form.companyLegal = this.resets[i].OperName
+         // 统一社会信用代码
+         // this.form.companyCode = item.id
+         // 联系方式
+         // this.form.companyName = this.resets[i].Name
+       }
+      }
+
+
+       // console.log(3345)
+    },
+    /** 转换角色数据结构 */
+    normalizer(node) {
+      if (node.children && !node.children.length) {
+        delete node.children;
+      }
+      return {
+        id: node.id,
+        label: node.label
+      };
+    },
+    // 点击组/角色
+    djieskle(node, instanceId) {
+      // this.personnel(node.id);
+      console.log(node, instanceId);
+      console.log(this.queryParams.referralList[0].sysDeptId)
+    },
+    querySearchAsync(queryString, cb){
+       console.log(queryString, cb)
+       this.options = []
+       // this.form = {}
+       // this.form.companyCode = undefined
+       // this.form.companyLegal = undefined
+       listConfigname(queryString).then((res) => {
+         console.log(res);
+          if (res.code == 200 && res.data.length !== 0) {
+         	                var result = res.data
+                          this.resets = res.data
+         	                //循环放到一个远程搜索需要的数组
+         	                for (let i = 0; i < result.length; i++) {
+         	                  const element = result[i];
+                            console.log(result[i])
+         	                  this.options.push({
+         	                    value: element.Name,
+         	                    id: element.CreditCode,
+                              labr:element.OperName
+         	                  })
+         	                }
+         	                cb(this.options);
+         	              } else {
+         	                this.options = []
+         	                cb(this.options);
+         	              }
+       });
+    }
+
   },
 };
 </script>
 <style  lang="scss"  >
+  .yiuejg{
+    .el-form-item__label{
+      width: 125px !important;
+    }
+  }
+  .yije{
+    .el-form-item__label{
+      width: 103px !important;
+    }
+  }
 .roiyy {
   position: fixed;
   top: 95px;
@@ -1604,8 +1762,9 @@ export default {
     }
   }
   .fenpe {
+    margin-right: 0 !important;
     .el-form-item__label {
-      width: 101px !important;
+      width: 111px !important;
     }
   }
   .forieu {
@@ -1614,6 +1773,7 @@ export default {
     width: 480px;
     height: 90px;
     position: relative;
+    margin-right: 0 !important;
     .bure {
       position: absolute;
       right: 20px;

+ 112 - 0
ruoyi-ui/src/views/yind.vue

@@ -0,0 +1,112 @@
+<template>
+  <div class="errPage-container">
+    <!-- <el-button icon="arrow-left" class="pan-back-btn" @click="back">
+      返回
+    </el-button> -->
+    <el-row>
+      <el-col :span="12">
+       <!-- <h1 class="text-jumbo text-ginormous">
+          401错误!
+        </h1>
+        <h2>您没有访问权限!</h2>
+        <h6>对不起,您没有访问权限,请不要进行非法操作!您可以返回主页面</h6> -->
+        <ul class="list-unstyled">
+          <!-- <router-link to="/"> -->
+          <li class="link-type"  @click="back">
+              <!-- @click="back" -->
+              <span style="width: 50%;">点击进入</span>
+              <img src="../assets/images/icon_enter.png"style="width: 38px; height: 28px; margin-left: 13px;" alt="">
+
+          </li>
+          <!-- </router-link> -->
+        </ul>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import errGif from '@/assets/401_images/401.gif'
+
+export default {
+  name: 'Page401',
+  data() {
+    return {
+      errGif: errGif + '?' + +new Date()
+    }
+  },
+  methods: {
+    back() {
+      // if (this.$route.query.noGoBack) {
+        this.$router.replace({ path: '/' })
+      // }
+      // else {
+      //   this.$router.go(-1)
+      // }
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+  .errPage-container {
+    width: 100%;
+    max-width: 100%;
+    // margin: 100px auto;
+    background-color: #eee;
+    height: 100vh;
+    background-image: url(../assets/images/pic_ydy_bg.png);
+    background-size: 100% 100%;
+    .pan-back-btn {
+      background: #008489;
+      color: #fff;
+      border: none!important;
+    }
+    .pan-gif {
+      margin: 0 auto;
+      display: block;
+    }
+    .pan-img {
+      display: block;
+      margin: 0 auto;
+      width: 100%;
+    }
+    .text-jumbo {
+      font-size: 60px;
+      font-weight: 700;
+      color: #484848;
+    }
+    .list-unstyled {
+      font-size: 14px;
+      li {
+        padding-bottom: 5px;
+      }
+      a {
+        color: #008489;
+        text-decoration: none;
+        &:hover {
+          text-decoration: underline;
+        }
+      }
+    }
+    .link-type{
+      width: 320px;
+      height: 102px;
+      background-image: url(../assets/images/pic_enter_btn.png);
+      background-size: 100% 100%;
+      text-align: center;
+      line-height: 102px;
+      font-size: 28px;
+      font-family: PingFang SC;
+      font-weight: bold;
+      color: #1C84C6;
+      list-style-type:none;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      position: fixed;
+      left: 60px;
+      bottom: 40px;
+    }
+  }
+</style>