armg 1 năm trước cách đây
mục cha
commit
aa59dfaa51

+ 1 - 1
ruoyi-ui/.env.development

@@ -11,6 +11,6 @@ ENV = 'development'
 VUE_APP_BASE_API = '/prod-api'
 VUE_APP_CORPID = "ding4ab75ecd53106cde4ac5d6980864d335"
 # 投资部的部门id
-VUE_APP_DEPTID = '103'
+VUE_APP_DEPTID = '119'
 # 路由懒加载
 VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 1 - 1
ruoyi-ui/.env.production

@@ -11,4 +11,4 @@ VUE_APP_BASE_API = 'http://47.103.79.143:8091'
 # VUE_APP_BASE_API = 'http://47.103.79.143:8092/' 
 VUE_APP_CORPID = "ding4ab75ecd53106cde4ac5d6980864d335"
 # 投资部的部门id
-VUE_APP_DEPTID = '103'
+VUE_APP_DEPTID = '119'

BIN
ruoyi-ui/dist.zip


+ 9 - 0
ruoyi-ui/src/api/invest/pool.js

@@ -141,4 +141,13 @@ export function getInvestigateById(id) {
     url: '/invest/investigate/' + id,
     method: 'get'
   })
+}
+
+//修改尽调完成
+export function updateStatus(data) {
+  return request({
+    url: '/invest/investigate/editStatus',
+    method: 'put',
+    data: data
+  })
 }

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

@@ -539,6 +539,7 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       let that = this;
+      this.fileList = [];
       this.reset();
       this.open = true;
       this.title = "添加渠道信息";

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

@@ -461,7 +461,7 @@ export default {
     // 获取fileList
     getFileList(fileList) {
       this.fileList = fileList;
-      if (fileList.length > 0) {
+      if (fileList && fileList.length > 0) {
         this.$refs.form.clearValidate(["listFile"]);
       }
     },
@@ -525,6 +525,7 @@ export default {
     /** 新增按钮操作 */
     handleAdd(projectId) {
       let that = this;
+      this.fileList = [];
       this.reset();
       if (projectId && typeof projectId === "string") {
         this.pageType = "1";

+ 93 - 17
ruoyi-ui/src/views/invest/components/dueDiligenceList.vue

@@ -1,41 +1,75 @@
 <template>
   <div class="app-container">
     <div v-show="type == 1">
-      <el-table border :data="dueList">
+      <el-table border :data="dueList" class="tableWrapper">
         <!-- <el-table-column  type="selection" width="55" align="center" /> -->
-        <el-table-column
-          label="尽调名称"
-          align="center"
-          prop="investigateName"
-        />
+        <el-table-column label="尽调名称" align="center" prop="investigateName">
+          <template slot-scope="scope">
+            <div :title="scope.row.investigateName">
+              {{ scope.row.investigateName }}
+            </div>
+          </template>
+        </el-table-column>
 
         <el-table-column
           label="尽调人员"
           align="center"
           prop="investigatePerson"
-        />
+        >
+          <template slot-scope="scope">
+            <div :title="scope.row.investigatePerson">
+              {{ scope.row.investigatePerson }}
+            </div>
+          </template>
+        </el-table-column>
         <el-table-column
           label="尽调费用(元)"
           align="center"
           prop="investigateCost"
-        />
-        <el-table-column label="描述" align="center" prop="describe" />
-        <el-table-column label="备注" align="center" prop="remark" />
-        <el-table-column label="创建时间" align="center" prop="createTime" />
+        >
+          <template slot-scope="scope">
+            <div :title="scope.row.investigateCost">
+              {{ scope.row.investigateCost }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="描述" align="center" prop="describe">
+          <template slot-scope="scope">
+            <div :title="scope.row.describe">
+              {{ scope.row.describe }}
+            </div>
+          </template>
+        </el-table-column>
+        <el-table-column label="备注" align="center" prop="remark">
+          <template slot-scope="scope">
+            <div :title="scope.row.remark">
+              {{ scope.row.remark }}
+            </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"
-          width="220"
+          width="360"
         >
           <template slot-scope="scope">
+            <!-- 
+              v-show="scope.row.investigatePersonId.indexOf(user.userId) > -1" -->
             <el-button
               class="custom-blue-color"
               size="mini"
               type="text"
               icon="el-icon-search"
               @click="handleLook(scope.row)"
-              >查看尽调报告</el-button
+              >查看报告</el-button
             >
             <el-button
               v-show="scope.row.investigatePersonId.indexOf(user.userId) > -1"
@@ -43,7 +77,16 @@
               type="text"
               icon="el-icon-upload2"
               @click="handleSurvey('3', scope.row, scope.row)"
-              >上传尽调报告</el-button
+              >上传报告</el-button
+            >
+            <!-- status 0=进行中  1=完成 -->
+            <el-button
+              v-if="scope.row.status === '0'"
+              size="mini"
+              type="text"
+              icon="el-icon-circle-check"
+              @click="handleDuePlan(scope.row)"
+              >完成尽调</el-button
             >
             <el-button
               size="mini"
@@ -312,6 +355,7 @@ import {
   addInvestigate,
   getProjectInvestigateId,
   dueAllPeportList,
+  updateStatus,
 } from "@/api/invest/pool";
 import projectItem from "./projectItem";
 import fileItem from "./fileItem";
@@ -432,7 +476,7 @@ export default {
     // getProjectName(projectName) {
     //   this.projectName = projectName;
     // },
-    /** 查询文件资料列表 */
+    /** 查询列表 */
     getList() {
       //   this.loading = true;
       let queryParams = {
@@ -443,6 +487,13 @@ export default {
       getInvestigatelist(queryParams).then((response) => {
         this.dueList = response.rows;
         this.total = response.total;
+        // 如果尽调全部完成,才能显示发起尽调申请;
+        let showDueApply = response.rows.every(function (item) {
+          return item.status === "1";
+        });
+        if (showDueApply) {
+          this.$emit("changeShowDueApply", "1");
+        }
         // this.loading = false;
       });
     },
@@ -468,6 +519,21 @@ export default {
         }
       });
     },
+    // 完成尽调
+    handleDuePlan(row) {
+      let that = this;
+      const investigateName = row.investigateName;
+      this.$modal
+        .confirm('是否确认完成"' + investigateName + '"?')
+        .then(function () {
+          return updateStatus(row.id);
+        })
+        .then(() => {
+          this.getList();
+          this.$modal.msgSuccess("操作成功");
+        })
+        .catch(() => {});
+    },
     // 修改尽调申请
     handleUpdate(row) {
       let that = this;
@@ -496,10 +562,18 @@ export default {
 
     // 获取fileList
     getFileList(fileList) {
-      this.fileList = fileList;
+      if (fileList && fileList.length > 0) {
+        this.fileList = fileList;
+      } else {
+        this.fileList = [];
+      }
     },
     getreportFileList(fileList) {
-      this.reportFileList = fileList;
+      if (fileList && fileList.length > 0) {
+        this.reportFileList = fileList;
+      } else {
+        this.reportFileList = [];
+      }
     },
     // 用户选中数据
     handleUserSelect(selection) {
@@ -528,6 +602,7 @@ export default {
       this.dueDiligenceType = type;
       //type 1=发起  2=修改  3=上传
       if (type === "1") {
+        this.fileList = [];
         this.resetDueForm();
         setTimeout(() => {
           that.$refs.fileItems.fileList = [];
@@ -614,6 +689,7 @@ export default {
             addInvestigate(this.dueForm).then((response) => {
               this.$modal.msgSuccess("新增成功");
               this.dueDiligenceOpen = false;
+              this.$emit("changeShowDueApply", "0");
               this.getList();
             });
           }

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

@@ -444,9 +444,12 @@ export default {
     },
     // 获取fileList
     getFileList(fileList) {
+      console.log("文件资料",fileList)
       this.fileList = fileList;
-      if (fileList.length > 0) {
+      if (fileList && fileList.length > 0) {
         this.$refs.fileForm.clearValidate(["listFile"]);
+      }else{
+        this.fileList = [];
       }
     },
     /** 查询文件资料列表 */
@@ -509,6 +512,7 @@ export default {
     /** 新增按钮操作 */
     handleAdd(projectId) {
       let that = this;
+      this.fileList = [];
       this.reset();
       if (projectId && typeof projectId === "string") {
         this.pageType = "1";

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

@@ -496,7 +496,11 @@ export default {
     },
     // 获取fileList
     getFileList(fileList) {
-      this.fileList = fileList;
+      if (fileList && fileList.length > 0) {
+        this.fileList = fileList;
+      } else {
+        this.fileList = [];
+      }
     },
     /** 查询跟进记录列表 */
     getList() {
@@ -561,6 +565,7 @@ export default {
     /** 新增按钮操作 */
     handleAdd(projectId) {
       let that = this;
+      this.fileList = [];
       this.reset();
       // 直接绑定好项目
       if (projectId && typeof projectId === "string") {

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

@@ -413,6 +413,7 @@
         </el-form-item> -->
         <el-form-item label="会议类别" prop="meetingType">
           <el-select
+            v-if="showAllType"
             v-model="form.meetingType"
             placeholder="请选择会议类别"
             :disabled="
@@ -420,7 +421,22 @@
             "
           >
             <el-option
-              v-for="dict in dict.type.meeting_type"
+              v-for="dict in meetingTypeList"
+              :key="dict.value"
+              :label="dict.label"
+              :value="dict.value"
+            ></el-option>
+          </el-select>
+          <el-select
+            v-else
+            v-model="form.meetingType"
+            placeholder="请选择会议类别"
+            :disabled="
+              meetingTypeDisabled || (pageType === '1' && meetingType != null)
+            "
+          >
+            <el-option
+              v-for="dict in meetingTypeList1"
               :key="dict.value"
               :label="dict.label"
               :value="dict.value"
@@ -524,7 +540,11 @@
             :deptId="deptId"
           ></selecDept>
         </el-form-item>
-        <el-form-item label="会议参与人" prop="participants" class="special-el-form-item">
+        <el-form-item
+          label="会议参与人"
+          prop="participants"
+          class="special-el-form-item"
+        >
           <div
             class="el-input__inner inputSimulation yichu1"
             @click="handleSelectPeople()"
@@ -629,7 +649,6 @@ export default {
       deptId: process.env.VUE_APP_DEPTID,
       // 遮罩层
       loading: true,
-
       // 选中数组
       ids: [],
       idsName: [],
@@ -703,10 +722,40 @@ export default {
       isInitiator: false, //是否是发起人
       showLookMark: false, //是否查看打分表
       showMarkBtn: false,
+      meetingTypeList1: [
+        {
+          value: "A",
+          label: "管理会议",
+        },
+        {
+          value: "X",
+          label: "临时会议",
+        },
+      ],
+      meetingTypeList: [
+        {
+          value: "A",
+          label: "管理会议",
+        },
+        {
+          value: "LX",
+          label: "项目立项会",
+        },
+        {
+          value: "TJ",
+          label: "项目投决会",
+        },
+        {
+          value: "X",
+          label: "临时会议",
+        },
+      ],
+      showAllType: false,
     };
   },
   created() {
     this.user = this.$store.getters.user;
+    this.showAllType = this.type === "3";
     this.user.userId = this.user.userId.toString();
     // 查询该id下的列表信息
     if (this.$route.query.id) {
@@ -850,7 +899,11 @@ export default {
     },
     // 获取fileList
     getFileList(fileList) {
-      this.fileList = fileList;
+      if (fileList && fileList.length > 0) {
+        this.fileList = fileList;
+      } else {
+        this.fileList = [];
+      }
     },
     // 获取公司信息
     getProjectInfo(info) {
@@ -924,6 +977,9 @@ export default {
     /** 重置按钮操作 */
     resetQuery() {
       this.resetForm("queryForm");
+      this.queryParams.timeVal = null;
+      this.queryParams.startTime = null;
+      this.queryParams.endTime = null;
       this.queryParams.orderByColumn = "createTime";
       this.queryParams.isAsc = "desc";
       this.handleQuery();
@@ -938,6 +994,8 @@ export default {
     /** 新增按钮操作 */
     handleAdd(projectId, meetingType) {
       let that = this;
+      this.fileList = [];
+      this.showAllType = this.type === "3";
       this.meetingTypeDisabled = false;
       this.selectValues = null;
       this.selectNameValues = null;
@@ -968,6 +1026,7 @@ export default {
     handleUpdate(row) {
       this.selectValues = null;
       this.selectNameValues = null;
+      this.showAllType = true;
       this.reset();
       const id = row.id || this.ids;
       this.meetingTypeDisabled = true;

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

@@ -580,7 +580,11 @@ export default {
     },
     // 获取fileList
     getFileList(fileList) {
-      this.fileList = fileList;
+      if (fileList && fileList.length > 0) {
+        this.fileList = fileList;
+      } else {
+        this.fileList = [];
+      }
     },
     /** 提交按钮 */
     submitForm() {
@@ -602,6 +606,12 @@ export default {
             .replace(/[^0-9.]/g, "")
             .replace(/^(\-)*(\d+)\.(\d\d).*$/, "$1$2.$3")
             .replace(/-/g, "");
+          this.form.financingMoney = this.form.financingMoney
+            .replace(/\D/g, "")
+            .replace(/-/g, "");
+          this.form.investMoney = this.form.investMoney
+            .replace(/\D/g, "")
+            .replace(/-/g, "");
           if (this.form.id != null) {
             updatePool(this.form).then((response) => {
               this.$modal.msgSuccess("修改成功");

+ 27 - 10
ruoyi-ui/src/views/invest/components/projectList.vue

@@ -251,6 +251,7 @@
           </div>
         </template>
       </el-table-column>
+
       <el-table-column
         label="投资负责人"
         align="center"
@@ -460,6 +461,19 @@
         prop="createTime"
         width="160"
       /> -->
+      <!-- delFlag -->
+      <el-table-column
+        label="状态"
+        align="center"
+        prop="investHead"
+        width="100px"
+      >
+        <template slot-scope="scope">
+          <div :title="scope.row.delFlag === '1' ? '终止' : '正常'">
+            {{ scope.row.delFlag === "1" ? "终止" : "正常" }}
+          </div>
+        </template>
+      </el-table-column>
       <el-table-column
         :width="stage == '0' || stage == '2' ? 300 : 400"
         fixed="right"
@@ -480,7 +494,7 @@
           >
           <el-button
             class="custom-orange-color"
-            v-if="stage == '3'"
+            v-if="stage == '3' && scope.row.delFlag !== '1'"
             size="mini"
             type="text"
             icon="el-icon-chat-line-round"
@@ -490,17 +504,27 @@
 
           <el-button
             class="custom-orange-color"
-            v-if="stage == '5'"
+            v-if="stage == '5' && scope.row.delFlag !== '1'"
             size="mini"
             type="text"
             icon="el-icon-chat-line-square"
             @click="handleMeeting(scope.row, 'TJ')"
             >发起投决会议</el-button
           >
+          <el-button
+            class="custom-orange-color"
+            v-if="stage == '4' && scope.row.delFlag !== '1'"
+            size="mini"
+            type="text"
+            icon="el-icon-tickets"
+            @click="handleDropdown($event, scope.row)"
+            >尽职背调</el-button
+          >
           <el-button
             size="mini"
             type="text"
             icon="el-icon-setting"
+            v-if="scope.row.delFlag !== '1'"
             @click="handleBusinessUpdate(scope.row)"
             >设置项目阶段</el-button
           >
@@ -532,14 +556,7 @@
             v-hasPermi="['invest:pool:remove']"
             >终止</el-button
           >
-          <el-button
-            v-if="stage == '4'"
-            size="mini"
-            type="text"
-            icon="el-icon-tickets"
-            @click="handleDropdown($event, scope.row)"
-            >尽职背调</el-button
-          >
+
           <!-- <el-dropdown
             v-if="stage == '4'"
             trigger="click"

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

@@ -66,7 +66,7 @@
         />
         <el-table-column
           label="部门"
-          prop="deptId"
+          prop="dept.deptName"
           :show-overflow-tooltip="true"
         />
         <el-table-column

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

@@ -27,7 +27,7 @@
               :filter-node-method="filterNode"
               ref="tree"
               node-key="id"
-              :default-expand-all="false"
+              :default-expand-all="true"
               highlight-current
               @node-click="handleNodeClick"
             />

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

@@ -2237,9 +2237,13 @@ export default {
         // this.getScoringList(id);
       }
     },
+    showNodata(){
+      this.id = null;
+    },
     // 根据会议ID查询汇总分数和平均分数
     getSelectMeetingId(id) {
       selectMeetingId(id).then((response) => {
+
         this.collectForm = response.data;
         this.collectForm.investCommissioner = this.form.investCommissioner;
       });

+ 62 - 3
ruoyi-ui/src/views/invest/pool/detail.vue

@@ -2,7 +2,12 @@
   <div class="detailWrapper">
     <section class="section1 public-flex-col-end">
       <div class="public-margin-r-20">
-        <h4>投资项目</h4>
+        <h4>
+          投资项目
+          <span class="alreadyStop" v-if="detailInfo.delFlag === '1'"
+            >已终止</span
+          >
+        </h4>
         <p class="projectNameTit">{{ detailInfo.projectName }}</p>
       </div>
       <div class="btnList">
@@ -19,7 +24,12 @@
           >上传合同</el-button
         >
         <el-button
-          v-if="user.nickName === this.detailInfo.investHead"
+          v-if="
+            user.nickName === detailInfo.investHead &&
+            detailInfo.delFlag !== '1' &&
+            showDueApply &&
+            active == 3
+          "
           type="primary"
           icon="el-icon-tickets"
           @click="handleTab('4', 'dueDiligenceList')"
@@ -140,6 +150,7 @@
             ref="dueDiligenceLists"
             :projectName="detailInfo.projectName"
             :projectId="id"
+            @changeShowDueApply="changeShowDueApply"
           ></dueDiligenceList>
         </div>
         <div v-if="activeName === '5'">
@@ -185,7 +196,11 @@ import tableForm from "../components/tableForm";
 import listAllfile from "../components/listAllfile";
 import dueDiligenceList from "../components/dueDiligenceList";
 
-import { getPool, listProjectPoolId } from "@/api/invest/pool";
+import {
+  getPool,
+  listProjectPoolId,
+  getInvestigatelist,
+} from "@/api/invest/pool";
 import { listMeeting } from "@/api/invest/meeting";
 
 export default {
@@ -203,6 +218,7 @@ export default {
   },
   data() {
     return {
+      showDueApply: false,
       meetingId: "0",
       activeTimeList: [],
       type: "2",
@@ -236,11 +252,37 @@ export default {
     this.id = this.$route.query.id;
     this.getDetail();
     this.getListProjectPoolId();
+    this.getDueList();
     if (this.$route.query.activeName) {
       this.activeName = this.$route.query.activeName;
     }
   },
   methods: {
+    /** 查询列表 */
+    changeShowDueApply(showDueApply) {
+      this.showDueApply = showDueApply === "1";
+    },
+    getDueList() {
+      //   this.loading = true;
+      let queryParams = {
+        orderByColumn: "createTime",
+        isAsc: "desc",
+        projectPoolId: this.id,
+      };
+      getInvestigatelist(queryParams).then((response) => {
+        let list = response.rows,
+          showDueApply;
+        // 如果尽调全部完成,才能显示发起尽调;
+        if (list && list.length > 0) {
+          showDueApply = list.every(function (item) {
+            return item.status === "1";
+          });
+        } else {
+          showDueApply = true;
+        }
+        this.showDueApply = showDueApply;
+      });
+    },
     // 切换tab并且打开新增
     handleTab(activeName, name) {
       this.activeName = activeName.toString();
@@ -271,6 +313,12 @@ export default {
           } else if (type === "TJ") {
             this.$refs.voteTableForm.initialize(meetingId);
           }
+        } else {
+          if (type === "LX") {
+            this.$refs.approvalTableForm.showNodata();
+          } else if (type === "TJ") {
+            this.$refs.voteTableForm.showNodata();
+          }
         }
       });
     },
@@ -346,4 +394,15 @@ export default {
     margin-top: 40px;
   }
 }
+.projectNameTit {
+}
+.alreadyStop {
+  font-weight: normal;
+  font-size: 12px;
+  background: #ff0000;
+  color: #fff;
+  border-radius: 5px;
+  padding: 5px 10px;
+  margin-left: 10px;
+}
 </style>

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

@@ -373,6 +373,7 @@ export default {
     /** 新增按钮操作 */
     handleAdd() {
       let that = this;
+      this.fileList = [];
       this.reset();
       this.open = true;
       this.title = "添加研究资料管理";