瀏覽代碼

首页弹框

yrik 4 年之前
父節點
當前提交
353685fb87
共有 2 個文件被更改,包括 175 次插入12 次删除
  1. 8 1
      ruoyi-ui/src/api/system/config.js
  2. 167 11
      ruoyi-ui/src/views/index.vue

+ 8 - 1
ruoyi-ui/src/api/system/config.js

@@ -13,7 +13,7 @@ export function listIndextwo(query) {
   return request({
     url: '/system/dict/data/type/' + query,
     method: 'get'
-    // params: query 
+    // params: query
   })
 }
 export function listIndextherr(query) {
@@ -62,6 +62,13 @@ export function listIndexfou(data) {
     data: data
   })
 }
+export function listIndextanl(data) {
+  return request({
+    url: '/boman-system/p/cs/table/getByTableName',
+    method: 'post',
+    data: data
+  })
+}
 // 修改参数配置
 export function updateConfig(data) {
   return request({

+ 167 - 11
ruoyi-ui/src/views/index.vue

@@ -143,9 +143,9 @@
       <el-col :sm="24" :lg="7" style="padding-left: 15px">
          <div class="index_nav">
           <div class="index_navTime">
-            <p class="index_navTimep">
+            <p class="index_navTimep" @click="handleAdd">
               <span>日程</span>
-              <span><i class="el-icon-date"></i>创建日程</span>
+              <span><i class="el-icon-date" ></i>创建日程</span>
             </p>
             <el-calendar id="calendar">
                 <!-- 这里使用的是 2.5 slot 语法,对于新项目请使用 2.6 slot 语法-->
@@ -175,7 +175,7 @@
             <div class="index_navTime ">
               <p class="index_navTimep">
                 <span>备忘录</span>
-                <span><i class="el-icon-date"></i>创建日程</span>
+                <span><i class="el-icon-date"></i>创建备忘录</span>
               </p>
               <ul >
                 <li v-for="(item,index) in getmemorandum" :key="index">
@@ -236,14 +236,80 @@
       </el-col>
     </el-row>
     <!-- <el-divider /> -->
-
+  <!-- 添加或修改公告对话框 -->
+  <el-dialog :title="title" :visible.sync="open" width="880px" append-to-body>
+    <el-form ref="form" :model="form" :rules="rules" label-width="120px">
+      <el-row>
+        <el-col :span="12" v-for="(item,index) in inputList" :key="index">
+          <el-form-item :label="item.columnComment" prop="noticeTitle">
+            <el-input :type="item.html_type" v-model="item.columnName" placeholder="请输入" />
+          </el-form-item>
+        </el-col>
+        <el-col :span="12" v-for="(item,index) in dataList" :key="item.columnComment">
+          <el-form-item :label="item.columnComment" prop="noticeTitle">
+            <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12" v-for="(item,index) in selectList" :key="item.columnComment">
+          <el-form-item label="公告类型" prop="noticeType">
+            <el-select v-model="form.noticeType" placeholder="请选择">
+              <!-- <el-option
+                v-for="dict in typeOptions"
+                :key="dict.dictValue"
+                :label="dict.dictLabel"
+                :value="dict.dictValue"
+              ></el-option> -->
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="24" v-for="(item,index) in radiolist " :key="item.columnComment">
+          <el-form-item label="状态">
+            <el-radio-group v-model="form.status">
+              <el-radio
+                v-for="dict in statusOptions"
+                :key="dict.dictValue"
+                :label="dict.dictValue"
+              >{{dict.dictLabel}}</el-radio>
+            </el-radio-group>
+          </el-form-item>
+        </el-col>
+        <el-col :span="24" v-for="(item,index) in chekbosList " :key="item.columnComment">
+          <el-form-item label="状态">
+            <!-- <el-radio-group v-model="form.status">
+              <el-radio
+                v-for="dict in statusOptions"
+                :key="dict.dictValue"
+                :label="dict.dictValue"
+              >{{dict.dictLabel}}</el-radio>
+            </el-radio-group> -->
+             <el-checkbox-group v-model="form.type">
+                  <el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox>
+             </el-checkbox-group>
+          </el-form-item>
+        </el-col>
+        <el-col :span="24" v-for="(item,index) in editorList" :key="item.columnComment">
+          <el-form-item label="内容">
+            <editor v-model="form.noticeContent" :min-height="192"/>
+          </el-form-item>
+        </el-col>
+      </el-row>
+    </el-form>
+    <div slot="footer" class="dialog-footer">
+      <el-button type="primary" @click="submitForm">确 定</el-button>
+      <el-button @click="cancel">取 消</el-button>
+    </div>
+  </el-dialog>
   </div>
 </template>
-   
+
 <script>
-  import { listIndex, listIndextwo, listIndextherr, listIndexfou, getConfig, delConfig, addConfig, updateConfig, clearCache } from "@/api/system/config";
+  import { listIndex, listIndextwo, listIndextherr, listIndexfou, listIndextanl, getConfig, delConfig, addConfig, updateConfig, clearCache } from "@/api/system/config";
+import Editor from '@/components/Editor';
 export default {
   name: "index",
+  components: {
+    Editor
+  },
   data() {
     return {
       // 版本号
@@ -254,6 +320,10 @@ export default {
        totalali:0,
        pageSize:6,
        activeName: 'second',
+       // 是否显示弹出层
+       open: false,
+       // 弹出层标题
+       title: "",
        value: new Date(),
        editableTabs: [],
        editableTabsteo:[],
@@ -325,10 +395,31 @@ export default {
       alendarList:[],
       calendarData: [
             ],
-            ary:[],
-            tieku:'',
-            comg:'',
-            aekti:''
+      ary:[],
+      tieku:'',
+      comg:'',
+      aekti:'',
+      // 弹框数据
+      form:{
+      },
+      // 表单校验
+      rules: {
+      },
+      //日历弹框
+      calendaradd:{
+        table:'sys_schedule'
+      },
+      // input
+      inputList:[],
+      // 时间
+      dataList:[],
+      //单选框
+      radiolist:[],
+      // 复选框
+      chekbosList:[],
+      //下拉框
+      selectList:[],
+      editorList:[]
     };
   },
 
@@ -484,6 +575,31 @@ export default {
          this.loading = false;
        }
      );
+   },
+   //日历新增弹框数据
+   getLisalendaraddd() {
+     this.loading = true;
+     listIndextanl(this.calendaradd).then(response => {
+         if(response.data !== undefined){
+           this.form = response.data
+           this.form.columns.filter(route => {
+             // console.log(route)
+             if(route.htmlType == "input" || route.htmlType == 'textarea'){
+             this.inputList.push(route)
+             }else if(route.htmlType == "select"){
+             this.selectList.push(route)
+             }else if(route.htmlType == "datetime"){
+               this.dataList.push(route)
+             }else if(route.htmlType == "editor"){
+               this.editorList.push(route)
+             }
+         })
+        console.log(this.selectList)
+
+         }
+         this.loading = false;
+       }
+     );
    },
     goTarget(href) {
       window.open(href, "_blank");
@@ -529,7 +645,47 @@ export default {
       this.numprofile = index - 1
       this.queryParamstabprofile.condition.notice_type = index
       this.getLisprofile()
-    }
+    },
+    // 表单重置
+    reset() {
+      this.form = {
+      };
+      this.resetForm("form");
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      console.log(this.open)
+      this.reset();
+      this.getLisalendaraddd()
+      this.open = true;
+      this.title = "添加日程";
+    },
+    /** 提交按钮 */
+    submitForm: function() {
+      console.log(this.inputList)
+      // this.$refs["form"].validate(valid => {
+      //   if (valid) {
+      //     if (this.form.id != undefined) {
+      //       updateNotice(this.form).then(response => {
+      //         this.msgSuccess("修改成功");
+      //         this.open = false;
+      //         this.getList();
+      //       });
+      //     } else {
+      //       addNotice(this.form).then(response => {
+      //         this.msgSuccess("新增成功");
+      //         this.open = false;
+      //         this.getList();
+      //       });
+      //     }
+      //   }
+      // });
+    },
   },
 };
 </script>