double.huang hace 5 años
padre
commit
b7abfa15f1

+ 1 - 0
package.json

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

+ 1 - 1
src/components/ExportButton/index.vue

@@ -33,7 +33,7 @@ export default {
         return () => {}
       }
     },
-    rows: {
+    size: {
       type: Number,
       default: 10000
     }

+ 1 - 1
src/components/Query/index.vue

@@ -206,7 +206,7 @@ export default {
       default: () => {
         return {
           export: {
-            rows: 1000
+            size: 1000
           },
           items: []
         }

+ 3 - 3
src/components/Sheet/index.vue

@@ -93,7 +93,7 @@
         :class="floatType"
         :current-page="dataQuery.page"
         :page-sizes="page.pageSizes"
-        :page-size="dataQuery.rows"
+        :page-size="dataQuery.size"
         layout="total, sizes, prev, pager, next, jumper"
         :total="page.dataTotal"
         @size-change="sizeChange"
@@ -149,7 +149,7 @@ export default {
     dataQuery: {
       type: Object,
       default: () => {
-        return { page: 1, rows: 10 }
+        return { page: 1, size: 10 }
       }
     },
     page: {
@@ -290,7 +290,7 @@ export default {
     },
     sizeChange(val) {
       scrollTo(0, 600)
-      this.dataQuery.rows = val
+      this.dataQuery.size = val
       this.dataQuery.page = 1
       this.getData()
     },

+ 8 - 30
src/views/menu/index.vue

@@ -8,31 +8,7 @@
           </el-aside>
           <el-container>
             <el-header height="120">
-              <el-form ref="searchForm" :model="dataQuery" :size="size" label-position="left" label-width="80px">
-                <el-row :gutter="20">
-                  <el-col :span="6">
-                    <el-form-item label="Name:" class="notice-input" label-width="60px" prop="name">
-                      <el-input v-model="dataQuery.name" placeholder="Please input name" clearable @keyup.enter.native="search" />
-                    </el-form-item>
-                  </el-col>
-                  <el-col :span="6">
-                    <el-form-item label="Code:" class="notice-input" label-width="60px" prop="code">
-                      <el-input v-model="dataQuery.code" placeholder="Please input code" clearable @keyup.enter.native="search" />
-                    </el-form-item>
-                  </el-col>
-                  <el-col :span="12" style="text-align: right">
-                    <el-form-item>
-                      <el-button type="primary" icon="el-icon-search" :size="size" @click="search">{{ $t('common.search') }}</el-button>
-                      <el-button icon="el-icon-refresh" :size="size" @click="resetFields">{{ $t('common.reset') }}</el-button>
-                      <export-button :api="this.$api.sysMenu.page" :columns="tableColumns" :data-query="dataQuery" name="menu.xlsx" />
-                    </el-form-item>
-                  </el-col>
-                </el-row>
-                <el-row>
-                  <el-button type="primary" icon="el-icon-plus" :size="size" @click="create">{{ $t('common.create') }}</el-button>
-                  <el-button :size="size" @click="deleteBatch">{{ $t('common.batchDelete') }}</el-button>
-                </el-row>
-              </el-form>
+              <query ref="searchForm" :form-config="query" @onSubmit="search" />
             </el-header>
             <el-main class="table-main">
               <sheet ref="qtable" :api="this.$api.sysMenu.page" :columns="tableColumns" :data-query="dataQuery" :operates="operates" :float-type="'right'" :select-type="'selection'" />
@@ -90,7 +66,8 @@ import Tree from '@/components/Tree'
 import Sheet from '@/components/Sheet'
 import Cascader from '@/components/Cascader'
 import OptionSet from '@/components/OptionSet'
-import ExportButton from '@/components/ExportButton'
+import Query from '@/components/Query'
+import { menu } from './query'
 
 export default {
   name: 'Menu',
@@ -99,8 +76,9 @@ export default {
     Sheet,
     Cascader,
     OptionSet,
-    ExportButton
+    Query
   },
+  mixins: [menu],
   data() {
     return {
       tableColumns: [
@@ -164,7 +142,7 @@ export default {
       },
       dataQuery: {
         page: 1,
-        rows: 10,
+        size: 10,
         name: '',
         code: ''
       },
@@ -259,8 +237,8 @@ export default {
         }
       })
     },
-    search() {
-      this.$refs.qtable.getData()
+    search(obj) {
+      this.$refs.qtable.getData(obj)
     },
     resetFields() {
       this.$refs['searchForm'].resetFields()

+ 30 - 0
src/views/menu/query.js

@@ -0,0 +1,30 @@
+export const menu = {
+  data() {
+    return {
+      query: {
+        export: {
+          name: 'menus.xlsx',
+          size: 1000
+        },
+        items: [
+          {
+            name: 'name',
+            placeholder: 'Name',
+            span: 4,
+            style: '',
+            type: '',
+            value: ''
+          },
+          {
+            name: 'code',
+            placeholder: 'Code',
+            span: 4,
+            style: '',
+            type: '',
+            code: ''
+          }
+        ]
+      }
+    }
+  }
+}

+ 1 - 1
src/views/optionset/index.vue

@@ -114,7 +114,7 @@ export default {
       },
       dataQuery: {
         page: 1,
-        rows: 10,
+        size: 10,
         name: '',
         code: ''
       },

+ 1 - 1
src/views/optionset/query.js

@@ -4,7 +4,7 @@ export const optionset = {
       query: {
         export: {
           name: 'optionsets.xlsx',
-          rows: 1000
+          size: 1000
         },
         items: [
           {

+ 1 - 1
src/views/org/index.vue

@@ -142,7 +142,7 @@ export default {
       },
       dataQuery: {
         page: 1,
-        rows: 10,
+        size: 10,
         name: '',
         code: ''
       },

+ 1 - 1
src/views/org/query.js

@@ -4,7 +4,7 @@ export const org = {
       query: {
         export: {
           name: 'orgs.xlsx',
-          rows: 1000
+          size: 1000
         },
         items: [
           {

+ 1 - 1
src/views/role/index.vue

@@ -139,7 +139,7 @@ export default {
       },
       dataQuery: {
         page: 1,
-        rows: 10,
+        size: 10,
         name: '',
         code: ''
       },

+ 1 - 1
src/views/role/query.js

@@ -4,7 +4,7 @@ export const role = {
       query: {
         export: {
           name: 'roles.xlsx',
-          rows: 1000
+          size: 1000
         },
         items: [
           {

+ 13 - 27
src/views/tracker/index.vue

@@ -4,27 +4,7 @@
       <el-card>
         <el-container>
           <el-header height="120">
-            <el-form ref="searchForm" :model="dataQuery" :size="size" label-position="left" label-width="80px">
-              <el-row :gutter="20">
-                <el-col :span="6">
-                  <el-form-item :label="$t('tracker.name').concat(':')" class="notice-input" label-width="60px" prop="name">
-                    <el-input v-model="dataQuery.name" placeholder="请输入名称" clearable @keyup.enter.native="search" />
-                  </el-form-item>
-                </el-col>
-                <el-col :span="6">
-                  <el-form-item :label="$t('tracker.code').concat(':')" class="notice-input" label-width="60px" prop="code">
-                    <el-input v-model="dataQuery.code" placeholder="请输入编码" clearable @keyup.enter.native="search" />
-                  </el-form-item>
-                </el-col>
-                <el-col :span="12" style="text-align: right">
-                  <el-form-item>
-                    <el-button type="primary" icon="el-icon-search" :size="size" @click="search">{{ $t('common.search') }}</el-button>
-                    <el-button icon="el-icon-refresh" :size="size" @click="resetFields">{{ $t('common.reset') }}</el-button>
-                    <export-button :api="this.$api.sysTracker.page" :columns="tableColumns" :data-query="dataQuery" name="tracker.xlsx" />
-                  </el-form-item>
-                </el-col>
-              </el-row>
-            </el-form>
+            <query ref="searchForm" :form-config="query" @onSubmit="search" />
           </el-header>
           <el-main>
             <sheet ref="qtable" :api="this.$api.sysTracker.page" :columns="tableColumns" :data-query="dataQuery" :operates="operates" :float-type="'right'" :select-type="'selection'" />
@@ -57,15 +37,18 @@
 
 <script>
 import { mapGetters } from 'vuex'
+import moment from 'moment'
 import Sheet from '@/components/Sheet/index'
-import ExportButton from '@/components/ExportButton'
+import Query from '@/components/Query'
+import { tracker } from './query'
 
 export default {
   name: 'Tracker',
   components: {
     Sheet,
-    ExportButton
+    Query
   },
+  mixins: [tracker],
   data() {
     return {
       maps: [{ value: '', text: '' }],
@@ -89,7 +72,10 @@ export default {
           label: 'ReqTime',
           align: 'center',
           minWidth: 150,
-          maxWidth: 180
+          maxWidth: 180,
+          formatter: (row, column) => {
+            return moment(row.create_time).format('YYYY/MM/DD HH:mm:ss')
+          }
         },
         {
           prop: 'path',
@@ -124,7 +110,7 @@ export default {
       },
       dataQuery: {
         page: 1,
-        rows: 10,
+        size: 10,
         name: '',
         code: ''
       },
@@ -159,8 +145,8 @@ export default {
   },
   created() {},
   methods: {
-    search() {
-      this.$refs.qtable.getData()
+    search(obj) {
+      this.$refs.qtable.getData(obj)
     },
     resetFields() {
       this.$refs['searchForm'].resetFields()

+ 30 - 0
src/views/tracker/query.js

@@ -0,0 +1,30 @@
+export const tracker = {
+  data() {
+    return {
+      query: {
+        export: {
+          name: 'trackers.xlsx',
+          size: 1000
+        },
+        items: [
+          {
+            name: 'name',
+            placeholder: 'Name',
+            span: 4,
+            style: '',
+            type: '',
+            value: ''
+          },
+          {
+            name: 'code',
+            placeholder: 'Code',
+            span: 4,
+            style: '',
+            type: '',
+            code: ''
+          }
+        ]
+      }
+    }
+  }
+}

+ 3 - 3
src/views/user/index.vue

@@ -118,7 +118,7 @@ export default {
       },
       dataQuery: {
         page: 1,
-        rows: 10,
+        size: 10,
         name: '',
         cn_org_id: ''
       },
@@ -201,7 +201,7 @@ export default {
       this.temp_items[dataIndex].value.push(obj)
     },
     getTempDetail(temp_id) {
-      this.$api.sysUserTemplate.page({ page: 1, rows: 100, 'temp_id': temp_id }).then(res => {
+      this.$api.sysUserTemplate.page({ page: 1, size: 100, 'temp_id': temp_id }).then(res => {
         this.temp_items = res.data.data
         var tempValue
         if (this.temp.temp_value !== '' && this.temp.temp_value !== undefined) {
@@ -231,7 +231,7 @@ export default {
       })
     },
     FindUserTempl() {
-      this.$api.sysUserTemplate.page({ page: 1, rows: 100 }).then(res => {
+      this.$api.sysUserTemplate.page({ page: 1, size: 100 }).then(res => {
         if (res.code === 200) {
           this.templs = res.data.content
         }

+ 1 - 1
src/views/user/query.js

@@ -4,7 +4,7 @@ export const user = {
       query: {
         export: {
           name: 'users.xlsx',
-          rows: 1000
+          size: 1000
         },
         items: [
           {

+ 1 - 1
src/views/user/templ/index.vue

@@ -143,7 +143,7 @@ export default {
       },
       dataQuery: {
         page: 1,
-        rows: 10,
+        size: 10,
         name: ''
       },
       options: [

+ 1 - 1
src/views/user/templ_detail/index.vue

@@ -180,7 +180,7 @@ export default {
       },
       dataQuery: {
         page: 1,
-        rows: 10,
+        size: 10,
         __sort__: 'sys_user_template_detail.priority asc',
         temp_id: '',
         name: '',