yuanyuan 2 năm trước cách đây
mục cha
commit
734915c83c

+ 7 - 7
src/main/zhi-rong-web/src/components/Banner.vue

@@ -93,8 +93,8 @@
 
 <script>
 import { navTypeOptions } from '../utils/variables';
-import { Swiper, SwiperSlide } from 'vue-awesome-swiper';
-import SearchInput from './SearchInput';
+// import { Swiper, SwiperSlide } from 'vue-awesome-swiper';
+// import SearchInput from './SearchInput';
 export default {
     data() {
         return {
@@ -166,11 +166,11 @@ export default {
             this.$router.push('/successCases?category=GENERAL');
         }
     },
-    components: {
-        Swiper,
-        SwiperSlide,
-        SearchInput
-    }
+    // components: {
+    //     Swiper,
+    //     SwiperSlide,
+    //     SearchInput
+    // }
 };
 </script>
 

+ 586 - 586
src/main/zhi-rong-web/src/components/page/FilterList.vue

@@ -1,586 +1,586 @@
-<template>
-    <div class="container">
-        <div class="filter">
-            <div class="filter-item" v-for="(item, index) in filters" :key="index">
-                <div class="filter-name" :style="{ minWidth: labelWidth }">{{ item.name }}</div>
-                <div class="filter-content">
-                    <el-tag
-                        size="mini"
-                        @click="changeFilter(item.key, '')"
-                        :effect="filterData[item.key] ? 'plain' : 'dark'"
-                    >
-                        全部
-                    </el-tag>
-                    <el-tag
-                        size="mini"
-                        v-for="(child, childIndex) in item.list"
-                        :key="childIndex"
-                        @click="changeFilter(item.key, child.value)"
-                        :effect="filterData[item.key] === child.value ? 'dark' : 'plain'"
-                    >
-                        {{ child.label }}
-                    </el-tag>
-                </div>
-            </div>
-        </div>
-        <div class="main">
-            <div class="sort">
-                <div class="sort-btn">
-                    <div class="sort-item" @click="sort = {}" :class="{ active: Object.keys(sort).length === 0 }">
-                        综合排序
-                    </div>
-                    <template v-for="(item, index) in sortKey">
-                        <div
-                            class="sort-item right"
-                            @click="clickSort(item.key)"
-                            :key="index"
-                            :class="showClass(item.key)"
-                        >
-                            <span>{{ item.name }}</span>
-                            <i class="el-icon-caret-top"></i>
-                            <i class="el-icon-caret-bottom"></i>
-                        </div>
-                    </template>
-                </div>
-
-                <div class="flex1">
-                    <search-input
-                        size="mini"
-                        v-model="search"
-                        placeholder="请输入所属领域或其他任意信息"
-                        @suffixClick="getData"
-                        @keyup.enter.native="getData"
-                        clearable
-                        suffix-icon="el-icon-search"
-                        class="search"
-                    ></search-input>
-                </div>
-
-                <div class="btn-right" v-if="hasAction">
-                    <el-button size="small" type="primary" @click="show = true">
-                        <img src="../../assets/home_icon_gongjifabu@3x (3).png" alt="" class="button_img" />
-                        <div class="button_title">信息发布</div>
-                    </el-button>
-                    <el-button v-if="isDemand" size="small" type="primary" @click="btnEvent">
-                        <img src="../../assets/home_icon_xuqiufabu@3x (3).png" alt="" class="button_img" />
-                        <div class="button_title">需求发布</div>
-                    </el-button>
-                    <el-button v-else size="small" type="primary" @click="btnEvent">
-                        <img src="../../assets/home_icon_xuqiufabu@3x (3).png" alt="" class="button_img" />
-                        <div class="button_title">供给发布</div>
-                    </el-button
-                    >
-                </div>
-            </div>
-            <div class="list" v-loading="fetchingData">
-                <slot></slot>
-
-                <div class="empty" v-if="empty && !fetchingData">
-                    <i class="el-icon-takeaway-box"></i>
-                    <div class="empty-text">暂无数据</div>
-                </div>
-            </div>
-            <div class="footer">
-                <el-pagination
-                    @size-change="onSizeChange"
-                    @current-change="onCurrentChange"
-                    :current-page="page"
-                    :page-sizes="[10, 20, 30, 40, 50]"
-                    :page-size="pageSize"
-                    layout="total, sizes, prev, pager, next, jumper"
-                    :total="totalElements"
-                >
-                </el-pagination>
-            </div>
-        </div>
-        <el-dialog :title="isDemand ? '发布需求信息' : '发布供给信息'" :visible.sync="show" center>
-            <el-form :rules="rules" label-width="70px" hide-required-asterisk>
-                <el-form-item prop="patent" :label="isDemand ? '需求类别' : '供给类别'">
-                    <el-select v-model="formData.patent" placeholder="请选择">
-                        <el-option
-                            v-for="item in isDemand ? demand : parent"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id"
-                        >
-                        </el-option>
-                    </el-select>
-                </el-form-item>
-            </el-form>
-            <div class="btns">
-                <!-- <el-button type="info" size="small" @click="show = false">返回</el-button> -->
-                <el-button v-if="isDemand" type="primary" size="small" @click="Onsaves">确定</el-button>
-                <el-button v-else type="primary" size="small" @click="Onsave">确定</el-button>
-            </div>
-        </el-dialog>
-    </div>
-</template>
-
-<script>
-import SearchInput from '../SearchInput';
-import pageableTable from '../../mixins/pageableTable';
-export default {
-    name: 'List',
-    props: {
-        url: {
-            type: String,
-            default: ''
-        },
-        filters: {
-            type: Array,
-            default: () => {
-                return [
-                    {
-                        name: '应用领域',
-                        key: 'field',
-                        list: [{ label: '研发阶段', value: 'RESEARCH_AND_DEVELOPMENT' }]
-                    }
-                ];
-            }
-        },
-        labelWidth: {
-            type: String,
-            default: '52px'
-        },
-        sortKey: {
-            type: Array,
-            default: () => {
-                return [
-                    {
-                        name: '发布时间',
-                        key: 'createdAt'
-                    }
-                ];
-            }
-        },
-        sortKeys: {
-            type: Array
-        },
-        isDemand: {
-            type: Boolean,
-            default: false
-        },
-        hasAction: {
-            type: Boolean,
-            default: true
-        },
-        defaultQuery: {
-            type: Object,
-            default: () => {
-                return {};
-            }
-        }
-    },
-    mixins: [pageableTable],
-    data() {
-        return {
-            search: '',
-            filterData: {},
-            sortList: ['desc', 'asc'],
-            rules: {
-                patent: [{ required: true, message: '请选择', trigger: 'blur' }]
-            },
-            formData: {},
-            supplys: [],
-            demands: [],
-            show: false
-        };
-    },
-    computed: {
-        // newsType() {
-        //     return this.tabs == '平台动态' ? 324 : 325;
-        // },
-        parent() {
-            return [...this.supplys].filter((item, index) => {
-                return index < 6;
-            });
-        },
-        demand() {
-            return [...this.demands].filter((item, index) => {
-                return index < 7;
-            });
-        }
-    },
-    watch: {
-        $route() {
-            this.$emit('init');
-        }
-    },
-    created() {
-        if(this.sortKeys){
-            this.sortStr = 'soldAt,desc'
-        }else{
-            this.sortStr = 'createdAt,desc'
-        }
-        this.$nextTick(() => {
-            this.init();
-        });
-        this.$http.post('/navigation/supply').then(res => {
-            this.supplys = res;
-        });
-        this.$http.post('/navigation/demand').then(res => {
-            this.demands = res;
-        });
-    },
-    methods: {
-        Onsave() {
-            if (!this.formData.patent) {
-                this.$message.error('请选择类别');
-                return;
-            }
-            this.$store.commit('updateShowAdd', true);
-            if (this.formData.patent == 157) {
-                this.$router.push('/patent?caseType=DECLASSIFICATION');
-                this.show = false
-            } else if (this.formData.patent == 158) {
-                this.$router.push('/patent?caseType=GENERAL');
-                this.show = false
-            } else if (this.formData.patent == 159) {
-                this.$router.push('/logo');
-                this.show = false
-            } else if (this.formData.patent == 160) {
-                this.$router.push('/copyright?type=COPY');
-                this.show = false
-            } else if (this.formData.patent == 161) {
-                this.$router.push('/copyright?type=SOFT');
-                this.show = false
-            } else if (this.formData.patent == 162) {
-                this.$router.push('/technologyProduct?tpType=TECHNOLOGY');
-                this.show = false
-            } else if (this.formData.patent == 163) {
-                this.$router.push('/technologyProduct?tpType=PRODUCT');
-                this.show = false
-            }
-        },
-        Onsaves() {
-            if (!this.formData.patent) {
-                this.$message.error('请选择类别');
-                return;
-            }
-            this.$store.commit('updateShowAdd', true);
-            if (this.formData.patent == 167) {
-                this.$router.push('/patentDemand?caseType=DECLASSIFICATION');
-                this.show = false
-            } else if (this.formData.patent == 168) {
-                this.$router.push('/patentDemand?caseType=GENERAL');
-                this.show = false
-            } else if (this.formData.patent == 169) {
-                this.$router.push('/logoDemand');
-                this.show = false
-            } else if (this.formData.patent == 170) {
-                this.$router.push('/copyrightDemand?type=COPY');
-                this.show = false
-            } else if (this.formData.patent == 171) {
-                this.$router.push('/copyrightDemand?type=SOFT');
-                this.show = false
-            } else if (this.formData.patent == 172) {
-                this.$router.push('/techProductDemand?tpType=TECHNOLOGY');
-                this.show = false
-            } else if (this.formData.patent == 173) {
-                this.$router.push('/techProductDemand?tpType=PRODUCT');
-                this.show = false
-            }
-        },
-        init() {
-            let info = {};
-
-            [...this.filters].forEach(item => {
-                info[item.key] = '';
-            });
-
-            this.filterData = info;
-
-            this.$nextTick(() => {
-                this.page = 1;
-                this.getData();
-            });
-        },
-        clickInput() {
-            console.log('ahggsgd');
-        },
-        beforeGetData(query) {
-            console.log(this.$route);
-            let data = {};
-            [...this.filters].forEach(item => {
-                if (!item.noQuery) {
-                    query[item.key] = this.filterData[item.key];
-                } else {
-                    data[item.key] = this.filterData[item.key];
-                }
-            });
-            data.query = { ...query, ...this.defaultQuery };
-
-            data.search = this.search;
-            if (!this.$route.meta.noCheckStatus) {
-                data.query.status = 'PASS';
-            }
-
-            return data;
-        },
-        changeFilter(key, val) {
-            this.filterData[key] = val;
-            this.getData();
-        },
-        showClass(key) {
-            let _class = '';
-            if (this.sort[key]) {
-                _class += 'active ';
-                _class += this.sort[key];
-            }
-
-            return _class;
-        },
-        clickSort(key) {
-            console.log(key);
-            let index = -1;
-            if (this.sort[key]) {
-                index = this.sortList.indexOf(this.sort[key]);
-            }
-
-            this.changeSort(key, this.sortList[(index + 1) % 2]);
-        },
-        btnEvent() {
-            this.$emit('btnEvent',true);
-        },
-        setList(list) {
-            this.$emit('input', list);
-        }
-    },
-    components: {
-        SearchInput
-    }
-};
-</script>
-
-<style lang="less" scoped>
-.container {
-    .flex-col();
-}
-.sort {
-    height: 56px;
-    background-color: #fff;
-    flex-shrink: 0;
-    padding: 0 10px;
-}
-
-.main {
-    background-color: #fff;
-    flex-grow: 1;
-    margin-top: 20px;
-    .flex-col();
-}
-.list {
-    flex-grow: 1;
-    min-height: 740px;
-}
-.footer {
-    align-self: center;
-    padding: 50px;
-    flex-shrink: 0;
-}
-
-.empty {
-    padding: 300px 0;
-    .flex-col();
-    align-items: center;
-    i {
-        font-size: 100px;
-        color: #939599;
-    }
-
-    .empty-text {
-        font-size: 14px;
-        color: #939599;
-        margin-top: 20px;
-    }
-}
-.el-tag--dark {
-    background: #01a041;
-    border-radius: 2px;
-}
-.sort {
-    .flex();
-    padding: 0 10px;
-}
-.sort-btn {
-    .flex();
-    align-items: stretch;
-    height: 56px;
-    line-height: 56px;
-    .sort-item {
-        padding: 0 10px;
-        color: #313233;
-        font-size: 13px;
-        cursor: pointer;
-
-        &.right {
-            position: relative;
-            padding-right: 20px;
-
-            i {
-                position: absolute;
-                right: 5px;
-                color: #313233;
-                font-size: 8px;
-
-                &.el-icon-caret-top {
-                    bottom: 25px;
-                }
-                &.el-icon-caret-bottom {
-                    top: 26px;
-                }
-            }
-
-            &.desc {
-                .el-icon-caret-bottom {
-                    color: #01a041;
-                }
-            }
-
-            &.asc {
-                .el-icon-caret-top {
-                    color: #01a041;
-                }
-            }
-        }
-
-        &:hover {
-            color: #01a041;
-        }
-
-        &.active {
-            color: #01a041;
-        }
-    }
-}
-.flex1 {
-    flex-grow: 1;
-    .flex();
-    padding: 0 20px;
-
-    .text {
-        font-size: 12px;
-        color: #bcc1cc;
-        line-height: 17px;
-        margin-left: 20px;
-    }
-}
-.search {
-    width: 260px;
-    /deep/.el-input__inner {
-        background-color: @bg;
-        border-color: @bg;
-        &:focus {
-            border-color: #01a041;
-        }
-    }
-    ::-webkit-input-placeholder{
-        color: #313233;
-    }
-}
-/deep/ .el-dialog {
-    width: 760px;
-
-    .el-form {
-        width: 390px;
-        margin: 0 auto;
-    }
-
-    .el-form-item {
-        width: 100%;
-        display: block !important;
-        .el-select {
-            width: 100%;
-        }
-        .el-input {
-            width: 100%;
-        }
-    }
-
-    .btns {
-        padding-top: 30px;
-    }
-}
-.filter {
-    background-color: #fff;
-    padding: 20px 20px 9px 20px;
-
-    .filter-item {
-        .flex();
-        align-items: flex-start;
-        .filter-name {
-            flex-shrink: 0;
-            font-size: 13px;
-            color: #939599;
-            line-height: 22px;
-        }
-
-        .filter-content {
-            margin-left: 26px;
-            .flex();
-            flex-wrap: wrap;
-
-            /deep/ .el-tag {
-                cursor: pointer;
-                border-width: 0px;
-                line-height: 22px;
-                &.el-tag--plain {
-                    border-width: 0;
-                    color: #313233;
-                    &:hover {
-                        color: #01a041;
-                    }
-                }
-                margin-bottom: 10px;
-                margin-right: 15px;
-
-                &.el-tag--mini {
-                    padding: 0 4px;
-                    height: 22px;
-                    border-radius: 2px;
-                }
-            }
-        }
-    }
-}
-
-.btn-right {
-    padding-right: 10px;
-
-    .el-button + .el-button {
-        margin-left: 20px;
-    }
-
-    /deep/ .el-button {
-        padding: 0px 15px;
-        line-height: 36px;
-        min-width: 130px;
-        border-radius: 2px;
-        i {
-            font-size: 18px;
-            vertical-align: middle;
-        }
-        span {
-            vertical-align: middle;
-        }
-    }
-}
-/deep/ .el-pager li.active {
-    color: #01a041 !important;
-}
-.el-button {
-    position: relative;
-}
-.button_img {
-    width: 24px;
-    height: 24px;
-    position: absolute;
-    top: 6px;
-    left: 24px;
-}
-.button_title {
-    font-size: 12px;
-    color: #fff;
-    margin-left: 30px;
-}
-</style>
+<template>
+    <div class="container">
+        <div class="filter">
+            <div class="filter-item" v-for="(item, index) in filters" :key="index">
+                <div class="filter-name" :style="{ minWidth: labelWidth }">{{ item.name }}</div>
+                <div class="filter-content">
+                    <el-tag
+                        size="mini"
+                        @click="changeFilter(item.key, '')"
+                        :effect="filterData[item.key] ? 'plain' : 'dark'"
+                    >
+                        全部
+                    </el-tag>
+                    <el-tag
+                        size="mini"
+                        v-for="(child, childIndex) in item.list"
+                        :key="childIndex"
+                        @click="changeFilter(item.key, child.value)"
+                        :effect="filterData[item.key] === child.value ? 'dark' : 'plain'"
+                    >
+                        {{ child.label }}
+                    </el-tag>
+                </div>
+            </div>
+        </div>
+        <div class="main">
+            <div class="sort">
+                <div class="sort-btn">
+                    <div class="sort-item" @click="sort = {}" :class="{ active: Object.keys(sort).length === 0 }">
+                        综合排序
+                    </div>
+                    <template v-for="(item, index) in sortKey">
+                        <div
+                            class="sort-item right"
+                            @click="clickSort(item.key)"
+                            :key="index"
+                            :class="showClass(item.key)"
+                        >
+                            <span>{{ item.name }}</span>
+                            <i class="el-icon-caret-top"></i>
+                            <i class="el-icon-caret-bottom"></i>
+                        </div>
+                    </template>
+                </div>
+
+                <div class="flex1">
+                    <search-input
+                        size="mini"
+                        v-model="search"
+                        placeholder="请输入所属领域或其他任意信息"
+                        @suffixClick="getData"
+                        @keyup.enter.native="getData"
+                        clearable
+                        suffix-icon="el-icon-search"
+                        class="search"
+                    ></search-input>
+                </div>
+
+                <div class="btn-right" v-if="hasAction">
+                    <el-button size="small" type="primary" @click="show = true">
+                        <img src="../../assets/home_icon_gongjifabu@3x (3).png" alt="" class="button_img" />
+                        <div class="button_title">信息发布</div>
+                    </el-button>
+                    <el-button v-if="isDemand" size="small" type="primary" @click="btnEvent">
+                        <img src="../../assets/home_icon_xuqiufabu@3x (3).png" alt="" class="button_img" />
+                        <div class="button_title">需求发布</div>
+                    </el-button>
+                    <el-button v-else size="small" type="primary" @click="btnEvent">
+                        <img src="../../assets/home_icon_xuqiufabu@3x (3).png" alt="" class="button_img" />
+                        <div class="button_title">供给发布</div>
+                    </el-button
+                    >
+                </div>
+            </div>
+            <div class="list" v-loading="fetchingData">
+                <slot></slot>
+
+                <div class="empty" v-if="empty && !fetchingData">
+                    <i class="el-icon-takeaway-box"></i>
+                    <div class="empty-text">暂无数据</div>
+                </div>
+            </div>
+            <div class="footer">
+                <el-pagination
+                    @size-change="onSizeChange"
+                    @current-change="onCurrentChange"
+                    :current-page="page"
+                    :page-sizes="[10, 20, 30, 40, 50]"
+                    :page-size="pageSize"
+                    layout="total, sizes, prev, pager, next, jumper"
+                    :total="totalElements"
+                >
+                </el-pagination>
+            </div>
+        </div>
+        <el-dialog :title="isDemand ? '发布需求信息' : '发布供给信息'" :visible.sync="show" center>
+            <el-form :rules="rules" label-width="70px" hide-required-asterisk>
+                <el-form-item prop="patent" :label="isDemand ? '需求类别' : '供给类别'">
+                    <el-select v-model="formData.patent" placeholder="请选择">
+                        <el-option
+                            v-for="item in isDemand ? demand : parent"
+                            :key="item.id"
+                            :label="item.name"
+                            :value="item.id"
+                        >
+                        </el-option>
+                    </el-select>
+                </el-form-item>
+            </el-form>
+            <div class="btns">
+                <!-- <el-button type="info" size="small" @click="show = false">返回</el-button> -->
+                <el-button v-if="isDemand" type="primary" size="small" @click="Onsaves">确定</el-button>
+                <el-button v-else type="primary" size="small" @click="Onsave">确定</el-button>
+            </div>
+        </el-dialog>
+    </div>
+</template>
+
+<script>
+import SearchInput from '../SearchInput';
+import pageableTable from '../../mixins/pageableTable';
+export default {
+    name: 'List',
+    props: {
+        url: {
+            type: String,
+            default: ''
+        },
+        filters: {
+            type: Array,
+            default: () => {
+                return [
+                    {
+                        name: '应用领域',
+                        key: 'field',
+                        list: [{ label: '研发阶段', value: 'RESEARCH_AND_DEVELOPMENT' }]
+                    }
+                ];
+            }
+        },
+        labelWidth: {
+            type: String,
+            default: '52px'
+        },
+        sortKey: {
+            type: Array,
+            default: () => {
+                return [
+                    {
+                        name: '发布时间',
+                        key: 'createdAt'
+                    }
+                ];
+            }
+        },
+        sortKeys: {
+            type: Array
+        },
+        isDemand: {
+            type: Boolean,
+            default: false
+        },
+        hasAction: {
+            type: Boolean,
+            default: true
+        },
+        defaultQuery: {
+            type: Object,
+            default: () => {
+                return {};
+            }
+        }
+    },
+    mixins: [pageableTable],
+    data() {
+        return {
+            search: '',
+            filterData: {},
+            sortList: ['desc', 'asc'],
+            rules: {
+                patent: [{ required: true, message: '请选择', trigger: 'blur' }]
+            },
+            formData: {},
+            supplys: [],
+            demands: [],
+            show: false
+        };
+    },
+    computed: {
+        // newsType() {
+        //     return this.tabs == '平台动态' ? 324 : 325;
+        // },
+        parent() {
+            return [...this.supplys].filter((item, index) => {
+                return index < 6;
+            });
+        },
+        demand() {
+            return [...this.demands].filter((item, index) => {
+                return index < 7;
+            });
+        }
+    },
+    watch: {
+        $route() {
+            this.$emit('init');
+        }
+    },
+    created() {
+        if(this.sortKeys){
+            this.sortStr = 'digest,desc'
+        }else{
+            this.sortStr = 'createdAt,desc'
+        }
+        this.$nextTick(() => {
+            this.init();
+        });
+        this.$http.post('/navigation/supply').then(res => {
+            this.supplys = res;
+        });
+        this.$http.post('/navigation/demand').then(res => {
+            this.demands = res;
+        });
+    },
+    methods: {
+        Onsave() {
+            if (!this.formData.patent) {
+                this.$message.error('请选择类别');
+                return;
+            }
+            this.$store.commit('updateShowAdd', true);
+            if (this.formData.patent == 157) {
+                this.$router.push('/patent?caseType=DECLASSIFICATION');
+                this.show = false
+            } else if (this.formData.patent == 158) {
+                this.$router.push('/patent?caseType=GENERAL');
+                this.show = false
+            } else if (this.formData.patent == 159) {
+                this.$router.push('/logo');
+                this.show = false
+            } else if (this.formData.patent == 160) {
+                this.$router.push('/copyright?type=COPY');
+                this.show = false
+            } else if (this.formData.patent == 161) {
+                this.$router.push('/copyright?type=SOFT');
+                this.show = false
+            } else if (this.formData.patent == 162) {
+                this.$router.push('/technologyProduct?tpType=TECHNOLOGY');
+                this.show = false
+            } else if (this.formData.patent == 163) {
+                this.$router.push('/technologyProduct?tpType=PRODUCT');
+                this.show = false
+            }
+        },
+        Onsaves() {
+            if (!this.formData.patent) {
+                this.$message.error('请选择类别');
+                return;
+            }
+            this.$store.commit('updateShowAdd', true);
+            if (this.formData.patent == 167) {
+                this.$router.push('/patentDemand?caseType=DECLASSIFICATION');
+                this.show = false
+            } else if (this.formData.patent == 168) {
+                this.$router.push('/patentDemand?caseType=GENERAL');
+                this.show = false
+            } else if (this.formData.patent == 169) {
+                this.$router.push('/logoDemand');
+                this.show = false
+            } else if (this.formData.patent == 170) {
+                this.$router.push('/copyrightDemand?type=COPY');
+                this.show = false
+            } else if (this.formData.patent == 171) {
+                this.$router.push('/copyrightDemand?type=SOFT');
+                this.show = false
+            } else if (this.formData.patent == 172) {
+                this.$router.push('/techProductDemand?tpType=TECHNOLOGY');
+                this.show = false
+            } else if (this.formData.patent == 173) {
+                this.$router.push('/techProductDemand?tpType=PRODUCT');
+                this.show = false
+            }
+        },
+        init() {
+            let info = {};
+
+            [...this.filters].forEach(item => {
+                info[item.key] = '';
+            });
+
+            this.filterData = info;
+
+            this.$nextTick(() => {
+                this.page = 1;
+                this.getData();
+            });
+        },
+        clickInput() {
+            console.log('ahggsgd');
+        },
+        beforeGetData(query) {
+            console.log(this.$route);
+            let data = {};
+            [...this.filters].forEach(item => {
+                if (!item.noQuery) {
+                    query[item.key] = this.filterData[item.key];
+                } else {
+                    data[item.key] = this.filterData[item.key];
+                }
+            });
+            data.query = { ...query, ...this.defaultQuery };
+
+            data.search = this.search;
+            if (!this.$route.meta.noCheckStatus) {
+                data.query.status = 'PASS';
+            }
+
+            return data;
+        },
+        changeFilter(key, val) {
+            this.filterData[key] = val;
+            this.getData();
+        },
+        showClass(key) {
+            let _class = '';
+            if (this.sort[key]) {
+                _class += 'active ';
+                _class += this.sort[key];
+            }
+
+            return _class;
+        },
+        clickSort(key) {
+            console.log(key);
+            let index = -1;
+            if (this.sort[key]) {
+                index = this.sortList.indexOf(this.sort[key]);
+            }
+
+            this.changeSort(key, this.sortList[(index + 1) % 2]);
+        },
+        btnEvent() {
+            this.$emit('btnEvent',true);
+        },
+        setList(list) {
+            this.$emit('input', list);
+        }
+    },
+    components: {
+        SearchInput
+    }
+};
+</script>
+
+<style lang="less" scoped>
+.container {
+    .flex-col();
+}
+.sort {
+    height: 56px;
+    background-color: #fff;
+    flex-shrink: 0;
+    padding: 0 10px;
+}
+
+.main {
+    background-color: #fff;
+    flex-grow: 1;
+    margin-top: 20px;
+    .flex-col();
+}
+.list {
+    flex-grow: 1;
+    min-height: 740px;
+}
+.footer {
+    align-self: center;
+    padding: 50px;
+    flex-shrink: 0;
+}
+
+.empty {
+    padding: 300px 0;
+    .flex-col();
+    align-items: center;
+    i {
+        font-size: 100px;
+        color: #939599;
+    }
+
+    .empty-text {
+        font-size: 14px;
+        color: #939599;
+        margin-top: 20px;
+    }
+}
+.el-tag--dark {
+    background: #01a041;
+    border-radius: 2px;
+}
+.sort {
+    .flex();
+    padding: 0 10px;
+}
+.sort-btn {
+    .flex();
+    align-items: stretch;
+    height: 56px;
+    line-height: 56px;
+    .sort-item {
+        padding: 0 10px;
+        color: #313233;
+        font-size: 13px;
+        cursor: pointer;
+
+        &.right {
+            position: relative;
+            padding-right: 20px;
+
+            i {
+                position: absolute;
+                right: 5px;
+                color: #313233;
+                font-size: 8px;
+
+                &.el-icon-caret-top {
+                    bottom: 25px;
+                }
+                &.el-icon-caret-bottom {
+                    top: 26px;
+                }
+            }
+
+            &.desc {
+                .el-icon-caret-bottom {
+                    color: #01a041;
+                }
+            }
+
+            &.asc {
+                .el-icon-caret-top {
+                    color: #01a041;
+                }
+            }
+        }
+
+        &:hover {
+            color: #01a041;
+        }
+
+        &.active {
+            color: #01a041;
+        }
+    }
+}
+.flex1 {
+    flex-grow: 1;
+    .flex();
+    padding: 0 20px;
+
+    .text {
+        font-size: 12px;
+        color: #bcc1cc;
+        line-height: 17px;
+        margin-left: 20px;
+    }
+}
+.search {
+    width: 260px;
+    /deep/.el-input__inner {
+        background-color: @bg;
+        border-color: @bg;
+        &:focus {
+            border-color: #01a041;
+        }
+    }
+    ::-webkit-input-placeholder{
+        color: #313233;
+    }
+}
+/deep/ .el-dialog {
+    width: 760px;
+
+    .el-form {
+        width: 390px;
+        margin: 0 auto;
+    }
+
+    .el-form-item {
+        width: 100%;
+        display: block !important;
+        .el-select {
+            width: 100%;
+        }
+        .el-input {
+            width: 100%;
+        }
+    }
+
+    .btns {
+        padding-top: 30px;
+    }
+}
+.filter {
+    background-color: #fff;
+    padding: 20px 20px 9px 20px;
+
+    .filter-item {
+        .flex();
+        align-items: flex-start;
+        .filter-name {
+            flex-shrink: 0;
+            font-size: 13px;
+            color: #939599;
+            line-height: 22px;
+        }
+
+        .filter-content {
+            margin-left: 26px;
+            .flex();
+            flex-wrap: wrap;
+
+            /deep/ .el-tag {
+                cursor: pointer;
+                border-width: 0px;
+                line-height: 22px;
+                &.el-tag--plain {
+                    border-width: 0;
+                    color: #313233;
+                    &:hover {
+                        color: #01a041;
+                    }
+                }
+                margin-bottom: 10px;
+                margin-right: 15px;
+
+                &.el-tag--mini {
+                    padding: 0 4px;
+                    height: 22px;
+                    border-radius: 2px;
+                }
+            }
+        }
+    }
+}
+
+.btn-right {
+    padding-right: 10px;
+
+    .el-button + .el-button {
+        margin-left: 20px;
+    }
+
+    /deep/ .el-button {
+        padding: 0px 15px;
+        line-height: 36px;
+        min-width: 130px;
+        border-radius: 2px;
+        i {
+            font-size: 18px;
+            vertical-align: middle;
+        }
+        span {
+            vertical-align: middle;
+        }
+    }
+}
+/deep/ .el-pager li.active {
+    color: #01a041 !important;
+}
+.el-button {
+    position: relative;
+}
+.button_img {
+    width: 24px;
+    height: 24px;
+    position: absolute;
+    top: 6px;
+    left: 24px;
+}
+.button_title {
+    font-size: 12px;
+    color: #fff;
+    margin-left: 30px;
+}
+</style>

+ 183 - 183
src/main/zhi-rong-web/src/mixins/pageableTable.js

@@ -1,184 +1,184 @@
-export default {
-    data() {
-        return {
-            page: 1,
-            pageSize: Number(localStorage.getItem('pageSize') || 20),
-            totalPages: 0,
-            totalElements: 0,
-            sort: {},
-            sortStr: 'createdAt,desc',
-            tableHeight: 200,
-            fetchingData: true,
-            empty: false
-        };
-    },
-    created() {
-        this.page = Number(this.$route.query.page) || 1;
-        if (this.$route.query.sort) {
-            let sort = {};
-            for (let s of this.$route.query.sort.split(';')) {
-                if (s) {
-                    let [prop, order] = s.split(',');
-                    sort[prop] = order;
-                }
-            }
-            this.sort = sort;
-        }
-        if (!this.init) {
-            this.getData();
-        }
-    },
-    methods: {
-        getData() {
-            this.$emit('input', []);
-            let query = {
-                del: false,
-                ...this.$route.query
-            };
-            delete query.sort;
-            delete query.page;
-            delete query.size;
-            if (this.$route.query.page) {
-                console.log("1221ssswqqq",this.$route.query.page)
-                this.page = Number(this.$route.query.page);
-            } else {
-                this.page;
-            }
-            let data = {
-                page: this.page - 1,
-                size: this.pageSize,
-                sort: this.sortStr
-                // query: query
-            };
-            if (this.beforeGetData) {
-                let mergeData = this.beforeGetData(query);
-                if (mergeData) {
-                    data = {
-                        ...data,
-                        ...mergeData
-                    };
-                }
-            }
-            // console.log(this.data);
-            this.fetchingData = true;
-            this.$http
-                .post(this.url, data, {
-                    body: 'json'
-                })
-                .then(res => {
-                    this.fetchingData = false;
-                    if (this.setList) {
-                        this.setList(res.content);
-                    }
-                    this.totalPages = res.totalPages;
-                    this.totalElements = res.totalElements;
-                    if (this.afterGetData) {
-                        this.afterGetData(res);
-                    }
-                    this.empty = res.empty;
-                })
-                .catch(e => {
-                    this.fetchingData = false;
-                    this.$message.error(e.error);
-                });
-        },
-        changeSort(prop, order) {
-            let newOrder = '';
-            if (order) {
-                if (this.sort[prop] !== order) {
-                    newOrder = order;
-                } else {
-                    newOrder = '';
-                }
-            } else {
-                if (this.sort[prop] === 'asc') {
-                    newOrder = 'desc';
-                } else if (this.sort[prop] === 'desc') {
-                    newOrder = '';
-                } else {
-                    newOrder = 'asc';
-                }
-            }
-            this.sort = {
-                // ...this.sort,
-                [prop]: newOrder
-            };
-        },
-        onSortChange(e) {
-            this.sort = e;
-            this.getData();
-        },
-        onSizeChange(e) {
-            localStorage.setItem('pageSize', e);
-            this.page = 1;
-            this.pageSize = e;
-            this.getData();
-        },
-        onCurrentChange(e) {
-            // this.$router.push({
-            //     query: {
-            //         ...this.$route.query,
-            //         page: e
-            //     }
-            // });
-            this.page = e;
-            this.getData();
-        },
-        adjustColumnWidth() {
-            let canvas = document.createElement('canvas');
-            let ctx = canvas.getContext('2d');
-            let measureTxt = text => {
-                return parseInt(ctx.measureText(text).width);
-            };
-            let rowWidth = [];
-            let headWidth = [];
-            document.querySelectorAll('.el-table__body-wrapper .table-row').forEach(row => {
-                row.querySelectorAll('.table-cell').forEach((cell, index) => {
-                    let children = cell.querySelector('.cell').children;
-                    if (children && children.length) {
-                        let width = 0;
-                        console.log(children);
-                        for (let child of children) {
-                            width +=
-                                child.clientWidth +
-                                parseInt(window.getComputedStyle(child).marginLeft.replace('px', '')) +
-                                parseInt(window.getComputedStyle(child).marginRight.replace('px', ''));
-                        }
-                        rowWidth[index] = width;
-                    } else {
-                        console.log(cell.querySelector('.cell').innerHTML);
-                        rowWidth[index] = measureTxt(cell.querySelector('.cell').innerHTML);
-                    }
-                });
-            });
-            this.$refs.table.columns.forEach(({
-                label
-            }, index) => {
-                headWidth[index] = measureTxt(label) + 50;
-            });
-            console.log(rowWidth);
-            console.log(headWidth);
-        }
-    },
-    watch: {
-        sort() {
-            let sortStr = [];
-            for (let [key, value] of Object.entries(this.sort)) {
-                if (value) {
-                    sortStr.push(key + ',' + value);
-                }
-            }
-            sortStr = sortStr.join(';');
-            this.$router
-                .replace({
-                    query: {
-                        ...this.$route.query,
-                        sort: sortStr
-                    }
-                })
-                .catch(() => {});
-            this.sortStr = sortStr;
-            this.getData();
-        }
-    }
+export default {
+    data() {
+        return {
+            page: 1,
+            pageSize: Number(localStorage.getItem('pageSize') || 20),
+            totalPages: 0,
+            totalElements: 0,
+            sort: {},
+            sortStr: 'createdAt,desc',
+            tableHeight: 200,
+            fetchingData: true,
+            empty: false
+        };
+    },
+    created() {
+        this.page = Number(this.$route.query.page) || 1;
+        if (this.$route.query.sort) {
+            let sort = {};
+            for (let s of this.$route.query.sort.split(';')) {
+                if (s) {
+                    let [prop, order] = s.split(',');
+                    sort[prop] = order;
+                }
+            }
+            this.sort = sort;
+        }
+        if (!this.init) {
+            this.getData();
+        }
+    },
+    methods: {
+        getData() {
+            this.$emit('input', []);
+            let query = {
+                del: false,
+                ...this.$route.query
+            };
+            delete query.sort;
+            delete query.page;
+            delete query.size;
+            if (this.$route.query.page) {
+                console.log("1221ssswqqq",this.$route.query.page)
+                this.page = Number(this.$route.query.page);
+            } else {
+                this.page;
+            }
+            let data = {
+                page: this.page - 1,
+                size: this.pageSize,
+                sort: this.sortStr
+                // query: query
+            };
+            if (this.beforeGetData) {
+                let mergeData = this.beforeGetData(query);
+                if (mergeData) {
+                    data = {
+                        ...data,
+                        ...mergeData
+                    };
+                }
+            }
+            // console.log(this.data);
+            this.fetchingData = true;
+            this.$http
+                .post(this.url, data, {
+                    body: 'json'
+                })
+                .then(res => {
+                    this.fetchingData = false;
+                    if (this.setList) {
+                        this.setList(res.content);
+                    }
+                    this.totalPages = res.totalPages;
+                    this.totalElements = res.totalElements;
+                    if (this.afterGetData) {
+                        this.afterGetData(res);
+                    }
+                    this.empty = res.empty;
+                })
+                .catch(e => {
+                    this.fetchingData = false;
+                    this.$message.error(e.error);
+                });
+        },
+        changeSort(prop, order) {
+            let newOrder = '';
+            if (order) {
+                if (this.sort[prop] !== order) {
+                    newOrder = order;
+                } else {
+                    newOrder = '';
+                }
+            } else {
+                if (this.sort[prop] === 'asc') {
+                    newOrder = 'desc';
+                } else if (this.sort[prop] === 'desc') {
+                    newOrder = '';
+                } else {
+                    newOrder = 'asc';
+                }
+            }
+            this.sort = {
+                // ...this.sort,
+                [prop]: newOrder
+            };
+        },
+        onSortChange(e) {
+            this.sort = e;
+            this.getData();
+        },
+        onSizeChange(e) {
+            localStorage.setItem('pageSize', e);
+            this.page = 1;
+            this.pageSize = e;
+            this.getData();
+        },
+        onCurrentChange(e) {
+            // this.$router.push({
+            //     query: {
+            //         ...this.$route.query,
+            //         page: e
+            //     }
+            // });
+            this.page = e;
+            this.getData();
+        },
+        adjustColumnWidth() {
+            let canvas = document.createElement('canvas');
+            let ctx = canvas.getContext('2d');
+            let measureTxt = text => {
+                return parseInt(ctx.measureText(text).width);
+            };
+            let rowWidth = [];
+            let headWidth = [];
+            document.querySelectorAll('.el-table__body-wrapper .table-row').forEach(row => {
+                row.querySelectorAll('.table-cell').forEach((cell, index) => {
+                    let children = cell.querySelector('.cell').children;
+                    if (children && children.length) {
+                        let width = 0;
+                        console.log(children);
+                        for (let child of children) {
+                            width +=
+                                child.clientWidth +
+                                parseInt(window.getComputedStyle(child).marginLeft.replace('px', '')) +
+                                parseInt(window.getComputedStyle(child).marginRight.replace('px', ''));
+                        }
+                        rowWidth[index] = width;
+                    } else {
+                        console.log(cell.querySelector('.cell').innerHTML);
+                        rowWidth[index] = measureTxt(cell.querySelector('.cell').innerHTML);
+                    }
+                });
+            });
+            this.$refs.table.columns.forEach(({
+                label
+            }, index) => {
+                headWidth[index] = measureTxt(label) + 50;
+            });
+            console.log(rowWidth);
+            console.log(headWidth);
+        }
+    },
+    watch: {
+        sort() {
+            let sortStr = [];
+            for (let [key, value] of Object.entries(this.sort)) {
+                if (value) {
+                    sortStr.push(key + ',' + value);
+                }
+            }
+            sortStr = sortStr.join(';');
+            this.$router
+                .replace({
+                    query: {
+                        ...this.$route.query,
+                        sort: sortStr
+                    }
+                })
+                .catch(() => {});
+            this.sortStr = sortStr;
+            this.getData();
+        }
+    }
 };

+ 241 - 242
src/main/zhi-rong-web/src/views/detail/PatentDemand.vue

@@ -1,242 +1,241 @@
-<template>
-    <bread-pages>
-        <div class="main" v-loading="loading">
-            <div class="title">{{ info.name }}</div>
-            <div class="title_tip">专利公开详情</div>
-            <div class="content">
-                <div class="sub-title">需求项</div>
-                <div class="info">
-                    <div class="info-item">
-                        <span class="text1">所属领域:</span>
-                        <span class="text2">{{ info.industryName }}</span>
-                    </div>
-
-                    <div class="info-item" v-if="info.patentType">
-                        <span class="text1">专利类型:</span>
-                        <span class="text2">{{ getLabelName(info.patentType, patentTypeOptions) }}</span>
-                    </div>
-
-                    <div class="info-item" v-if="info.caseType === 'GENERAL'">
-                        <span class="text1">法律状态:</span>
-                        <span class="text2">{{ getLabelName(info.patentStatus, patentStatusOptions) }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">包含关键字:</span>
-                        <span class="text2">{{ info.keyword }}</span>
-                    </div>
-
-                    <div class="info-item">
-                        <span class="text1">交易方式:</span>
-                        <span class="text2">{{ getLabelName(info.mode, tradingMethodOption) }}</span>
-                    </div>
-
-                    <div class="info-item">
-                        <span class="text1">预算:</span>
-                        <span class="text2" v-if="info.negotiateDirectly">面议 </span>
-                        <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">发布时间:</span>
-                        <span class="text2">{{ formatTime(info.createdAt, 'YYYY-MM-DD') }}</span>
-                    </div>
-                    <!-- <div class="info-item">
-                        <span class="text1">联系人:</span>
-                        <span class="text2">{{ info.contact }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">电话:</span>
-                        <span class="text2">{{ info.phone }}</span>
-                    </div>
-                    <div class="info-item">
-                        <span class="text1">所在地区:</span>
-                        <span class="text2">{{ info.address }}</span>
-                    </div> -->
-                </div>
-
-                <div class="sub-title">需求描述</div>
-                <div class="text">
-                    {{ info.description }}
-                </div>
-            </div>
-            <div class="btn">
-                <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
-                    <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
-                    咨询
-                </el-button>
-                <el-button @click.prevent="postMessage" type="primary" class="icon-button" size="small">
-                    <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
-                </el-button>
-            </div>
-            <!-- <div class="btn">
-                <el-button type="primary" class="icon-button" size="small" plain>
-                    <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
-                    咨询客服
-                </el-button>
-                <el-button type="primary" class="icon-button"  size="small" plain>
-                    <i class="iconfont iconfont-nav_icon_xiaoxi"></i>提交留言
-                </el-button>
-            </div> -->
-        </div>
-    </bread-pages>
-</template>
-
-<script>
-import BreadPage from '../../components/page/BreadPage.vue';
-import BreadPages from '../../components/page/BreadPages.vue';
-import comEvent from '../../mixins/comEvent';
-import { patentTypeOptions, tradingMethodOption, patentStatusOptions, caseTypeOptions } from '../../utils/variables';
-export default {
-    data() {
-        return {
-            info: {},
-            patentTypeOptions,
-            patentStatusOptions,
-            tradingMethodOption,
-            loading: true
-        };
-    },
-    components: {
-        BreadPage,
-        BreadPages
-    },
-    mixins: [comEvent],
-    mounted() {
-        this.loading = true;
-        this.$http.get('/patentDemand/get/' + this.$route.query.id).then(res => {
-            this.info = res;
-            setTimeout(() => {
-                this.loading = false;
-            }, 500);
-            let info = caseTypeOptions.find(item => {
-                return item.value === res.caseType;
-            });
-            this.$EventBus.$emit('changePreTitle', {
-                name: info.label,
-                path: '/patentDemand',
-                query: {
-                    caseType: res.caseType
-                }
-            });
-            this.$EventBus.$emit('changeTitle', info.label + '详情');
-            document.title = info.label + '详情';
-            console.log(document.title);
-        });
-    },
-    created() {
-        let addView = {
-            id: this.$route.query.id,
-            type: 'PatentDemand'
-        };
-        // console.log(addView);
-        this.loading = true;
-        this.$http.get('/all/addView/', addView).then(res => {
-            console.log(res);
-        });
-    }
-};
-</script>
-
-<style lang="less" scoped>
-.main {
-    background-color: #fff;
-    padding: 0 30px 150px;
-    position: relative;
-}
-.title_tip {
-    text-align: center;
-    margin: 20px 0px 0px;
-    font-size: 16px;
-    font-family: PingFangSC-Medium, PingFang SC;
-    font-weight: bold;
-    color: #000000;
-}
-.appContainer {
-    background: #ffffff !important;
-}
-.title {
-    font-size: 24px;
-    font-weight: bold;
-    color: @warn;
-    line-height: 34px;
-    text-align: center;
-    padding: 50px 0 20px;
-    border-bottom: 1px solid @bg;
-    margin: 0 70px;
-    border-bottom: 1px solid @bg;
-}
-
-.sub-title {
-    font-size: 16px;
-    font-weight: bold;
-    color: @warn;
-    line-height: 22px;
-    padding: 50px 0 16px;
-    .flex();
-    &::before {
-        content: '';
-        width: 5px;
-        height: 16px;
-        background: @warn;
-        border-radius: 3px;
-        margin-right: 10px;
-    }
-}
-
-.info {
-    .flex();
-    flex-wrap: wrap;
-    .info-item {
-        width: 45%;
-        padding-right: 50px;
-        box-sizing: border-box;
-        line-height: 32px;
-        margin-bottom: 8px;
-        .flex();
-
-        .text1 {
-            font-size: 14px;
-            color: #999999;
-            display: inline-block;
-            min-width: 104px;
-            flex-shrink: 0;
-        }
-
-        .text2 {
-            font-size: 14px;
-            color: #000;
-            margin-left: 6px;
-            display: inline-block;
-            overflow: hidden;
-            text-overflow: ellipsis;
-            white-space: nowrap;
-        }
-
-        &:nth-child(2n) {
-            .text1 {
-                min-width: 98px;
-            }
-        }
-    }
-}
-
-.text {
-    font-size: 14px;
-    color: #000000;
-    line-height: 20px;
-}
-
-.btn {
-    margin-top: 173px;
-    text-align: center;
-    .icon-button {
-        width: 134px;
-        height: 36px;
-        border-radius: 2px;
-        border: 1px solid #01a041;
-        line-height: 36px;
-        background: #ffffff;
-        color: #01a041;
-        justify-content: center;
-    }
-}
-</style>
+<template>
+    <bread-pages>
+        <div class="main" v-loading="loading">
+            <div class="title">{{ info.name }}</div>
+            <div class="title_tip">专利公开详情</div>
+            <div class="content">
+                <div class="sub-title">需求项</div>
+                <div class="info">
+                    <div class="info-item">
+                        <span class="text1">所属领域:</span>
+                        <span class="text2">{{ info.industryName }}</span>
+                    </div>
+
+                    <div class="info-item" v-if="info.patentType">
+                        <span class="text1">专利类型:</span>
+                        <span class="text2">{{ getLabelName(info.patentType, patentTypeOptions) }}</span>
+                    </div>
+
+                    <div class="info-item" v-if="info.caseType === 'GENERAL'">
+                        <span class="text1">法律状态:</span>
+                        <span class="text2">{{ getLabelName(info.patentStatus, patentStatusOptions) }}</span>
+                    </div>
+                    <div class="info-item">
+                        <span class="text1">包含关键字:</span>
+                        <span class="text2">{{ info.keyword }}</span>
+                    </div>
+
+                    <div class="info-item">
+                        <span class="text1">交易方式:</span>
+                        <span class="text2">{{ getLabelName(info.mode, tradingMethodOption) }}</span>
+                    </div>
+
+                    <div class="info-item">
+                        <span class="text1">预算:</span>
+                        <span class="text2" v-if="info.negotiateDirectly">面议 </span>
+                        <span class="text2" v-else>{{ info.expectedPrice }}万元 </span>
+                    </div>
+                    <div class="info-item">
+                        <span class="text1">发布时间:</span>
+                        <span class="text2">{{ formatTime(info.createdAt, 'YYYY-MM-DD') }}</span>
+                    </div>
+                    <!-- <div class="info-item">
+                        <span class="text1">联系人:</span>
+                        <span class="text2">{{ info.contact }}</span>
+                    </div>
+                    <div class="info-item">
+                        <span class="text1">电话:</span>
+                        <span class="text2">{{ info.phone }}</span>
+                    </div>
+                    <div class="info-item">
+                        <span class="text1">所在地区:</span>
+                        <span class="text2">{{ info.address }}</span>
+                    </div> -->
+                </div>
+
+                <div class="sub-title">需求描述</div>
+                <div class="text">
+                    {{ info.description }}
+                </div>
+            </div>
+            <div class="btn">
+                <el-button type="primary" class="icon-button" @click.prevent="connectKefu" size="small">
+                    <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                    咨询
+                </el-button>
+                <el-button @click.prevent="postMessage" type="primary" class="icon-button" size="small">
+                    <i class="iconfont iconfont-nav_icon_xiaoxi"></i>留言
+                </el-button>
+            </div>
+            <!-- <div class="btn">
+                <el-button type="primary" class="icon-button" size="small" plain>
+                    <i class="iconfont iconfont-nav_icon_xiaoxi1"></i>
+                    咨询客服
+                </el-button>
+                <el-button type="primary" class="icon-button"  size="small" plain>
+                    <i class="iconfont iconfont-nav_icon_xiaoxi"></i>提交留言
+                </el-button>
+            </div> -->
+        </div>
+    </bread-pages>
+</template>
+
+<script>
+// import BreadPage from '../../components/page/BreadPage.vue';
+import BreadPages from '../../components/page/BreadPages.vue';
+import comEvent from '../../mixins/comEvent';
+import { patentTypeOptions, tradingMethodOption, patentStatusOptions, caseTypeOptions } from '../../utils/variables';
+export default {
+    data() {
+        return {
+            info: {},
+            patentTypeOptions,
+            patentStatusOptions,
+            tradingMethodOption,
+            loading: true
+        };
+    },
+    components: {
+        BreadPages
+    },
+    mixins: [comEvent],
+    mounted() {
+        this.loading = true;
+        this.$http.get('/patentDemand/get/' + this.$route.query.id).then(res => {
+            this.info = res;
+            setTimeout(() => {
+                this.loading = false;
+            }, 500);
+            let info = caseTypeOptions.find(item => {
+                return item.value === res.caseType;
+            });
+            this.$EventBus.$emit('changePreTitle', {
+                name: info.label,
+                path: '/patentDemand',
+                query: {
+                    caseType: res.caseType
+                }
+            });
+            this.$EventBus.$emit('changeTitle', info.label + '详情');
+            document.title = info.label + '详情';
+            console.log(document.title);
+        });
+    },
+    created() {
+        let addView = {
+            id: this.$route.query.id,
+            type: 'PatentDemand'
+        };
+        // console.log(addView);
+        this.loading = true;
+        this.$http.get('/all/addView/', addView).then(res => {
+            console.log(res);
+        });
+    }
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+    background-color: #fff;
+    padding: 0 30px 150px;
+    position: relative;
+}
+.title_tip {
+    text-align: center;
+    margin: 20px 0px 0px;
+    font-size: 16px;
+    font-family: PingFangSC-Medium, PingFang SC;
+    font-weight: bold;
+    color: #000000;
+}
+.appContainer {
+    background: #ffffff !important;
+}
+.title {
+    font-size: 24px;
+    font-weight: bold;
+    color: @warn;
+    line-height: 34px;
+    text-align: center;
+    padding: 50px 0 20px;
+    border-bottom: 1px solid @bg;
+    margin: 0 70px;
+    border-bottom: 1px solid @bg;
+}
+
+.sub-title {
+    font-size: 16px;
+    font-weight: bold;
+    color: @warn;
+    line-height: 22px;
+    padding: 50px 0 16px;
+    .flex();
+    &::before {
+        content: '';
+        width: 5px;
+        height: 16px;
+        background: @warn;
+        border-radius: 3px;
+        margin-right: 10px;
+    }
+}
+
+.info {
+    .flex();
+    flex-wrap: wrap;
+    .info-item {
+        width: 45%;
+        padding-right: 50px;
+        box-sizing: border-box;
+        line-height: 32px;
+        margin-bottom: 8px;
+        .flex();
+
+        .text1 {
+            font-size: 14px;
+            color: #999999;
+            display: inline-block;
+            min-width: 104px;
+            flex-shrink: 0;
+        }
+
+        .text2 {
+            font-size: 14px;
+            color: #000;
+            margin-left: 6px;
+            display: inline-block;
+            overflow: hidden;
+            text-overflow: ellipsis;
+            white-space: nowrap;
+        }
+
+        &:nth-child(2n) {
+            .text1 {
+                min-width: 98px;
+            }
+        }
+    }
+}
+
+.text {
+    font-size: 14px;
+    color: #000000;
+    line-height: 20px;
+}
+
+.btn {
+    margin-top: 173px;
+    text-align: center;
+    .icon-button {
+        width: 134px;
+        height: 36px;
+        border-radius: 2px;
+        border: 1px solid #01a041;
+        line-height: 36px;
+        background: #ffffff;
+        color: #01a041;
+        justify-content: center;
+    }
+}
+</style>

+ 141 - 141
src/main/zhi-rong-web/src/views/market/Copyright.vue

@@ -1,141 +1,141 @@
-<template>
-    <filter-list
-        :sortKey="sortKey"
-        v-model="list"
-        ref="list"
-        url="/copyright/all"
-        :filters="filters"
-        @btnEvent="addInfo"
-        @init="init"
-    >
-        <template v-for="item in list">
-            <copyright-row :key="item.id" :info="item"></copyright-row>
-        </template>
-        <copyright-add ref="public" @refreash="refreash"></copyright-add>
-    </filter-list>
-</template>
-
-<script>
-import FilterList from '../../components/page/FilterList.vue';
-import { tradingMethodOption, moneyOptions } from '../../utils/variables';
-import CopyrightRow from '../../components/list/CopyrightRow.vue';
-import CopyrightAdd from '../../components/popup/CopyrightAdd.vue';
-export default {
-    components: { FilterList, CopyrightRow, CopyrightAdd },
-    data() {
-        return {
-            tradingMethodOption,
-            moneyOptions,
-            workTypeeOptions: [], //融资目的,
-            list: [],
-            sortKey: [
-                {
-                    name: '发布时间',
-                    key: 'createdAt'
-                },
-                {
-                    name: '价格区间',
-                    key: 'expectedPrice'
-                },
-                {
-                    name: '浏览量',
-                    key: 'view'
-                }
-            ]
-        };
-    },
-    created() {
-        this.init();
-    },
-    computed: {
-        type() {
-            return this.$route.query.type;
-        },
-        filters() {
-            return [
-                {
-                    name: `${this.type === 'COPY' ? '作品类型' : '软著类型'}`,
-                    key: 'workType',
-                    list: [...this.workTypeeOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'tradingMethodId',
-                    list: [...this.tradingMethodOption]
-                },
-                {
-                    name: '价格区间',
-                    key: 'expectedPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        createdAtOptions() {
-            return [
-                {
-                    label: '一周内',
-                    value: this.getTimeBefor()
-                },
-                {
-                    label: '一月内',
-                    value: this.getTimeOnem()
-                },
-                {
-                    label: '二月内',
-                    value: this.getTimeTom()
-                },
-                {
-                    label: '三月内',
-                    value: this.getTimeTherrm()
-                },
-                {
-                    label: '三月以上',
-                    value: this.getTimeTherrms()
-                }
-            ];
-        }
-    },
-    methods: {
-        init() {
-            this.$http
-                .post('/setting/byFlag', { flag: this.$route.query.type == 'COPY' ? 3 : 4 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.workTypeeOptions = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-        },
-        addInfo(value) {
-            if (value) {
-                // this.$refs.public.init(this.$route.query.type);
-                this.checkLogin(false).then(() => {
-                    this.$refs.public.init(this.$route.query.type);
-                });
-            }
-        },
-        refreash() {
-            this.$refs.list.getData();
-        }
-    }
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+    <filter-list
+        :sortKey="sortKey"
+        v-model="list"
+        ref="list"
+        url="/copyright/all"
+        :filters="filters"
+        @btnEvent="addInfo"
+        @init="init"
+    >
+        <template v-for="item in list">
+            <copyright-row :key="item.id" :info="item"></copyright-row>
+        </template>
+        <copyright-add ref="public" @refreash="refreash"></copyright-add>
+    </filter-list>
+</template>
+
+<script>
+import FilterList from '../../components/page/FilterList.vue';
+import { tradingMethodOption, moneyOptions } from '../../utils/variables';
+import CopyrightRow from '../../components/list/CopyrightRow.vue';
+import CopyrightAdd from '../../components/popup/CopyrightAdd.vue';
+export default {
+    components: { FilterList, CopyrightRow, CopyrightAdd },
+    data() {
+        return {
+            tradingMethodOption,
+            moneyOptions,
+            workTypeeOptions: [], //融资目的,
+            list: [],
+            sortKey: [
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '价格区间',
+                //     key: 'expectedPrice'
+                // },
+                {
+                    name: '浏览量',
+                    key: 'view'
+                }
+            ]
+        };
+    },
+    created() {
+        this.init();
+    },
+    computed: {
+        type() {
+            return this.$route.query.type;
+        },
+        filters() {
+            return [
+                {
+                    name: `${this.type === 'COPY' ? '作品类型' : '软著类型'}`,
+                    key: 'workType',
+                    list: [...this.workTypeeOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'tradingMethodId',
+                    list: [...this.tradingMethodOption]
+                }
+                // {
+                //     name: '价格区间',
+                //     key: 'expectedPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        createdAtOptions() {
+            return [
+                {
+                    label: '一周内',
+                    value: this.getTimeBefor()
+                },
+                {
+                    label: '一月内',
+                    value: this.getTimeOnem()
+                },
+                {
+                    label: '二月内',
+                    value: this.getTimeTom()
+                },
+                {
+                    label: '三月内',
+                    value: this.getTimeTherrm()
+                },
+                {
+                    label: '三月以上',
+                    value: this.getTimeTherrms()
+                }
+            ];
+        }
+    },
+    methods: {
+        init() {
+            this.$http
+                .post('/setting/byFlag', { flag: this.$route.query.type == 'COPY' ? 3 : 4 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.workTypeeOptions = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        },
+        addInfo(value) {
+            if (value) {
+                // this.$refs.public.init(this.$route.query.type);
+                this.checkLogin(false).then(() => {
+                    this.$refs.public.init(this.$route.query.type);
+                });
+            }
+        },
+        refreash() {
+            this.$refs.list.getData();
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>

+ 142 - 142
src/main/zhi-rong-web/src/views/market/CopyrightDemand.vue

@@ -1,142 +1,142 @@
-<template>
-    <filter-list
-        v-model="list"
-        ref="list"
-        url="/copyrightDemand/all"
-        :filters="filters"
-        :sortKey="sortKey"
-        isDemand
-        @init="init"
-        @btnEvent="btnEvent"
-    >
-        <template v-for="item in list">
-            <copyright-demand-row :key="item.id" :info="item"></copyright-demand-row>
-        </template>
-        <copyright-demand-add ref="public" @refreash="refreash"></copyright-demand-add>
-    </filter-list>
-</template>
-
-<script>
-import FilterList from '../../components/page/FilterList.vue';
-import { tradingMethodOption, moneyOptions } from '../../utils/variables';
-import CopyrightDemandRow from '../../components/list/CopyrightDemandRow.vue';
-import CopyrightDemandAdd from '../../components/popup/CopyrightDemandAdd.vue';
-export default {
-    components: { FilterList, CopyrightDemandRow, CopyrightDemandAdd },
-    data() {
-        return {
-            tradingMethodOption,
-            moneyOptions,
-            workTypeeOptions: [], //融资目的,
-            list: [],
-            sortKey: [
-                {
-                    name: '发布时间',
-                    key: 'createdAt'
-                },
-                {
-                    name: '预算',
-                    key: 'expectedPrice'
-                },
-                {
-                    name: '浏览量',
-                    key: 'view'
-                }
-            ]
-        };
-    },
-    created() {
-        this.init();
-    },
-    computed: {
-        type() {
-            return this.$route.query.type;
-        },
-        filters() {
-            return [
-                {
-                    name: `${this.type === 'COPY' ? '作品类型' : '软著类型'}`,
-                    key: 'workType',
-                    list: [...this.workTypeeOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'modeId',
-                    list: [...this.tradingMethodOption]
-                },
-                {
-                    name: '预算区间',
-                    key: 'expectedPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        createdAtOptions() {
-            return [
-                {
-                    label: '一周内',
-                    value: this.getTimeBefor()
-                },
-                {
-                    label: '一月内',
-                    value: this.getTimeOnem()
-                },
-                {
-                    label: '二月内',
-                    value: this.getTimeTom()
-                },
-                {
-                    label: '三月内',
-                    value: this.getTimeTherrm()
-                },
-                {
-                    label: '三月以上',
-                    value: this.getTimeTherrms()
-                }
-            ];
-        }
-    },
-    methods: {
-        init() {
-            this.$http
-                .post('/setting/byFlag', { flag: this.$route.query.type == 'COPY' ? 3 : 4 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.workTypeeOptions = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-        },
-        btnEvent(value) {
-            if (value) {
-                // this.$refs.public.init(this.$route.query.type);
-                this.checkLogin(false).then(() => {
-                    this.$refs.public.init(this.$route.query.type);
-                });
-            }
-        },
-        refreash() {
-            this.$refs.list.getData();
-        }
-    }
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+    <filter-list
+        v-model="list"
+        ref="list"
+        url="/copyrightDemand/all"
+        :filters="filters"
+        :sortKey="sortKey"
+        isDemand
+        @init="init"
+        @btnEvent="btnEvent"
+    >
+        <template v-for="item in list">
+            <copyright-demand-row :key="item.id" :info="item"></copyright-demand-row>
+        </template>
+        <copyright-demand-add ref="public" @refreash="refreash"></copyright-demand-add>
+    </filter-list>
+</template>
+
+<script>
+import FilterList from '../../components/page/FilterList.vue';
+import { tradingMethodOption, moneyOptions } from '../../utils/variables';
+import CopyrightDemandRow from '../../components/list/CopyrightDemandRow.vue';
+import CopyrightDemandAdd from '../../components/popup/CopyrightDemandAdd.vue';
+export default {
+    components: { FilterList, CopyrightDemandRow, CopyrightDemandAdd },
+    data() {
+        return {
+            tradingMethodOption,
+            moneyOptions,
+            workTypeeOptions: [], //融资目的,
+            list: [],
+            sortKey: [
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '预算',
+                //     key: 'expectedPrice'
+                // },
+                {
+                    name: '浏览量',
+                    key: 'view'
+                }
+            ]
+        };
+    },
+    created() {
+        this.init();
+    },
+    computed: {
+        type() {
+            return this.$route.query.type;
+        },
+        filters() {
+            return [
+                {
+                    name: `${this.type === 'COPY' ? '作品类型' : '软著类型'}`,
+                    key: 'workType',
+                    list: [...this.workTypeeOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'modeId',
+                    list: [...this.tradingMethodOption]
+                }
+                // {
+                //     name: '预算区间',
+                //     key: 'expectedPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        createdAtOptions() {
+            return [
+                {
+                    label: '一周内',
+                    value: this.getTimeBefor()
+                },
+                {
+                    label: '一月内',
+                    value: this.getTimeOnem()
+                },
+                {
+                    label: '二月内',
+                    value: this.getTimeTom()
+                },
+                {
+                    label: '三月内',
+                    value: this.getTimeTherrm()
+                },
+                {
+                    label: '三月以上',
+                    value: this.getTimeTherrms()
+                }
+            ];
+        }
+    },
+    methods: {
+        init() {
+            this.$http
+                .post('/setting/byFlag', { flag: this.$route.query.type == 'COPY' ? 3 : 4 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.workTypeeOptions = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        },
+        btnEvent(value) {
+            if (value) {
+                // this.$refs.public.init(this.$route.query.type);
+                this.checkLogin(false).then(() => {
+                    this.$refs.public.init(this.$route.query.type);
+                });
+            }
+        },
+        refreash() {
+            this.$refs.list.getData();
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>

+ 18 - 18
src/main/zhi-rong-web/src/views/market/Logo.vue

@@ -31,14 +31,14 @@ export default {
             categoryOptions: [], //分类,
             list: [],
             sortKey: [
-                {
-                    name: '发布时间',
-                    key: 'createdAt'
-                },
-                {
-                    name: '价格区间',
-                    key: 'expectedPrice'
-                },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '价格区间',
+                //     key: 'expectedPrice'
+                // },
                 {
                     name: '浏览量',
                     key: 'view'
@@ -66,17 +66,17 @@ export default {
                     name: '交易方式',
                     key: 'tradingMethodId',
                     list: [...this.tradingMethodOption]
-                },
-                {
-                    name: '价格区间',
-                    key: 'expectedPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
                 }
+                // {
+                //     name: '价格区间',
+                //     key: 'expectedPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // }
             ];
         },
         createdAtOptions() {

+ 139 - 139
src/main/zhi-rong-web/src/views/market/LogoDemand.vue

@@ -1,139 +1,139 @@
-<template>
-    <filter-list
-        v-model="list"
-        ref="list"
-        url="/logoDemand/all"
-        :filters="filters"
-        :sortKey="sortKey"
-        isDemand
-        @btnEvent="btnEvent"
-        @init="init"
-    >
-        <template v-for="item in list">
-            <logo-demand :key="item.id" :info="item"></logo-demand>
-        </template>
-        <logo-demand-add ref="public" @refreash="refreash"></logo-demand-add>
-    </filter-list>
-</template>
-
-<script>
-import FilterList from '../../components/page/FilterList.vue';
-import { tradingMethodOption, commissionTypeOptions, moneyOptions } from '../../utils/variables';
-import LogoDemandAdd from '../../components/popup/LogoDemandAdd.vue';
-import LogoDemand from '../../components/list/LogoDemand.vue';
-export default {
-    components: { FilterList, LogoDemand, LogoDemandAdd },
-    data() {
-        return {
-            tradingMethodOption,
-            commissionTypeOptions,
-            moneyOptions,
-            categoryOptions: [], //分类,
-            list: [],
-            sortKey: [
-                {
-                    name: '发布时间',
-                    key: 'createdAt'
-                },
-                {
-                    name: '预算',
-                    key: 'expectedPrice'
-                },
-                {
-                    name: '浏览量',
-                    key: 'view'
-                }
-            ]
-        };
-    },
-    created() {
-        this.init();
-    },
-    computed: {
-        filters() {
-            return [
-                {
-                    name: '所属分类',
-                    key: 'category',
-                    list: [...this.categoryOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'modeId',
-                    list: [...this.tradingMethodOption]
-                },
-                {
-                    name: '预算区间',
-                    key: 'expectedPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        createdAtOptions() {
-            return [
-                {
-                    label: '一周内',
-                    value: this.getTimeBefor()
-                },
-                {
-                    label: '一月内',
-                    value: this.getTimeOnem()
-                },
-                {
-                    label: '二月内',
-                    value: this.getTimeTom()
-                },
-                {
-                    label: '三月内',
-                    value: this.getTimeTherrm()
-                },
-                {
-                    label: '三月以上',
-                    value: this.getTimeTherrms()
-                }
-            ];
-        }
-    },
-    methods: {
-        init() {
-            this.$http
-                .post('/setting/byFlag', { flag: 2 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.categoryOptions = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-        },
-        btnEvent(value) {
-            if (value) {
-                // this.$refs.public.init();
-                this.checkLogin(false).then(() => {
-                    this.$refs.public.init();
-                });
-            }
-        },
-        refreash() {
-            this.$refs.list.getData();
-        }
-    }
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+    <filter-list
+        v-model="list"
+        ref="list"
+        url="/logoDemand/all"
+        :filters="filters"
+        :sortKey="sortKey"
+        isDemand
+        @btnEvent="btnEvent"
+        @init="init"
+    >
+        <template v-for="item in list">
+            <logo-demand :key="item.id" :info="item"></logo-demand>
+        </template>
+        <logo-demand-add ref="public" @refreash="refreash"></logo-demand-add>
+    </filter-list>
+</template>
+
+<script>
+import FilterList from '../../components/page/FilterList.vue';
+import { tradingMethodOption, commissionTypeOptions, moneyOptions } from '../../utils/variables';
+import LogoDemandAdd from '../../components/popup/LogoDemandAdd.vue';
+import LogoDemand from '../../components/list/LogoDemand.vue';
+export default {
+    components: { FilterList, LogoDemand, LogoDemandAdd },
+    data() {
+        return {
+            tradingMethodOption,
+            commissionTypeOptions,
+            moneyOptions,
+            categoryOptions: [], //分类,
+            list: [],
+            sortKey: [
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '预算',
+                //     key: 'expectedPrice'
+                // },
+                {
+                    name: '浏览量',
+                    key: 'view'
+                }
+            ]
+        };
+    },
+    created() {
+        this.init();
+    },
+    computed: {
+        filters() {
+            return [
+                {
+                    name: '所属分类',
+                    key: 'category',
+                    list: [...this.categoryOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'modeId',
+                    list: [...this.tradingMethodOption]
+                }
+                // {
+                //     name: '预算区间',
+                //     key: 'expectedPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        createdAtOptions() {
+            return [
+                {
+                    label: '一周内',
+                    value: this.getTimeBefor()
+                },
+                {
+                    label: '一月内',
+                    value: this.getTimeOnem()
+                },
+                {
+                    label: '二月内',
+                    value: this.getTimeTom()
+                },
+                {
+                    label: '三月内',
+                    value: this.getTimeTherrm()
+                },
+                {
+                    label: '三月以上',
+                    value: this.getTimeTherrms()
+                }
+            ];
+        }
+    },
+    methods: {
+        init() {
+            this.$http
+                .post('/setting/byFlag', { flag: 2 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.categoryOptions = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        },
+        btnEvent(value) {
+            if (value) {
+                // this.$refs.public.init();
+                this.checkLogin(false).then(() => {
+                    this.$refs.public.init();
+                });
+            }
+        },
+        refreash() {
+            this.$refs.list.getData();
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>

+ 195 - 193
src/main/zhi-rong-web/src/views/market/Patent.vue

@@ -1,193 +1,195 @@
-<template>
-    <filter-list
-        v-model="list"
-        ref="list"
-        url="/patent/all"
-        :filters="filters"
-        :sortKey="sortKey"
-        @btnEvent="addInfo"
-        @init="init"
-    >
-        <template v-for="item in list">
-            <patent-row :key="item.id" :info="item"></patent-row>
-        </template>
-        <patent-add ref="public" @refreash="refreash"></patent-add>
-    </filter-list>
-</template>
-
-<script>
-import FilterList from '../../components/page/FilterList.vue';
-import { patentTypeOptions, patentStatusOptions, tradingMethodOption, moneyOptions } from '../../utils/variables';
-import PatentRow from '../../components/list/PatentRow.vue';
-import PatentAdd from '../../components/popup/PatentAdd.vue';
-export default {
-    components: { FilterList, PatentRow, PatentAdd },
-    data() {
-        return {
-            patentTypeOptions,
-            patentStatusOptions,
-            tradingMethodOption,
-            moneyOptions,
-            fieldOptions: [], //领域,
-            fieldOption: [], //领域,
-            list: [],
-            sortKey: [
-                {
-                    name: '发布时间',
-                    key: 'createdAt'
-                },
-                {
-                    name: '价格区间',
-                    key: 'expectedPrice'
-                },
-                {
-                    name: '浏览量',
-                    key: 'view'
-                }
-            ]
-        };
-    },
-    created() {
-        this.init();
-    },
-    computed: {
-        filters() {
-            const type = [this.DECLASSIFICATION, this.GENERAL];
-            return type[this.$route.query.caseType == 'DECLASSIFICATION' ? 0 : 1];
-        },
-        DECLASSIFICATION() {
-            return [
-                {
-                    name: '所属领域',
-                    key: 'industryClass',
-                    list: [...this.fieldOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'tradingMethodId',
-                    list: [...this.tradingMethodOption]
-                },
-                {
-                    name: '价格区间',
-                    key: 'expectedPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        GENERAL() {
-            return [
-                {
-                    name: '所属领域',
-                    key: 'industryClass',
-                    list: [...this.fieldOption]
-                },
-                {
-                    name: '专利类型',
-                    key: 'patentTypeId',
-                    list: [...this.patentTypeOptions]
-                },
-                {
-                    name: '法律状态',
-                    key: 'lawStatusId',
-                    list: [...this.patentStatusOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'tradingMethodId',
-                    list: [...this.tradingMethodOption]
-                },
-                {
-                    name: '价格区间',
-                    key: 'expectedPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
-                },
-                {
-                    name: '技术来源',
-                    key: 'ownerType',
-                    list: [...this.sourceTechnology]
-                }
-            ];
-        },
-        createdAtOptions() {
-            return [
-                {
-                    label: '一周内',
-                    value: this.getTimeBefor()
-                },
-                {
-                    label: '一月内',
-                    value: this.getTimeOnem()
-                },
-                {
-                    label: '二月内',
-                    value: this.getTimeTom()
-                },
-                {
-                    label: '三月内',
-                    value: this.getTimeTherrm()
-                },
-                {
-                    label: '三月以上',
-                    value: this.getTimeTherrms()
-                }
-            ];
-        },
-        sourceTechnology(){
-            return [
-                {
-                    label: '高校',
-                    value: 'UNIVERSITIES_AND_INSTITUTES'
-                },
-                {
-                    label: '企业',
-                    value: 'ENTERPRISES_AND_INSTITUTIONS'
-                },
-                {
-                    label: '研究院',
-                    value: 'RESEARCH'
-                }
-            ] 
-        }
-    },
-    methods: {
-        init() {
-            if (this.$route.query.caseType == 'DECLASSIFICATION') {
-                this.getSetting(13, 'fieldOptions').then(() => {
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                });
-            } else {
-                this.getSetting(1, 'fieldOption').then(() => {
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                });
-            }
-        },
-        addInfo(value) {
-            if (value) {
-                // this.$refs.public.init(this.$route.query.caseType);
-                this.checkLogin(false).then(() => {
-                    this.$refs.public.init(this.$route.query.caseType);
-                });
-            }
-        },
-        refreash() {
-            this.$refs.list.getData();
-        }
-    }
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+    <filter-list
+        v-model="list"
+        ref="list"
+        url="/patent/all"
+        :filters="filters"
+        :sortKey="sortKey"
+        :sortKeys="sortKeys"
+        @btnEvent="addInfo"
+        @init="init"
+    >
+        <template v-for="item in list">
+            <patent-row :key="item.id" :info="item"></patent-row>
+        </template>
+        <patent-add ref="public" @refreash="refreash"></patent-add>
+    </filter-list>
+</template>
+
+<script>
+import FilterList from '../../components/page/FilterList.vue';
+import { patentTypeOptions, patentStatusOptions, tradingMethodOption, moneyOptions } from '../../utils/variables';
+import PatentRow from '../../components/list/PatentRow.vue';
+import PatentAdd from '../../components/popup/PatentAdd.vue';
+export default {
+    components: { FilterList, PatentRow, PatentAdd },
+    data() {
+        return {
+            patentTypeOptions,
+            patentStatusOptions,
+            tradingMethodOption,
+            moneyOptions,
+            fieldOptions: [], //领域,
+            fieldOption: [], //领域,
+            list: [],
+            sortKeys: [],
+            sortKey: [
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '价格区间',
+                //     key: 'expectedPrice'
+                // },
+                {
+                    name: '浏览量',
+                    key: 'view'
+                }
+            ]
+        };
+    },
+    created() {
+        this.init();
+    },
+    computed: {
+        filters() {
+            const type = [this.DECLASSIFICATION, this.GENERAL];
+            return type[this.$route.query.caseType == 'DECLASSIFICATION' ? 0 : 1];
+        },
+        DECLASSIFICATION() {
+            return [
+                {
+                    name: '所属领域',
+                    key: 'industryClass',
+                    list: [...this.fieldOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'tradingMethodId',
+                    list: [...this.tradingMethodOption]
+                }
+                // {
+                //     name: '价格区间',
+                //     key: 'expectedPrice',
+                //     list: [...this.moneyOptions]
+                // }
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        GENERAL() {
+            return [
+                {
+                    name: '所属领域',
+                    key: 'industryClass',
+                    list: [...this.fieldOption]
+                },
+                {
+                    name: '专利类型',
+                    key: 'patentTypeId',
+                    list: [...this.patentTypeOptions]
+                },
+                {
+                    name: '法律状态',
+                    key: 'lawStatusId',
+                    list: [...this.patentStatusOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'tradingMethodId',
+                    list: [...this.tradingMethodOption]
+                },
+                // {
+                //     name: '价格区间',
+                //     key: 'expectedPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // },
+                {
+                    name: '技术来源',
+                    key: 'ownerType',
+                    list: [...this.sourceTechnology]
+                }
+            ];
+        },
+        createdAtOptions() {
+            return [
+                {
+                    label: '一周内',
+                    value: this.getTimeBefor()
+                },
+                {
+                    label: '一月内',
+                    value: this.getTimeOnem()
+                },
+                {
+                    label: '二月内',
+                    value: this.getTimeTom()
+                },
+                {
+                    label: '三月内',
+                    value: this.getTimeTherrm()
+                },
+                {
+                    label: '三月以上',
+                    value: this.getTimeTherrms()
+                }
+            ];
+        },
+        sourceTechnology() {
+            return [
+                {
+                    label: '高校',
+                    value: 'UNIVERSITIES_AND_INSTITUTES'
+                },
+                {
+                    label: '企业',
+                    value: 'ENTERPRISES_AND_INSTITUTIONS'
+                },
+                {
+                    label: '研究院',
+                    value: 'RESEARCH'
+                }
+            ];
+        }
+    },
+    methods: {
+        init() {
+            if (this.$route.query.caseType == 'DECLASSIFICATION') {
+                this.getSetting(13, 'fieldOptions').then(() => {
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                });
+            } else {
+                this.getSetting(1, 'fieldOption').then(() => {
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                });
+            }
+        },
+        addInfo(value) {
+            if (value) {
+                // this.$refs.public.init(this.$route.query.caseType);
+                this.checkLogin(false).then(() => {
+                    this.$refs.public.init(this.$route.query.caseType);
+                });
+            }
+        },
+        refreash() {
+            this.$refs.list.getData();
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>

+ 230 - 230
src/main/zhi-rong-web/src/views/market/PatentDemand.vue

@@ -1,230 +1,230 @@
-<template>
-    <filter-list
-        v-model="list"
-        ref="list"
-        url="/patentDemand/all"
-        :filters="filters"
-        :sortKey="sortKey"
-        isDemand
-        @btnEvent="addInfo"
-        @init="init"
-    >
-        <template v-for="item in list">
-            <patent-demand-row :key="item.id" :info="item"></patent-demand-row>
-        </template>
-        <patent-demand-add ref="public" @refreash="refreash"></patent-demand-add>
-    </filter-list>
-</template>
-
-<script>
-import FilterList from '../../components/page/FilterList.vue';
-import { patentTypeOptions, patentStatusOptions, tradingMethodOption, moneyOptions } from '../../utils/variables';
-import PatentDemandRow from '../../components/list/patentDemandRow.vue';
-import PatentDemandAdd from '../../components/popup/PatentDemandAdd.vue';
-export default {
-    components: { FilterList, PatentDemandRow, PatentDemandAdd },
-    data() {
-        return {
-            patentTypeOptions,
-            patentStatusOptions,
-            tradingMethodOption,
-            moneyOptions,
-            industryClassOptions: [], //领域,
-            industryClassOption: [], //领域,
-            list: [],
-            sizeForm: {},
-            sortKey: [
-                {
-                    name: '发布时间',
-                    key: 'createdAt'
-                },
-                {
-                    name: '预算',
-                    key: 'expectedPrice'
-                },
-                {
-                    name: '浏览量',
-                    key: 'view'
-                }
-            ]
-        };
-    },
-    created() {
-        this.init();
-    },
-    computed: {
-        filters() {
-            const type = [this.DECLASSIFICATION, this.GENERAL];
-            return type[this.$route.query.caseType == 'DECLASSIFICATION' ? 0 : 1];
-        },
-        DECLASSIFICATION() {
-            return [
-                {
-                    name: '所属领域',
-                    key: 'industryClass',
-                    list: [...this.industryClassOptions]
-                },
-                // {
-                //     name: '法律状态',
-                //     key: 'patentStatus',
-                //     list: [...this.patentStatusOptions]
-                // },
-                {
-                    name: '交易方式',
-                    key: 'modeId',
-                    list: [...this.tradingMethodOption]
-                },
-
-                {
-                    name: '预算区间',
-                    key: 'expectedPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        GENERAL() {
-            return [
-                {
-                    name: '所属领域',
-                    key: 'industryClass',
-                    list: [...this.industryClassOption]
-                },
-                {
-                    name: '专利类型',
-                    key: 'patentTypeId',
-                    list: [...this.patentTypeOptions]
-                },
-                {
-                    name: '法律状态',
-                    key: 'patentStatusId',
-                    list: [...this.patentStatusOptions]
-                },
-
-                {
-                    name: '交易方式',
-                    key: 'modeId',
-                    list: [...this.tradingMethodOption]
-                },
-                {
-                    name: '预算区间',
-                    key: 'expectedPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
-                },
-                {
-                    name: '技术来源',
-                    key: 'ownerType',
-                    list: [...this.sourceTechnology]
-                }
-            ];
-        },
-        createdAtOptions() {
-            return [
-                {
-                    label: '一周内',
-                    value: this.getTimeBefor()
-                },
-                {
-                    label: '一月内',
-                    value: this.getTimeOnem()
-                },
-                {
-                    label: '二月内',
-                    value: this.getTimeTom()
-                },
-                {
-                    label: '三月内',
-                    value: this.getTimeTherrm()
-                },
-                {
-                    label: '三月以上',
-                    value: this.getTimeTherrms()
-                }
-            ];
-        },
-        sourceTechnology() {
-            return [
-                {
-                    label: '高校',
-                    value: 'UNIVERSITIES_AND_INSTITUTES'
-                },
-                {
-                    label: '企业',
-                    value: 'ENTERPRISES_AND_INSTITUTIONS'
-                },
-                {
-                    label: '研究院',
-                    value: 'RESEARCH'
-                }
-            ];
-        }
-    },
-    methods: {
-        init() {
-            this.$http
-                .post('/setting/byFlag', { flag: 13 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.industryClassOptions = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-            this.$http
-                .post('/setting/byFlag', { flag: 1 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.industryClassOption = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-        },
-        addInfo(value) {
-            if (value) {
-                // this.$refs.public.init(this.$route.query.caseType);
-                this.checkLogin(false).then(() => {
-                    this.$refs.public.init(this.$route.query.caseType);
-                });
-            }
-        },
-        refreash() {
-            this.$refs.list.getData();
-            console.log(this.$refs.list);
-        }
-    }
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+    <filter-list
+        v-model="list"
+        ref="list"
+        url="/patentDemand/all"
+        :filters="filters"
+        :sortKey="sortKey"
+        isDemand
+        @btnEvent="addInfo"
+        @init="init"
+    >
+        <template v-for="item in list">
+            <patent-demand-row :key="item.id" :info="item"></patent-demand-row>
+        </template>
+        <patent-demand-add ref="public" @refreash="refreash"></patent-demand-add>
+    </filter-list>
+</template>
+
+<script>
+import FilterList from '../../components/page/FilterList.vue';
+import { patentTypeOptions, patentStatusOptions, tradingMethodOption, moneyOptions } from '../../utils/variables';
+import PatentDemandRow from '../../components/list/patentDemandRow.vue';
+import PatentDemandAdd from '../../components/popup/PatentDemandAdd.vue';
+export default {
+    components: { FilterList, PatentDemandRow, PatentDemandAdd },
+    data() {
+        return {
+            patentTypeOptions,
+            patentStatusOptions,
+            tradingMethodOption,
+            moneyOptions,
+            industryClassOptions: [], //领域,
+            industryClassOption: [], //领域,
+            list: [],
+            sizeForm: {},
+            sortKey: [
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '预算',
+                //     key: 'expectedPrice'
+                // },
+                {
+                    name: '浏览量',
+                    key: 'view'
+                }
+            ]
+        };
+    },
+    created() {
+        this.init();
+    },
+    computed: {
+        filters() {
+            const type = [this.DECLASSIFICATION, this.GENERAL];
+            return type[this.$route.query.caseType == 'DECLASSIFICATION' ? 0 : 1];
+        },
+        DECLASSIFICATION() {
+            return [
+                {
+                    name: '所属领域',
+                    key: 'industryClass',
+                    list: [...this.industryClassOptions]
+                },
+                // {
+                //     name: '法律状态',
+                //     key: 'patentStatus',
+                //     list: [...this.patentStatusOptions]
+                // },
+                {
+                    name: '交易方式',
+                    key: 'modeId',
+                    list: [...this.tradingMethodOption]
+                }
+
+                // {
+                //     name: '预算区间',
+                //     key: 'expectedPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        GENERAL() {
+            return [
+                {
+                    name: '所属领域',
+                    key: 'industryClass',
+                    list: [...this.industryClassOption]
+                },
+                {
+                    name: '专利类型',
+                    key: 'patentTypeId',
+                    list: [...this.patentTypeOptions]
+                },
+                {
+                    name: '法律状态',
+                    key: 'patentStatusId',
+                    list: [...this.patentStatusOptions]
+                },
+
+                {
+                    name: '交易方式',
+                    key: 'modeId',
+                    list: [...this.tradingMethodOption]
+                },
+                // {
+                //     name: '预算区间',
+                //     key: 'expectedPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // },
+                {
+                    name: '技术来源',
+                    key: 'ownerType',
+                    list: [...this.sourceTechnology]
+                }
+            ];
+        },
+        createdAtOptions() {
+            return [
+                {
+                    label: '一周内',
+                    value: this.getTimeBefor()
+                },
+                {
+                    label: '一月内',
+                    value: this.getTimeOnem()
+                },
+                {
+                    label: '二月内',
+                    value: this.getTimeTom()
+                },
+                {
+                    label: '三月内',
+                    value: this.getTimeTherrm()
+                },
+                {
+                    label: '三月以上',
+                    value: this.getTimeTherrms()
+                }
+            ];
+        },
+        sourceTechnology() {
+            return [
+                {
+                    label: '高校',
+                    value: 'UNIVERSITIES_AND_INSTITUTES'
+                },
+                {
+                    label: '企业',
+                    value: 'ENTERPRISES_AND_INSTITUTIONS'
+                },
+                {
+                    label: '研究院',
+                    value: 'RESEARCH'
+                }
+            ];
+        }
+    },
+    methods: {
+        init() {
+            this.$http
+                .post('/setting/byFlag', { flag: 13 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.industryClassOptions = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+            this.$http
+                .post('/setting/byFlag', { flag: 1 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.industryClassOption = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        },
+        addInfo(value) {
+            if (value) {
+                // this.$refs.public.init(this.$route.query.caseType);
+                this.checkLogin(false).then(() => {
+                    this.$refs.public.init(this.$route.query.caseType);
+                });
+            }
+        },
+        refreash() {
+            this.$refs.list.getData();
+            console.log(this.$refs.list);
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>

+ 217 - 218
src/main/zhi-rong-web/src/views/market/SuccessCases.vue

@@ -1,218 +1,217 @@
-<template>
-    <filter-list
-        v-model="list"
-        :sortKey="sortKey"
-        :hasAction="false"
-        ref="list"
-        url="/successCase/all"
-        :sortKeys="true"
-        :filters="filters"
-        @init="init"
-    >
-        <template v-for="item in list">
-            <success-patent-row :key="item.id" :info="item"></success-patent-row>
-        </template>
-    </filter-list>
-</template>
-
-<script>
-import FilterList from '../../components/page/FilterList.vue';
-import SuccessPatentRow from '../../components/list/SuccessPatentRow.vue';
-import { moneyOptions, mode3Options, patentTypeOptions } from '../../utils/variables';
-import dayjs from 'dayjs';
-export default {
-    components: { FilterList, SuccessPatentRow },
-    data() {
-        return {
-            moneyOptions,
-            mode3Options,
-            patentTypeOptions,
-            fieldOptions: [],
-            fieldOption: [],
-            list: [],
-            sortKey: [
-                {
-                    name: '成交时间',
-                    key: 'soldAt'
-                },
-                {
-                    name: '成交价格',
-                    key: 'soldPrice'
-                },
-                {
-                    name: '浏览量',
-                    key: 'view'
-                }
-            ]
-        };
-    },
-    created() {
-        this.init();
-    },
-    computed: {
-        filters() {
-            const type = [this.DECLASSIFICATION, this.GENERAL];
-            return type[this.$route.query.category == 'DECLASSIFICATION' ? 0 : 1];
-        },
-        DECLASSIFICATION() {
-            return [
-                {
-                    name: '所属领域',
-                    key: 'settingId',
-                    list: [...this.fieldOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'mode',
-                    list: [...this.mode3Options]
-                },
-                {
-                    name: '成交价格',
-                    key: 'soldPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '成交时间',
-                    key: 'soldAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        GENERAL() {
-            return [
-                {
-                    name: '所属领域',
-                    key: 'settingId',
-                    list: [...this.fieldOption]
-                },
-                {
-                    name: '专利类型',
-                    key: 'patentType',
-                    list: [...this.patentTypeOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'mode',
-                    list: [...this.mode3Options]
-                },
-                {
-                    name: '成交价格',
-                    key: 'soldPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '成交时间',
-                    key: 'soldAt',
-                    list: [...this.createdAtOptions]
-                },
-                {
-                    name: '技术来源',
-                    key: 'ownerType',
-                    list: [...this.sourceTechnology]
-                }
-            ];
-        },
-        createdAtOptions() {
-            return [
-                {
-                    label: '一周内',
-                    value: this.getTimeBefor()
-                },
-                {
-                    label: '一月内',
-                    value: this.getTimeOnem()
-                },
-                {
-                    label: '二月内',
-                    value: this.getTimeTom()
-                },
-                {
-                    label: '三月内',
-                    value: this.getTimeTherrm()
-                },
-                {
-                    label: '三月以上',
-                    value: this.getTimeTherrms()
-                }
-            ];
-        },
-        sourceTechnology() {
-            return [
-                {
-                    label: '高校',
-                    value: 'UNIVERSITIES_AND_INSTITUTES'
-                },
-                {
-                    label: '企业',
-                    value: 'ENTERPRISES_AND_INSTITUTIONS'
-                },
-                {
-                    label: '研究院',
-                    value: 'RESEARCH'
-                }
-            ];
-        }
-    },
-    methods: {
-        getTimeBefor(lng = -1, type = 'w') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeOnem(lng = -1, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTom(lng = -2, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTherrm(lng = -3, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTherrms(lng = -10, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        init() {
-            this.$http
-                .post('/setting/byFlag', { flag: 13 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.fieldOptions = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-            this.$http
-                .post('/setting/byFlag', { flag: 1 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.fieldOption = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-        }
-    }
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+    <filter-list
+        v-model="list"
+        :sortKey="sortKey"
+        :hasAction="false"
+        ref="list"
+        url="/successCase/all"
+        :filters="filters"
+        @init="init"
+    >
+        <template v-for="item in list">
+            <success-patent-row :key="item.id" :info="item"></success-patent-row>
+        </template>
+    </filter-list>
+</template>
+
+<script>
+import FilterList from '../../components/page/FilterList.vue';
+import SuccessPatentRow from '../../components/list/SuccessPatentRow.vue';
+import { moneyOptions, mode3Options, patentTypeOptions } from '../../utils/variables';
+import dayjs from 'dayjs';
+export default {
+    components: { FilterList, SuccessPatentRow },
+    data() {
+        return {
+            moneyOptions,
+            mode3Options,
+            patentTypeOptions,
+            fieldOptions: [],
+            fieldOption: [],
+            list: [],
+            sortKey: [
+                // {
+                //     name: '成交时间',
+                //     key: 'soldAt'
+                // },
+                // {
+                //     name: '成交价格',
+                //     key: 'soldPrice'
+                // },
+                {
+                    name: '浏览量',
+                    key: 'view'
+                }
+            ]
+        };
+    },
+    created() {
+        this.init();
+    },
+    computed: {
+        filters() {
+            const type = [this.DECLASSIFICATION, this.GENERAL];
+            return type[this.$route.query.category == 'DECLASSIFICATION' ? 0 : 1];
+        },
+        DECLASSIFICATION() {
+            return [
+                {
+                    name: '所属领域',
+                    key: 'settingId',
+                    list: [...this.fieldOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'mode',
+                    list: [...this.mode3Options]
+                }
+                // {
+                //     name: '成交价格',
+                //     key: 'soldPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '成交时间',
+                //     key: 'soldAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        GENERAL() {
+            return [
+                {
+                    name: '所属领域',
+                    key: 'settingId',
+                    list: [...this.fieldOption]
+                },
+                {
+                    name: '专利类型',
+                    key: 'patentType',
+                    list: [...this.patentTypeOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'mode',
+                    list: [...this.mode3Options]
+                },
+                // {
+                //     name: '成交价格',
+                //     key: 'soldPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '成交时间',
+                //     key: 'soldAt',
+                //     list: [...this.createdAtOptions]
+                // },
+                {
+                    name: '技术来源',
+                    key: 'ownerType',
+                    list: [...this.sourceTechnology]
+                }
+            ];
+        },
+        createdAtOptions() {
+            return [
+                {
+                    label: '一周内',
+                    value: this.getTimeBefor()
+                },
+                {
+                    label: '一月内',
+                    value: this.getTimeOnem()
+                },
+                {
+                    label: '二月内',
+                    value: this.getTimeTom()
+                },
+                {
+                    label: '三月内',
+                    value: this.getTimeTherrm()
+                },
+                {
+                    label: '三月以上',
+                    value: this.getTimeTherrms()
+                }
+            ];
+        },
+        sourceTechnology() {
+            return [
+                {
+                    label: '高校',
+                    value: 'UNIVERSITIES_AND_INSTITUTES'
+                },
+                {
+                    label: '企业',
+                    value: 'ENTERPRISES_AND_INSTITUTIONS'
+                },
+                {
+                    label: '研究院',
+                    value: 'RESEARCH'
+                }
+            ];
+        }
+    },
+    methods: {
+        getTimeBefor(lng = -1, type = 'w') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeOnem(lng = -1, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTom(lng = -2, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTherrm(lng = -3, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTherrms(lng = -10, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        init() {
+            this.$http
+                .post('/setting/byFlag', { flag: 13 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.fieldOptions = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+            this.$http
+                .post('/setting/byFlag', { flag: 1 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.fieldOption = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>

+ 144 - 144
src/main/zhi-rong-web/src/views/market/SuccessCopyright.vue

@@ -1,144 +1,144 @@
-<template>
-    <filter-list
-        v-model="list"
-        :sortKey="sortKey"
-        :hasAction="false"
-        ref="list"
-        url="/successCase/all"
-        :filters="filters"
-        @init="init"
-    >
-        <template v-for="item in list">
-            <success-patent-row :key="item.id" :info="item"></success-patent-row>
-        </template>
-    </filter-list>
-</template>
-
-<script>
-import FilterList from '../../components/page/FilterList.vue';
-import SuccessPatentRow from '../../components/list/SuccessPatentRow.vue';
-import { moneyOptions, mode3Options } from '../../utils/variables';
-import dayjs from 'dayjs';
-export default {
-    components: { FilterList, SuccessPatentRow },
-    data() {
-        return {
-            moneyOptions,
-            mode3Options,
-            settingOptions: [],
-            list: [],
-            sortKey: [
-                {
-                    name: '成交时间',
-                    key: 'createdAt'
-                },
-                {
-                    name: '成交价格',
-                    key: 'soldPrice'
-                },
-                {
-                    name: '浏览量',
-                    key: 'view'
-                }
-            ]
-        };
-    },
-    created() {
-        this.init();
-    },
-    computed: {
-        type() {
-            return this.$route.query.category;
-        },
-        filters() {
-            return [
-                {
-                    name: `${this.type === 'COPYRIGHT' ? '作品类型' : '软著类型'}`,
-                    key: 'settingId',
-                    list: [...this.settingOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'mode',
-                    list: [...this.mode3Options]
-                },
-                {
-                    name: '成交价格',
-                    key: 'soldPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '成交时间',
-                    key: 'soldAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        createdAtOptions() {
-            return [
-                {
-                    label: '一周内',
-                    value: this.getTimeBefor()
-                },
-                {
-                    label: '一月内',
-                    value: this.getTimeOnem()
-                },
-                {
-                    label: '二月内',
-                    value: this.getTimeTom()
-                },
-                {
-                    label: '三月内',
-                    value: this.getTimeTherrm()
-                },
-                {
-                    label: '三月以上',
-                    value: this.getTimeTherrms()
-                }
-            ];
-        }
-    },
-    methods: {
-        getTimeBefor(lng = -1, type = 'w') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeOnem(lng = -1, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTom(lng = -2, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTherrm(lng = -3, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTherrms(lng = -10, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        init() {
-            this.$http
-                .post('/setting/byFlag', { flag: this.$route.query.category == 'COPYRIGHT' ? 3 : 4 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.settingOptions = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-        }
-    }
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+    <filter-list
+        v-model="list"
+        :sortKey="sortKey"
+        :hasAction="false"
+        ref="list"
+        url="/successCase/all"
+        :filters="filters"
+        @init="init"
+    >
+        <template v-for="item in list">
+            <success-patent-row :key="item.id" :info="item"></success-patent-row>
+        </template>
+    </filter-list>
+</template>
+
+<script>
+import FilterList from '../../components/page/FilterList.vue';
+import SuccessPatentRow from '../../components/list/SuccessPatentRow.vue';
+import { moneyOptions, mode3Options } from '../../utils/variables';
+import dayjs from 'dayjs';
+export default {
+    components: { FilterList, SuccessPatentRow },
+    data() {
+        return {
+            moneyOptions,
+            mode3Options,
+            settingOptions: [],
+            list: [],
+            sortKey: [
+                // {
+                //     name: '成交时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '成交价格',
+                //     key: 'soldPrice'
+                // },
+                {
+                    name: '浏览量',
+                    key: 'view'
+                }
+            ]
+        };
+    },
+    created() {
+        this.init();
+    },
+    computed: {
+        type() {
+            return this.$route.query.category;
+        },
+        filters() {
+            return [
+                {
+                    name: `${this.type === 'COPYRIGHT' ? '作品类型' : '软著类型'}`,
+                    key: 'settingId',
+                    list: [...this.settingOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'mode',
+                    list: [...this.mode3Options]
+                }
+                // {
+                //     name: '成交价格',
+                //     key: 'soldPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '成交时间',
+                //     key: 'soldAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        createdAtOptions() {
+            return [
+                {
+                    label: '一周内',
+                    value: this.getTimeBefor()
+                },
+                {
+                    label: '一月内',
+                    value: this.getTimeOnem()
+                },
+                {
+                    label: '二月内',
+                    value: this.getTimeTom()
+                },
+                {
+                    label: '三月内',
+                    value: this.getTimeTherrm()
+                },
+                {
+                    label: '三月以上',
+                    value: this.getTimeTherrms()
+                }
+            ];
+        }
+    },
+    methods: {
+        getTimeBefor(lng = -1, type = 'w') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeOnem(lng = -1, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTom(lng = -2, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTherrm(lng = -3, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTherrms(lng = -10, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        init() {
+            this.$http
+                .post('/setting/byFlag', { flag: this.$route.query.category == 'COPYRIGHT' ? 3 : 4 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.settingOptions = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>

+ 141 - 141
src/main/zhi-rong-web/src/views/market/SuccessProduct.vue

@@ -1,141 +1,141 @@
-<template>
-    <filter-list
-        v-model="list"
-        :sortKey="sortKey"
-        :hasAction="false"
-        ref="list"
-        url="/successCase/all"
-        :filters="filters"
-        @init="init"
-    >
-        <template v-for="item in list">
-            <success-patent-row :key="item.id" :info="item"></success-patent-row>
-        </template>
-    </filter-list>
-</template>
-
-<script>
-import FilterList from '../../components/page/FilterList.vue';
-import SuccessPatentRow from '../../components/list/SuccessPatentRow.vue';
-import { moneyOptions, mode3Options } from '../../utils/variables';
-import dayjs from 'dayjs';
-export default {
-    components: { FilterList, SuccessPatentRow },
-    data() {
-        return {
-            moneyOptions,
-            mode3Options,
-            fieldOptions: [],
-            list: [],
-            sortKey: [
-                {
-                    name: '成交时间',
-                    key: 'createdAt'
-                },
-                {
-                    name: '成交价格',
-                    key: 'soldPrice'
-                },
-                {
-                    name: '浏览量',
-                    key: 'view'
-                }
-            ]
-        };
-    },
-    created() {
-        this.init();
-    },
-    computed: {
-        filters() {
-            return [
-                {
-                    name: '所属领域',
-                    key: 'settingId',
-                    list: [...this.fieldOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'mode',
-                    list: [...this.mode3Options]
-                },
-                {
-                    name: '成交价格',
-                    key: 'soldPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '成交时间',
-                    key: 'soldAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        createdAtOptions() {
-            return [
-                {
-                    label: '一周内',
-                    value: this.getTimeBefor()
-                },
-                {
-                    label: '一月内',
-                    value: this.getTimeOnem()
-                },
-                {
-                    label: '二月内',
-                    value: this.getTimeTom()
-                },
-                {
-                    label: '三月内',
-                    value: this.getTimeTherrm()
-                },
-                {
-                    label: '三月以上',
-                    value: this.getTimeTherrms()
-                }
-            ];
-        }
-    },
-    methods: {
-        getTimeBefor(lng = -1, type = 'w') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeOnem(lng = -1, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTom(lng = -2, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTherrm(lng = -3, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTherrms(lng = -10, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        init() {
-            this.$http
-                .post('/setting/byFlag', { flag: 1 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.fieldOptions = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-        }
-    }
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+    <filter-list
+        v-model="list"
+        :sortKey="sortKey"
+        :hasAction="false"
+        ref="list"
+        url="/successCase/all"
+        :filters="filters"
+        @init="init"
+    >
+        <template v-for="item in list">
+            <success-patent-row :key="item.id" :info="item"></success-patent-row>
+        </template>
+    </filter-list>
+</template>
+
+<script>
+import FilterList from '../../components/page/FilterList.vue';
+import SuccessPatentRow from '../../components/list/SuccessPatentRow.vue';
+import { moneyOptions, mode3Options } from '../../utils/variables';
+import dayjs from 'dayjs';
+export default {
+    components: { FilterList, SuccessPatentRow },
+    data() {
+        return {
+            moneyOptions,
+            mode3Options,
+            fieldOptions: [],
+            list: [],
+            sortKey: [
+                // {
+                //     name: '成交时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '成交价格',
+                //     key: 'soldPrice'
+                // },
+                {
+                    name: '浏览量',
+                    key: 'view'
+                }
+            ]
+        };
+    },
+    created() {
+        this.init();
+    },
+    computed: {
+        filters() {
+            return [
+                {
+                    name: '所属领域',
+                    key: 'settingId',
+                    list: [...this.fieldOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'mode',
+                    list: [...this.mode3Options]
+                }
+                // {
+                //     name: '成交价格',
+                //     key: 'soldPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '成交时间',
+                //     key: 'soldAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        createdAtOptions() {
+            return [
+                {
+                    label: '一周内',
+                    value: this.getTimeBefor()
+                },
+                {
+                    label: '一月内',
+                    value: this.getTimeOnem()
+                },
+                {
+                    label: '二月内',
+                    value: this.getTimeTom()
+                },
+                {
+                    label: '三月内',
+                    value: this.getTimeTherrm()
+                },
+                {
+                    label: '三月以上',
+                    value: this.getTimeTherrms()
+                }
+            ];
+        }
+    },
+    methods: {
+        getTimeBefor(lng = -1, type = 'w') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeOnem(lng = -1, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTom(lng = -2, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTherrm(lng = -3, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTherrms(lng = -10, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        init() {
+            this.$http
+                .post('/setting/byFlag', { flag: 1 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.fieldOptions = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>

+ 188 - 188
src/main/zhi-rong-web/src/views/market/TechProductDemand.vue

@@ -1,188 +1,188 @@
-<template>
-    <filter-list
-        v-model="list"
-        ref="list"
-        url="/techProductDemand/all"
-        :filters="filters"
-        isDemand
-        :sortKey="sortKey"
-        @btnEvent="btnEvent"
-        @init="init"
-    >
-        <template v-for="item in list">
-            <tech-product-demand-row :key="item.id" :info="item"></tech-product-demand-row>
-        </template>
-        <tech-product-demand-add ref="public" @refreash="refreash"></tech-product-demand-add>
-    </filter-list>
-</template>
-
-<script>
-import FilterList from '../../components/page/FilterList.vue';
-import {
-    patentTypeOptions,
-    stageOptions,
-    modeOptions,
-    moneyOptions,
-    tradingMethodOptionsDemands,
-    tradingMethodOptionsDemand
-} from '../../utils/variables';
-import TechProductDemandAdd from '../../components/popup/TechProductDemandAdd.vue';
-import TechProductDemandRow from '../../components/list/TechProductDemandRow.vue';
-export default {
-    components: { FilterList, TechProductDemandRow, TechProductDemandAdd },
-    data() {
-        return {
-            patentTypeOptions,
-            stageOptions,
-            modeOptions,
-            moneyOptions,
-            tradingMethodOptionsDemands,
-            tradingMethodOptionsDemand,
-            industryOptions: [], //领域,
-            list: [],
-            sortKey: [
-                {
-                    name: '发布时间',
-                    key: 'createdAt'
-                },
-                {
-                    name: '预算',
-                    key: 'expectedPrice'
-                },
-                {
-                    name: '浏览量',
-                    key: 'view'
-                }
-            ]
-        };
-    },
-    created() {
-        this.init();
-    },
-    computed: {
-        filters() {
-            const type = [this.TECHNOLOGY, this.PRODUCT];
-            return type[this.$route.query.tpType == 'TECHNOLOGY' ? 0 : 1];
-        },
-        TECHNOLOGY() {
-            return [
-                {
-                    name: '所属领域',
-                    key: 'industry',
-                    list: [...this.industryOptions]
-                },
-                {
-                    name: '所处阶段',
-                    key: 'stage',
-                    list: [...this.stageOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'modeId',
-                    list: [...this.tradingMethodOptionsDemand]
-                },
-                {
-                    name: '预算区间',
-                    key: 'expectedPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        PRODUCT() {
-            return [
-                {
-                    name: '所属领域',
-                    key: 'industry',
-                    list: [...this.industryOptions]
-                },
-                {
-                    name: '所处阶段',
-                    key: 'stage',
-                    list: [...this.stageOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'modeId',
-                    list: [...this.tradingMethodOptionsDemands]
-                },
-                {
-                    name: '预算区间',
-                    key: 'expectedPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        createdAtOptions() {
-            return [
-                {
-                    label: '一周内',
-                    value: this.getTimeBefor()
-                },
-                {
-                    label: '一月内',
-                    value: this.getTimeOnem()
-                },
-                {
-                    label: '二月内',
-                    value: this.getTimeTom()
-                },
-                {
-                    label: '三月内',
-                    value: this.getTimeTherrm()
-                },
-                {
-                    label: '三月以上',
-                    value: this.getTimeTherrms()
-                }
-            ];
-        }
-    },
-    methods: {
-        init() {
-            this.$http
-                .post('/setting/byFlag', { flag: 1 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.industryOptions = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-        },
-        btnEvent(value) {
-            if (value) {
-                // this.$refs.public.init(this.$route.query.tpType);
-                this.checkLogin(false).then(() => {
-                    this.$refs.public.init(this.$route.query.tpType);
-                });
-            }
-        },
-        refreash() {
-            this.$refs.list.getData();
-        }
-    }
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+    <filter-list
+        v-model="list"
+        ref="list"
+        url="/techProductDemand/all"
+        :filters="filters"
+        isDemand
+        :sortKey="sortKey"
+        @btnEvent="btnEvent"
+        @init="init"
+    >
+        <template v-for="item in list">
+            <tech-product-demand-row :key="item.id" :info="item"></tech-product-demand-row>
+        </template>
+        <tech-product-demand-add ref="public" @refreash="refreash"></tech-product-demand-add>
+    </filter-list>
+</template>
+
+<script>
+import FilterList from '../../components/page/FilterList.vue';
+import {
+    patentTypeOptions,
+    stageOptions,
+    modeOptions,
+    moneyOptions,
+    tradingMethodOptionsDemands,
+    tradingMethodOptionsDemand
+} from '../../utils/variables';
+import TechProductDemandAdd from '../../components/popup/TechProductDemandAdd.vue';
+import TechProductDemandRow from '../../components/list/TechProductDemandRow.vue';
+export default {
+    components: { FilterList, TechProductDemandRow, TechProductDemandAdd },
+    data() {
+        return {
+            patentTypeOptions,
+            stageOptions,
+            modeOptions,
+            moneyOptions,
+            tradingMethodOptionsDemands,
+            tradingMethodOptionsDemand,
+            industryOptions: [], //领域,
+            list: [],
+            sortKey: [
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '预算',
+                //     key: 'expectedPrice'
+                // },
+                {
+                    name: '浏览量',
+                    key: 'view'
+                }
+            ]
+        };
+    },
+    created() {
+        this.init();
+    },
+    computed: {
+        filters() {
+            const type = [this.TECHNOLOGY, this.PRODUCT];
+            return type[this.$route.query.tpType == 'TECHNOLOGY' ? 0 : 1];
+        },
+        TECHNOLOGY() {
+            return [
+                {
+                    name: '所属领域',
+                    key: 'industry',
+                    list: [...this.industryOptions]
+                },
+                {
+                    name: '所处阶段',
+                    key: 'stage',
+                    list: [...this.stageOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'modeId',
+                    list: [...this.tradingMethodOptionsDemand]
+                }
+                // {
+                //     name: '预算区间',
+                //     key: 'expectedPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        PRODUCT() {
+            return [
+                {
+                    name: '所属领域',
+                    key: 'industry',
+                    list: [...this.industryOptions]
+                },
+                {
+                    name: '所处阶段',
+                    key: 'stage',
+                    list: [...this.stageOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'modeId',
+                    list: [...this.tradingMethodOptionsDemands]
+                }
+                // {
+                //     name: '预算区间',
+                //     key: 'expectedPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        createdAtOptions() {
+            return [
+                {
+                    label: '一周内',
+                    value: this.getTimeBefor()
+                },
+                {
+                    label: '一月内',
+                    value: this.getTimeOnem()
+                },
+                {
+                    label: '二月内',
+                    value: this.getTimeTom()
+                },
+                {
+                    label: '三月内',
+                    value: this.getTimeTherrm()
+                },
+                {
+                    label: '三月以上',
+                    value: this.getTimeTherrms()
+                }
+            ];
+        }
+    },
+    methods: {
+        init() {
+            this.$http
+                .post('/setting/byFlag', { flag: 1 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.industryOptions = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        },
+        btnEvent(value) {
+            if (value) {
+                // this.$refs.public.init(this.$route.query.tpType);
+                this.checkLogin(false).then(() => {
+                    this.$refs.public.init(this.$route.query.tpType);
+                });
+            }
+        },
+        refreash() {
+            this.$refs.list.getData();
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>

+ 15 - 0
src/main/zhi-rong-web/src/views/market/TechnicalManager.vue

@@ -2,6 +2,7 @@
     <filter-list
         v-model="list"
         @init="init"
+        :sortKey="sortKey"
         ref="list"
         url="/technicalManager/all"
         :filters="filters"
@@ -25,6 +26,20 @@ export default {
         return {
             fieldOptions: [], //领域,
             list: [],
+            sortKey: [
+                // {
+                //     name: '成交时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '成交价格',
+                //     key: 'soldPrice'
+                // },
+                // {
+                //     name: '浏览量',
+                //     key: 'view'
+                // }
+            ],
             defaultQuery: {
                 isExpert: false
             }

+ 187 - 185
src/main/zhi-rong-web/src/views/market/TechnologyProduct.vue

@@ -1,185 +1,187 @@
-<template>
-    <filter-list
-        v-model="list"
-        ref="list"
-        url="/technologyProduct/all"
-        :filters="filters"
-        :sortKey="sortKey"
-        @btnEvent="addInfo"
-        @init="init"
-    >
-        <template v-for="item in list">
-            <product-row :key="item.id" :info="item"></product-row>
-        </template>
-        <technology-product-add ref="public" @refreash="refreash"></technology-product-add>
-    </filter-list>
-</template>
-
-<script>
-import FilterList from '../../components/page/FilterList.vue';
-import {
-    stageOptions,
-    tradingMethodOptionsDemand,
-    commissionTypeOptions,
-    moneyOptions,
-    tradingMethodOptionsDemands
-} from '../../utils/variables';
-import ProductRow from '../../components/list/ProductRow.vue';
-import TechnologyProductAdd from '../../components/popup/TechnologyProductAdd.vue';
-export default {
-    components: { FilterList, ProductRow, TechnologyProductAdd },
-    data() {
-        return {
-            stageOptions,
-            tradingMethodOptionsDemand,
-            commissionTypeOptions,
-            moneyOptions,
-            tradingMethodOptionsDemands,
-            fieldOptions: [], //领域,
-            list: [],
-            sortKey: [
-                {
-                    name: '发布时间',
-                    key: 'createdAt'
-                },
-                {
-                    name: '价格区间',
-                    key: 'expectedPrice'
-                },
-                {
-                    name: '浏览量',
-                    key: 'view'
-                }
-            ]
-        };
-    },
-    created() {
-        this.init();
-    },
-    computed: {
-        filters() {
-            const type = [this.TECHNOLOGY, this.PRODUCT];
-            return type[this.$route.query.tpType == 'TECHNOLOGY' ? 0 : 1];
-        },
-        TECHNOLOGY() {
-            return [
-                {
-                    name: '所属领域',
-                    key: 'field',
-                    list: [...this.fieldOptions]
-                },
-                {
-                    name: '所处阶段',
-                    key: 'stage',
-                    list: [...this.stageOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'tradingMethodId',
-                    list: [...this.tradingMethodOptionsDemand]
-                },
-                {
-                    name: '价格区间',
-                    key: 'money',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        PRODUCT() {
-            return [
-                {
-                    name: '所属领域',
-                    key: 'field',
-                    list: [...this.fieldOptions]
-                },
-                {
-                    name: '所处阶段',
-                    key: 'stage',
-                    list: [...this.stageOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'tradingMethodId',
-                    list: [...this.tradingMethodOptionsDemands]
-                },
-                {
-                    name: '价格区间',
-                    key: 'money',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '发布时间',
-                    key: 'createdAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        createdAtOptions() {
-            return [
-                {
-                    label: '一周内',
-                    value: this.getTimeBefor()
-                },
-                {
-                    label: '一月内',
-                    value: this.getTimeOnem()
-                },
-                {
-                    label: '二月内',
-                    value: this.getTimeTom()
-                },
-                {
-                    label: '三月内',
-                    value: this.getTimeTherrm()
-                },
-                {
-                    label: '三月以上',
-                    value: this.getTimeTherrms()
-                }
-            ];
-        }
-    },
-    methods: {
-        init() {
-            this.$http
-                .post('/setting/byFlag', { flag: 1 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.fieldOptions = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-        },
-        addInfo(value) {
-            if (value) {
-                // this.$refs.public.init(this.$route.query.tpType);
-                this.checkLogin(false).then(() => {
-                    this.$refs.public.init(this.$route.query.tpType);
-                });
-            }
-        },
-        refreash() {
-            this.$refs.list.getData();
-        }
-    }
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+    <filter-list
+        v-model="list"
+        ref="list"
+        url="/technologyProduct/all"
+        :filters="filters"
+        :sortKey="sortKey"
+        :sortKeys="sortKeys"
+        @btnEvent="addInfo"
+        @init="init"
+    >
+        <template v-for="item in list">
+            <product-row :key="item.id" :info="item"></product-row>
+        </template>
+        <technology-product-add ref="public" @refreash="refreash"></technology-product-add>
+    </filter-list>
+</template>
+
+<script>
+import FilterList from '../../components/page/FilterList.vue';
+import {
+    stageOptions,
+    tradingMethodOptionsDemand,
+    commissionTypeOptions,
+    moneyOptions,
+    tradingMethodOptionsDemands
+} from '../../utils/variables';
+import ProductRow from '../../components/list/ProductRow.vue';
+import TechnologyProductAdd from '../../components/popup/TechnologyProductAdd.vue';
+export default {
+    components: { FilterList, ProductRow, TechnologyProductAdd },
+    data() {
+        return {
+            stageOptions,
+            tradingMethodOptionsDemand,
+            commissionTypeOptions,
+            moneyOptions,
+            tradingMethodOptionsDemands,
+            fieldOptions: [], //领域,
+            list: [],
+            sortKeys: [],
+            sortKey: [
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '价格区间',
+                //     key: 'expectedPrice'
+                // },
+                {
+                    name: '浏览量',
+                    key: 'view'
+                }
+            ]
+        };
+    },
+    created() {
+        this.init();
+    },
+    computed: {
+        filters() {
+            const type = [this.TECHNOLOGY, this.PRODUCT];
+            return type[this.$route.query.tpType == 'TECHNOLOGY' ? 0 : 1];
+        },
+        TECHNOLOGY() {
+            return [
+                {
+                    name: '所属领域',
+                    key: 'field',
+                    list: [...this.fieldOptions]
+                },
+                {
+                    name: '所处阶段',
+                    key: 'stage',
+                    list: [...this.stageOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'tradingMethodId',
+                    list: [...this.tradingMethodOptionsDemand]
+                }
+                // {
+                //     name: '价格区间',
+                //     key: 'money',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        PRODUCT() {
+            return [
+                {
+                    name: '所属领域',
+                    key: 'field',
+                    list: [...this.fieldOptions]
+                },
+                {
+                    name: '所处阶段',
+                    key: 'stage',
+                    list: [...this.stageOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'tradingMethodId',
+                    list: [...this.tradingMethodOptionsDemands]
+                }
+                // {
+                //     name: '价格区间',
+                //     key: 'money',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '发布时间',
+                //     key: 'createdAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        createdAtOptions() {
+            return [
+                {
+                    label: '一周内',
+                    value: this.getTimeBefor()
+                },
+                {
+                    label: '一月内',
+                    value: this.getTimeOnem()
+                },
+                {
+                    label: '二月内',
+                    value: this.getTimeTom()
+                },
+                {
+                    label: '三月内',
+                    value: this.getTimeTherrm()
+                },
+                {
+                    label: '三月以上',
+                    value: this.getTimeTherrms()
+                }
+            ];
+        }
+    },
+    methods: {
+        init() {
+            this.$http
+                .post('/setting/byFlag', { flag: 1 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.fieldOptions = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        },
+        addInfo(value) {
+            if (value) {
+                // this.$refs.public.init(this.$route.query.tpType);
+                this.checkLogin(false).then(() => {
+                    this.$refs.public.init(this.$route.query.tpType);
+                });
+            }
+        },
+        refreash() {
+            this.$refs.list.getData();
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>

+ 141 - 141
src/main/zhi-rong-web/src/views/market/successCasesLogo.vue

@@ -1,141 +1,141 @@
-<template>
-    <filter-list
-        v-model="list"
-        :sortKey="sortKey"
-        :hasAction="false"
-        ref="list"
-        url="/successCase/all"
-        :filters="filters"
-        @init="init"
-    >
-        <template v-for="item in list">
-            <success-patent-row :key="item.id" :info="item"></success-patent-row>
-        </template>
-    </filter-list>
-</template>
-
-<script>
-import FilterList from '../../components/page/FilterList.vue';
-import SuccessPatentRow from '../../components/list/SuccessPatentRow.vue';
-import { moneyOptions, mode3Options } from '../../utils/variables';
-import dayjs from 'dayjs';
-export default {
-    components: { FilterList, SuccessPatentRow },
-    data() {
-        return {
-            moneyOptions,
-            mode3Options,
-            categoryOptions: [],
-            list: [],
-            sortKey: [
-                {
-                    name: '成交时间',
-                    key: 'createdAt'
-                },
-                {
-                    name: '成交价格',
-                    key: 'soldPrice'
-                },
-                {
-                    name: '浏览量',
-                    key: 'view'
-                }
-            ]
-        };
-    },
-    created() {
-        this.init();
-    },
-    computed: {
-        filters() {
-            return [
-                {
-                    name: '所属分类',
-                    key: 'settingId',
-                    list: [...this.categoryOptions]
-                },
-                {
-                    name: '交易方式',
-                    key: 'mode',
-                    list: [...this.mode3Options]
-                },
-                {
-                    name: '成交价格',
-                    key: 'soldPrice',
-                    list: [...this.moneyOptions]
-                },
-                {
-                    name: '成交时间',
-                    key: 'soldAt',
-                    list: [...this.createdAtOptions]
-                }
-            ];
-        },
-        createdAtOptions() {
-            return [
-                {
-                    label: '一周内',
-                    value: this.getTimeBefor()
-                },
-                {
-                    label: '一月内',
-                    value: this.getTimeOnem()
-                },
-                {
-                    label: '二月内',
-                    value: this.getTimeTom()
-                },
-                {
-                    label: '三月内',
-                    value: this.getTimeTherrm()
-                },
-                {
-                    label: '三月以上',
-                    value: this.getTimeTherrms()
-                }
-            ];
-        }
-    },
-    methods: {
-        getTimeBefor(lng = -1, type = 'w') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeOnem(lng = -1, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTom(lng = -2, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTherrm(lng = -3, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        getTimeTherrms(lng = -10, type = 'M') {
-            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
-        },
-        init() {
-            this.$http
-                .post('/setting/byFlag', { flag: 2 })
-                .then(res => {
-                    if (res.length > 0) {
-                        this.categoryOptions = res.map(item => {
-                            return {
-                                label: item.name,
-                                value: item.id
-                            };
-                        });
-                    }
-
-                    this.$nextTick(() => {
-                        this.$refs.list.init();
-                    });
-                })
-                .catch(e => {
-                    console.log(e);
-                    this.$message.error(e.error);
-                });
-        }
-    }
-};
-</script>
-
-<style lang="less" scoped></style>
+<template>
+    <filter-list
+        v-model="list"
+        :sortKey="sortKey"
+        :hasAction="false"
+        ref="list"
+        url="/successCase/all"
+        :filters="filters"
+        @init="init"
+    >
+        <template v-for="item in list">
+            <success-patent-row :key="item.id" :info="item"></success-patent-row>
+        </template>
+    </filter-list>
+</template>
+
+<script>
+import FilterList from '../../components/page/FilterList.vue';
+import SuccessPatentRow from '../../components/list/SuccessPatentRow.vue';
+import { moneyOptions, mode3Options } from '../../utils/variables';
+import dayjs from 'dayjs';
+export default {
+    components: { FilterList, SuccessPatentRow },
+    data() {
+        return {
+            moneyOptions,
+            mode3Options,
+            categoryOptions: [],
+            list: [],
+            sortKey: [
+                // {
+                //     name: '成交时间',
+                //     key: 'createdAt'
+                // },
+                // {
+                //     name: '成交价格',
+                //     key: 'soldPrice'
+                // },
+                {
+                    name: '浏览量',
+                    key: 'view'
+                }
+            ]
+        };
+    },
+    created() {
+        this.init();
+    },
+    computed: {
+        filters() {
+            return [
+                {
+                    name: '所属分类',
+                    key: 'settingId',
+                    list: [...this.categoryOptions]
+                },
+                {
+                    name: '交易方式',
+                    key: 'mode',
+                    list: [...this.mode3Options]
+                }
+                // {
+                //     name: '成交价格',
+                //     key: 'soldPrice',
+                //     list: [...this.moneyOptions]
+                // },
+                // {
+                //     name: '成交时间',
+                //     key: 'soldAt',
+                //     list: [...this.createdAtOptions]
+                // }
+            ];
+        },
+        createdAtOptions() {
+            return [
+                {
+                    label: '一周内',
+                    value: this.getTimeBefor()
+                },
+                {
+                    label: '一月内',
+                    value: this.getTimeOnem()
+                },
+                {
+                    label: '二月内',
+                    value: this.getTimeTom()
+                },
+                {
+                    label: '三月内',
+                    value: this.getTimeTherrm()
+                },
+                {
+                    label: '三月以上',
+                    value: this.getTimeTherrms()
+                }
+            ];
+        }
+    },
+    methods: {
+        getTimeBefor(lng = -1, type = 'w') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeOnem(lng = -1, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTom(lng = -2, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTherrm(lng = -3, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        getTimeTherrms(lng = -10, type = 'M') {
+            return [dayjs().add(lng, type).format('YYYY-MM-DD'), dayjs().format('YYYY-MM-DD')].join(',');
+        },
+        init() {
+            this.$http
+                .post('/setting/byFlag', { flag: 2 })
+                .then(res => {
+                    if (res.length > 0) {
+                        this.categoryOptions = res.map(item => {
+                            return {
+                                label: item.name,
+                                value: item.id
+                            };
+                        });
+                    }
+
+                    this.$nextTick(() => {
+                        this.$refs.list.init();
+                    });
+                })
+                .catch(e => {
+                    console.log(e);
+                    this.$message.error(e.error);
+                });
+        }
+    }
+};
+</script>
+
+<style lang="less" scoped></style>