|
|
@@ -41,7 +41,25 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="会议主题" prop="meetingName" fixed>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="会议类型" prop="meetingType" width="80" fixed>
|
|
|
+
|
|
|
+ <el-table-column label="会议地点" prop="meetingPlace" width="120">
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="address" label="参会人员" :show-overflow-tooltip="true">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ scope.row.outAttendees }}</span>
|
|
|
+ <span v-if="scope.row.outAttendees!=''">、</span>
|
|
|
+ <span v-for="(item,index) in JSON.parse(scope.row.innerAttendees) ">
|
|
|
+ <template v-if="index > 0">,</template>
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
+ </span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="会议时间" width="240">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <div>{{ parseTime(scope.row.beginTime) }}——{{ parseTime(scope.row.endTime) }}</div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="会议类型" prop="meetingType" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
<!--会议类型(1-周例会,2-项目会议,3-实施会议,4-其他会议)-->
|
|
|
<div v-if="scope.row.meetingType===1">周例会</div>
|
|
|
@@ -50,8 +68,6 @@
|
|
|
<div v-else>其他会议</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="会议地点" prop="meetingPlace" width="120">
|
|
|
- </el-table-column>
|
|
|
<el-table-column prop="status" label="会议状态" width="80">
|
|
|
<template slot-scope="scope">
|
|
|
<!--会议状态,0待开始,1进行中,2已结束-->
|
|
|
@@ -60,21 +76,6 @@
|
|
|
<div v-else>已结束</div>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column prop="name" label="会议时间" width="240">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>{{ parseTime(scope.row.beginTime) }}——{{ parseTime(scope.row.endTime) }}</div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="address" label="参会人员" :show-overflow-tooltip="true">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ scope.row.outAttendees }}</span>
|
|
|
- <span v-if="scope.row.outAttendees!=''">、</span>
|
|
|
- <span v-for="(item,index) in JSON.parse(scope.row.innerAttendees) ">
|
|
|
- <template v-if="index > 0">,</template>
|
|
|
- <span>{{ item.name }}</span>
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
<el-table-column prop="createTime" label="创建时间" width="130">
|
|
|
<template slot-scope="scope">
|
|
|
<span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
@@ -99,8 +100,8 @@
|
|
|
<el-dialog :title="title" :visible.sync="editFormVisible" width="950px" @click="closeDialog"
|
|
|
:close-on-click-modal="false">
|
|
|
<el-form label-width="120px" ref="form" size="mini" :model="editForm">
|
|
|
- <el-form-item label="会议主题:">
|
|
|
- <el-input v-model="editForm.meetingName"></el-input>
|
|
|
+ <el-form-item label="会议主题:" prop="meetingName" :rules="[{required:true,message: '请输入会议主题', trigger: 'blur'}]">
|
|
|
+ <el-input v-model="editForm.meetingName" ></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="会议类别:">
|
|
|
<el-radio-group v-model="editForm.external">
|
|
|
@@ -110,7 +111,7 @@
|
|
|
</el-form-item>
|
|
|
<el-row :gutter="10">
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="会议类型:">
|
|
|
+ <el-form-item label="会议类型:" prop="meetingType" :rules="[{required:true,message: '请选择会议类型', trigger: 'blur'}]">
|
|
|
<el-select v-model="editForm.meetingType" placeholder="会议类型" clearable>
|
|
|
<el-option label="周例会" :value="1" key="周例会">周例会</el-option>
|
|
|
<el-option label="项目会议" :value="2" key="项目会议">项目会议</el-option>
|
|
|
@@ -120,7 +121,7 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-form-item label="关联项目" v-if="editForm.meetingType===2">
|
|
|
+ <el-form-item label="关联项目" v-if="editForm.meetingType===2" prop="projectId" :rules="[{required:true,message: '请选择项目', trigger: 'change'}]">
|
|
|
<el-select
|
|
|
v-model="editForm.projectId"
|
|
|
clearable
|
|
|
@@ -130,10 +131,10 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-form-item label="会议地点:">
|
|
|
+ <el-form-item label="会议地点:" prop="meetingPlace" :rules="[{required:true,message: '请输入会议地点', trigger: 'blur'}]">
|
|
|
<el-input size="mini" v-model="editForm.meetingPlace"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="会议时间:">
|
|
|
+ <el-form-item label="会议时间:" prop="time" :rules="[{required:true,message: '请选择会议时间', trigger: 'blur'}]">
|
|
|
<el-date-picker
|
|
|
v-model="editForm.time"
|
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
@@ -147,26 +148,26 @@
|
|
|
<el-form-item label="外部参会人员:">
|
|
|
<el-input size="mini" v-model="editForm.outAttendees"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="内部参会人员:">
|
|
|
+ <el-form-item label="内部参会人员:" prop="innerAttendUsers" :rules="[{required:true,message: '请选择参会人员', trigger: 'change'}]">
|
|
|
<el-input size="mini" v-model="editForm.innerAttendUsers" readonly="true" @keyup.enter.native="openUsers()">
|
|
|
<el-button @click="openUsers" icon="el-icon-search" slot="append"></el-button>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="主持人:">
|
|
|
+ <el-form-item label="主持人:" prop="emcee" :rules="[{required:true,message: '请选择会议主持人', trigger: 'change'}]">
|
|
|
<el-input size="mini" v-model="editForm.emcee" readonly="true" @keyup.enter.native="openUsers1('emcee')">
|
|
|
<el-button @click="openUsers1('emcee')" icon="el-icon-search" slot="append"></el-button>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="记录人:">
|
|
|
+ <el-form-item label="记录人:" prop="recorder" :rules="[{required:true,message: '请选择会议记录人', trigger: 'change'}]">
|
|
|
<el-input size="mini" v-model="editForm.recorder" readonly="true"
|
|
|
@keyup.enter.native="openUsers1('recorder')">
|
|
|
<el-button @click="openUsers1('recorder')" icon="el-icon-search" slot="append"></el-button>
|
|
|
</el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="参会情况:">
|
|
|
+ <el-form-item label="参会情况:" prop="remark" :rules="[{required:true,message: '请输入参会情况', trigger: 'blur'}]">
|
|
|
<el-input size="mini" v-model="editForm.remark"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="会议内容:">
|
|
|
+ <el-form-item label="会议内容:" >
|
|
|
<el-table
|
|
|
style="width: 100%" border stripe :show-header="false" :data="editForm.meetingContents">
|
|
|
<el-table-column type="index" label="序号" width="40">
|
|
|
@@ -258,12 +259,12 @@
|
|
|
<el-table-column label="会议内容" prop="content"></el-table-column>
|
|
|
<el-table-column label="会议问题" prop="question">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.question" type="textarea" autosize></el-input>
|
|
|
+ <el-input size="mini" v-model="scope.row.question" type="textarea" :autosize="{ minRows: 4, maxRows: 10}"></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column label="会议方案" prop="optionss">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-input size="mini" v-model="scope.row.optionss" type="textarea" autosize></el-input>
|
|
|
+ <el-input size="mini" v-model="scope.row.optionss" type="textarea" :autosize="{ minRows: 4, maxRows: 10}"></el-input>
|
|
|
</template>
|
|
|
|
|
|
</el-table-column>
|
|
|
@@ -500,19 +501,30 @@ export default {
|
|
|
return;
|
|
|
}
|
|
|
this.editForm.meetingContents.splice(index, 1)
|
|
|
- deleteMeetingContentById(row.id).then(res => {
|
|
|
- });
|
|
|
+ if(row.id!==undefined){
|
|
|
+ deleteMeetingContentById(row.id).then(res => {
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
submitForm() {
|
|
|
- let data = this.editForm;
|
|
|
- addMeeting(data).then(response => {
|
|
|
- this.$message({
|
|
|
- message: '操作成功!',
|
|
|
- type: 'success'
|
|
|
- });
|
|
|
- this.closeDialog();
|
|
|
- this.getData(this.formInline);
|
|
|
+ this.$refs["form"].validate((valid) => {
|
|
|
+ if (valid) {
|
|
|
+ let data = this.editForm;
|
|
|
+ addMeeting(data).then(response => {
|
|
|
+ this.$message({
|
|
|
+ message: '操作成功!',
|
|
|
+ type: 'success'
|
|
|
+ });
|
|
|
+ this.closeDialog();
|
|
|
+ this.getData(this.formInline);
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
});
|
|
|
+
|
|
|
+
|
|
|
},
|
|
|
resetSearch() {
|
|
|
this.formInline = {
|
|
|
@@ -729,6 +741,16 @@ export default {
|
|
|
},
|
|
|
submitMeetingOptionsForm() {
|
|
|
let data = this.pro.meetingContents;
|
|
|
+ for (let i = 0; i < data.length; i++) {
|
|
|
+ let t = data[i];
|
|
|
+ if(t.question==='' || t.optionss==='' || t.executorName==='' || t.times===''){
|
|
|
+ this.$message({
|
|
|
+ message: '请将信息填写完整!',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
saveMeetingOptionss(data).then(res => {
|
|
|
this.$message({
|
|
|
message: '操作成功!',
|