yuwandanmian 2 роки тому
батько
коміт
3d560f38c4

+ 1 - 0
package.json

@@ -29,6 +29,7 @@
     "js-cookie": "2.2.0",
     "jsonlint": "1.6.3",
     "jszip": "3.2.1",
+    "moment": "^2.29.1",
     "normalize.css": "7.0.0",
     "nprogress": "0.2.0",
     "path-to-regexp": "2.4.0",

+ 12 - 0
src/filters/index.js

@@ -1,5 +1,17 @@
 // import parseTime, formatTime and set to filter
 export { parseTime, formatTime } from '@/utils'
+import moment from 'moment'
+
+// 时间格式化处理
+export function dateFormat(date, formatType = 'YYYY-MM-DD HH:mm:ss') {
+  let result
+  if (date) {
+    result = moment(date).locale('zh-cn').format(formatType)
+  } else {
+    result = '--'
+  }
+  return result
+}
 
 /**
  * Show plural operations if time is plural number

+ 37 - 18
src/views/user/kyts/components/SearchBox.vue

@@ -1,26 +1,31 @@
 <template>
   <div class="app-container">
     <el-form :inline="true" :model="data" class="demo-form-inline">
-      <el-form-item label="账号">
-        <el-input v-model="data.name" placeholder="请输入" />
+      <el-form-item label="">
+        <el-input v-model="data.name" placeholder="请输入账号" />
       </el-form-item>
-      <el-form-item label="科室">
-        <el-select v-model="data.dep_id" filterable clearable placeholder="请选择">
+      <el-form-item label="">
+        <el-select v-model="data.dep_id" filterable clearable placeholder="请选择科室">
           <el-option v-for="item of deportments" :key="item.id" :label="item.name" :value="item.id" />
         </el-select>
       </el-form-item>
-      <el-form-item label="搜索条件">
-        <el-input v-model="data.keyword" placeholder="请输入" />
+      <el-form-item label="">
+        <el-input v-model="data.keyword" placeholder="请输入搜索条件" />
       </el-form-item>
-      <el-form-item label="查询时间">
+      <el-form-item label="">
         <el-date-picker
-          v-model="data.time"
-          type="daterange"
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions"
-          value-format="yyyyMMdd"
+          v-model="data.start_time"
+          type="date"
+          :picker-options="pickerOptions1"
+          placeholder="开始日期"
+        />
+      </el-form-item>
+      <el-form-item label="">
+        <el-date-picker
+          v-model="data.end_time"
+          type="date"
+          :picker-options="pickerOptions2"
+          placeholder="结束日期"
         />
       </el-form-item>
       <el-form-item>
@@ -40,7 +45,8 @@ export default {
         return {
           name: '',
           dep_id: '',
-          time: [],
+          start_time: '',
+          end_time: '',
           keyword: ''
         }
       }
@@ -48,9 +54,22 @@ export default {
   },
   data() {
     return {
-      pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now()
+      pickerOptions1: {
+        disabledDate: (time) => {
+          if (this.data.end_time) {
+            return time.getTime() > new Date(this.data.end_time).getTime()
+          } else {
+            return time.getTime() > Date.now()
+          }
+        }
+      },
+      pickerOptions2: {
+        disabledDate: (time) => {
+          if (this.data.start_time) {
+            return time.getTime() < new Date(this.data.start_time).getTime()
+          } else {
+            return time.getTime() > Date.now()
+          }
         }
       },
       deportments: []

+ 7 - 7
src/views/user/kyts/index.vue

@@ -17,6 +17,7 @@ import SearchBoxVue from './components/SearchBox.vue'
 import TableBoxVue from './components/TableBox.vue'
 import { userSearchLogExport } from '@/api/excel'
 import { userSearchLog } from '@/api/admin'
+import { dateFormat } from '@/filters/index'
 
 export default {
   components: {
@@ -29,8 +30,9 @@ export default {
       searchData: {
         name: '',
         dep_id: '',
-        time: [],
-        keyword: ''
+        keyword: '',
+        start_time: '',
+        end_time: ''
       },
       tableData: [],
       paginationData: {
@@ -45,7 +47,7 @@ export default {
   },
   methods: {
     getList() {
-      const { name, dep_id, time, keyword } = this.searchData
+      const { name, dep_id, keyword, start_time, end_time } = this.searchData
       const { page, limit } = this.paginationData
       const params = {
         name,
@@ -54,10 +56,8 @@ export default {
         limit,
         keyword
       }
-      if (time && time.length) {
-        params.start_time = time[0]
-        params.end_time = time[1]
-      }
+      params.start_time = start_time ? dateFormat(start_time, 'YYYYMMDD') : ''
+      params.end_time = end_time ? dateFormat(end_time, 'YYYYMMDD') : ''
       this.loading = true
       userSearchLog(params).then(res => {
         const { p } = res