|
@@ -1,19 +1,36 @@
|
|
|
|
|
|
-<style scoped>
|
|
|
-.user-panel {
|
|
|
- margin: 10px auto;
|
|
|
+<style lang="scss" scoped>
|
|
|
+.el-breadcrumb {
|
|
|
+ margin: 10px;
|
|
|
+ line-height: 20px;
|
|
|
+}
|
|
|
+
|
|
|
+.el-divider {
|
|
|
+ margin: 5px 0;
|
|
|
+}
|
|
|
+
|
|
|
+.demo-form-inline {
|
|
|
+ margin-left: 10px;
|
|
|
+ text-align: left;
|
|
|
+}
|
|
|
+
|
|
|
+.button-group {
|
|
|
+ margin-left: 10px;
|
|
|
+ text-align: left;
|
|
|
}
|
|
|
</style>
|
|
|
<template>
|
|
|
- <el-dialog
|
|
|
- :visible.sync="showDialog"
|
|
|
- :title="title"
|
|
|
- :modal-append-to-body="false"
|
|
|
- style="text-align: left"
|
|
|
- @close="closeDialog"
|
|
|
- :close-on-click-modal="false"
|
|
|
- width="950px"
|
|
|
- >
|
|
|
+ <div>
|
|
|
+ <el-breadcrumb separator=">">
|
|
|
+ <el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item>
|
|
|
+ <el-breadcrumb-item>
|
|
|
+ <a href="#">基础信息</a>
|
|
|
+ </el-breadcrumb-item>
|
|
|
+ <el-breadcrumb-item>
|
|
|
+ <a href="/meetingInfo">会议管理</a>
|
|
|
+ </el-breadcrumb-item>
|
|
|
+ </el-breadcrumb>
|
|
|
+ <el-divider></el-divider>
|
|
|
<div class="user-panel" v-loading="loading">
|
|
|
<el-form
|
|
|
ref="form"
|
|
@@ -23,6 +40,7 @@
|
|
|
:inline="true"
|
|
|
class="demo-form-inline"
|
|
|
>
|
|
|
+ <h4>会议基础信息</h4>
|
|
|
<el-form-item label="会议编号" prop="number">
|
|
|
<el-input
|
|
|
v-model="formModel.number"
|
|
@@ -38,67 +56,164 @@
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="会议地点" prop="addressId">
|
|
|
- <el-input
|
|
|
- v-model="formModel.addressId"
|
|
|
- placeholder="请输入详细地址"
|
|
|
- style="width: 300px"
|
|
|
- ></el-input>
|
|
|
+ <el-select v-model="formModel.addressId" placeholder="请选择" style="width: 180px">
|
|
|
+ <el-option
|
|
|
+ v-for="item in addressList"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ >
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-button type="primary" style="margin-left: 20px">添加地点</el-button>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="会议日期" prop="addressId">
|
|
|
+ <el-form-item label="会议日期" prop="meetingDate">
|
|
|
<el-input
|
|
|
- v-model="formModel.addressId"
|
|
|
+ v-model="formModel.meetingDate"
|
|
|
placeholder="请输入详细地址"
|
|
|
style="width: 300px"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="会议内容" prop="addressId">
|
|
|
+ <el-form-item label="会议内容" prop="content">
|
|
|
<el-input
|
|
|
- v-model="formModel.addressId"
|
|
|
+ v-model="formModel.content"
|
|
|
placeholder="请输入详细地址"
|
|
|
style="width: 300px"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="会议备注" prop="addressId">
|
|
|
+ <el-form-item label="会议备注" prop="remark">
|
|
|
<el-input
|
|
|
- v-model="formModel.addressId"
|
|
|
+ v-model="formModel.remark"
|
|
|
placeholder="请输入详细地址"
|
|
|
style="width: 300px"
|
|
|
></el-input>
|
|
|
</el-form-item>
|
|
|
<h4>会议配置</h4>
|
|
|
- <el-table
|
|
|
- ref="formTable"
|
|
|
- :data="tableData"
|
|
|
- v-loading="loading"
|
|
|
- :element-loading-text="loadingText"
|
|
|
- stripe
|
|
|
- :height="tableHeight"
|
|
|
- >
|
|
|
- <el-table-column prop="number" label="序号" width="150"></el-table-column>
|
|
|
- <el-table-column prop="name" label="会议日期" width="200"></el-table-column>
|
|
|
- <el-table-column prop="name" label="会议时间" width="200"></el-table-column>
|
|
|
- <el-table-column prop="name" label="会前签到时间" ></el-table-column>
|
|
|
- <el-table-column prop="name" label="结束签到时间" ></el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-divider></el-divider>
|
|
|
- <h4>添加参会人员</h4>
|
|
|
- <el-form-item label="部门" prop="number">
|
|
|
- <el-input
|
|
|
- v-model="formModel.number"
|
|
|
- placeholder="请输入会议编号"
|
|
|
- style="width: 200px"
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
|
|
|
- <template>
|
|
|
- <el-transfer
|
|
|
- filterable
|
|
|
- :filter-method="filterMethod"
|
|
|
- filter-placeholder="请输入城市拼音"
|
|
|
- v-model="value"
|
|
|
- :data="data">
|
|
|
- </el-transfer>
|
|
|
- </template>
|
|
|
+ <el-table :data="formModel.meetingTimeList">
|
|
|
+ <el-table-column
|
|
|
+ type="index"
|
|
|
+ label="序号"
|
|
|
+ width="55"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column prop="name" label="会议日期" width="300px">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item
|
|
|
+ :prop="'meetingTimeList.' + scope.$index + '.name'"
|
|
|
+ :rules="ruleValidate['name']"
|
|
|
+ >
|
|
|
+ <el-input
|
|
|
+ placeholder="站点名称"
|
|
|
+ v-model="scope.row.name"
|
|
|
+ style="width: 250px"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="classify" label="会议时间" width="130px">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-form-item>
|
|
|
+ <el-time-picker
|
|
|
+ v-model="row.location"
|
|
|
+ :picker-options="{
|
|
|
+ selectableRange: '18:30:00 - 20:30:00'
|
|
|
+ }"
|
|
|
+ placeholder="任意时间点">
|
|
|
+ </el-time-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="location" label="会前签到时间">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-form-item>
|
|
|
+ <el-time-picker
|
|
|
+ v-model="row.location"
|
|
|
+ :picker-options="{
|
|
|
+ selectableRange: '18:30:00 - 20:30:00'
|
|
|
+ }"
|
|
|
+ placeholder="任意时间点">
|
|
|
+ </el-time-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="name" label="结束签到时间" width="120px">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-form-item
|
|
|
+ :prop="'meetingTimeList.' + scope.$index + '.radius'"
|
|
|
+ :rules="ruleValidate['radius']"
|
|
|
+ >
|
|
|
+ <el-time-picker
|
|
|
+ v-model="scope.row.radius"
|
|
|
+ :picker-options="{
|
|
|
+ selectableRange: '18:30:00 - 20:30:00'
|
|
|
+ }"
|
|
|
+ placeholder="任意时间点">
|
|
|
+ </el-time-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" width="200">
|
|
|
+ <template slot-scope="{ row }">
|
|
|
+ <el-form-item>
|
|
|
+ <i
|
|
|
+ class="el-icon-delete my-font"
|
|
|
+ @click="handleDelete(row)"
|
|
|
+ ></i>
|
|
|
+ <i class="el-icon-top my-font" @click="handleUp(row)"></i>
|
|
|
+ <i
|
|
|
+ class="el-icon-bottom my-font"
|
|
|
+ @click="handleDown(row)"
|
|
|
+ ></i>
|
|
|
+ <i
|
|
|
+ class="el-icon-document-add my-font"
|
|
|
+ @click="handleInsert(row)"
|
|
|
+ ></i>
|
|
|
+ </el-form-item>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <div slot="empty">
|
|
|
+ <el-button
|
|
|
+ icon="el-icon-circle-plus-outline"
|
|
|
+ :plain="true"
|
|
|
+ @click="handleAdd()"
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <div
|
|
|
+ class="el-table__empty-block"
|
|
|
+ v-if="formModel.meetingTimeList.length != 0"
|
|
|
+ >
|
|
|
+ <el-button icon="el-icon-circle-plus-outline" @click="handleAdd()"
|
|
|
+ >新增</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <h4>添加参会人员</h4>
|
|
|
+ <el-row>
|
|
|
+ <el-form-item label="部门" prop="companyInfoId">
|
|
|
+ <el-input
|
|
|
+ v-model="formModel.companyInfoId"
|
|
|
+ placeholder="请输入会议编号"
|
|
|
+ style="width: 200px"
|
|
|
+ size="mini"
|
|
|
+ ></el-input>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-form-item label="添加人员" prop="companyInfoId">
|
|
|
+ <template>
|
|
|
+ <el-transfer
|
|
|
+ filterable
|
|
|
+ :filter-method="filterMethod"
|
|
|
+ filter-placeholder="请输入城市拼音"
|
|
|
+ v-model="value"
|
|
|
+ :data="data">
|
|
|
+ </el-transfer>
|
|
|
+ </template>
|
|
|
+ </el-form-item>
|
|
|
+ </el-row>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
@@ -107,14 +222,15 @@
|
|
|
>确 定</el-button
|
|
|
>
|
|
|
</span>
|
|
|
- </el-dialog>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
<script>
|
|
|
import meetingInfoApi from "@/api/base/meetingInfo";
|
|
|
-import dataDictionaryApi from "@/api/sys/dataDictionary";
|
|
|
+import addressInfoApi from "@/api/base/address";
|
|
|
import "nprogress/nprogress.css"; // progress bar style
|
|
|
|
|
|
export default {
|
|
|
+ name: "baseMeetingDetail",
|
|
|
props: ["businessKey", "title"],
|
|
|
data() {
|
|
|
const generateData = _ => {
|
|
@@ -134,10 +250,19 @@ export default {
|
|
|
return {
|
|
|
data: generateData(),
|
|
|
value:[],
|
|
|
- formModel: {},
|
|
|
+ formModel: {
|
|
|
+ addressId:"",
|
|
|
+ meetingTimeList: [],
|
|
|
+ removeMeetingTimeList: []
|
|
|
+ },
|
|
|
ruleValidate: {
|
|
|
- name: [{ required: true, message: "会议地点名称不能为空", trigger: "blur" }],
|
|
|
+ number: [{ required: true, message: "会议编号不能为空", trigger: "blur" }],
|
|
|
+ name: [{ required: true, message: "会议名称不能为空", trigger: "blur" }],
|
|
|
+ addressId: [{ required: true, message: "会议地点不能为空", trigger: "blur" }],
|
|
|
+ meetingDate: [{ required: true, message: "会议地点名称不能为空", trigger: "blur" }],
|
|
|
+
|
|
|
},
|
|
|
+ addressList:[],
|
|
|
showDialog: true,
|
|
|
loading: false,
|
|
|
submitting: false,
|
|
@@ -146,6 +271,15 @@ export default {
|
|
|
},
|
|
|
};
|
|
|
},
|
|
|
+ created() {
|
|
|
+ var self = this;
|
|
|
+ addressInfoApi.list().then(function(response) {
|
|
|
+ var jsonData = response.data;
|
|
|
+ if (jsonData.result) {
|
|
|
+ self.addressList = jsonData.data;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
methods: {
|
|
|
closeDialog() {
|
|
|
this.$emit("close", false);
|
|
@@ -185,6 +319,16 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
+ handleAdd() {
|
|
|
+ this.formModel.meetingTimeList.push({
|
|
|
+ sortNo: this.formModel.meetingTimeList.length + 1,
|
|
|
+ name: "",
|
|
|
+ routeId: this.businessKey,
|
|
|
+ classify: "",
|
|
|
+ location: "",
|
|
|
+ delFlag: 0,
|
|
|
+ });
|
|
|
+ },
|
|
|
},
|
|
|
mounted: function () {
|
|
|
var self = this;
|