|
|
@@ -59,7 +59,7 @@
|
|
|
@pagination="getList"/>
|
|
|
|
|
|
<!-- 添加或修改岗位对话框 -->
|
|
|
- <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
|
|
|
+ <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
<el-form-item label="会议名称" prop="name">
|
|
|
<el-input v-model="form.name" placeholder="请输入会议名称" />
|
|
|
@@ -70,19 +70,19 @@
|
|
|
{{dict.label}}</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="会议开始时间" prop="startTime">
|
|
|
+ <el-form-item label="开始时间" prop="startTime">
|
|
|
<el-date-picker
|
|
|
- v-model="queryParams.startTime"
|
|
|
- style="width: 250px"
|
|
|
+ v-model="form.startTime"
|
|
|
+ style="width: 100%"
|
|
|
type="datetime"
|
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
placeholder="选择会议开始时间">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="会议结束时间" prop="endTime">
|
|
|
+ <el-form-item label="结束时间" prop="endTime">
|
|
|
<el-date-picker
|
|
|
- v-model="queryParams.endTime"
|
|
|
- style="width: 250px"
|
|
|
+ v-model="form.endTime"
|
|
|
+ style="width: 100%"
|
|
|
type="datetime"
|
|
|
value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
placeholder="选择会议结束时间">
|
|
|
@@ -94,9 +94,19 @@
|
|
|
<el-form-item label="申请部门" prop="deptName">
|
|
|
<el-input v-model="form.deptName" placeholder="申请部门" />
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="参会人员" prop="meetingParticipants">
|
|
|
- <el-input v-model="form.meetingParticipants" placeholder="选择参会人员" readonly @click="openPS"/>
|
|
|
- </el-form-item>
|
|
|
+ <el-form-item label="参会人员" prop="peopleList">
|
|
|
+ <el-input type="textarea" v-model="form.peopleList" style="display: none;"/>
|
|
|
+ <el-button class="button-new-tag" @click="openPS" size="small">+ 添加</el-button>
|
|
|
+ <span v-for="(tag,index) in nikeNamelist" :key="index" >
|
|
|
+ <!-- <i class="el-icon-arrow-right"></i> -->
|
|
|
+
|
|
|
+ <el-tag type="info" closable :disable-transitions="false" @close="handleClose(index)">
|
|
|
+ <span class="user-avatar">{{ tag.substring(0, 1) || 'U' }}</span>
|
|
|
+ {{ tag }}
|
|
|
+ </el-tag>
|
|
|
+ </span>
|
|
|
+
|
|
|
+ </el-form-item>
|
|
|
|
|
|
<el-form-item label="会议内容">
|
|
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
|
|
@@ -114,14 +124,18 @@
|
|
|
|
|
|
<script>
|
|
|
import { listPost, getPost, delPost, addPost, updatePost, exportPost } from "@/api/meeting";
|
|
|
-
|
|
|
+ import PeopleSelect from "@/components/PeopleSelect/index.vue";
|
|
|
import {CommonStatusEnum} from '@/utils/constants'
|
|
|
import { getDictDatas, DICT_TYPE } from '@/utils/dict'
|
|
|
|
|
|
export default {
|
|
|
name: "SystemPost",
|
|
|
+ components: {
|
|
|
+ PeopleSelect,
|
|
|
+ },
|
|
|
data() {
|
|
|
return {
|
|
|
+ nikeNamelist: [],
|
|
|
//是否打开选人组件,默认不打开
|
|
|
peopleOpen: false,
|
|
|
// 遮罩层
|
|
|
@@ -168,9 +182,9 @@
|
|
|
deptName: [
|
|
|
{ required: true, message: "申请人部门不能为空", trigger: "blur" }
|
|
|
],
|
|
|
- deptName: [
|
|
|
- { required: true, message: "参会人员不能为空", trigger: "blur" }
|
|
|
- ]
|
|
|
+ peopleList: [
|
|
|
+ { required: true, message: '参会人员不能为空', }
|
|
|
+ ]
|
|
|
},
|
|
|
|
|
|
// 枚举
|
|
|
@@ -183,16 +197,20 @@
|
|
|
this.getList();
|
|
|
},
|
|
|
methods: {
|
|
|
- //打开选人弹窗
|
|
|
+ // 关闭标签
|
|
|
+ handleClose(index) {
|
|
|
+ this.form.peopleList.splice(index, 1);
|
|
|
+ this.nikeNamelist.splice(index, 1);
|
|
|
+ },
|
|
|
+ //打开选人弹窗
|
|
|
openPS() {
|
|
|
this.peopleOpen = true;
|
|
|
},
|
|
|
- //选择人的确定按钮事件 submitPeople(nikeNamelist)方法传参一个默认接收用户昵称数组 submitPeople(peopleList,nikeNamelist)方法传参两个则是接收用户昵称数组和用户账号数组
|
|
|
- submitPeople(userNamelist, nikeNamelist,userIdList) {
|
|
|
- console.log(userIdList);
|
|
|
- this.peopleList = nikeNamelist;
|
|
|
- this.form.peopleList = userNamelist.join(",");
|
|
|
- this.userIdList = userIdList;
|
|
|
+ //选择人的确定按钮事件 submitPeople(nikeNamelist)方法传参一个默认接收用户昵称数组 submitPeople(peopleList,nikeNamelist)方法传参两个则是接收用户昵称数组和用户账号数组
|
|
|
+ submitPeople(userNamelist, nikeNamelist,userIdList) {
|
|
|
+ console.log(userNamelist);
|
|
|
+ this.nikeNamelist = nikeNamelist;
|
|
|
+ this.form.peopleList = userIdList;
|
|
|
this.peopleOpen = false;
|
|
|
},
|
|
|
/** 查询岗位列表 */
|
|
|
@@ -218,7 +236,7 @@
|
|
|
endTime:undefined,
|
|
|
applyUser:undefined,
|
|
|
deptName:undefined,
|
|
|
- deptName:undefined,
|
|
|
+ peopleList:undefined,
|
|
|
remark: undefined
|
|
|
};
|
|
|
this.resetForm("form");
|
|
|
@@ -251,6 +269,7 @@
|
|
|
},
|
|
|
/** 提交按钮 */
|
|
|
submitForm: function() {
|
|
|
+ console.log(this.form);
|
|
|
this.$refs["form"].validate(valid => {
|
|
|
if (valid) {
|
|
|
if (this.form.id !== undefined) {
|
|
|
@@ -293,4 +312,32 @@
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
-
|
|
|
+<style lang="scss" scoped>
|
|
|
+.user-avatar {
|
|
|
+ width: 22px;
|
|
|
+ height: 22px;
|
|
|
+ line-height: 19px;
|
|
|
+ font-size: 12px;
|
|
|
+ background: #46c26f;
|
|
|
+ border: 1px solid transparent;
|
|
|
+ border-radius: 50%;
|
|
|
+ color: #fff;
|
|
|
+ display: inline-block;
|
|
|
+ overflow: hidden;
|
|
|
+ text-align: center;
|
|
|
+ vertical-align: middle;
|
|
|
+ margin-bottom: 2px;
|
|
|
+}
|
|
|
+
|
|
|
+.el-tag+.el-tag {
|
|
|
+ margin-left: 10px;
|
|
|
+}
|
|
|
+
|
|
|
+.button-new-tag {
|
|
|
+ margin-right: 10px;
|
|
|
+ height: 30px;
|
|
|
+ line-height: 30px;
|
|
|
+ padding-top: 0;
|
|
|
+ padding-bottom: 0;
|
|
|
+}
|
|
|
+</style>
|