Browse Source

前端-页面

armg 11 months ago
parent
commit
990802cd6a

+ 12 - 0
ruoyi-ui/src/api/invest/meeting.js

@@ -164,3 +164,15 @@ export function listProjectPoolIdNewDecision(id) {
 
   })
 }
+
+
+ 
+// 查询打分列表 ​/dev-api​/invest​/scoring​/list
+export function getScoringListById(id) {
+  return request({
+    url: '/invest/scoring/list',
+    method: 'get',
+    params: { meetingId: id }
+
+  })
+}

+ 27 - 14
ruoyi-ui/src/assets/styles/public.scss

@@ -510,26 +510,39 @@
 .searchWrapper {
   margin-left: 22px;
 }
-.el-input.is-disabled .el-input__inner,.el-textarea.is-disabled .el-textarea__inner,.el-radio__input.is-disabled+span.el-radio__label{
-  color:#333!important;
+
+.el-input.is-disabled .el-input__inner,
+.el-textarea.is-disabled .el-textarea__inner,
+.el-radio__input.is-disabled+span.el-radio__label {
+  color: #333 !important;
+}
+
+.public-input-height {
+  height: 36px;
 }
 
-.public-input-height{
-  height:36px;
+.public-input-height-2 {
+  height: 72px;
 }
-.public-input-height-2{
-  height:72px;
+
+.public-input-height-2 .inputSimulation {
+  height: 72px !important;
+
 }
-.public-input-height-2 .inputSimulation{
-  height:72px!important;
 
+.public-input-height .inputSimulation {
+  height: 36px !important;
 }
-.public-input-height .inputSimulation{
-  height:36px!important;
+
+.public-text-blue {
+  color: #1890ff;
 }
-.public-text-blue{
-  color:#1890ff;
+
+.public-cursor {
+  cursor: pointer !important;
 }
-.public-cursor{
-  cursor: pointer!important;
+
+.el-table .cell {
+  padding-left: 5px !important;
+  padding-right: 5px !important;
 }

+ 30 - 31
ruoyi-ui/src/components/Pagination/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div :class="{'hidden':hidden}" class="pagination-container">
+  <div :class="{ hidden: hidden }" class="pagination-container">
     <el-pagination
       :background="background"
       :current-page.sync="currentPage"
@@ -16,91 +16,90 @@
 </template>
 
 <script>
-import { scrollTo } from '@/utils/scroll-to'
+import { scrollTo } from "@/utils/scroll-to";
 
 export default {
-  name: 'Pagination',
+  name: "Pagination",
   props: {
     total: {
       required: true,
-      type: Number
+      type: Number,
     },
     page: {
       type: Number,
-      default: 1
+      default: 1,
     },
     limit: {
       type: Number,
-      default: 20
+      default: 20,
     },
     pageSizes: {
       type: Array,
       default() {
-        return [10, 20, 30, 50]
-      }
+        return [10, 20, 30, 50, 100,200];
+      },
     },
     // 移动端页码按钮的数量端默认值5
     pagerCount: {
       type: Number,
-      default: document.body.clientWidth < 992 ? 5 : 7
+      default: document.body.clientWidth < 992 ? 5 : 7,
     },
     layout: {
       type: String,
-      default: 'total, sizes, prev, pager, next, jumper'
+      default: "total, sizes, prev, pager, next, jumper",
     },
     background: {
       type: Boolean,
-      default: true
+      default: true,
     },
     autoScroll: {
       type: Boolean,
-      default: true
+      default: true,
     },
     hidden: {
       type: Boolean,
-      default: false
-    }
+      default: false,
+    },
   },
   data() {
-    return {
-    };
+    return {};
   },
   computed: {
     currentPage: {
       get() {
-        return this.page
+        return this.page;
       },
       set(val) {
-        this.$emit('update:page', val)
-      }
+        this.$emit("update:page", val);
+      },
     },
     pageSize: {
       get() {
-        return this.limit
+        return this.limit;
       },
       set(val) {
-        this.$emit('update:limit', val)
-      }
-    }
+        this.$emit("update:limit", val);
+      },
+    },
   },
   methods: {
     handleSizeChange(val) {
       if (this.currentPage * val > this.total) {
-        this.currentPage = 1
+        this.currentPage = 1;
       }
-      this.$emit('pagination', { page: this.currentPage, limit: val })
+      this.$emit("pagination", { page: this.currentPage, limit: val });
       if (this.autoScroll) {
-        scrollTo(0, 800)
+        scrollTo(0, 800);
       }
     },
     handleCurrentChange(val) {
-      this.$emit('pagination', { page: val, limit: this.pageSize })
+      this.$emit("pagination", { page: val, limit: this.pageSize });
       if (this.autoScroll) {
-        scrollTo(0, 800)
+        scrollTo(0, 800);
       }
-    }
-  }
-}
+    },
+  },
+};
 </script>
 
 <style scoped>

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

@@ -34,9 +34,9 @@
           <router-link to="/user/profile">
             <el-dropdown-item>个人中心</el-dropdown-item>
           </router-link>
-          <el-dropdown-item @click.native="setting = true">
+          <!-- <el-dropdown-item @click.native="setting = true">
             <span>布局设置</span>
-          </el-dropdown-item>
+          </el-dropdown-item> -->
           <el-dropdown-item divided @click.native="logout">
             <span>退出登录</span>
           </el-dropdown-item>

+ 3 - 2
ruoyi-ui/src/store/modules/user.js

@@ -215,10 +215,11 @@ const user = {
 
     // 更新代办数量并且刷新侧边栏
     updataNum({ commit, state }) {
-      // this.$store.dispatch("updataNum");
+      // this.$store.dispatch("updataNum"); //初始化和操作后更新代办数量
       return new Promise(resolve => {
+        // 这里走接口更新代办数量
         const inspectNum = parseInt(9);//评估考察
-        commit('SET_INSPECTNUM', inspectNum);
+        commit('SET_INSPECTNUM', inspectNum);//更新评估考察代办
         // getNum().then(res => {
         //   const inspectNum = parseInt(res.data.inspectNum);//评估考察
         //   const projectLXNum = parseInt(res.data.projectLXNum);//项目立项

+ 7 - 7
ruoyi-ui/src/views/invest/channel/index.vue

@@ -160,7 +160,7 @@
           <div
             :title="scope.row.channelName"
             class="public-text-blue public-cursor"
-            @click="handleDetail(scope.row)"
+            @click.stop="handleDetail(scope.row)"
           >
             {{ scope.row.channelName }}
           </div>
@@ -532,7 +532,7 @@ export default {
         telephone: null,
         channelHead: null,
         status: null,
-        channelGroup: null,
+        channelGroup: "",
         orderByColumn: "createTime",
         isAsc: "desc",
       },
@@ -555,7 +555,7 @@ export default {
         updateBy: null,
         updateTime: null,
         listFile: null,
-        channelGroup: null,
+        channelGroup: "",
       },
       // 表单校验
       rules: {
@@ -627,7 +627,7 @@ export default {
         contacts: null,
         telephone: null,
         address: null,
-        channelHead: null,
+        channelHead: this.user.nickName,
         status: null,
         mark: null,
         delFlag: null,
@@ -636,7 +636,7 @@ export default {
         updateBy: null,
         updateTime: null,
         listFile: null,
-        channelGroup: null,
+        channelGroup: "",
       };
       this.resetForm("form");
     },
@@ -767,14 +767,14 @@ export default {
         } else {
           this.$message({
             message: "无权限",
-            duration: 1200,
+            duration: 1500,
             type: "error",
           });
         }
       } else {
         this.$message({
           message: "只能选择一条数据",
-          duration: 1200,
+          duration: 1500,
           type: "warning",
         });
       }

+ 4 - 4
ruoyi-ui/src/views/invest/components/contractList.vue

@@ -85,7 +85,7 @@
           plain
           icon="el-icon-delete"
           size="mini"
-          :disabled="multiple"
+          :disabled="single"
           @click="handleSelectData(2)"
           v-hasPermi="['invest:contract:remove']"
           >删除</el-button
@@ -133,7 +133,7 @@
       <!-- <el-table-column label="主键ID" align="center" prop="id" /> -->
       <el-table-column label="合同名称" align="center" prop="contractName">
         <template slot-scope="scope">
-          <div :title="scope.row.contractName" class="public-text-blue public-cursor" @click="handleDetail(scope.row)">
+          <div :title="scope.row.contractName" class="public-text-blue public-cursor" @click.stop="handleDetail(scope.row)">
             {{ scope.row.contractName }}
           </div>
         </template>
@@ -736,14 +736,14 @@ export default {
         } else {
           this.$message({
             message: "无权限",
-            duration: 1200,
+            duration: 1500,
             type: "error",
           });
         }
       } else {
         this.$message({
           message: "只能选择一条数据",
-          duration: 1200,
+          duration: 1500,
           type: "warning",
         });
       }

+ 177 - 141
ruoyi-ui/src/views/invest/components/dueDiligenceList.vue

@@ -465,151 +465,159 @@
       </div>
     </el-dialog> -->
     <!-- 尽调申请及下面报告 -->
-    <div v-if="showDetail">
-      <h3>尽调申请</h3>
-      <el-divider></el-divider>
-      <el-form
-        ref="dueForm"
-        class="special-el-form"
-        :model="dueForm"
-        label-width="170px"
-      >
-        <el-form-item label="尽调名称" class="special-el-form-item">
-          <el-input
-            disabled
-            v-model="dueForm.investigateName"
-            placeholder="请输入尽调名称"
-          />
-        </el-form-item>
-        <el-form-item
-          label="尽调地点"
-          prop="investigatePlace"
-          class="special-el-form-item"
+    <el-tabs type="border-card" v-if="showDetail">
+      <el-tab-pane label="尽职背调申请表">
+        <el-form
+          v-if="dueForm.id"
+          ref="dueForm"
+          class="special-el-form public-padded-t-20"
+          :model="dueForm"
+          label-width="170px"
         >
-          <el-input
-            disabled
-            maxlength="100"
-            v-model="dueForm.investigatePlace"
-          />
-        </el-form-item>
-        <el-form-item label="期望尽调开始时间" prop="startTime">
-          <el-date-picker
-            disabled
-            clearable
-            v-model="dueForm.startTime"
-            type="date"
-            value-format="yyyy-MM-dd"
-          >
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="期望尽调结束时间" prop="endTime">
-          <el-date-picker
-            disabled
-            clearable
-            v-model="dueForm.endTime"
-            type="date"
-            value-format="yyyy-MM-dd"
+          <el-form-item label="尽调名称" class="special-el-form-item">
+            <el-input
+              disabled
+              v-model="dueForm.investigateName"
+              placeholder="请输入尽调名称"
+            />
+          </el-form-item>
+          <el-form-item
+            label="尽调地点"
+            prop="investigatePlace"
+            class="special-el-form-item"
           >
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="尽调资料是否齐全" prop="readiness">
-          <el-radio-group v-model="dueForm.readiness" disabled>
-            <el-radio label="1">是</el-radio>
-            <el-radio label="0">否</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item label="是否有第三方投资机构" prop="thirdParty">
-          <el-radio-group v-model="dueForm.thirdParty" disabled>
-            <el-radio label="1">是</el-radio>
-            <el-radio label="0">否</el-radio>
-          </el-radio-group>
-        </el-form-item>
-        <el-form-item label="尽调费用(元)">
-          <el-input disabled v-model="dueForm.investigateCost" />
-        </el-form-item>
+            <el-input
+              disabled
+              maxlength="100"
+              v-model="dueForm.investigatePlace"
+            />
+          </el-form-item>
+          <el-form-item label="期望尽调开始时间" prop="startTime">
+            <el-date-picker
+              disabled
+              clearable
+              v-model="dueForm.startTime"
+              type="date"
+              value-format="yyyy-MM-dd"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="期望尽调结束时间" prop="endTime">
+            <el-date-picker
+              disabled
+              clearable
+              v-model="dueForm.endTime"
+              type="date"
+              value-format="yyyy-MM-dd"
+            >
+            </el-date-picker>
+          </el-form-item>
+          <el-form-item label="尽调资料是否齐全" prop="readiness">
+            <el-radio-group v-model="dueForm.readiness" disabled>
+              <el-radio label="1">是</el-radio>
+              <el-radio label="0">否</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="是否有第三方投资机构" prop="thirdParty">
+            <el-radio-group v-model="dueForm.thirdParty" disabled>
+              <el-radio label="1">是</el-radio>
+              <el-radio label="0">否</el-radio>
+            </el-radio-group>
+          </el-form-item>
+          <el-form-item label="尽调费用(元)">
+            <el-input disabled v-model="dueForm.investigateCost" />
+          </el-form-item>
 
-        <el-form-item label="尽调财务数据截止日期" prop="deadDate">
-          <el-date-picker
-            disabled
-            clearable
-            v-model="dueForm.deadDate"
-            type="date"
-            value-format="yyyy-MM-dd"
-          >
-          </el-date-picker>
-        </el-form-item>
-        <el-form-item label="尽调人员" class="special-el-form-item">
-          <el-input
-            type="textarea"
-            rows="2"
-            disabled
-            v-model="dueForm.investigatePerson"
-          />
-        </el-form-item>
-        <el-form-item label="尽调资料" class="special-el-form-item">
-          <fileItem
-            ref="fileItems1"
-            :id="dueForm.id"
-            @getFileList="getFileList"
-          ></fileItem>
-        </el-form-item>
-        <el-form-item label="描述" class="special-el-form-item">
-          <el-input
-            disabled
-            rows="4"
-            v-model="dueForm.describe"
-            type="textarea"
-          />
-        </el-form-item>
-        <el-form-item label="备注" class="special-el-form-item">
-          <el-input
-            disabled
-            rows="4"
-            type="textarea"
-            v-model="dueForm.remark"
-          />
-        </el-form-item>
-      </el-form>
-      <h3>尽调报告</h3>
-      <el-divider></el-divider>
-      <div v-if="dueAllPeportList.length > 0">
-        <el-form
-          v-for="(item, index) in dueAllPeportList"
-          :key="index"
-          class="special-el-form"
-          :model="item"
-          label-width="100px"
-        >
+          <el-form-item label="尽调财务数据截止日期" prop="deadDate">
+            <el-date-picker
+              disabled
+              clearable
+              v-model="dueForm.deadDate"
+              type="date"
+              value-format="yyyy-MM-dd"
+            >
+            </el-date-picker>
+          </el-form-item>
           <el-form-item label="尽调人员" class="special-el-form-item">
-            <el-input disabled v-model="item.investigatePerson" />
+            <el-input
+              type="textarea"
+              rows="2"
+              disabled
+              v-model="dueForm.investigatePerson"
+            />
           </el-form-item>
-          <el-form-item label="报告" class="special-el-form-item">
+          <el-form-item label="尽调资料" class="special-el-form-item">
             <fileItem
-              ref="dueAllreportFileItems"
-              :id="item.id"
-              @getFileList="getreportFileList"
+              ref="fileItems1"
+              :id="dueForm.id"
+              @getFileList="getFileList"
             ></fileItem>
           </el-form-item>
+          <el-form-item label="描述" class="special-el-form-item">
+            <el-input
+              disabled
+              rows="4"
+              v-model="dueForm.describe"
+              type="textarea"
+            />
+          </el-form-item>
           <el-form-item label="备注" class="special-el-form-item">
             <el-input
               disabled
               rows="4"
               type="textarea"
-              v-model="item.remark"
-              placeholder="请输入备注"
+              v-model="dueForm.remark"
             />
           </el-form-item>
-          <el-divider></el-divider>
         </el-form>
-      </div>
-      <div
-        v-else
-        class="public-flex-center public-padded-t-20"
-        style="color: #909399"
-      >
-        暂无数据
-      </div>
-    </div>
+        <div
+          v-else
+          class="public-flex-center public-padded-20"
+          style="color: #909399"
+        >
+          暂无数据
+        </div>
+      </el-tab-pane>
+      <el-tab-pane label="尽职背调报告汇总表">
+        <div v-if="dueAllPeportList.length > 0">
+          <el-form
+            v-for="(item, index) in dueAllPeportList"
+            :key="index"
+            class="special-el-form public-padded-t-20"
+            :model="item"
+            label-width="100px"
+          >
+            <el-form-item label="尽调人员" class="special-el-form-item">
+              <el-input disabled v-model="item.investigatePerson" />
+            </el-form-item>
+            <el-form-item label="报告" class="special-el-form-item">
+              <fileItem
+                ref="dueAllreportFileItems"
+                :id="item.id"
+                @getFileList="getreportFileList"
+              ></fileItem>
+            </el-form-item>
+            <el-form-item label="备注" class="special-el-form-item">
+              <el-input
+                disabled
+                rows="4"
+                type="textarea"
+                v-model="item.remark"
+                placeholder="请输入备注"
+              />
+            </el-form-item>
+            <el-divider></el-divider>
+          </el-form>
+        </div>
+        <div
+          v-else
+          class="public-flex-center public-padded-20"
+          style="color: #909399"
+        >
+          暂无数据
+        </div>
+      </el-tab-pane>
+    </el-tabs>
     <!--选择人员-->
     <selecUser
       ref="flowUser"
@@ -630,7 +638,7 @@ import {
   addInvestigatePerson,
   investigateListProjectPoolIdNew,
   getProjectInvestigateId,
-  getDueAllPeportList
+  getDueAllPeportList,
 } from "@/api/invest/pool";
 import projectItem from "./projectItem";
 import fileItem from "./fileItem";
@@ -801,14 +809,14 @@ export default {
         this.dueAllPeportList = rows;
         this.dueDiligenceOpen2 = true;
         if (rows && rows.length > 0) {
-          for (let i in rows) {
-            setTimeout(() => {
+          setTimeout(() => {
+            for (let i in rows) {
               this.$refs.dueAllreportFileItems[i].handleButton();
               this.$refs.dueAllreportFileItems[i].getListFileBusinessId(
                 rows[i].id
               );
-            }, 300);
-          }
+            }
+          }, 300);
         }
       });
     },
@@ -816,13 +824,15 @@ export default {
     getInvestigateListProjectPoolIdNew(id) {
       let that = this;
       investigateListProjectPoolIdNew(id).then((response) => {
-        this.dueForm = response.data;
-        setTimeout(() => {
-          that.$refs.fileItems1.listFile = [];
-          that.$refs.fileItems1.handleButton();
-          that.$refs.fileItems1.getListFileBusinessId(this.dueForm.id);
-        }, 300);
-        this.handleLook(response.data);
+        if (response.data) {
+          this.dueForm = response.data;
+          setTimeout(() => {
+            that.$refs.fileItems1.listFile = [];
+            that.$refs.fileItems1.handleButton();
+            that.$refs.fileItems1.getListFileBusinessId(this.dueForm.id);
+          }, 300);
+          this.handleLook(response.data);
+        }
       });
     },
     // 完成尽调
@@ -1007,6 +1017,32 @@ export default {
             .replace(/[^0-9.]/g, "")
             .replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")
             .replace(/-/g, "");
+          if (
+            new Date(this.dueForm.endTime).getTime() <
+            new Date(this.dueForm.startTime).getTime()
+          ) {
+            this.$confirm("期望尽调结束时间不能小于期望尽调开始时间,请重新选择!", "提示", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning",
+            })
+              .then(() => {})
+              .catch(() => {});
+            return false;
+          }
+            if (
+            new Date(this.dueForm.deadDate).getTime() <
+            new Date(this.dueForm.startTime).getTime()
+          ) {
+            this.$confirm("尽调财务数据截止日期不能小于期望尽调开始时间,请重新选择!", "提示", {
+              confirmButtonText: "确定",
+              cancelButtonText: "取消",
+              type: "warning",
+            })
+              .then(() => {})
+              .catch(() => {});
+            return false;
+          }
           if (this.dueForm.id != null) {
             updateInvestigate(this.dueForm).then((response) => {
               this.$modal.msgSuccess("修改成功");

+ 58 - 31
ruoyi-ui/src/views/invest/components/fileItem.vue

@@ -1,36 +1,53 @@
 <template>
   <div class="uploadWrapper">
-    <el-upload
-      ref="upload"
-      class="upload"
-      multiple
-      :file-list="fileList"
-      :action="uploadFileUrl"
-      :headers="headers"
-      :on-change="handleChange"
-      :on-remove="handleRemove"
-      :before-remove="beforeRemove"
-      :on-success="handleUploadSuccess"
-      :on-preview="handlePreview"
-    >
-      <el-button size="small" type="primary" :disabled="forbid"
-        >点击上传</el-button
+    <div v-if="!forbid">
+      <el-upload
+        ref="upload"
+        class="upload"
+        multiple
+        :file-list="fileList"
+        :action="uploadFileUrl"
+        :headers="headers"
+        :on-change="handleChange"
+        :on-remove="handleRemove"
+        :before-remove="beforeRemove"
+        :on-success="handleUploadSuccess"
+        :on-preview="handlePreview"
       >
-      <template v-slot:file="{ file }">
-        <div class="public-flex-between">
-          <div @click="handlePreview(file)" class="name">{{ file.name }}</div>
+        <el-button size="small" type="primary" :disabled="forbid"
+          >点击上传</el-button
+        >
+        <template v-slot:file="{ file }">
+          <div class="public-flex-between">
+            <div @click="handlePreview(file)" class="name">{{ file.name }}</div>
 
-          <!-- 自定义删除按钮,通过条件判断是否显示 -->
-          <el-button
-            v-if="!forbid"
-            size="mini"
-            type="text"
-            icon="el-icon-delete"
-            @click="handleRemove(file)"
-          ></el-button>
-        </div>
-      </template>
-    </el-upload>
+            <!-- 自定义删除按钮,通过条件判断是否显示 -->
+            <el-button
+              v-if="!forbid"
+              size="mini"
+              type="text"
+              icon="el-icon-delete"
+              @click="handleRemove(file)"
+            ></el-button>
+          </div>
+        </template>
+      </el-upload>
+    </div>
+    <div v-else>
+      <ul class="fileBox" v-if="fileList.length > 0">
+        <li
+          class="fileItemLi"
+          v-for="(item, index) in fileList"
+          :key="index"
+          @click="handlePreview(item)"
+        >
+          {{ item.newUploadName }}
+        </li>
+      </ul>
+      <ul v-else>
+        (空)
+      </ul>
+    </div>
   </div>
 </template>
 <script>
@@ -59,9 +76,9 @@ export default {
   },
   methods: {
     // 根据附件业务ID()获取附件详情信息列表
-    getListFileBusinessId(id,uploadType) {
+    getListFileBusinessId(id, uploadType) {
       if (id) {
-        listFileBusinessId(id,uploadType).then((response) => {
+        listFileBusinessId(id, uploadType).then((response) => {
           if (response.data.length > 0) {
             let list = response.data;
             for (let i in list) {
@@ -140,4 +157,14 @@ export default {
 .name {
   cursor: pointer;
 }
+.fileItemLi {
+  cursor: pointer;
+  color: #1890ff;
+}
+.fileItemLi:hover {
+  background: #f5f7fa;
+  border-radius: 5px;
+}
+.fileBox {
+}
 </style>

+ 4 - 4
ruoyi-ui/src/views/invest/components/followList.vue

@@ -102,7 +102,7 @@
           plain
           icon="el-icon-delete"
           size="mini"
-          :disabled="multiple"
+          :disabled="single"
           @click="handleSelectData(2)"
           v-hasPermi="['invest:record:remove']"
           >删除</el-button
@@ -158,7 +158,7 @@
           <div
             :title="scope.row.tProjectPool.projectName"
             class="public-text-blue public-cursor"
-            @click="handleDetail(scope.row)"
+            @click.stop="handleDetail(scope.row)"
           >
             {{ scope.row.tProjectPool.projectName }}
           </div>
@@ -824,14 +824,14 @@ export default {
         } else {
           this.$message({
             message: "无权限",
-            duration: 1200,
+            duration: 1500,
             type: "error",
           });
         }
       } else {
         this.$message({
           message: "只能选择一条数据",
-          duration: 1200,
+          duration: 1500,
           type: "warning",
         });
       }

+ 1 - 1
ruoyi-ui/src/views/invest/components/listAllfile.vue

@@ -30,7 +30,7 @@
     </div>
     <div
       v-else
-      class="public-flex-center public-padded-t-20"
+      class="public-flex-center public-padded-20"
       style="color: #909399"
     >
       暂无数据

+ 22 - 15
ruoyi-ui/src/views/invest/components/meetingList.vue

@@ -116,7 +116,7 @@
           plain
           icon="el-icon-delete"
           size="mini"
-          :disabled="multiple"
+          :disabled="single"
           @click="handleSelectData(2)"
           v-hasPermi="['invest:meeting:remove']"
           >删除</el-button
@@ -186,7 +186,7 @@
           <div
             :title="scope.row.meetingTheme"
             class="public-text-blue public-cursor"
-            @click="handleDetail(scope.row)"
+            @click.stop="handleDetail(scope.row)"
           >
             {{ scope.row.meetingTheme }}
           </div>
@@ -912,7 +912,7 @@ export default {
         callback();
       }
     };
-      const validateLogo1 = (rule, value, callback) => {
+    const validateLogo1 = (rule, value, callback) => {
       if (this.fileListTJApply.length <= 0) {
         callback(new Error("请上传文件"));
       } else {
@@ -977,7 +977,7 @@ export default {
         projectPoolId: null,
         projectName: null,
         projectStage: null,
-        projectGroup: null,
+        projectGroup: "",
         startTime: null,
         endTime: null,
         place: null,
@@ -990,7 +990,7 @@ export default {
         createTime: null,
         updateBy: null,
         updateTime: null,
-        projectGroup: null,
+        projectGroup: "",
       },
       // 表单校验
       rules: {
@@ -1168,7 +1168,7 @@ export default {
           if (!this.showMarkBtn && !isInitiator) {
             this.$message({
               message: "暂无更多操作权限",
-              duration: 1200,
+              duration: 1500,
               type: "warning",
             });
           }
@@ -1281,12 +1281,16 @@ export default {
     // 获取公司信息
     getProjectInfo(info) {
       if (info.length > 0) {
-        // console.log("info=", info);
+        console.log("info=", info);
         this.form.projectPoolId = info[0].id;
         this.form.projectName = info[0].projectName;
         this.form.projectStage = info[0].projectStage;
-        this.form.projectGroup = info[0].tProjectChannel.channelGroup;
         this.form.projectState = info[0].projectState;
+        if (info[0].tProjectChannel && info[0].tProjectChannel.channelGroup) {
+          this.form.projectGroup = info[0].tProjectChannel.channelGroup;
+        } else {
+          this.form.projectGroup = "";
+        }
         this.$refs.form.clearValidate(["projectName"]);
       }
     },
@@ -1321,12 +1325,12 @@ export default {
         projectPoolId: null,
         projectName: null,
         projectStage: null,
-        projectGroup: null,
+        projectGroup: "",
         startTime: null,
         endTime: null,
         place: null,
-        promoter: null,
-        promoterId: null,
+        promoter: this.user.nickName,
+        promoterId: this.user.userId,
         participants: null,
         participantsId: null,
         delFlag: null,
@@ -1334,7 +1338,7 @@ export default {
         createTime: null,
         updateBy: null,
         updateTime: null,
-        projectGroup: null,
+        projectGroup: "",
       };
       this.resetForm("form");
     },
@@ -1470,6 +1474,9 @@ export default {
     submitForm() {
       this.$refs["form"].validate((valid) => {
         if (valid) {
+          if (!this.form.projectGroup) {
+            this.form.projectGroup = "";
+          }
           if (
             new Date(this.form.endTime).getTime() <
             new Date(this.form.startTime).getTime()
@@ -1523,7 +1530,7 @@ export default {
     },
     // 投决申请-提交
     submitFormTJApply() {
-      console.log("11111")
+      console.log("11111");
       this.$refs["formTJApply"].validate((valid) => {
         if (valid) {
           this.formTJApply.listFile = this.fileListTJApply;
@@ -1588,14 +1595,14 @@ export default {
         } else {
           this.$message({
             message: "无权限",
-            duration: 1200,
+            duration: 1500,
             type: "error",
           });
         }
       } else {
         this.$message({
           message: "只能选择一条数据",
-          duration: 1200,
+          duration: 1500,
           type: "warning",
         });
       }

+ 83 - 21
ruoyi-ui/src/views/invest/components/poolForm.vue

@@ -14,11 +14,13 @@
           maxlength="100"
           v-model="form.projectName"
           placeholder="请输入项目名称"
+          :disabled="type === '2'"
         />
       </el-form-item>
 
       <el-form-item label="渠道" prop="channel">
         <el-select
+          :disabled="type === '2'"
           v-model="form.tProjectChannel.channelName"
           placeholder="请选择"
           clearable
@@ -46,6 +48,7 @@
       </el-form-item>
       <el-form-item label="初次接触日期" prop="contactDate">
         <el-date-picker
+          :disabled="type === '2'"
           clearable
           v-model="form.contactDate"
           type="date"
@@ -69,7 +72,11 @@
         </el-select>
       </el-form-item>
       <el-form-item label="所属行业" prop="industry">
-        <el-select v-model="form.industry" placeholder="请选择所属行业">
+        <el-select
+          v-model="form.industry"
+          placeholder="请选择所属行业"
+          :disabled="type === '2'"
+        >
           <el-option
             v-for="dict in dict.type.CUSTOMER_TRADE"
             :key="dict.value"
@@ -79,7 +86,17 @@
         </el-select>
       </el-form-item>
       <el-form-item label="项目负责人" prop="investHead">
-        <div class="el-input__inner inputSimulation" @click="openSelectDept">
+        <el-input
+          v-if="type === '2'"
+          maxlength="30"
+          v-model="form.investHead"
+          :disabled="type === '2'"
+        />
+        <div
+          class="el-input__inner inputSimulation"
+          @click="openSelectDept"
+          v-else
+        >
           {{ form.investHead ? form.investHead : "请选择项目负责人" }}
         </div>
         <selecDept
@@ -95,6 +112,7 @@
         class="special-el-form-item"
       >
         <el-input
+          :disabled="type === '2'"
           maxlength="200"
           rows="4"
           type="textarea"
@@ -106,6 +124,7 @@
       <el-divider></el-divider>
       <el-form-item label="公司名称" prop="tProjectCompany.companyName">
         <el-input
+          :disabled="type === '2'"
           maxlength="100"
           v-model="form.tProjectCompany.companyName"
           placeholder="请输入公司名称"
@@ -113,6 +132,7 @@
       </el-form-item>
       <el-form-item label="统一社会信用代码" prop="tProjectCompany.companyCode">
         <el-input
+          :disabled="type === '2'"
           maxlength="35"
           v-model="form.tProjectCompany.companyCode"
           placeholder="请输入企业统一社会信用代码"
@@ -120,6 +140,7 @@
       </el-form-item>
       <el-form-item label="营业开始时间" prop="tProjectCompany.startTime">
         <el-date-picker
+          :disabled="type === '2'"
           clearable
           v-model="form.tProjectCompany.startTime"
           type="date"
@@ -130,6 +151,7 @@
       </el-form-item>
       <el-form-item label="营业结束时间" prop="tProjectCompany.endTime">
         <el-date-picker
+          :disabled="type === '2'"
           clearable
           v-model="form.tProjectCompany.endTime"
           type="date"
@@ -143,6 +165,7 @@
         prop="tProjectCompany.registeredCapital"
       >
         <el-input
+          :disabled="type === '2'"
           maxlength="20"
           v-model="form.tProjectCompany.registeredCapital"
           @input="
@@ -157,6 +180,7 @@
       </el-form-item>
       <el-form-item label="实缴资本(万元)" prop="tProjectCompany.paidCapital">
         <el-input
+          :disabled="type === '2'"
           maxlength="20"
           v-model="form.tProjectCompany.paidCapital"
           @input="
@@ -172,6 +196,7 @@
 
       <el-form-item label="实控人" prop="tProjectCompany.actualBod">
         <el-input
+          :disabled="type === '2'"
           maxlength="25"
           v-model="form.tProjectCompany.actualBod"
           placeholder="请输入实控人"
@@ -179,6 +204,7 @@
       </el-form-item>
       <el-form-item label="联系电话" prop="tProjectCompany.phone">
         <el-input
+          :disabled="type === '2'"
           maxlength="20"
           v-model="form.tProjectCompany.phone"
           placeholder="请输入联系电话"
@@ -186,6 +212,7 @@
       </el-form-item>
       <el-form-item label="所属类型" prop="tProjectCompany.type">
         <el-input
+          :disabled="type === '2'"
           maxlength="25"
           v-model="form.tProjectCompany.type"
           placeholder="请输入所属类型"
@@ -193,6 +220,7 @@
       </el-form-item>
       <el-form-item label="备案时间" prop="tProjectCompany.filingTime">
         <el-date-picker
+          :disabled="type === '2'"
           clearable
           v-model="form.tProjectCompany.filingTime"
           type="date"
@@ -207,6 +235,7 @@
         class="special-el-form-item"
       >
         <el-input
+          :disabled="type === '2'"
           type="textarea"
           rows="4"
           maxlength="100"
@@ -221,6 +250,7 @@
         class="special-el-form-item"
       >
         <el-input
+          :disabled="type === '2'"
           type="textarea"
           rows="4"
           maxlength="100"
@@ -243,6 +273,7 @@
       <el-divider></el-divider>
       <el-form-item label="联系人姓名" prop="tProjectContacts.name">
         <el-input
+          :disabled="type === '2'"
           maxlength="25"
           v-model="form.tProjectContacts.name"
           placeholder="请输入联系人姓名"
@@ -250,6 +281,7 @@
       </el-form-item>
       <el-form-item label="职位" prop="tProjectContacts.position">
         <el-input
+          :disabled="type === '2'"
           maxlength="25"
           v-model="form.tProjectContacts.position"
           placeholder="请输入职位"
@@ -257,6 +289,7 @@
       </el-form-item>
       <el-form-item label="联系电话/微信" prop="tProjectContacts.contact">
         <el-input
+          :disabled="type === '2'"
           maxlength="25"
           v-model="form.tProjectContacts.contact"
           placeholder="请输入联系电话/微信"
@@ -266,6 +299,7 @@
       <el-divider></el-divider>
       <el-form-item label="项目融资阶段" prop="financingStage">
         <el-select
+          :disabled="type === '2'"
           v-model="form.financingStage"
           placeholder="请选择项目融资阶段"
         >
@@ -279,6 +313,7 @@
       </el-form-item>
       <el-form-item label="预期融资金额(万元)" prop="financingMoney">
         <el-input
+          :disabled="type === '2'"
           maxlength="20"
           v-model="form.financingMoney"
           @input="
@@ -290,6 +325,7 @@
       </el-form-item>
       <el-form-item label="投前估值(万元)" prop="investValuation">
         <el-input
+          :disabled="type === '2'"
           maxlength="20"
           v-model="form.investValuation"
           @input="
@@ -304,6 +340,7 @@
       </el-form-item>
       <el-form-item label="预计投资金额(万元)" prop="investMoney">
         <el-input
+          :disabled="type === '2'"
           maxlength="20"
           v-model="form.investMoney"
           @input="
@@ -315,7 +352,11 @@
       </el-form-item>
       <!--  -->
       <el-form-item label="投资类型" prop="investType">
-        <el-select v-model="form.investType" placeholder="请选择投资类型">
+        <el-select
+          v-model="form.investType"
+          placeholder="请选择投资类型"
+          :disabled="type === '2'"
+        >
           <el-option
             v-for="dict in dict.type.invest_type"
             :key="dict.value"
@@ -325,7 +366,11 @@
         </el-select>
       </el-form-item>
       <el-form-item label="投资策略" prop="investPloy">
-        <el-select v-model="form.investPloy" placeholder="请选择投资策略">
+        <el-select
+          v-model="form.investPloy"
+          placeholder="请选择投资策略"
+          :disabled="type === '2'"
+        >
           <el-option
             v-for="dict in dict.type.invest_ploy"
             :key="dict.value"
@@ -335,7 +380,11 @@
         </el-select>
       </el-form-item>
       <el-form-item label="投资价值" prop="investWorth">
-        <el-select v-model="form.investWorth" placeholder="请选择投资价值">
+        <el-select
+          v-model="form.investWorth"
+          placeholder="请选择投资价值"
+          :disabled="type === '2'"
+        >
           <el-option
             v-for="dict in dict.type.invest_worth"
             :key="dict.value"
@@ -350,6 +399,7 @@
         class="special-el-form-item"
       >
         <el-input
+          :disabled="type === '2'"
           maxlength="200"
           rows="4"
           type="textarea"
@@ -363,6 +413,7 @@
         class="special-el-form-item"
       >
         <el-input
+          :disabled="type === '2'"
           maxlength="200"
           rows="4"
           type="textarea"
@@ -376,6 +427,7 @@
         class="special-el-form-item"
       >
         <el-input
+          :disabled="type === '2'"
           maxlength="200"
           rows="4"
           type="textarea"
@@ -390,6 +442,7 @@
         class="special-el-form-item"
       >
         <el-input
+          :disabled="type === '2'"
           maxlength="200"
           rows="4"
           type="textarea"
@@ -420,6 +473,7 @@
       </el-form-item>
       <el-form-item label="备注" prop="mark" class="special-el-form-item">
         <el-input
+          :disabled="type === '2'"
           maxlength="200"
           :readonly="type === '2' ? true : false"
           rows="4"
@@ -494,7 +548,7 @@ export default {
       form: {
         id: null,
         projectName: null,
-        projectGroup: null,
+        projectGroup: "",
         industry: null,
         recordDate: null,
         projectCode: null,
@@ -730,6 +784,11 @@ export default {
           };
         }
         setTimeout(() => {
+          if (this.type == "2") {
+            this.$refs.fileItem.handleButton();
+            this.$refs.bpFileItem.handleButton();
+            this.$refs.otherFileItem.handleButton();
+          }
           this.$refs.fileItem.fileList = [];
           this.$refs.fileItem.getListFileBusinessId(
             this.form.tProjectCompany.companyId
@@ -768,11 +827,14 @@ export default {
     submitForm(type) {
       let that = this;
       if (type === 1) {
-        if(!this.form.projectName){
+        // 暂存
+        if (!this.form.projectName) {
           this.$modal.msgError("请输入项目名称");
           return false;
         }
-        // 暂存
+        this.form.listFile = this.fileList;
+        this.form.bpFile = this.fileListBP;
+        this.form.otherFile = this.fileListOther;
         if (this.form.id != null) {
           updatePool(this.form).then((response) => {
             this.$modal.msgSuccess("暂存成功");
@@ -866,7 +928,7 @@ export default {
       this.form = {
         id: null,
         projectName: null,
-        projectGroup: null,
+        projectGroup: "",
         industry: null,
         recordDate: null,
         projectCode: null,
@@ -950,18 +1012,18 @@ export default {
 }
 .poolDetail {
   position: relative;
-  cursor: not-allowed;
-}
-.poolDetail  ::placeholder{
-  color:#fff;
+  // cursor: not-allowed;
 }
-.poolDetail::after {
-  content: "";
-  display: block;
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 120%;
+.poolDetail ::placeholder {
+  color: #f5f7fa !important;
 }
+// .poolDetail::after {
+//   content: "";
+//   display: block;
+//   position: absolute;
+//   top: 0;
+//   left: 0;
+//   width: 100%;
+//   height: 120%;
+// }
 </style>

+ 3 - 1
ruoyi-ui/src/views/invest/components/projectItem.vue

@@ -30,9 +30,10 @@
           prop="tProjectChannel.channelName"
         >
           <template slot-scope="scope">
-            <div :title="scope.row.tProjectChannel.channelName">
+            <div :title="scope.row.tProjectChannel.channelName" v-if="scope.row.tProjectChannel && scope.row.tProjectChannel.channelName">
               {{ scope.row.tProjectChannel.channelName }}
             </div>
+            <div v-else>无</div>
           </template>
         </el-table-column>
         <el-table-column
@@ -42,6 +43,7 @@
         >
           <template slot-scope="scope">
             <dict-tag
+              v-if="scope.row.tProjectChannel && scope.row.tProjectChannel.channelGroup"
               :options="dict.type.project_group"
               :value="scope.row.tProjectChannel.channelGroup"
             />

+ 78 - 113
ruoyi-ui/src/views/invest/components/projectList.vue

@@ -273,6 +273,7 @@
       ref="dataTable"
       @row-click="clickRow"
       class="tableWrapper"
+      :class="{ hideHeaderCheckBox: stage !== '0' }"
       v-loading="loading"
       border
       :data="poolList"
@@ -291,7 +292,7 @@
           <div
             :title="scope.row.projectName"
             class="public-text-blue public-cursor"
-            @click="handleDetail(scope.row)"
+            @click.stop="handleDetail(scope.row)"
           >
             {{ scope.row.projectName }}
           </div>
@@ -309,7 +310,7 @@
         </template>
       </el-table-column>
       <el-table-column
-        label="注册地址"
+        label="项目所属城市"
         align="center"
         prop="tProjectCompany.registeredAddress"
       >
@@ -319,7 +320,7 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="项目所属行业" align="center" prop="industry"
+      <el-table-column label="所属行业" align="center" prop="industry"
         ><template slot-scope="scope">
           <dict-tag
             :options="dict.type.CUSTOMER_TRADE"
@@ -335,7 +336,7 @@
           />
         </template>
       </el-table-column>
-      <el-table-column label="项目状态" align="center" prop="projectState">
+      <el-table-column label="项目状态" align="center" prop="projectState" width="120">
         <template slot-scope="scope">
           <dict-tag
             :options="dict.type.project_state"
@@ -343,12 +344,34 @@
           />
         </template>
       </el-table-column>
-      <el-table-column label="立项通过日期" align="center" prop="projectDate">
+
+      <el-table-column
+        label="备案时间"
+        align="center"
+        prop="tProjectCompany.filingTime"
+      >
+        <template slot-scope="scope">
+          <span>{{
+            parseTime(scope.row.tProjectCompany.filingTime, "{y}-{m}-{d}")
+          }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="立项通过日期"
+        align="center"
+        prop="projectDate"
+        v-if="stage !== '1'"
+      >
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.projectDate, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="投决通过日期" align="center" prop="decisionDate">
+      <el-table-column
+        label="投决通过日期"
+        align="center"
+        prop="decisionDate"
+        v-if="stage !== '1'"
+      >
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.decisionDate, "{y}-{m}-{d}") }}</span>
         </template>
@@ -416,12 +439,7 @@
         width="160"
       /> -->
       <!-- delFlag -->
-      <el-table-column
-        label="状态"
-        align="center"
-        prop="investHead"
-        width="50px"
-      >
+      <el-table-column label="状态" align="center" prop="investHead">
         <template slot-scope="scope">
           <div :title="scope.row.delFlag === '1' ? '终止' : '正常'">
             {{ scope.row.delFlag === "1" ? "终止" : "正常" }}
@@ -627,7 +645,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
         projectName: null,
-        projectGroup: null,
+        projectGroup: "",
         projectCode: null,
         channel: null,
         contactDate: null,
@@ -653,40 +671,6 @@ export default {
         createTime: null,
       },
       channelList: [],
-
-      // isInitiator: false, //是否是发起人
-      // needInitiate: false, //需要发起申请
-      // needUpload: false, //需要上传
-
-      // dueForm: {
-      //   id: null,
-      //   investigateName: null,
-      //   investigateCode: null,
-      //   projectPoolId: null,
-      //   investigatePerson: null,
-      //   investigatePersonId: null,
-      //   investigateCost: null,
-      //   describe: null,
-      //   remark: null,
-      //   delFlag: null,
-      //   createBy: null,
-      //   createTime: null,
-      //   updateBy: null,
-      //   updateTime: null,
-      //   projectPoolId: null,
-      //   projectName: null,
-      // },
-      // 上传评估意见
-      // formAssess: {
-      //   id: null,
-      //   assess: null,
-      //   projectPoolId: null,
-      // },
-      // openAssess: false,
-      // titleAssess: "",
-      // rulesAssess: {
-      //   assess: [{ required: true, trigger: "blur", message: "请输入" }],
-      // },
     };
   },
   computed: {
@@ -743,6 +727,16 @@ export default {
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
+      if (this.stage !== "0") {
+        if (selection.length > 1) {
+          //移除上一次选中行数据
+          selection.shift();
+          //修改选中图标为未选中状态
+          this.$refs.dataTable.clearSelection();
+          //将当前选中行改为选中状态
+          this.$refs.dataTable.toggleRowSelection(selection[0]);
+        }
+      }
       this.ids = selection.map((item) => item.id);
       this.idsName = selection.map((item) => item.projectName);
       this.single = selection.length !== 1;
@@ -763,83 +757,46 @@ export default {
       // 11=投决申请 12=发起投决会议 13=上传打分表(投决)
       if (this.selectRowList.length == 1) {
         const row = this.selectRowList[0];
-        // 项目负责人
-        if (row.investHead === this.user.nickName) {
-          if (type === 4) {
-            if (row.delFlag === "1") {
+        if (row.delFlag === "1") {
+          this.$message({
+            message: "项目已终止",
+            duration: 1500,
+            type: "error",
+          });
+        } else if (row.investHead === this.user.nickName) {
+          // 项目负责人
+          if (type === 1) {
+            // 修改
+            this.handleUpdate(row);
+          } else if (type === 2) {
+            // 详情
+            this.handleDetail(row);
+          } else if (type === 3) {
+            if (row.projectState !== "1") {
+              // 设置项目阶段
+              this.$refs.businessUpdate.handleBusinessUpdate(row);
+            } else {
               this.$message({
-                message: "项目已终止",
-                duration: 1200,
-                type: "error",
+                message: "暂存时不能设置项目阶段",
+                duration: 1500,
+                type: "warning",
               });
-            } else {
-              this.handleDelete(row);
-            }
-          } else if (row.delFlag !== "1") {
-            // 未终止
-            if (type === 1) {
-              // 修改
-              this.handleUpdate(row);
-            } else if (type === 2) {
-              // 详情
-              this.handleDetail(row);
-            } else if (type === 3) {
-              if (row.projectState !== "1") {
-                // 设置项目阶段
-                this.$refs.businessUpdate.handleBusinessUpdate(row);
-              } else {
-                this.$message({
-                  message: "暂存时不能修改项目阶段",
-                  duration: 1200,
-                  type: "warning",
-                });
-              }
-            } else if (type === 5) {
-              // 上传评估意见
-              this.handleAssessPop(row);
-            } else if (type === 6) {
-              // 立项申请
-              this.$refs.meetingList.showLXApplyPop(row);
-            } else if (type === 7) {
-              // 发起立项会议
-              this.handleMeeting(row, otherData);
-            } else if (type === 8) {
-              // 立项-去打分
-              this.$refs.meetingList.handleMark(row, "1", false);
-            } else if (type === 9) {
-              // 尽调申请
-              this.handleDropdown("1", row);
-            } else if (type === 10) {
-              // 上传尽调报告
-              this.handleDropdown("3", row);
-            } else if (type === 11) {
-              // 投决申请
-              this.$refs.meetingList.showTJApplyPop(row);
-            } else if (type === 12) {
-              // 发起投决会议
-              this.handleMeeting(row, otherData);
-            } else if (type === 13) {
-              // 投决-去打分
-              this.$refs.meetingList.handleMark(row, "3", false);
             }
-          } else {
-            this.$message({
-              message: "无权限",
-              duration: 1200,
-              type: "error",
-            });
+          } else if (type === 4) {
+            // 终止
+            this.handleDelete(row);
           }
         } else {
           this.$message({
             message: "无权限",
-            duration: 1200,
+            duration: 1500,
             type: "error",
           });
         }
       } else {
         this.$message({
           message: "只能选择一条数据",
-          duration: 1200,
+          duration: 1500,
           type: "warning",
         });
       }
@@ -910,7 +867,7 @@ export default {
     //       if (!this.needUpload && !this.isInitiator) {
     //         this.$message({
     //           message: "暂无更多操作权限",
-    //           duration: 1200,
+    //           duration: 1500,
     //           type: "warning",
     //         });
     //       }
@@ -920,7 +877,7 @@ export default {
     //       if (!this.isInitiator) {
     //         this.$message({
     //           message: "暂无更多操作权限",
-    //           duration: 1200,
+    //           duration: 1500,
     //           type: "warning",
     //         });
     //       }
@@ -976,4 +933,12 @@ export default {
     -webkit-box-orient: vertical;
   }
 }
+/**找到表头那一行,然后把里面的复选框隐藏掉**/
+.hideHeaderCheckBox
+  ::v-deep
+  .el-table__header-wrapper
+  .el-table__header
+  .el-checkbox {
+  display: none;
+}
 </style>

+ 2 - 2
ruoyi-ui/src/views/invest/components/selecDept.vue

@@ -176,14 +176,14 @@ export default {
     handleSelectionChange(selection) {
       if (this.type == 1) {
         if (selection.length > 1) {
-          this.$modal.msg("只能选择一个跟进人");
+          this.$modal.msg("只能选择一个");
           this.$refs.table.clearSelection();
           return;
         }
         if (this.ids.length == 0) {
           this.ids = selection;
         } else {
-          this.$modal.msg("只能选择一个跟进人");
+          this.$modal.msg("只能选择一个");
           this.ids = [];
           // table与table的ref绑定的一样
           this.$refs.table.clearSelection();

+ 153 - 39
ruoyi-ui/src/views/invest/components/tableForm.vue

@@ -6,6 +6,32 @@
       :model="form1"
       label-width="120px"
     >
+      <el-form-item
+        label="项目名称"
+        prop="projectName"
+        class="special-el-form-item"
+      >
+        <el-input
+          type="textarea"
+          rows="2"
+          v-model="form1.projectName"
+          disabled
+        />
+      </el-form-item>
+      <el-form-item
+        label="项目阶段"
+        prop="projectStage"
+        class="special-el-form-item"
+      >
+        <el-select v-model="form1.projectStage" disabled placeholder="">
+          <el-option
+            v-for="dict in dict.type.project_stage"
+            :key="dict.value"
+            :label="dict.label"
+            :value="dict.value"
+          />
+        </el-select>
+      </el-form-item>
       <el-form-item label="会议主题" prop="meetingTheme">
         <el-input
           v-model="form1.meetingTheme"
@@ -24,19 +50,6 @@
         </el-select>
       </el-form-item>
 
-      <el-form-item label="项目名称" prop="projectName">
-        <el-input v-model="form1.projectName" disabled />
-      </el-form-item>
-      <el-form-item label="项目阶段" prop="projectStage">
-        <el-select v-model="form1.projectStage" disabled placeholder="">
-          <el-option
-            v-for="dict in dict.type.project_stage"
-            :key="dict.value"
-            :label="dict.label"
-            :value="dict.value"
-          />
-        </el-select>
-      </el-form-item>
       <el-form-item label="会议开始时间" prop="startTime">
         <el-date-picker
           disabled
@@ -65,12 +78,70 @@
       <el-form-item label="会议发起人" prop="promoter">
         <el-input v-model="form1.promoter" disabled />
       </el-form-item>
-      <el-form-item label="会议参与人" prop="participants">
-        <el-input v-model="form1.participants" disabled />
+      <el-form-item
+        label="会议参与人"
+        prop="participants"
+        class="special-el-form-item"
+      >
+        <el-input
+          type="textarea"
+          rows="2"
+          v-model="form1.participants"
+          disabled
+        />
       </el-form-item>
-      <!-- <el-form-item label="附件" prop="file">
-        <fileItem disabled ref="fileItems" :id="form.id"></fileItem>
-      </el-form-item> -->
+      <el-form-item label="附件" prop="file" class="special-el-form-item">
+        <fileItem ref="fileItems" :id="form.id"></fileItem>
+      </el-form-item>
+      <!-- 所有人打分列表 scoringList -->
+      <el-table
+        ref="dataTable"
+        class="tableWrapper"
+        border
+        :data="scoringList"
+        v-if="scoringList.length > 0"
+      >
+        <el-table-column
+          type="index"
+          label="序号"
+          width="50"
+          align="center"
+        ></el-table-column>
+        <el-table-column
+          label="打分人"
+          align="center"
+          prop="investCommissioner"
+        >
+          <template slot-scope="scope">
+            <div :title="scope.row.investCommissioner">
+              {{ scope.row.investCommissioner }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="打分时间" align="center" prop="createTime">
+          <template slot-scope="scope">
+            <div :title="scope.row.createTime">
+              {{ scope.row.createTime }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column
+          label="操作"
+          align="center"
+          class-name="small-padding fixed-width"
+        >
+          <template slot-scope="scope">
+            <el-button
+              class="custom-blue-color"
+              size="mini"
+              type="text"
+              icon="el-icon-search"
+              @click="handleDetail(scope.row)"
+              >查看</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
     </el-form>
     <el-form
       class="table-form ss_scoreTable"
@@ -2052,7 +2123,7 @@
   </div>
   <div
     v-else
-    class="public-flex-center public-padded-t-20"
+    class="public-flex-center public-padded-20"
     style="color: #909399"
   >
     暂无数据
@@ -2065,8 +2136,10 @@ import {
   addScoring,
   getScoring,
   selectMeetingId,
+  getScoringListById,
 } from "@/api/invest/meeting";
-import { mapGetters } from 'vuex'
+import fileItem from "./fileItem";
+import { mapGetters } from "vuex";
 export default {
   props: {
     formType: {
@@ -2082,6 +2155,7 @@ export default {
     },
   },
   dicts: ["meeting_type", "project_stage", "project_group"],
+  components: { fileItem },
   data() {
     return {
       id: "",
@@ -2139,7 +2213,7 @@ export default {
         projectPoolId: null,
         projectName: null,
         projectStage: null,
-        projectGroup: null,
+        projectGroup: "",
         startTime: null,
         endTime: null,
         place: null,
@@ -2213,6 +2287,8 @@ export default {
         quitWay: [{ required: true, trigger: "blur", message: "请打分" }],
         // illustrate: [{ required: true, trigger: "blur", message: "请输入" }],
       },
+      // 所以人打分列表
+      scoringList: [],
     };
   },
   computed: {
@@ -2224,33 +2300,58 @@ export default {
     }
   },
   methods: {
+    ListGetScoringListById(id) {
+      getScoringListById(id).then((response) => {
+        this.scoringList = response.rows;
+      });
+    },
     async initialize(id) {
       this.id = id;
       await this.getDetail(id);
       // 汇总表
       if (this.formType === 2 || this.formType === 4) {
         this.getSelectMeetingId(id);
+        this.ListGetScoringListById(id);
       } else if (this.readonly) {
         // 打分详情
         this.form = this.$store.getters.tProjectScoring;
-        // this.getScoringList(id);
+        // console.log("this.form=",this.form)
+        // if (this.form.id) {
+        //   this.getScoringList(this.form.id);
+        // }
       }
     },
-    showNodata(){
+    showNodata() {
       this.id = null;
     },
+
+    // 打分详情-弹窗
+    handleDetail(row) {
+      this.$store.commit("SET_TPROJECTSCORING", row);
+      let type;
+      if (this.formType === 2) {
+        type = 1;
+      } else if (this.formType === 4) {
+        type = 3;
+      }
+      this.$router.push({
+        path: "/invest/meeting/mark",
+        query: { id: row.meetingId, formType: type, readonly: this.readonly },
+      });
+    },
     // 根据会议ID查询汇总分数和平均分数
     getSelectMeetingId(id) {
       selectMeetingId(id).then((response) => {
-
         this.collectForm = response.data;
         this.collectForm.investCommissioner = this.form.investCommissioner;
       });
     },
     // 打分详情
-    // getScoringList(id) {
-    //   getScoring(id).then((response) => {});
-    // },
+    getScoringList(id) {
+      getScoring(id).then((response) => {
+        this.form = response.data;
+      });
+    },
     // 会议i详情
     getDetail(id) {
       getMeeting(id).then((response) => {
@@ -2265,8 +2366,14 @@ export default {
         this.form.scoringPerson = this.user.userId;
         //  投资总监
         this.form.investCommissioner = response.data.tProjectPool.investHead;
-        this.collectForm.investCommissioner = response.data.tProjectPool.investHead;
+        this.collectForm.investCommissioner =
+          response.data.tProjectPool.investHead;
         this.form.meetingId = response.data.id;
+        setTimeout(() => {
+          this.$refs.fileItems.fileList = [];
+          this.$refs.fileItems.getListFileBusinessId(id);
+          this.$refs.fileItems.handleButton();
+        }, 300);
       });
     },
     submitForm() {
@@ -2308,15 +2415,16 @@ export default {
  
 <style lang="scss" scoped>
 .special-el-form {
-  margin-top: 50px;
-}
-::v-deep .el-input.is-disabled .el-input__inner {
-  background-color: #fff !important;
-  color: #606266;
+  margin-top: 20px;
 }
+
 /*表格样式开始*/
 .ss_scoreTable {
   padding-bottom: 50px;
+  ::v-deep .el-input.is-disabled .el-input__inner {
+    background-color: #fff !important;
+    color: #606266;
+  }
   ::v-deep .el-input__inner {
     border: 1px solid transparent;
     text-align: center;
@@ -2326,7 +2434,10 @@ export default {
     height: 50px;
     resize: none;
   }
-  textarea:disabled {
+  ::v-deep .el-textarea.is-disabled .el-textarea__inner {
+    background-color: #fff !important;
+  }
+  textarea:disabled,input:disabled {
     background-color: #fff !important;
   }
   // ::v-deep .el-textarea__inner {
@@ -2335,7 +2446,7 @@ export default {
   table {
     // width:80%;
     // width: 600px;
-    margin: 0 80px;
+    margin: 0 30px;
     -moz-user-select: none;
     -webkit-user-select: none;
     -ms-user-select: none;
@@ -2344,11 +2455,11 @@ export default {
     user-select: none; /*内容禁止选中*/
   }
   tbody td {
-    font-size: 16px;
+    font-size: 14px;
   }
   thead th,
   .big-font {
-    font-size: 18px !important;
+    font-size: 16px !important;
     font-weight: bold;
   }
   .public-pedded-0 {
@@ -2375,7 +2486,7 @@ export default {
     font-size: 20px;
     font-weight: bold;
     text-align: center;
-    margin-top: 20px;
+    // margin-top: 20px;
   }
   .bg-blue,
   .specificTr > th:nth-child(2n-1) {
@@ -2393,7 +2504,7 @@ export default {
     height: 50px;
   }
   input:disabled {
-    background-color: #fff !important;
+    // background-color: #fff !important;
   }
   .btnList {
     width: 100%;
@@ -2403,4 +2514,7 @@ export default {
     margin-top: 30px;
   }
 }
+.tableWrapper {
+  margin: 20px 0;
+}
 </style>

+ 16 - 7
ruoyi-ui/src/views/invest/pool/detail.vue

@@ -67,10 +67,10 @@
         <el-step title="投后"></el-step>
       </el-steps>
       <el-divider></el-divider>
-      <div class="public-flex-between basicsInfo">
+      <div class="public-flex-between basicsInfo" v-if="detailInfo.projectState != '1'">
         <div class="public-flex-center-column">
           <div>项目公司名称</div>
-          <p>{{ detailInfo.projectName }}</p>
+          <p style="width:250px;text-align:center;" class="yichu1" v-if="detailInfo.tProjectCompany && detailInfo.tProjectCompany.companyName">{{ detailInfo.tProjectCompany.companyName }}</p>
         </div>
         <div class="public-flex-center-column">
           <div>渠道</div>
@@ -82,11 +82,20 @@
           >
             {{ detailInfo.tProjectChannel.channelName }}
           </p>
+          <p v-else>无</p>
         </div>
         <div class="public-flex-center-column">
           <div>项目负责人</div>
           <p>{{ detailInfo.investHead }}</p>
         </div>
+        <div class="public-flex-center-column" v-if="detailInfo.projectDate">
+          <div>立项通过日期</div>
+          <p>{{ detailInfo.projectDate }}</p>
+        </div>
+        <div class="public-flex-center-column" v-if="detailInfo.decisionDate">
+          <div>投决通过日期</div>
+          <p>{{ detailInfo.decisionDate }}</p>
+        </div>
         <div class="public-flex-center-column">
           <div>投前估值(万元)</div>
           <p>{{ detailInfo.investValuation }}</p>
@@ -129,7 +138,7 @@
         <div v-if="activeName === '2'">
           <followList :type="'2'" ref="followList" :projectId="id"></followList>
         </div>
-        <div v-if="activeName === '3'">
+        <div v-if="activeName === '3'" class="public-padded-20">
           <el-tabs type="border-card">
             <el-tab-pane label="项目立项申请表">
               <el-form
@@ -190,7 +199,7 @@
               </el-form>
               <div
                 v-else
-                class="public-flex-center public-padded-t-20"
+                class="public-flex-center public-padded-20"
                 style="color: #909399"
               >
                 暂无数据
@@ -215,7 +224,7 @@
             @changeShowDueApply="changeShowDueApply"
           ></dueDiligenceList>
         </div>
-        <div v-if="activeName === '5'">
+        <div v-if="activeName === '5'" class="public-padded-20">
           <el-tabs type="border-card">
             <el-tab-pane label="项目投决申请表">
               <el-form
@@ -263,7 +272,7 @@
               </el-form>
               <div
                 v-else
-                class="public-flex-center public-padded-t-20"
+                class="public-flex-center public-padded-20"
                 style="color: #909399"
               >
                 暂无数据
@@ -312,7 +321,7 @@
           </el-timeline>
           <div
             v-else
-            class="public-flex-center public-padded-t-20"
+            class="public-flex-center public-padded-20"
             style="color: #909399"
           >
             暂无数据

+ 54 - 46
ruoyi-ui/src/views/invest/pool/index2.vue

@@ -145,7 +145,7 @@
           <div
             :title="scope.row.projectName"
             class="public-text-blue public-cursor"
-            @click="handleDetail(scope.row)"
+            @click.stop="handleDetail(scope.row)"
           >
             {{ scope.row.projectName }}
           </div>
@@ -163,7 +163,7 @@
         </template>
       </el-table-column>
       <el-table-column
-        label="注册地址"
+        label="项目所属城市"
         align="center"
         prop="tProjectCompany.registeredAddress"
       >
@@ -173,7 +173,7 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="项目所属行业" align="center" prop="industry"
+      <el-table-column label="所属行业" align="center" prop="industry"
         ><template slot-scope="scope">
           <dict-tag
             :options="dict.type.CUSTOMER_TRADE"
@@ -189,15 +189,20 @@
           />
         </template>
       </el-table-column>
-      <el-table-column label="项目状态" align="center" prop="projectState">
+      <!-- <el-table-column label="项目状态" align="center" prop="projectState">
         <template slot-scope="scope">
           <dict-tag
             :options="dict.type.project_state"
             :value="scope.row.projectState"
           />
         </template>
+      </el-table-column> -->
+        <el-table-column label="备案时间" align="center" prop="tProjectCompany.filingTime">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.tProjectCompany.filingTime, "{y}-{m}-{d}") }}</span>
+        </template>
       </el-table-column>
-      <el-table-column label="立项通过日期" align="center" prop="projectDate">
+      <!-- <el-table-column label="立项通过日期" align="center" prop="projectDate">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.projectDate, "{y}-{m}-{d}") }}</span>
         </template>
@@ -206,7 +211,7 @@
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.decisionDate, "{y}-{m}-{d}") }}</span>
         </template>
-      </el-table-column>
+      </el-table-column> -->
 
       <el-table-column label="项目负责人" align="center" prop="investHead">
         <template slot-scope="scope">
@@ -334,7 +339,7 @@ import businessUpdate from "../components/businessUpdate";
 export default {
   name: "Pool2",
   dicts: ["project_group", "project_stage", "project_state", "CUSTOMER_TRADE"],
-  components: {businessUpdate},
+  components: { businessUpdate },
   data() {
     return {
       // 遮罩层
@@ -360,7 +365,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
         projectName: null,
-        projectGroup: null,
+        projectGroup: "",
         projectCode: null,
         channel: null,
         contactDate: null,
@@ -438,6 +443,14 @@ export default {
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map((item) => item.id);
+      if (selection.length > 1) {
+        //移除上一次选中行数据
+        selection.shift();
+        //修改选中图标为未选中状态
+        this.$refs.dataTable.clearSelection();
+        //将当前选中行改为选中状态
+        this.$refs.dataTable.toggleRowSelection(selection[0]);
+      }
       this.idsName = selection.map((item) => item.projectName);
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
@@ -460,56 +473,47 @@ export default {
       // 11=投决申请 12=发起投决会议 13=上传打分表(投决)
       if (this.selectRowList.length == 1) {
         const row = this.selectRowList[0];
-        // 项目负责人
-        if (row.investHead === this.user.nickName) {
-          if (type === 4) {
-            if (row.delFlag === "1") {
-              this.$message({
-                message: "项目已终止",
-                duration: 1200,
-                type: "error",
-              });
-            } else {
-              this.handleDelete(row);
-            }
-          } else if (row.delFlag !== "1") {
-            if (type === 2) {
-              // 详情
-              this.handleDetail(row);
-            } else if (type === 3) {
-              // 设置项目阶段
-              this.$refs.businessUpdate.handleBusinessUpdate(row);
-              //
-            } else if (type === 5) {
-              if (row.tProjectReview && row.tProjectReview.context) {
-                this.$message({
-                  message: "您已上传评估考察意见,无需重复操作",
-                  duration: 1200,
-                  type: "warning",
-                });
-              } else {
-                // 上传评估意见
-                this.handleAssessPop(row);
-              }
-            }
-          } else {
+        // 1.单条数据 2.项目是否终止  3.是否能操作
+        if (row.delFlag === "1") {
+          this.$message({
+            message: "项目已终止",
+            duration: 1500,
+            type: "error",
+          });
+        } else if (type === 5) {
+          // 有按钮必有权限,只用判断是否上传过
+          if (row.tProjectReview && row.tProjectReview.context) {
             this.$message({
-              message: "无权限",
-              duration: 1200,
-              type: "error",
+              message: "您已上传评估考察意见,无需重复操作",
+              duration: 1500,
+              type: "warning",
             });
+          } else {
+            // 上传评估意见
+            this.handleAssessPop(row);
+          }
+        } else if (row.investHead === this.user.nickName) {
+          // 项目负责人
+          if (type === 2) {
+            // 详情
+            this.handleDetail(row);
+          } else if (type === 3) {
+            // 设置项目阶段
+            this.$refs.businessUpdate.handleBusinessUpdate(row);
+          } else if (type === 4) {
+            this.handleDelete(row);
           }
         } else {
           this.$message({
             message: "无权限",
-            duration: 1200,
+            duration: 1500,
             type: "error",
           });
         }
       } else {
         this.$message({
           message: "只能选择一条数据",
-          duration: 1200,
+          duration: 1500,
           type: "warning",
         });
       }
@@ -590,4 +594,8 @@ export default {
     -webkit-box-orient: vertical;
   }
 }
+/**找到表头那一行,然后把里面的复选框隐藏掉**/
+.tableWrapper::v-deep .el-table__header-wrapper .el-table__header .el-checkbox {
+  display: none;
+}
 </style>

+ 95 - 60
ruoyi-ui/src/views/invest/pool/index3.vue

@@ -1,5 +1,6 @@
 <template>
   <div class="app-container">
+    <!-- 项目立项 -->
     <el-form
       :model="queryParams"
       ref="queryForm"
@@ -168,7 +169,7 @@
           <div
             :title="scope.row.projectName"
             class="public-text-blue public-cursor"
-            @click="handleDetail(scope.row)"
+            @click.stop="handleDetail(scope.row)"
           >
             {{ scope.row.projectName }}
           </div>
@@ -185,8 +186,8 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column
-        label="注册地址"
+      <!-- <el-table-column
+        label="项目所属城市"
         align="center"
         prop="tProjectCompany.registeredAddress"
       >
@@ -195,8 +196,8 @@
             {{ scope.row.tProjectCompany.registeredAddress }}
           </div>
         </template>
-      </el-table-column>
-      <el-table-column label="项目所属行业" align="center" prop="industry"
+      </el-table-column> -->
+      <el-table-column label="所属行业" align="center" prop="industry"
         ><template slot-scope="scope">
           <dict-tag
             :options="dict.type.CUSTOMER_TRADE"
@@ -212,7 +213,7 @@
           />
         </template>
       </el-table-column>
-      <el-table-column label="项目状态" align="center" prop="projectState">
+      <el-table-column label="项目状态" align="center" prop="projectState" width="120">
         <template slot-scope="scope">
           <dict-tag
             :options="dict.type.project_state"
@@ -220,16 +221,38 @@
           />
         </template>
       </el-table-column>
+      <el-table-column
+        label="备案时间"
+        align="center"
+        prop="tProjectCompany.filingTime"
+      >
+        <template slot-scope="scope">
+          <span>{{
+            parseTime(scope.row.tProjectCompany.filingTime, "{y}-{m}-{d}")
+          }}</span>
+        </template>
+      </el-table-column>
       <el-table-column label="立项通过日期" align="center" prop="projectDate">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.projectDate, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="投决通过日期" align="center" prop="decisionDate">
+      <el-table-column
+        label="已发起立项申请"
+        align="center"
+        prop="approvalFlag"
+      >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.decisionDate, "{y}-{m}-{d}") }}</span>
+          <div>
+            {{ scope.row.approvalFlag === "1" ? "是" : "否" }}
+          </div>
         </template>
       </el-table-column>
+      <!-- <el-table-column label="投决通过日期" align="center" prop="decisionDate">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.decisionDate, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column> -->
 
       <el-table-column label="项目负责人" align="center" prop="investHead">
         <template slot-scope="scope">
@@ -336,7 +359,8 @@ export default {
   name: "Pool3",
   dicts: ["project_group", "project_stage", "project_state", "CUSTOMER_TRADE"],
   components: {
-    meetingList,businessUpdate
+    meetingList,
+    businessUpdate,
   },
   data() {
     return {
@@ -364,7 +388,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
         projectName: null,
-        projectGroup: null,
+        projectGroup: "",
         projectCode: null,
         channel: null,
         contactDate: null,
@@ -433,6 +457,14 @@ export default {
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map((item) => item.id);
+      if (selection.length > 1) {
+        //移除上一次选中行数据
+        selection.shift();
+        //修改选中图标为未选中状态
+        this.$refs.dataTable.clearSelection();
+        //将当前选中行改为选中状态
+        this.$refs.dataTable.toggleRowSelection(selection[0]);
+      }
       this.idsName = selection.map((item) => item.projectName);
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
@@ -453,70 +485,69 @@ export default {
       // 11=投决申请 12=发起投决会议 13=上传打分表(投决)
       if (this.selectRowList.length == 1) {
         const row = this.selectRowList[0];
-        // 项目负责人
-        if (row.investHead === this.user.nickName) {
-          if (type === 4) {
-            if (row.delFlag === "1") {
+        // 1.单条数据 2.项目是否终止  3.是否能操作
+        if (row.delFlag === "1") {
+          this.$message({
+            message: "项目已终止",
+            duration: 1500,
+            type: "error",
+          });
+        } else if (type === 8) {
+          // 立项-去打分  判断此时要不要去打分
+          // this.$refs.meetingList.handleMark(row, "1", false);
+          if (row.investHead === this.user.nickName) {
+            this.$message({
+              message: "请先发起立项会议",
+              duration: 1500,
+              type: "warning",
+            });
+          } else {
+            this.$message.warning("无权限");
+          }
+        } else if (row.investHead === this.user.nickName) {
+          // 项目负责人
+          if (type === 2) {
+            // 详情
+            this.handleDetail(row);
+          } else if (type === 3) {
+            // 设置项目阶段
+            this.$refs.businessUpdate.handleBusinessUpdate(row);
+          } else if (type === 4) {
+            this.handleDelete(row);
+          } else if (type === 6) {
+            if (row.approvalFlag === "0") {
+              // 立项申请
+              this.$refs.meetingList.showLXApplyPop(row);
+            } else {
               this.$message({
-                message: "项目已终止",
-                duration: 1200,
-                type: "error",
+                message: "您已发起立项申请,无需重复操作",
+                duration: 1500,
+                type: "warning",
               });
-            } else {
-              this.handleDelete(row);
             }
-          } else if (row.delFlag !== "1") {
-            // 未终止
-            if (type === 2) {
-              // 详情
-              this.handleDetail(row);
-            } else if (type === 3) {
-              // 设置项目阶段
-              this.$refs.businessUpdate.handleBusinessUpdate(row);
-            } else if (type === 6) {
-              if (row.approvalFlag === "0") {
-                // 立项申请
-                this.$refs.meetingList.showLXApplyPop(row);
-              } else {
-                this.$message({
-                  message: "您已发起立项申请,无需重复操作",
-                  duration: 1200,
-                  type: "warning",
-                });
-              }
-            } else if (type === 7) {
-              if (row.approvalFlag === "1") {
-                // 发起立项会议
-                this.handleMeeting(row, otherData);
-              } else {
-                this.$message({
-                  message: "请先立项申请",
-                  duration: 1200,
-                  type: "warning",
-                });
-              }
-            } else if (type === 8) {
-              // 立项-去打分
-              this.$refs.meetingList.handleMark(row, "1", false);
+          } else if (type === 7) {
+            if (row.approvalFlag === "1") {
+              // 发起立项会议
+              this.handleMeeting(row, otherData);
+            } else {
+              this.$message({
+                message: "请先立项申请",
+                duration: 1500,
+                type: "warning",
+              });
             }
-          } else {
-            this.$message({
-              message: "无权限",
-              duration: 1200,
-              type: "error",
-            });
           }
         } else {
           this.$message({
             message: "无权限",
-            duration: 1200,
+            duration: 1500,
             type: "error",
           });
         }
       } else {
         this.$message({
           message: "只能选择一条数据",
-          duration: 1200,
+          duration: 1500,
           type: "warning",
         });
       }
@@ -583,4 +614,8 @@ export default {
     -webkit-box-orient: vertical;
   }
 }
+/**找到表头那一行,然后把里面的复选框隐藏掉**/
+.tableWrapper::v-deep .el-table__header-wrapper .el-table__header .el-checkbox {
+  display: none;
+}
 </style>

+ 106 - 76
ruoyi-ui/src/views/invest/pool/index4.vue

@@ -1,5 +1,6 @@
 <template>
   <div class="app-container">
+    <!-- 尽职背调 -->
     <el-form
       :model="queryParams"
       ref="queryForm"
@@ -157,7 +158,7 @@
           <div
             :title="scope.row.projectName"
             class="public-text-blue public-cursor"
-            @click="handleDetail(scope.row)"
+            @click.stop="handleDetail(scope.row)"
           >
             {{ scope.row.projectName }}
           </div>
@@ -175,7 +176,7 @@
         </template>
       </el-table-column>
       <el-table-column
-        label="注册地址"
+        label="项目所属城市"
         align="center"
         prop="tProjectCompany.registeredAddress"
       >
@@ -185,7 +186,7 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column label="项目所属行业" align="center" prop="industry"
+      <el-table-column label="所属行业" align="center" prop="industry"
         ><template slot-scope="scope">
           <dict-tag
             :options="dict.type.CUSTOMER_TRADE"
@@ -201,24 +202,46 @@
           />
         </template>
       </el-table-column>
-      <el-table-column label="项目状态" align="center" prop="projectState">
+      <!-- <el-table-column label="项目状态" align="center" prop="projectState">
         <template slot-scope="scope">
           <dict-tag
             :options="dict.type.project_state"
             :value="scope.row.projectState"
           />
         </template>
+      </el-table-column> -->
+      <el-table-column
+        label="备案时间"
+        align="center"
+        prop="tProjectCompany.filingTime"
+      >
+        <template slot-scope="scope">
+          <span>{{
+            parseTime(scope.row.tProjectCompany.filingTime, "{y}-{m}-{d}")
+          }}</span>
+        </template>
       </el-table-column>
       <el-table-column label="立项通过日期" align="center" prop="projectDate">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.projectDate, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="投决通过日期" align="center" prop="decisionDate">
+      <el-table-column
+        label="已发起尽调申请"
+        align="center"
+        prop="investigateFlag"
+      >
         <template slot-scope="scope">
-          <span>{{ parseTime(scope.row.decisionDate, "{y}-{m}-{d}") }}</span>
+          <div>
+            {{ scope.row.investigateFlag === "1" ? "是" : "否" }}
+          </div>
         </template>
       </el-table-column>
+      <!-- <el-table-column label="投决通过日期" align="center" prop="decisionDate">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.decisionDate, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column> -->
 
       <el-table-column label="项目负责人" align="center" prop="investHead">
         <template slot-scope="scope">
@@ -360,7 +383,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
         projectName: null,
-        projectGroup: null,
+        projectGroup: "",
         projectCode: null,
         channel: null,
         contactDate: null,
@@ -424,9 +447,18 @@ export default {
       this.queryParams.isAsc = "desc";
       this.handleQuery();
     },
+
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map((item) => item.id);
+      if (selection.length > 1) {
+        //移除上一次选中行数据
+        selection.shift();
+        //修改选中图标为未选中状态
+        this.$refs.dataTable.clearSelection();
+        //将当前选中行改为选中状态
+        this.$refs.dataTable.toggleRowSelection(selection[0]);
+      }
       this.idsName = selection.map((item) => item.projectName);
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
@@ -447,92 +479,86 @@ export default {
       // 11=投决申请 12=发起投决会议 13=上传打分表(投决)
       if (this.selectRowList.length == 1) {
         const row = this.selectRowList[0];
-        // 项目负责人
-        if (row.investHead === this.user.nickName) {
-          if (type === 4) {
-            if (row.delFlag === "1") {
-              this.$message({
-                message: "项目已终止",
-                duration: 1200,
-                type: "error",
-              });
-            } else {
-              this.handleDelete(row);
-            }
-          } else if (row.delFlag !== "1") {
-            // 未终止
-            if (type === 2) {
-              // 详情
-              this.handleDetail(row);
-            } else if (type === 3) {
-              // 设置项目阶段
-              this.$refs.businessUpdate.handleBusinessUpdate(row);
-            } else if (type === 9) {
-              // 是否有尽调申请
-              if (row.investigateFlag === "0") {
-                // 尽调申请
-                this.$refs.dueDiligenceLists.handleShowApplyPop(row);
-              } else {
-                this.$message({
-                  message: "您已发起尽调申请,无需重复操作",
-                  duration: 1200,
-                  type: "warning",
-                });
-              }
-            } else if (type === 10) {
-              // 是否有尽调申请
-              if (row.investigateFlag === "1") {
-                // 是否被选为参与人
-                if (
-                  row.tProjectInvestigate &&
-                  row.tProjectInvestigate.investigatePerson.indexOf(
-                    this.user.nickName
-                  ) > -1
-                ) {
-                  //是否上传了尽调报告
-                  if (!row.tProjectInvestigatePerson) {
-                    // 上传尽调报告
-                    this.$refs.dueDiligenceLists.handleShowReportPop(row);
-                  } else {
-                    this.$message({
-                      message: "您已上传尽调报告,无需重复操作",
-                      duration: 1200,
-                      type: "warning",
-                    });
-                  }
-                } else {
-                  this.$message({
-                    message: "无权限",
-                    duration: 1200,
-                    type: "error",
-                  });
-                }
+        // 1.单条数据 2.项目是否终止  3.是否能操作
+        if (row.delFlag === "1") {
+          this.$message({
+            message: "项目已终止",
+            duration: 1500,
+            type: "error",
+          });
+        } else if (type === 10) {
+          // 是否有尽调申请
+          if (row.investigateFlag === "1") {
+            // 是否被选为参与人
+            if (
+              row.tProjectInvestigate &&
+              row.tProjectInvestigate.investigatePerson.indexOf(
+                this.user.nickName
+              ) > -1
+            ) {
+              //是否上传了尽调报告
+              if (!row.tProjectInvestigatePerson) {
+                // 上传尽调报告
+                this.$refs.dueDiligenceLists.handleShowReportPop(row);
               } else {
                 this.$message({
-                  message: "请先尽调申请",
-                  duration: 1200,
+                  message: "您已上传尽调报告,无需重复操作",
+                  duration: 1500,
                   type: "warning",
                 });
               }
+            } else {
+              this.$message({
+                message: "无权限",
+                duration: 1500,
+                type: "error",
+              });
             }
           } else {
-            this.$message({
-              message: "无权限",
-              duration: 1200,
-              type: "error",
-            });
+            if (row.investHead === this.user.nickName) {
+              this.$message({
+                message: "请先尽调申请",
+                duration: 1500,
+                type: "warning",
+              });
+            } else {
+              this.$message.warning("无权限");
+            }
+          }
+        } else if (row.investHead === this.user.nickName) {
+          // 未终止
+          if (type === 2) {
+            // 详情
+            this.handleDetail(row);
+          } else if (type === 3) {
+            // 设置项目阶段
+            this.$refs.businessUpdate.handleBusinessUpdate(row);
+          } else if (type === 4) {
+            this.handleDelete(row);
+          } else if (type === 9) {
+            // 是否有尽调申请
+            if (row.investigateFlag === "0") {
+              // 尽调申请
+              this.$refs.dueDiligenceLists.handleShowApplyPop(row);
+            } else {
+              this.$message({
+                message: "您已发起尽调申请,无需重复操作",
+                duration: 1500,
+                type: "warning",
+              });
+            }
           }
         } else {
           this.$message({
             message: "无权限",
-            duration: 1200,
+            duration: 1500,
             type: "error",
           });
         }
       } else {
         this.$message({
           message: "只能选择一条数据",
-          duration: 1200,
+          duration: 1500,
           type: "warning",
         });
       }
@@ -594,4 +620,8 @@ export default {
     -webkit-box-orient: vertical;
   }
 }
+/**找到表头那一行,然后把里面的复选框隐藏掉**/
+.tableWrapper::v-deep .el-table__header-wrapper .el-table__header .el-checkbox {
+  display: none;
+}
 </style>

+ 78 - 49
ruoyi-ui/src/views/invest/pool/index5.vue

@@ -1,5 +1,6 @@
 <template>
   <div class="app-container">
+    <!-- 项目投决 -->
     <el-form
       :model="queryParams"
       ref="queryForm"
@@ -168,7 +169,7 @@
           <div
             :title="scope.row.projectName"
             class="public-text-blue public-cursor"
-            @click="handleDetail(scope.row)"
+            @click.stop="handleDetail(scope.row)"
           >
             {{ scope.row.projectName }}
           </div>
@@ -185,8 +186,8 @@
           </div>
         </template>
       </el-table-column>
-      <el-table-column
-        label="注册地址"
+      <!-- <el-table-column
+        label="项目所属城市"
         align="center"
         prop="tProjectCompany.registeredAddress"
       >
@@ -195,8 +196,8 @@
             {{ scope.row.tProjectCompany.registeredAddress }}
           </div>
         </template>
-      </el-table-column>
-      <el-table-column label="项目所属行业" align="center" prop="industry"
+      </el-table-column> -->
+      <el-table-column label="所属行业" align="center" prop="industry"
         ><template slot-scope="scope">
           <dict-tag
             :options="dict.type.CUSTOMER_TRADE"
@@ -212,7 +213,7 @@
           />
         </template>
       </el-table-column>
-      <el-table-column label="项目状态" align="center" prop="projectState">
+      <el-table-column label="项目状态" align="center" prop="projectState" width="120">
         <template slot-scope="scope">
           <dict-tag
             :options="dict.type.project_state"
@@ -220,6 +221,11 @@
           />
         </template>
       </el-table-column>
+      <!-- <el-table-column label="备案时间" align="center" prop="tProjectCompany.filingTime">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.tProjectCompany.filingTime, "{y}-{m}-{d}") }}</span>
+        </template>
+      </el-table-column> -->
       <el-table-column label="立项通过日期" align="center" prop="projectDate">
         <template slot-scope="scope">
           <span>{{ parseTime(scope.row.projectDate, "{y}-{m}-{d}") }}</span>
@@ -230,6 +236,17 @@
           <span>{{ parseTime(scope.row.decisionDate, "{y}-{m}-{d}") }}</span>
         </template>
       </el-table-column>
+      <el-table-column
+        label="已发起投决申请"
+        align="center"
+        prop="decisionFlag"
+      >
+        <template slot-scope="scope">
+          <div>
+            {{ scope.row.decisionFlag === "1" ? "是" : "否" }}
+          </div>
+        </template>
+      </el-table-column>
 
       <el-table-column label="项目负责人" align="center" prop="investHead">
         <template slot-scope="scope">
@@ -370,7 +387,7 @@ export default {
         pageNum: 1,
         pageSize: 10,
         projectName: null,
-        projectGroup: null,
+        projectGroup: "",
         projectCode: null,
         channel: null,
         contactDate: null,
@@ -435,9 +452,18 @@ export default {
       this.queryParams.isAsc = "desc";
       this.handleQuery();
     },
+
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map((item) => item.id);
+      if (selection.length > 1) {
+        //移除上一次选中行数据
+        selection.shift();
+        //修改选中图标为未选中状态
+        this.$refs.dataTable.clearSelection();
+        //将当前选中行改为选中状态
+        this.$refs.dataTable.toggleRowSelection(selection[0]);
+      }
       this.idsName = selection.map((item) => item.projectName);
       this.single = selection.length !== 1;
       this.multiple = !selection.length;
@@ -458,61 +484,60 @@ export default {
       // 11=投决申请 12=发起投决会议 13=上传打分表(投决)
       if (this.selectRowList.length == 1) {
         const row = this.selectRowList[0];
-        // 项目负责人
-        if (row.investHead === this.user.nickName) {
-          if (type === 4) {
-            if (row.delFlag === "1") {
+        // 1.单条数据 2.项目是否终止  3.是否能操作
+        if (row.delFlag === "1") {
+          this.$message({
+            message: "项目已终止",
+            duration: 1500,
+            type: "error",
+          });
+        } else if (type === 13) {
+          // 投决-去打分  判断此刻能不能去打分
+          // this.$refs.meetingList.handleMark(row, "3", false);
+          if (row.investHead === this.user.nickName) {
+            this.$message({
+              message: "请先发起投决会议",
+              duration: 1500,
+              type: "warning",
+            });
+          } else {
+            this.$message.warning("无权限");
+          }
+        } else if (row.investHead === this.user.nickName) {
+          if (type === 2) {
+            // 详情
+            this.handleDetail(row);
+          } else if (type === 3) {
+            // 设置项目阶段
+            this.$refs.businessUpdate.handleBusinessUpdate(row);
+          } else if (type === 4) {
+            this.handleDelete(row);
+          } else if (type === 11) {
+            if (row.decisionFlag === "0") {
+              // 投决申请
+              this.$refs.meetingList.showTJApplyPop(row);
+            } else {
               this.$message({
-                message: "项目已终止",
-                duration: 1200,
-                type: "error",
+                message: "您已发起投决申请,无需重复操作",
+                duration: 1500,
+                type: "warning",
               });
-            } else {
-              this.handleDelete(row);
             }
-          } else if (row.delFlag !== "1") {
-            if (type === 2) {
-              // 详情
-              this.handleDetail(row);
-            } else if (type === 3) {
-              // 设置项目阶段
-              this.$refs.businessUpdate.handleBusinessUpdate(row);
-            } else if (type === 11) {
-              if (row.decisionFlag === "0") {
-                // 投决申请
-                this.$refs.meetingList.showTJApplyPop(row);
-              } else {
-                this.$message({
-                  message: "您已发起投决申请,无需重复操作",
-                  duration: 1200,
-                  type: "warning",
-                });
-              }
-            } else if (type === 12) {
-              // 发起投决会议
-              this.handleMeeting(row, otherData);
-            } else if (type === 13) {
-              // 投决-去打分
-              this.$refs.meetingList.handleMark(row, "3", false);
-            }
-          } else {
-            this.$message({
-              message: "无权限",
-              duration: 1200,
-              type: "error",
-            });
+          } else if (type === 12) {
+            // 发起投决会议
+            this.handleMeeting(row, otherData);
           }
         } else {
           this.$message({
             message: "无权限",
-            duration: 1200,
+            duration: 1500,
             type: "error",
           });
         }
       } else {
         this.$message({
           message: "只能选择一条数据",
-          duration: 1200,
+          duration: 1500,
           type: "warning",
         });
       }
@@ -574,4 +599,8 @@ export default {
     -webkit-box-orient: vertical;
   }
 }
+/**找到表头那一行,然后把里面的复选框隐藏掉**/
+.tableWrapper::v-deep .el-table__header-wrapper .el-table__header .el-checkbox {
+  display: none;
+}
 </style>

+ 1 - 1
ruoyi-ui/src/views/study/gen/index.vue

@@ -74,7 +74,7 @@
           plain
           icon="el-icon-delete"
           size="mini"
-          :disabled="multiple"
+          :disabled="single"
           @click="handleSelectData(2)"
           v-hasPermi="['study:gen:remove']"
           >删除</el-button

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

@@ -1,7 +1,7 @@
 <template>
   <el-form ref="form" :model="user" :rules="rules" label-width="80px">
     <el-form-item label="用户昵称" prop="nickName">
-      <el-input v-model="user.nickName" maxlength="30" />
+      <el-input v-model="user.nickName" maxlength="30" disabled/>
     </el-form-item> 
     <el-form-item label="手机号码" prop="phonenumber">
       <el-input v-model="user.phonenumber" maxlength="11" />

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

@@ -35,8 +35,8 @@ module.exports = {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
         // target: `http://localhost:8080`,
-        target: `http://192.168.100.234:8091`,
-        // target: `http://47.103.79.143:8091`,
+        // target: `http://192.168.100.234:8091`,
+        target: `http://47.103.79.143:8091`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''