|
@@ -2,7 +2,7 @@
|
|
|
<div class="app-container">
|
|
|
<el-form ref="formInline" v-model="formInline" size="mini" :inline="true">
|
|
|
<el-form-item label="会议类别:">
|
|
|
- <el-radio-group v-model="formInline.meetingEternal">
|
|
|
+ <el-radio-group v-model="formInline.meetingEternal" @input="chooseMeeting()">
|
|
|
<el-radio-button label="0" value="0" >内部会议</el-radio-button>
|
|
|
<el-radio-button label="1" value="1">外部会议</el-radio-button>
|
|
|
</el-radio-group>
|
|
@@ -12,7 +12,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="会议类型:">
|
|
|
<el-select v-model="formInline.meetingType" placeholder="会议类型" clearable >
|
|
|
- <el-option label="周例会" value="1" key="周例会">周例会</el-option>
|
|
|
+ <el-option label="周例会" value="1" key="周例会">周例会</el-option>
|
|
|
<el-option label="项目会议" value="2" key="项目会议">项目会议</el-option>
|
|
|
<el-option label="实施会议" value="3" key="实施会议">实施会议</el-option>
|
|
|
<el-option label="其他会议" value="4" key="其他会议">其他会议</el-option>
|
|
@@ -67,7 +67,12 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column prop="address" label="参会人员">
|
|
|
<template scope="scope">
|
|
|
- <div>{{scope.row.outAttendees}}{{scope.row.innerAttendees}}</div>
|
|
|
+ <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="150">
|
|
@@ -75,8 +80,7 @@
|
|
|
</el-table-column>
|
|
|
<el-table-column label="操作" prop="op" width="150">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button size="mini" type="primary" @click="handleEdit(scope.$index, scope.row)">编辑</el-button>
|
|
|
-
|
|
|
+ <el-button size="mini" type="primary" @click="handleEdit(scope.row)">编辑</el-button>
|
|
|
<el-button v-if="scope.row.status===0" size="mini" type="danger" @click="deleteMeeting( scope.row)">删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
@@ -122,13 +126,19 @@
|
|
|
<el-input size="small" v-model="editForm.outAttendees"></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="内部参会人员:">
|
|
|
- <el-input size="small" v-model="editForm.innerAttendees"></el-input>
|
|
|
+ <el-input size="small" v-model="editForm.innerAttendUsers" :disabled="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-input size="small" v-model="editForm.emcee"></el-input>
|
|
|
+ <el-input size="small" v-model="editForm.emcee" :disabled="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-input size="small" v-model="editForm.recorder"></el-input>
|
|
|
+ <el-input size="small" v-model="editForm.recorder" :disabled="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-table
|
|
@@ -155,12 +165,46 @@
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
|
|
|
+ <el-dialog title="选择人员" :visible.sync="usersVisble" width="30%" @click="closeUserDialog">
|
|
|
+ <el-tree
|
|
|
+ ref="dept"
|
|
|
+ :data="userList"
|
|
|
+ node-key="id"
|
|
|
+ show-checkbox
|
|
|
+ :props="{label:'name'}" default-expand-all="true">
|
|
|
+ </el-tree>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="small" @click="closeUserDialog">取消</el-button>
|
|
|
+ <el-button size="small" type="primary" class="title" @click="submitUserForm('editForm')">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
+ <el-dialog title="选择人员" :visible.sync="users1Visble" width="30%" @click="closeUser1Dialog">
|
|
|
+ <el-tree
|
|
|
+ ref="dept1"
|
|
|
+ :data="userList"
|
|
|
+ node-key="id"
|
|
|
+ :props="{label:'name'}" default-expand-all="true">
|
|
|
+ </el-tree>
|
|
|
+ <div slot="footer" class="dialog-footer">
|
|
|
+ <el-button size="small" @click="closeUser1Dialog">取消</el-button>
|
|
|
+ <el-button size="small" type="primary" class="title" @click="submitUser1Form('editForm')">确定</el-button>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
import Pagination from '../../components/Page/Pagination'
|
|
|
-import {addMeeting,getMeetingsByPage,deleteMeeting} from '@/api/meeting/meeting'
|
|
|
+import {
|
|
|
+ addMeeting,
|
|
|
+ getMeetingsByPage,
|
|
|
+ deleteMeeting,
|
|
|
+ getMeetingDetailsById,
|
|
|
+ deleteMeetingContentById
|
|
|
+} from '@/api/meeting/meeting'
|
|
|
+import { getDeptUserTree } from '@/api/system/user'
|
|
|
export default {
|
|
|
name: 'Meeting',
|
|
|
data() {
|
|
@@ -184,6 +228,7 @@ export default {
|
|
|
editFormVisible: false,
|
|
|
title : '创建会议',
|
|
|
editForm: {
|
|
|
+ id:null,
|
|
|
meetingName: '',
|
|
|
external: 0,
|
|
|
meetingType : '1',
|
|
@@ -191,13 +236,18 @@ export default {
|
|
|
time: null,
|
|
|
outAttendees : '',
|
|
|
innerAttendees: '',
|
|
|
+ innerAttendesss: null,
|
|
|
+ innerAttendUsers:'',
|
|
|
emcee : '',
|
|
|
recorder: '',
|
|
|
meetingContents: [
|
|
|
{content: '会议内容','op':''}
|
|
|
- ],
|
|
|
- }
|
|
|
-
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ usersVisble:false,
|
|
|
+ userList:[],
|
|
|
+ users1Visble:false,
|
|
|
+ users1Flag:''
|
|
|
}
|
|
|
},
|
|
|
// 注册组件
|
|
@@ -206,8 +256,14 @@ export default {
|
|
|
},
|
|
|
mounted() {
|
|
|
this.getData(this.formInline);
|
|
|
+ this.getDeptUserTrees();
|
|
|
},
|
|
|
methods: {
|
|
|
+ getDeptUserTrees(){
|
|
|
+ getDeptUserTree('').then(res => {
|
|
|
+ this.userList = res.data
|
|
|
+ });
|
|
|
+ },
|
|
|
// 分页插件事件
|
|
|
callFather(parm) {
|
|
|
this.formInline.current = parm.current
|
|
@@ -235,16 +291,18 @@ export default {
|
|
|
deleteRow(index,row){
|
|
|
if(index==0){
|
|
|
this.$message({
|
|
|
- message: '不能删除工作内容',
|
|
|
+ message: '不能删除会议内容',
|
|
|
type: 'warning'
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
this.editForm.meetingContents.splice(index, 1)
|
|
|
+ deleteMeetingContentById(row.id).then(res =>{
|
|
|
+ });
|
|
|
},
|
|
|
submitForm(){
|
|
|
let data=this.editForm;
|
|
|
- addMeeting(data).then(response => {
|
|
|
+ addMeeting(data).then(response => {
|
|
|
this.$message({
|
|
|
message: '操作成功!',
|
|
|
type: 'success'
|
|
@@ -278,6 +336,108 @@ export default {
|
|
|
});
|
|
|
this.getData(this.formInline);
|
|
|
})
|
|
|
+ },
|
|
|
+ openUsers(){
|
|
|
+ this.usersVisble=true
|
|
|
+ },
|
|
|
+ closeUserDialog(){
|
|
|
+ this.usersVisble=false
|
|
|
+ },
|
|
|
+ submitUserForm(){
|
|
|
+ //获取选中的节点
|
|
|
+ let node=this.$refs.dept.getCheckedNodes();
|
|
|
+
|
|
|
+ if(node==undefined || node==null ||node.length===0){
|
|
|
+ this.$message({
|
|
|
+ message: '请选择人员数据!',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let userList = []
|
|
|
+ let userName=''
|
|
|
+ let saveUsers=[]
|
|
|
+ node.forEach(item=>{
|
|
|
+ if(item.type==='u'){
|
|
|
+ userList.push(item);
|
|
|
+ userName+=item.name+'、';
|
|
|
+ saveUsers.push({
|
|
|
+ id: item.id,
|
|
|
+ name: item.name
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ userName=userName.substring(0,userName.length-1);
|
|
|
+ if(userList.length===0){
|
|
|
+ this.$message({
|
|
|
+ message: '请选择人员!',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.closeUserDialog()
|
|
|
+ this.editForm.innerAttendUsers=userName
|
|
|
+ this.editForm.innerAttendesss=saveUsers
|
|
|
+ },
|
|
|
+ closeUser1Dialog(){
|
|
|
+ this.users1Visble=false
|
|
|
+ },
|
|
|
+ openUsers1(data){
|
|
|
+ this.users1Visble=true
|
|
|
+ this.users1Flag=data
|
|
|
+ },
|
|
|
+ submitUser1Form(){
|
|
|
+ let node=this.$refs.dept1.getCurrentNode();
|
|
|
+ if(node==undefined || node==null){
|
|
|
+ this.$message({
|
|
|
+ message: '请选择数据!',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if(node.type!=='u') {
|
|
|
+ this.$message({
|
|
|
+ message: '请选择人员!',
|
|
|
+ type: 'warning'
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ let user1Flag=this.users1Flag;
|
|
|
+ if(user1Flag==='emcee'){
|
|
|
+ this.editForm.emcee=node.name
|
|
|
+ }else{
|
|
|
+ this.editForm.recorder=node.name
|
|
|
+ }
|
|
|
+
|
|
|
+ this.closeUser1Dialog()
|
|
|
+ },
|
|
|
+ handleEdit(row){
|
|
|
+ getMeetingDetailsById(row.id).then(res => {
|
|
|
+ let data=res.data
|
|
|
+ this.editForm=data
|
|
|
+ let users=JSON.parse(data.innerAttendees)
|
|
|
+ this.editForm.innerAttendees=''
|
|
|
+ for(var i=0;i<users.length;i++){
|
|
|
+ this.editForm.innerAttendees+=users[i].name+','
|
|
|
+ }
|
|
|
+ this.editForm.innerAttendees= this.editForm.innerAttendees.substring(0,this.editForm.innerAttendees.length-1)
|
|
|
+ this.editForm.innerAttendesss=users;
|
|
|
+ this.editForm.innerAttendUsers=this.editForm.innerAttendees
|
|
|
+ this.editForm.meetingType=data.meetingType
|
|
|
+ let time=[];
|
|
|
+ time.push(data.beginTime);
|
|
|
+ time.push(data.endTime);
|
|
|
+ this.editForm.time=time;
|
|
|
+ this.title = '修改会议'
|
|
|
+ this.editFormVisible = true
|
|
|
+ });
|
|
|
+ },
|
|
|
+ chooseMeeting(){
|
|
|
+ let val=this.formInline.meetingEternal;
|
|
|
+ let search=this.formInline
|
|
|
+ search.meetingEternal=val;
|
|
|
+ this.getData(search)
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
}
|