licailing пре 4 година
родитељ
комит
60f1ff8402

+ 6 - 2
src/main/java/com/izouma/zhirongip/utils/JpaUtils.java

@@ -101,8 +101,12 @@ public class JpaUtils {
                                 .toLocalDateTime((String) list.get(0), "yyyy-MM-dd HH:mm:ss");
                         and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
                     } else if (list.size() == 2) {
-                        LocalDateTime end = DateTimeUtils
-                                .toLocalDateTime((String) list.get(1), "yyyy-MM-dd HH:mm:ss");
+//                        LocalDateTime end = DateTimeUtils
+//                                .toLocalDateTime((String) list.get(1), "yyyy-MM-dd HH:mm:ss");
+//                        and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
+                        LocalDateTime start = DateTimeUtils.toLocalDateTime((String) list.get(0), "yyyy-MM-dd HH:mm:ss");
+                        and.add(criteriaBuilder.greaterThanOrEqualTo(root.get(property), start));
+                        LocalDateTime end = DateTimeUtils.toLocalDateTime((String) list.get(1), "yyyy-MM-dd HH:mm:ss");
                         and.add(criteriaBuilder.lessThanOrEqualTo(root.get(property), end));
                     }
                 } else if (value instanceof String && Pattern

+ 71 - 0
src/main/vue/src/components/select/CreatedPicker.vue

@@ -0,0 +1,71 @@
+<template>
+    <el-date-picker
+        v-model="date"
+        type="datetimerange"
+        :picker-options="pickerOptions"
+        range-separator="至"
+        start-placeholder="开始日期"
+        end-placeholder="结束日期"
+        align="right"
+        value-format="yyyy-MM-dd HH:mm:ss"
+        :default-time="['00:00:00', '23:59:59']"
+        @change="changeSelect"
+    >
+    </el-date-picker>
+</template>
+
+<script>
+export default {
+    props: ['value'],
+    data() {
+        return {
+            date: '',
+            pickerOptions: {
+                shortcuts: [
+                    {
+                        text: '最近一周',
+                        onClick(picker) {
+                            const end = new Date();
+                            const start = new Date();
+                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+                            picker.$emit('pick', [start, end]);
+                        }
+                    },
+                    {
+                        text: '最近一个月',
+                        onClick(picker) {
+                            const end = new Date();
+                            const start = new Date();
+                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+                            picker.$emit('pick', [start, end]);
+                        }
+                    },
+                    {
+                        text: '最近三个月',
+                        onClick(picker) {
+                            const end = new Date();
+                            const start = new Date();
+                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+                            picker.$emit('pick', [start, end]);
+                        }
+                    }
+                ]
+            }
+        };
+    },
+    methods: {
+        changeSelect(val) {
+            this.$emit('input', val);
+        }
+    },
+    watch: {
+        value() {
+            if (this.value) {
+                this.date = this.value;
+            }
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>

+ 2 - 2
src/main/vue/src/plugins/http.js

@@ -5,8 +5,8 @@ import qs from 'qs';
 let baseUrl = 'http://localhost:8080';
 switch (process.env.NODE_ENV) {
     case 'development':
-        // baseUrl = 'http://localhost:8080';
-        baseUrl = 'http://zhirongip.izouma.com';
+        baseUrl = 'http://localhost:8080';
+        // baseUrl = 'http://zhirongip.izouma.com';
         // baseUrl = 'http://192.168.50.127:8080';
         break;
     case 'test':

+ 8 - 3
src/main/vue/src/views/demand/CopyrightDemandList.vue

@@ -32,6 +32,7 @@
             </el-input>
             <setting-select name="作品类型" :flag="3" v-model="workType" @input="getData"></setting-select>
             <mode-select v-model="modeId" @input="getData"></mode-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -62,6 +63,7 @@
             <el-table-column prop="address" label="所在地区"> </el-table-column>
             <el-table-column prop="view" label="浏览量"> </el-table-column>
             <el-table-column prop="status" label="状态" :formatter="statusFormatter"></el-table-column>
+            <el-table-column prop="createdAt" label="发布时间" min-width="140"></el-table-column>
             <el-table-column label="操作" align="right" fixed="right" width="220">
                 <template slot-scope="{ row }">
                     <el-button
@@ -118,9 +120,10 @@ import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
 import ModeSelect from '../../components/select/ModeSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
-    components: { SettingSelect, ModeSelect },
+    components: { SettingSelect, ModeSelect, CreatedPicker },
     name: 'CopyrightDemandList',
     mixins: [pageableTable, tradingMethod],
     data() {
@@ -130,7 +133,8 @@ export default {
             url: '/copyrightDemand/all',
             downloading: false,
             workType: '',
-            modeId: ''
+            modeId: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -146,7 +150,8 @@ export default {
                 query: {
                     type: 'COPY',
                     workType: this.workType,
-                    modeId: this.modeId
+                    modeId: this.modeId,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 8 - 3
src/main/vue/src/views/demand/FundingList.vue

@@ -45,6 +45,7 @@
                     :label="item.label"
                 ></el-option>
             </el-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -66,6 +67,7 @@
             <el-table-column prop="phone" label="电话"> </el-table-column>
             <el-table-column prop="email" label="邮箱"> </el-table-column>
             <el-table-column prop="address" label="所在地区"> </el-table-column>
+            <el-table-column prop="createdAt" label="发布时间" min-width="140"></el-table-column>
             <el-table-column label="操作" align="center" fixed="right" width="150">
                 <template slot-scope="{ row }">
                     <el-button @click="editRow(row)" type="primary" size="mini" plain>编辑</el-button>
@@ -100,11 +102,12 @@
 import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
     name: 'FundingList',
     mixins: [pageableTable],
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     data() {
         return {
             multipleMode: false,
@@ -118,7 +121,8 @@ export default {
                 { label: '1-2年', value: 'ONE_TWO_YEARS' }
             ],
             purpose: '',
-            loanTerm: ''
+            loanTerm: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -140,7 +144,8 @@ export default {
                 sort: 'createdAt,desc',
                 query: {
                     purpose: this.purpose,
-                    loanTerm: this.loanTerm
+                    loanTerm: this.loanTerm,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 8 - 3
src/main/vue/src/views/demand/GeneralPatentDemandList.vue

@@ -67,6 +67,7 @@
                     :label="item.label"
                 ></el-option>
             </el-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -100,6 +101,7 @@
             <el-table-column prop="address" label="所在地区"> </el-table-column>
             <el-table-column prop="view" label="浏览量"> </el-table-column>
             <el-table-column prop="status" label="状态" :formatter="statusFormatter"></el-table-column>
+            <el-table-column prop="createdAt" label="发布时间" min-width="140"></el-table-column>
             <el-table-column label="操作" align="right" fixed="right" width="220">
                 <template slot-scope="{ row }">
                     <el-button
@@ -155,9 +157,10 @@ import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     name: 'GeneralPatentDemandList',
     mixins: [pageableTable, tradingMethod],
     created() {
@@ -186,7 +189,8 @@ export default {
             industry: '',
             modeId: '',
             patentTypeId: '',
-            patentStatusId: ''
+            patentStatusId: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -225,7 +229,8 @@ export default {
                     industryClass: this.industry,
                     modeId: this.modeId,
                     patentTypeId: this.patentTypeId,
-                    patentStatusId: this.patentStatusId
+                    patentStatusId: this.patentStatusId,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 9 - 3
src/main/vue/src/views/demand/LogoDemandList.vue

@@ -32,6 +32,7 @@
             </el-input>
             <setting-select name="所属分类" :flag="2" v-model="category" @input="getData"></setting-select>
             <mode-select v-model="modeId" @input="getData"></mode-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -64,6 +65,7 @@
             <el-table-column prop="address" label="所在地区"> </el-table-column>
             <el-table-column prop="view" label="浏览量"> </el-table-column>
             <el-table-column prop="status" label="状态" :formatter="statusFormatter"></el-table-column>
+            <el-table-column prop="createdAt" label="发布时间" min-width="140"></el-table-column>
             <el-table-column label="操作" align="right" fixed="right" width="220">
                 <template slot-scope="{ row }">
                     <el-button
@@ -120,11 +122,12 @@ import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
 import ModeSelect from '../../components/select/ModeSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
     name: 'LogoDemandList',
     mixins: [pageableTable, tradingMethod],
-    components: { SettingSelect, ModeSelect },
+    components: { SettingSelect, ModeSelect, CreatedPicker },
     data() {
         return {
             multipleMode: false,
@@ -132,7 +135,9 @@ export default {
             url: '/logoDemand/all',
             downloading: false,
             mode: '',
-            category: ''
+            category: '',
+            modeId: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -147,7 +152,8 @@ export default {
                 search: this.search,
                 query: {
                     modeId: this.modeId,
-                    category: this.category
+                    category: this.category,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 8 - 3
src/main/vue/src/views/demand/PatentDemandList.vue

@@ -39,6 +39,7 @@
                     :label="item.label"
                 ></el-option>
             </el-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -72,6 +73,7 @@
             <el-table-column prop="address" label="所在地区"> </el-table-column>
             <el-table-column prop="view" label="浏览量"> </el-table-column>
             <el-table-column prop="status" label="状态" :formatter="statusFormatter"></el-table-column>
+            <el-table-column prop="createdAt" label="发布时间" min-width="140"></el-table-column>
             <el-table-column label="操作" align="right" fixed="right" width="220">
                 <template slot-scope="{ row }">
                     <el-button
@@ -127,9 +129,10 @@ import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     name: 'PatentDemandList',
     mixins: [pageableTable, tradingMethod],
     data() {
@@ -152,7 +155,8 @@ export default {
                 { label: 'GENERAL', value: 'GENERAL' }
             ],
             industry: '',
-            modeId: ''
+            modeId: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -189,7 +193,8 @@ export default {
                 query: {
                     caseType: 'DECLASSIFICATION',
                     industryClass: this.industry,
-                    modeId: this.modeId
+                    modeId: this.modeId,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 8 - 3
src/main/vue/src/views/demand/ProductDemandList.vue

@@ -43,6 +43,7 @@
                 <el-option label="是" :value="true"></el-option>
                 <el-option label="否" :value="false"></el-option>
             </el-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -87,6 +88,7 @@
             <el-table-column prop="address" label="所在地区"> </el-table-column>
             <el-table-column prop="view" label="浏览量"> </el-table-column>
             <el-table-column prop="status" label="状态" :formatter="statusFormatter"></el-table-column>
+            <el-table-column prop="createdAt" label="发布时间" min-width="140"></el-table-column>
             <el-table-column label="操作" align="right" fixed="right" width="220">
                 <template slot-scope="{ row }">
                     <el-button
@@ -142,11 +144,12 @@ import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import SettingSelect from '../../components/select/SettingSelect.vue';
 import tradingMethod from '@/mixins/tradingMethod';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
     name: 'TechProductDemandList',
     mixins: [pageableTable, tradingMethod],
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     data() {
         return {
             isMode: true,
@@ -180,7 +183,8 @@ export default {
             ],
             industry: '',
             modeId: '',
-            patent: ''
+            patent: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -225,7 +229,8 @@ export default {
                     tpType: 'PRODUCT',
                     industry: this.industry,
                     modeId: this.modeId,
-                    isPatented: this.patent
+                    isPatented: this.patent,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 8 - 3
src/main/vue/src/views/demand/ServiceDemandList.vue

@@ -31,6 +31,7 @@
                 <el-button @click="getData" slot="append" icon="el-icon-search"> </el-button>
             </el-input>
             <setting-select name="服务类型" :flag="6" v-model="workType" @input="getData"></setting-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -59,6 +60,7 @@
             <el-table-column prop="phone" label="电话"> </el-table-column>
             <el-table-column prop="email" label="邮箱"> </el-table-column>
             <el-table-column prop="address" label="所在地区"> </el-table-column>
+            <el-table-column prop="createdAt" label="发布时间" min-width="140"></el-table-column>
             <el-table-column label="操作" align="center" fixed="right" width="150">
                 <template slot-scope="{ row }">
                     <el-button @click="editRow(row)" type="primary" size="mini" plain>编辑</el-button>
@@ -93,11 +95,12 @@
 import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
     name: 'CopyrightDemandList',
     mixins: [pageableTable],
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     data() {
         return {
             multipleMode: false,
@@ -109,7 +112,8 @@ export default {
                 { label: '许可', value: 'PERMIT' }
             ],
             workType: '',
-            mode: ''
+            mode: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -132,7 +136,8 @@ export default {
                 query: {
                     type: 'SERVICE',
                     workType: this.workType,
-                    mode: this.mode
+                    mode: this.mode,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 8 - 3
src/main/vue/src/views/demand/SoftCopyrightDemandList.vue

@@ -32,6 +32,7 @@
             </el-input>
             <setting-select name="软著类型" :flag="4" v-model="workType" @input="getData"></setting-select>
             <mode-select v-model="modeId" @input="getData"></mode-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -62,6 +63,7 @@
             <el-table-column prop="address" label="所在地区"> </el-table-column>
             <el-table-column prop="view" label="浏览量"> </el-table-column>
             <el-table-column prop="status" label="状态" :formatter="statusFormatter"></el-table-column>
+            <el-table-column prop="createdAt" label="发布时间" min-width="140"></el-table-column>
             <el-table-column label="操作" align="right" fixed="right" width="220">
                 <template slot-scope="{ row }">
                     <el-button
@@ -118,9 +120,10 @@ import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
 import ModeSelect from '../../components/select/ModeSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
-    components: { SettingSelect, ModeSelect },
+    components: { SettingSelect, ModeSelect, CreatedPicker },
     name: 'SoftCopyrightDemandList',
     mixins: [pageableTable, tradingMethod],
     data() {
@@ -130,7 +133,8 @@ export default {
             url: '/copyrightDemand/all',
             downloading: false,
             workType: '',
-            modeId: ''
+            modeId: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -146,7 +150,8 @@ export default {
                 query: {
                     type: 'SOFT',
                     workType: this.workType,
-                    modeId: this.modeId
+                    modeId: this.modeId,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 8 - 3
src/main/vue/src/views/demand/TechnologyDemandList.vue

@@ -43,6 +43,7 @@
                 <el-option label="是" :value="true"></el-option>
                 <el-option label="否" :value="false"></el-option>
             </el-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -82,6 +83,7 @@
             <el-table-column prop="address" label="所在地区"> </el-table-column>
             <el-table-column prop="view" label="浏览量"> </el-table-column>
             <el-table-column prop="status" label="状态" :formatter="statusFormatter"></el-table-column>
+            <el-table-column prop="createdAt" label="发布时间" min-width="140"></el-table-column>
             <el-table-column label="操作" align="right" fixed="right" width="220">
                 <template slot-scope="{ row }">
                     <el-button
@@ -137,11 +139,12 @@ import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
     name: 'TechProductDemandList',
     mixins: [pageableTable, tradingMethod],
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     data() {
         return {
             flag: 30,
@@ -168,7 +171,8 @@ export default {
             ],
             industry: '',
             modeId: '',
-            patent: ''
+            patent: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -206,7 +210,8 @@ export default {
                     tpType: 'TECHNOLOGY',
                     industry: this.industry,
                     modeId: this.modeId,
-                    isPatented: this.patent
+                    isPatented: this.patent,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 7 - 3
src/main/vue/src/views/supply/CopyrightList.vue

@@ -46,6 +46,7 @@
                     :label="item.label"
                 ></el-option>
             </el-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -162,9 +163,10 @@ import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     name: 'CopyrightList',
     mixins: [pageableTable, tradingMethod],
     data() {
@@ -178,7 +180,8 @@ export default {
                 { label: '百分比', value: 'PERCENTAGE' }
             ],
             workType: '',
-            tradingMethodId: ''
+            tradingMethodId: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -208,7 +211,8 @@ export default {
                 query: {
                     type: 'COPY',
                     workType: this.workType,
-                    tradingMethodId: this.tradingMethodId
+                    tradingMethodId: this.tradingMethodId,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 7 - 3
src/main/vue/src/views/supply/GeneralPatentList.vue

@@ -58,6 +58,7 @@
                     :label="item.label"
                 ></el-option>
             </el-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
             <el-input
                 placeholder="搜索..."
                 v-model="search"
@@ -182,9 +183,10 @@ import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     name: 'GeneralPatentList',
     mixins: [pageableTable, tradingMethod],
     data() {
@@ -209,7 +211,8 @@ export default {
             industry: '',
             lawStatus: '',
             tradingMethod: '',
-            patentType: ''
+            patentType: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -262,7 +265,8 @@ export default {
                     industryClass: this.industry,
                     lawStatus: this.lawStatus,
                     tradingMethod: this.tradingMethod,
-                    patentType: this.patentType
+                    patentType: this.patentType,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 7 - 3
src/main/vue/src/views/supply/LogoList.vue

@@ -44,6 +44,7 @@
                     :label="item.label"
                 ></el-option>
             </el-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
             <el-input
                 placeholder="搜索..."
                 v-model="search"
@@ -166,11 +167,12 @@ import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
     name: 'LogoList',
     mixins: [pageableTable, tradingMethod],
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     data() {
         return {
             multipleMode: false,
@@ -188,7 +190,8 @@ export default {
             ],
             category: '',
             logoType: '',
-            tradingMethodId: ''
+            tradingMethodId: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -218,7 +221,8 @@ export default {
                 query: {
                     logoType: this.logoType,
                     tradingMethodId: this.tradingMethodId,
-                    category: this.category
+                    category: this.category,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 48 - 2
src/main/vue/src/views/supply/PatentList.vue

@@ -36,6 +36,19 @@
                     :label="item.label"
                 ></el-option>
             </el-select>
+            <el-date-picker
+                v-model="createdAt"
+                type="datetimerange"
+                :picker-options="pickerOptions"
+                range-separator="至"
+                start-placeholder="开始日期"
+                end-placeholder="结束日期"
+                align="right"
+                value-format="yyyy-MM-dd HH:mm:ss"
+                :default-time="['00:00:00', '23:59:59']"
+                @change="getData"
+            >
+            </el-date-picker>
             <el-input
                 placeholder="搜索..."
                 v-model="search"
@@ -185,7 +198,39 @@ export default {
                 { label: '百分比', value: 'PERCENTAGE' }
             ],
             industry: '',
-            tradingMethod: ''
+            tradingMethod: '',
+            pickerOptions: {
+                shortcuts: [
+                    {
+                        text: '最近一周',
+                        onClick(picker) {
+                            const end = new Date();
+                            const start = new Date();
+                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+                            picker.$emit('pick', [start, end]);
+                        }
+                    },
+                    {
+                        text: '最近一个月',
+                        onClick(picker) {
+                            const end = new Date();
+                            const start = new Date();
+                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+                            picker.$emit('pick', [start, end]);
+                        }
+                    },
+                    {
+                        text: '最近三个月',
+                        onClick(picker) {
+                            const end = new Date();
+                            const start = new Date();
+                            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+                            picker.$emit('pick', [start, end]);
+                        }
+                    }
+                ]
+            },
+            createdAt: ''
         };
     },
     computed: {
@@ -222,7 +267,8 @@ export default {
                 query: {
                     caseType: 'DECLASSIFICATION',
                     industryClass: this.industry,
-                    tradingMethod: this.tradingMethod
+                    tradingMethod: this.tradingMethod,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 7 - 3
src/main/vue/src/views/supply/ProductList.vue

@@ -57,6 +57,7 @@
                 <el-option label="是" :value="true"></el-option>
                 <el-option label="否" :value="false"></el-option>
             </el-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -176,9 +177,10 @@ import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     name: 'ProductList',
     mixins: [pageableTable, tradingMethod],
     data() {
@@ -213,7 +215,8 @@ export default {
             tradingMethodId: '',
             stage: '',
             patent: '',
-            field: ''
+            field: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -259,7 +262,8 @@ export default {
                     tradingMethodId: this.tradingMethodId,
                     stage: this.stage,
                     isPatented: this.patent,
-                    field: this.field
+                    field: this.field,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 13 - 3
src/main/vue/src/views/supply/ServiceProviderList.vue

@@ -31,6 +31,7 @@
                 <el-button @click="getData" slot="append" icon="el-icon-search"> </el-button>
             </el-input>
             <setting-select name="擅长领域" :flag="6" v-model="field" @input="getData"></setting-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -99,9 +100,10 @@
 import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     name: 'ServiceProviderList',
     mixins: [pageableTable],
     data() {
@@ -110,7 +112,8 @@ export default {
             search: '',
             url: '/serviceProvider/all',
             downloading: false,
-            field: ''
+            field: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -120,7 +123,14 @@ export default {
     },
     methods: {
         beforeGetData() {
-            return { sort: 'createdAt,desc', search: this.search, query: { field: this.field } };
+            return {
+                sort: 'createdAt,desc',
+                search: this.search,
+                query: {
+                    field: this.field,
+                    createdAt: this.createdAt
+                }
+            };
         },
         toggleMultipleMode(multipleMode) {
             this.multipleMode = multipleMode;

+ 7 - 3
src/main/vue/src/views/supply/SoftCopyrightList.vue

@@ -46,6 +46,7 @@
                     :label="item.label"
                 ></el-option>
             </el-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -157,9 +158,10 @@ import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     name: 'SoftCopyrightList',
     mixins: [pageableTable, tradingMethod],
     data() {
@@ -173,7 +175,8 @@ export default {
                 { label: '百分比', value: 'PERCENTAGE' }
             ],
             workType: '',
-            tradingMethod: ''
+            tradingMethod: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -196,7 +199,8 @@ export default {
                 query: {
                     type: 'SOFT',
                     workType: this.workType,
-                    tradingMethod: this.tradingMethod
+                    tradingMethod: this.tradingMethod,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 7 - 3
src/main/vue/src/views/supply/TechnicalManagerList.vue

@@ -31,6 +31,7 @@
                 <el-button @click="getData" slot="append" icon="el-icon-search"> </el-button>
             </el-input>
             <setting-select name="专业领域" :flag="1" v-model="field" @input="getData"></setting-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -119,9 +120,10 @@ import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     name: 'TechnicalManagerList',
     mixins: [pageableTable, tradingMethod],
     data() {
@@ -130,7 +132,8 @@ export default {
             search: '',
             url: '/technicalManager/all',
             downloading: false,
-            field: ''
+            field: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -145,7 +148,8 @@ export default {
                 search: this.search,
                 query: {
                     isExpert: false,
-                    field: this.field
+                    field: this.field,
+                    createdAt: this.createdAt
                 }
             };
         },

+ 7 - 3
src/main/vue/src/views/supply/TechnologyList.vue

@@ -57,6 +57,7 @@
                 <el-option label="是" :value="true"></el-option>
                 <el-option label="否" :value="false"></el-option>
             </el-select>
+            <created-picker v-model="createdAt" @input="getData"></created-picker>
         </div>
         <el-table
             :data="tableData"
@@ -176,9 +177,10 @@ import { mapState } from 'vuex';
 import pageableTable from '@/mixins/pageableTable';
 import tradingMethod from '@/mixins/tradingMethod';
 import SettingSelect from '../../components/select/SettingSelect.vue';
+import CreatedPicker from '../../components/select/CreatedPicker.vue';
 
 export default {
-    components: { SettingSelect },
+    components: { SettingSelect, CreatedPicker },
     name: 'TechnologyList',
     mixins: [pageableTable, tradingMethod],
     data() {
@@ -213,7 +215,8 @@ export default {
             tradingMethodId: '',
             stage: '',
             patent: '',
-            field: ''
+            field: '',
+            createdAt: ''
         };
     },
     computed: {
@@ -259,7 +262,8 @@ export default {
                     tradingMethodId: this.tradingMethodId,
                     stage: this.stage,
                     isPatented: this.patent,
-                    field: this.field
+                    field: this.field,
+                    createdAt: this.createdAt
                 }
             };
         },