浏览代码

search by time

ASDbt 2 年之前
父节点
当前提交
698853862b
共有 4 个文件被更改,包括 59 次插入3 次删除
  1. 4 0
      src/main.js
  2. 34 0
      src/utils/formatDate.js
  3. 16 1
      src/views/message/addMessage.vue
  4. 5 2
      src/views/message/messageList.vue

+ 4 - 0
src/main.js

@@ -40,6 +40,9 @@ import DictTag from '@/components/DictTag'
 import VueMeta from 'vue-meta'
 // 字典数据组件
 import DictData from '@/components/DictData'
+// 将中国标准时间转化为年月日时分秒
+import formatDate from '@/utils/formatDate'
+
 
 // 全局方法挂载
 Vue.prototype.getDicts = getDicts
@@ -51,6 +54,7 @@ Vue.prototype.selectDictLabel = selectDictLabel
 Vue.prototype.selectDictLabels = selectDictLabels
 Vue.prototype.download = download
 Vue.prototype.handleTree = handleTree
+Vue.prototype.$formatDate = formatDate
 
 // 全局组件挂载
 Vue.component('DictTag', DictTag)

+ 34 - 0
src/utils/formatDate.js

@@ -0,0 +1,34 @@
+function padLeftZero(str) {
+    return ('00' + str).substr(str.length)
+}
+
+export function formatDate(date, fmt) {
+    if (!date) {
+        return ''
+    }
+    if (/(y+)/.test(fmt)) {
+        fmt = fmt.replace(
+            RegExp.$1,
+            (date.getFullYear() + '').substr(4 - RegExp.$1.length)
+        )
+    }
+    const o = {
+        'M+': date.getMonth() + 1,
+        'd+': date.getDate(),
+        'h+': date.getHours(),
+        'm+': date.getMinutes(),
+        's+': date.getSeconds()
+    }
+    for (const k in o) {
+        if (new RegExp(`(${k})`).test(fmt)) {
+            const str = o[k] + ''
+            fmt = fmt.replace(
+                RegExp.$1,
+                RegExp.$1.length === 1 ? str : padLeftZero(str)
+            )
+        }
+    }
+    return fmt
+}
+
+export default formatDate

+ 16 - 1
src/views/message/addMessage.vue

@@ -5,6 +5,11 @@
         <el-form-item label="消息标题:" prop="title">
           <el-input v-model="message.title" placeholder="请输入消息标题"></el-input>
         </el-form-item>
+        <el-form-item label="发布时间: " required>
+          <el-date-picker v-model="message.newsDate" type="date" placeholder="选择日期">
+          </el-date-picker>
+          <el-time-picker placeholder="选择时间" v-model="message.newsTime"></el-time-picker>
+        </el-form-item>
         <el-form-item label="消息内容:" prop="content">
           <editor v-model="message.content"></editor>
         </el-form-item>
@@ -25,6 +30,8 @@ export default {
       message: {
         title: '',
         content: '',
+        newsDate: '',
+        newsTime: ''
       },
       rules: {
         title: [
@@ -40,13 +47,19 @@ export default {
   methods: {
     submit() {
       if (this.message.title && this.message.content) {
+        let nyr = this.$formatDate(this.message.newsDate, 'yyyy-MM-dd');
+        let sfm = this.$formatDate(this.message.newsTime, 'hh:mm:ss');
         let news = {
           newsTitle: this.message.title,
-          newsContent: this.message.content
+          newsContent: this.message.content,
+          newsTime: nyr + ' ' + sfm
         }
+        console.log(news.newsTime);
         addMessage(news).then((res) => {
           this.message.title = '';
           this.message.content = '';
+          this.message.newsDate = '';
+          this.message.newsTime = '';
         })
         this.$notify({
           title: '成功',
@@ -65,6 +78,8 @@ export default {
     reset() {
       this.message.title = '';
       this.message.content = '';
+      this.message.newsDate = '';
+      this.message.newsTime = '';
     }
   }
 }

+ 5 - 2
src/views/message/messageList.vue

@@ -33,7 +33,7 @@
           </el-table-column>
           <el-table-column :formatter="stateFormat" prop="newsTitle" label="消息标题" align="center">
           </el-table-column>
-          <el-table-column prop="createTime" label="发布时间" align="center">
+          <el-table-column prop="newsTime" label="发布时间" align="center">
           </el-table-column>
           <el-table-column prop="operate" label="操作" align="center">
             <template slot-scope="scope">
@@ -76,9 +76,12 @@ export default {
     // 搜索消息
     check() {
       if (this.input.value1 || this.input.value2) {
+        let startTime = this.$formatDate(this.input.value2[0], 'yyyy-MM-dd hh:mm:ss');
+        let endTime = this.$formatDate(this.input.value2[1], 'yyyy-MM-dd hh:mm:ss');
         let searchCon = {
           newsTitle: this.input.value1,
-          // createTime: this.input.value2
+          newsTimeStart: startTime,
+          newsTimeEnd: endTime
         }
         searchMessage(searchCon).then((res) => {
           this.tableData = res.rows;