|
@@ -163,28 +163,16 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="会议地点" align="center" prop="place" />
|
|
|
<el-table-column label="会议发起人" align="center" prop="promoter" />
|
|
|
+ <el-table-column label="会议参与人" align="center" prop="participants" />
|
|
|
<el-table-column label="创建人" align="center" prop="createBy" />
|
|
|
<el-table-column label="创建时间" align="center" prop="createTime" />
|
|
|
<el-table-column
|
|
|
label="操作"
|
|
|
align="center"
|
|
|
class-name="small-padding fixed-width"
|
|
|
+ width="120"
|
|
|
>
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-document-remove"
|
|
|
- @click="handleMark(scope.row, '1')"
|
|
|
- >去打分</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-search"
|
|
|
- @click="handleLookMark(scope.row, '2')"
|
|
|
- >查看打分表</el-button
|
|
|
- >
|
|
|
<el-button
|
|
|
size="mini"
|
|
|
type="text"
|
|
@@ -194,6 +182,7 @@
|
|
|
>修改</el-button
|
|
|
>
|
|
|
<el-button
|
|
|
+ class="custom-red-color"
|
|
|
size="mini"
|
|
|
type="text"
|
|
|
icon="el-icon-delete"
|
|
@@ -201,6 +190,61 @@
|
|
|
v-hasPermi="['invest:meeting:remove']"
|
|
|
>删除</el-button
|
|
|
>
|
|
|
+
|
|
|
+ <el-dropdown
|
|
|
+ trigger="click"
|
|
|
+ @command="handleCommand($event, scope.row)"
|
|
|
+ >
|
|
|
+ <span class="el-dropdown-link" @click="getButtonItem(scope.row)">
|
|
|
+ <el-button size="mini" type="text" icon="el-icon-d-arrow-right"
|
|
|
+ >更多</el-button
|
|
|
+ >
|
|
|
+ </span>
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
+ <el-dropdown-item
|
|
|
+ v-if="!showLookMark && showMarkBtn"
|
|
|
+ command="1"
|
|
|
+ icon="el-icon-document-remove"
|
|
|
+ @click="handleMark(scope.row, '1', false)"
|
|
|
+ >去打分</el-dropdown-item
|
|
|
+ >
|
|
|
+ <el-dropdown-item
|
|
|
+ v-if="showLookMark && showMarkBtn"
|
|
|
+ icon="el-icon-search"
|
|
|
+ command="2"
|
|
|
+ @click="handleMark(scope.row, '1', true)"
|
|
|
+ >查看打分表</el-dropdown-item
|
|
|
+ >
|
|
|
+ <el-dropdown-item
|
|
|
+ v-if="isInitiator"
|
|
|
+ icon="el-icon-search"
|
|
|
+ command="3"
|
|
|
+ @click="handleLookMark(scope.row, '2', true)"
|
|
|
+ >查看打分汇总表</el-dropdown-item
|
|
|
+ >
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
+ <!-- <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-document-remove"
|
|
|
+ @click="handleMark(scope.row, '1',false)"
|
|
|
+ >去打分</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-search"
|
|
|
+ @click="handleMark(scope.row, '1',true)"
|
|
|
+ >查看打分表</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-search"
|
|
|
+ @click="handleLookMark(scope.row, '2',true)"
|
|
|
+ >查看打分汇总表</el-button
|
|
|
+ > -->
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -290,23 +334,35 @@
|
|
|
</el-form-item> -->
|
|
|
<el-form-item label="会议开始时间" prop="startTime">
|
|
|
<el-date-picker
|
|
|
+ v-model="form.startTime"
|
|
|
+ type="datetime"
|
|
|
+ placeholder="请选择会议开始时间"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ <!-- <el-date-picker
|
|
|
clearable
|
|
|
v-model="form.startTime"
|
|
|
type="date"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
placeholder="请选择会议开始时间"
|
|
|
>
|
|
|
- </el-date-picker>
|
|
|
+ </el-date-picker> -->
|
|
|
</el-form-item>
|
|
|
<el-form-item label="会议结束时间" prop="endTime">
|
|
|
<el-date-picker
|
|
|
+ v-model="form.endTime"
|
|
|
+ type="datetime"
|
|
|
+ placeholder="请选择会议结束时间"
|
|
|
+ >
|
|
|
+ </el-date-picker>
|
|
|
+ <!-- <el-date-picker
|
|
|
clearable
|
|
|
v-model="form.endTime"
|
|
|
type="date"
|
|
|
value-format="yyyy-MM-dd"
|
|
|
placeholder="请选择会议结束时间"
|
|
|
>
|
|
|
- </el-date-picker>
|
|
|
+ </el-date-picker> -->
|
|
|
</el-form-item>
|
|
|
<el-form-item label="会议地点" prop="place">
|
|
|
<el-input v-model="form.place" placeholder="请输入会议地点" />
|
|
@@ -327,16 +383,17 @@
|
|
|
<el-form-item label="会议参与人" prop="participants">
|
|
|
<div
|
|
|
class="el-input__inner inputSimulation"
|
|
|
- @click="openSelectDept(2)"
|
|
|
+ @click="userVisible = true"
|
|
|
>
|
|
|
+ <!-- @click="openSelectDept(2)" -->
|
|
|
{{ form.participants ? form.participants : "请选择会议参与人" }}
|
|
|
</div>
|
|
|
- <selecDept
|
|
|
+ <!-- <selecDept
|
|
|
ref="selecDepts1"
|
|
|
@getDeptMoreUserInfo="getDeptMoreUserInfo"
|
|
|
:deptId="deptId"
|
|
|
:isSolo="false"
|
|
|
- ></selecDept>
|
|
|
+ ></selecDept> -->
|
|
|
</el-form-item>
|
|
|
<el-form-item label="附件" prop="file">
|
|
|
<fileItem
|
|
@@ -351,6 +408,23 @@
|
|
|
<el-button @click="cancel">取 消</el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
+ <!--选择人员-->
|
|
|
+ <el-dialog
|
|
|
+ title="选择人员"
|
|
|
+ :visible.sync="userVisible"
|
|
|
+ width="60%"
|
|
|
+ :show-close="false"
|
|
|
+ >
|
|
|
+ <flow-user
|
|
|
+ :checkType="checkType"
|
|
|
+ :selectValues="selectValues"
|
|
|
+ @handleUserSelect="handleUserSelect"
|
|
|
+ ></flow-user>
|
|
|
+ <span slot="footer" class="dialog-footer">
|
|
|
+ <el-button @click="userVisible = false">取 消</el-button>
|
|
|
+ <el-button type="primary" @click="checkUserComplete">确 定</el-button>
|
|
|
+ </span>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -361,10 +435,12 @@ import {
|
|
|
delMeeting,
|
|
|
addMeeting,
|
|
|
updateMeeting,
|
|
|
+ getCanScoringMeetingId,
|
|
|
} from "@/api/invest/meeting";
|
|
|
import projectItem from "./projectItem";
|
|
|
import fileItem from "./fileItem";
|
|
|
import selecDept from "./selecDept";
|
|
|
+import FlowUser from "@/components/flow/User";
|
|
|
|
|
|
export default {
|
|
|
props: {
|
|
@@ -377,7 +453,7 @@ export default {
|
|
|
},
|
|
|
},
|
|
|
dicts: ["meeting_type", "project_stage", "project_group"],
|
|
|
- components: { projectItem, selecDept, fileItem },
|
|
|
+ components: { projectItem, selecDept, fileItem, FlowUser },
|
|
|
watch: {
|
|
|
"form.meetingType": function (newValue, oldValue) {
|
|
|
// console.log(newValue,"this.form.meetingType", this.form.meetingType);
|
|
@@ -397,6 +473,11 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ // 人员选择器
|
|
|
+ checkType: "multiple",
|
|
|
+ // 数据回显
|
|
|
+ selectValues: null,
|
|
|
+ userVisible: false,
|
|
|
pageType: null,
|
|
|
meetingType: null,
|
|
|
verifyProjectName: false,
|
|
@@ -445,7 +526,9 @@ export default {
|
|
|
endTime: null,
|
|
|
place: null,
|
|
|
promoter: null,
|
|
|
+ promoterId: null,
|
|
|
participants: null,
|
|
|
+ participantsId: null,
|
|
|
delFlag: null,
|
|
|
createBy: null,
|
|
|
createTime: null,
|
|
@@ -465,9 +548,18 @@ export default {
|
|
|
promoter: [{ required: true, trigger: "blur", message: "请选择" }],
|
|
|
participants: [{ required: true, trigger: "blur", message: "请选择" }],
|
|
|
},
|
|
|
+ user: {
|
|
|
+ userId: null,
|
|
|
+ nickName: null,
|
|
|
+ },
|
|
|
+ isInitiator: false, //是否是发起人
|
|
|
+ showLookMark: false, //是否查看打分表
|
|
|
+ showMarkBtn: false,
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
+ this.user = this.$store.getters.user;
|
|
|
+ this.user.userId = this.user.userId.toString();
|
|
|
// 查询该id下的列表信息
|
|
|
if (this.$route.query.id) {
|
|
|
this.queryParams.projectPoolId = this.$route.query.id;
|
|
@@ -487,11 +579,75 @@ export default {
|
|
|
this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
+ /*用户选中赋值*/
|
|
|
+ checkUserComplete() {
|
|
|
+ this.userVisible = false;
|
|
|
+ this.checkType = "";
|
|
|
+ },
|
|
|
+ // 用户选中数据
|
|
|
+ handleUserSelect(selection) {
|
|
|
+ const that = this;
|
|
|
+ if (selection) {
|
|
|
+ if (selection instanceof Array) {
|
|
|
+ const userIds = selection.map((item) => item.userId);
|
|
|
+ const nickName = selection.map((item) => item.nickName);
|
|
|
+ this.form.participants = nickName.join(",");
|
|
|
+ this.form.participantsId = userIds.join(",");
|
|
|
+ } else {
|
|
|
+ this.form.participants = selection.nickName;
|
|
|
+ this.form.participantsId = selection.userId;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ getButtonItem(row) {
|
|
|
+ this.showMarkBtn = false;
|
|
|
+ // 是否是发起人
|
|
|
+ this.isInitiator = row.promoterId == this.user.userId;
|
|
|
+ // 参与人数组
|
|
|
+ let participantsIdList = row.participantsId.split(",");
|
|
|
+ // console.log("是否是发起人",this.isInitiator)
|
|
|
+ // console.log("参与人数组",participantsIdList,"this.user.userId=",this.user.userId,participantsIdList.indexOf(this.user.userId) > -1)
|
|
|
+ if (this.isInitiator) {
|
|
|
+ // 参与人里面包含发起人
|
|
|
+ if (participantsIdList.indexOf(this.user.userId) > -1) {
|
|
|
+ this.showMarkBtn = true;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.showMarkBtn = true;
|
|
|
+ }
|
|
|
+ // console.log("this.showMarkBtn=",this.showMarkBtn)
|
|
|
+ getCanScoringMeetingId(row.id).then((response) => {
|
|
|
+ // 查看打分
|
|
|
+ if (response.tProjectScoring) {
|
|
|
+ this.showLookMark = true;
|
|
|
+ this.$store.commit("SET_TPROJECTSCORING", response.tProjectScoring);
|
|
|
+ } else {
|
|
|
+ // 去打分
|
|
|
+ this.showLookMark = false;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ // getCanScoringMeetingId
|
|
|
+ handleCommand(command, row) {
|
|
|
+ // console.log("handleCommand", command);
|
|
|
+ // console.log("row", row);
|
|
|
+ let type = "1",
|
|
|
+ readonly = true;
|
|
|
+ if (command === "1") {
|
|
|
+ readonly = false;
|
|
|
+ }
|
|
|
+ if (command === "3") {
|
|
|
+ type = "2";
|
|
|
+ }
|
|
|
+ this.handleMark(row, type, readonly);
|
|
|
+ },
|
|
|
// 去打分
|
|
|
- handleMark(row, type) {
|
|
|
+ handleMark(row, type, readonly) {
|
|
|
+ console.log("000000000");
|
|
|
+
|
|
|
this.$router.push({
|
|
|
path: "/invest/meeting/mark",
|
|
|
- query: { id: row.id, formType: type },
|
|
|
+ query: { id: row.id, formType: type, readonly: readonly },
|
|
|
});
|
|
|
},
|
|
|
// 查看打分表
|
|
@@ -504,22 +660,27 @@ export default {
|
|
|
// 选择部门人
|
|
|
openSelectDept(type) {
|
|
|
if (type == 2) {
|
|
|
- this.$refs.selecDepts1.show(type);
|
|
|
+ // this.$refs.selecDepts1.show(type);
|
|
|
} else {
|
|
|
this.$refs.selecDepts.show(type);
|
|
|
}
|
|
|
},
|
|
|
getDeptUserInfo(info) {
|
|
|
this.form.promoter = info[0].nickName;
|
|
|
+ this.form.promoterId = info[0].userId.toString();
|
|
|
},
|
|
|
// 多选人
|
|
|
getDeptMoreUserInfo(info) {
|
|
|
- let peoList = [];
|
|
|
+ let peoList = [],
|
|
|
+ peoIdList = [];
|
|
|
for (let i in info) {
|
|
|
peoList.push(info[i].nickName);
|
|
|
+ peoIdList.push(info[i].userId.toString());
|
|
|
}
|
|
|
let peopleStr = peoList.join(",");
|
|
|
+ let peopleIdStr = peoIdList.join(",");
|
|
|
this.form.participants = peopleStr;
|
|
|
+ this.form.participantsId = peopleIdStr;
|
|
|
},
|
|
|
// 获取fileList
|
|
|
getFileList(fileList) {
|
|
@@ -566,7 +727,9 @@ export default {
|
|
|
endTime: null,
|
|
|
place: null,
|
|
|
promoter: null,
|
|
|
+ promoterId: null,
|
|
|
participants: null,
|
|
|
+ participantsId: null,
|
|
|
delFlag: null,
|
|
|
createBy: null,
|
|
|
createTime: null,
|
|
@@ -633,6 +796,19 @@ export default {
|
|
|
submitForm() {
|
|
|
this.$refs["form"].validate((valid) => {
|
|
|
if (valid) {
|
|
|
+ if (
|
|
|
+ new Date(this.form.endTime).getTime() <
|
|
|
+ new Date(this.form.startTime).getTime()
|
|
|
+ ) {
|
|
|
+ this.$confirm("会议结束时间不能小于开始时间,请重新选择!", "提示", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning",
|
|
|
+ })
|
|
|
+ .then(() => {})
|
|
|
+ .catch(() => {});
|
|
|
+ return false;
|
|
|
+ }
|
|
|
this.form.listFile = this.fileList;
|
|
|
if (this.form.id != null) {
|
|
|
updateMeeting(this.form).then((response) => {
|