5df8bad4d11fca8fc52facd3ba2f2a720efc3322.svn-base 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. <!-- -->
  2. <template>
  3. <div>
  4. <el-dialog
  5. title="添加会议"
  6. :before-close="closeDialog"
  7. :visible.sync="dialogFormVisible"
  8. width='99%'>
  9. <el-container>
  10. <el-main>
  11. <el-form ref="form" :model="sizeForm" label-width="130px" size="mini" >
  12. <el-form-item label="会议主题">
  13. <el-input v-model="sizeForm.title"></el-input>
  14. </el-form-item>
  15. <el-form-item label="会议地点">
  16. <el-input v-model="sizeForm.address"></el-input>
  17. </el-form-item>
  18. <el-form-item label="会议内容">
  19. <!-- <el-input type="textarea" v-model="sizeForm.content" :autosize="{ minRows: 2, maxRows: 4}"></!-->
  20. <Editor id="condition" v-model="sizeForm.content" :init="editorInit" ></Editor>
  21. </el-form-item>
  22. <el-form-item label="会议地点经度">
  23. <el-input v-model="sizeForm.gdX"></el-input>
  24. </el-form-item>
  25. <el-form-item label="会议地点纬度">
  26. <el-input v-model="sizeForm.gdY"></el-input>
  27. </el-form-item>
  28. <el-form-item label="是否签退">
  29. <el-radio-group v-model="sizeForm.isOut" size="mini">
  30. <el-radio label="1">是</el-radio>
  31. <el-radio label="2">否</el-radio>
  32. </el-radio-group>
  33. </el-form-item>
  34. <el-form-item label="是否有问卷">
  35. <el-radio-group v-model="sizeForm.isHasQues" size="mini">
  36. <el-radio label="1">是</el-radio>
  37. <el-radio label="2">否</el-radio>
  38. </el-radio-group>
  39. </el-form-item>
  40. <el-form-item label="计划会议时间">
  41. <el-col :span="11">
  42. <el-date-picker
  43. value-format="yyyy-MM-dd HH:mm"
  44. format="yyyy-MM-dd HH:mm"
  45. type="datetime"
  46. placeholder="选择日期"
  47. v-model="sizeForm.stTm"
  48. style="width: 100%;"></el-date-picker>
  49. </el-col>
  50. <el-col class="line" :span="2" style="text-align:center;">-</el-col>
  51. <el-col :span="11">
  52. <el-date-picker
  53. value-format="yyyy-MM-dd HH:mm"
  54. format="yyyy-MM-dd HH:mm"
  55. type="datetime"
  56. placeholder="选择日期"
  57. v-model="sizeForm.enTm"
  58. style="width: 100%;"></el-date-picker>
  59. </el-col>
  60. </el-form-item>
  61. <el-form-item label="实际会议时间" v-if="showRealTime">
  62. <el-col :span="11">
  63. <el-date-picker
  64. value-format="yyyy-MM-dd HH:mm"
  65. format="yyyy-MM-dd HH:mm"
  66. type="datetime"
  67. placeholder="选择日期"
  68. v-model="sizeForm.startTm"
  69. style="width: 100%;"></el-date-picker>
  70. </el-col>
  71. <el-col class="line" :span="2" style="text-align:center;">-</el-col>
  72. <el-col :span="11">
  73. <el-date-picker
  74. value-format="yyyy-MM-dd HH:mm"
  75. format="yyyy-MM-dd HH:mm"
  76. type="datetime"
  77. placeholder="选择日期"
  78. v-model="sizeForm.endTm"
  79. style="width: 100%;"></el-date-picker>
  80. </el-col>
  81. </el-form-item>
  82. </el-form>
  83. </el-main>
  84. <el-footer style="height: 100%;text-align: right;">
  85. <el-button type="primary" @click="onSubmit">立即创建</el-button>
  86. <el-button @click="cancel">取消</el-button>
  87. </el-footer>
  88. </el-container>
  89. </el-dialog>
  90. </div>
  91. </template>
  92. <script>
  93. //这里可以导入其他文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  94. //例如:import 《组件名称》 from '《组件路径》';
  95. import { addMeetingBase } from "../../api/meetingAPI.js";
  96. import tinymce from 'tinymce/tinymce'
  97. import 'tinymce/themes/silver/theme'
  98. import Editor from '@tinymce/tinymce-vue'
  99. import 'tinymce/plugins/image'
  100. import 'tinymce/plugins/link'
  101. import 'tinymce/plugins/code'
  102. import 'tinymce/plugins/table'
  103. import 'tinymce/plugins/lists'
  104. import 'tinymce/plugins/contextmenu'
  105. import 'tinymce/plugins/wordcount'
  106. import 'tinymce/plugins/colorpicker'
  107. import 'tinymce/plugins/textcolor'
  108. export default {
  109. //import引入的组件需要注入到对象中才能使用
  110. components: {
  111. Editor
  112. },
  113. props: ['editFormData'],
  114. data() {
  115. //这里存放数据
  116. return {
  117. editorInit: {
  118. selector: 'condition',
  119. language_url: '/static/tinymce/zh_CN.js',
  120. language: 'zh_CN',
  121. skin_url: '/static/tinymce/skins/ui/oxide',
  122. plugins: 'wordcount',
  123. height: 300,
  124. toolbar:
  125. 'bold italic underline strikethrough fontselect fontsizeselect forecolor backcolor | removeformat',
  126. branding: false
  127. },
  128. showRealTime:false,
  129. dialogFormVisible:true,
  130. sizeForm: {
  131. state:"",
  132. title:"",
  133. address:"",
  134. content:"",
  135. stTm:"",
  136. enTm:"",
  137. startTm:"",
  138. endTm:"",
  139. gdX:"",
  140. gdY:"",
  141. isOut:"",
  142. isHasQues:"",
  143. },
  144. startTm:"",
  145. endTm:"",
  146. };
  147. },
  148. //监听属性 类似于data概念
  149. computed: {},
  150. //监控data中的数据变化
  151. watch: {},
  152. //方法集合
  153. methods: {
  154. closeDialog() {
  155. let _self = this;
  156. this.$confirm("确认退出吗?", "提示", {
  157. confirmButtonText: "确定",
  158. cancelButtonText: "取消",
  159. type: "warning"
  160. }).then(() => {
  161. _self.$emit("cancelHandler");
  162. })
  163. .catch(() => {});
  164. },
  165. //提交会议基本信息
  166. onSubmit(){
  167. var _self = this;
  168. let obj = {};
  169. if(!_self.sizeForm.hasOwnProperty('id')){
  170. _self.sizeForm.startTm = _self.sizeForm.stTm;
  171. _self.sizeForm.endTm = _self.sizeForm.enTm;
  172. }
  173. Object.assign(obj, _self.sizeForm);
  174. addMeetingBase(obj).then(response => {
  175. if(response.success == true){
  176. this.$emit('addSuccessStatus',response)
  177. }
  178. });
  179. },
  180. cancel(){
  181. this.$emit("cancelHandler");
  182. }
  183. },
  184. //生命周期 - 创建完成(可以访问当前this实例)
  185. created() {
  186. },
  187. //生命周期 - 挂载完成(可以访问DOM元素)
  188. mounted() {
  189. this.sizeForm = this.editFormData;
  190. if(!this.sizeForm.hasOwnProperty('id')){
  191. this.showRealTime = false;
  192. }else{
  193. this.showRealTime = true;
  194. }
  195. },
  196. beforeCreate() {}, //生命周期 - 创建之前
  197. beforeMount() {}, //生命周期 - 挂载之前
  198. beforeUpdate() {}, //生命周期 - 更新之前
  199. updated() {}, //生命周期 - 更新之后
  200. beforeDestroy() {}, //生命周期 - 销毁之前
  201. destroyed() {}, //生命周期 - 销毁完成
  202. activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
  203. }
  204. </script>
  205. <style scoped>
  206. </style>