addPage.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <template>
  2. <div class="addPage">
  3. <div class="title-p">
  4. <p>发布</p>
  5. <p class="reset-button-one" @click="backPage">关闭</p>
  6. <p class="inquire-button-one"@click="submitForm">确定</p>
  7. </div>
  8. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  9. <el-form-item label="标题" prop="title" class="form-item">
  10. <el-input v-model="form.title" maxLength="30" placeholder="请输入通知标题" style="width:330px;"/>
  11. </el-form-item>
  12. <el-form-item label="发布单位" prop="company" class="form-item">
  13. <el-input v-model="form.company" maxLength="12" placeholder="请输入发布单位" style="width:330px;"/>
  14. </el-form-item>
  15. <el-form-item label="类型" prop="notifyType" class="form-item">
  16. <el-radio-group v-model="form.notifyType">
  17. <el-radio :label="1" style="margin:0 20px;">工作通知</el-radio>
  18. <el-radio :label="2">校院通知</el-radio>
  19. </el-radio-group>
  20. </el-form-item>
  21. <el-form-item label="执行日期" prop="executionTime" class="form-item" v-if="form.notifyType==1">
  22. <el-date-picker
  23. :clearable="false"
  24. v-model="form.executionTime"
  25. size="small"
  26. style="width: 240px"
  27. value-format="yyyy-MM-dd"
  28. type="date"
  29. placeholder="请选择执行日期"
  30. ></el-date-picker>
  31. </el-form-item>
  32. <el-form-item label="摘要" prop="conAbstract" class="form-item">
  33. <el-input type="textarea" v-model="form.conAbstract"
  34. :rows="6" maxLength="250" placeholder="请输入内容"
  35. style="width:720px;"/>
  36. </el-form-item>
  37. <el-form-item label="内容" prop="content" class="form-item" style="width:800px;">
  38. <UEditor ref="UEditor" :content="form.content" :min-height="192" />
  39. <!--<wangEditor :content="form.content" @change="change" :min-height="192"/>-->
  40. <!--<Editor ref="UEditor" :content="form.content" :min-height="192" />-->
  41. </el-form-item>
  42. </el-form>
  43. </div>
  44. </template>
  45. <script>
  46. import { addNotifyplan } from "@/api/laboratory/notifyplan";
  47. export default {
  48. name: "addPage",
  49. data() {
  50. return {
  51. // 表单参数
  52. form: {
  53. content:"",
  54. },
  55. // 表单校验
  56. rules: {
  57. title: [
  58. { required: true, message: "请输入通知标题", trigger: "blur" },
  59. { required: true, message: "请输入通知标题", validator: this.spaceJudgment, trigger: "blur" }
  60. ],
  61. company: [
  62. { required: true, message: "请输入发布单位", trigger: "blur" },
  63. { required: true, message: "请输入发布单位", validator: this.spaceJudgment, trigger: "blur" }
  64. ],
  65. notifyType: [
  66. { required: true, message: "请选择发布类型", trigger: "blur" }
  67. ],
  68. conAbstract: [
  69. { required: true, message: "请输入摘要", trigger: "blur" },
  70. { required: true, message: "请输入摘要", validator: this.spaceJudgment, trigger: "blur" }
  71. ],
  72. content: [
  73. { required: true, message: "请输入内容", trigger: "blur" },
  74. { required: true, message: "请输入内容", validator: this.spaceJudgmentHTML, trigger: "blur" }
  75. ],
  76. },
  77. }
  78. },
  79. created() {
  80. this.getList();
  81. },
  82. mounted(){
  83. },
  84. methods: {
  85. change(val) {
  86. this.$set(this.form,'content',val);
  87. // this.form.content = val;
  88. console.log(val)
  89. },
  90. backPage(){
  91. this.$parent.pageTypeClick(1);
  92. },
  93. submitForm(){
  94. this.$set(this.form,'content',this.$refs.UEditor.text);
  95. this.$refs["form"].validate(valid => {
  96. if (valid) {
  97. this.form.type = 1;
  98. this.form.content = escape(this.form.content);
  99. // this.form.content = encodeURI(this.form.content);
  100. addNotifyplan(this.form).then( response => {
  101. this.msgSuccess("新增成功");
  102. this.$parent.pageTypeClick(1);
  103. });
  104. }
  105. });
  106. }
  107. }
  108. }
  109. </script>
  110. <style scoped lang="scss">
  111. .addPage{
  112. flex:1;
  113. display: flex !important;
  114. flex-direction: column;
  115. padding:11px 20px 20px!important;
  116. *{
  117. margin:0;
  118. }
  119. .title-p{
  120. display: flex;
  121. border-bottom:1px solid #E0E0E0;
  122. margin-bottom:30px;
  123. p:nth-child(1){
  124. flex:1;
  125. line-height:80px;
  126. color:#0045AF;
  127. font-size:18px;
  128. }
  129. p:nth-child(2){
  130. font-size:14px;
  131. margin:20px 20px 0 0;
  132. }
  133. p:nth-child(3){
  134. font-size:14px;
  135. margin:20px 0 0;
  136. }
  137. }
  138. .form-item{
  139. margin-bottom:30px;
  140. }
  141. }
  142. </style>