|
@@ -10,19 +10,10 @@
|
|
|
<p @click="changeMenu(item.name, index)" :style="`color:${menuIndex == index ? menuColor : ''}`">{{ item.name }}</p>
|
|
|
</el-col>
|
|
|
</el-col>
|
|
|
- <el-col :span="18" class="listInfo">
|
|
|
+ <el-col :span="19" class="listInfo">
|
|
|
<span v-if="display == 'list'">
|
|
|
- <el-col :span="24" class="listDown">
|
|
|
- <span v-if="column_name == '科技需求'">
|
|
|
- <technology
|
|
|
- :technologyList="technologyList"
|
|
|
- :column_name="column_name"
|
|
|
- :total="technologyTotal"
|
|
|
- @clickDetail="clickDetail"
|
|
|
- @searchData="searchData"
|
|
|
- ></technology>
|
|
|
- </span>
|
|
|
- <span v-else-if="column_name == '技术成果'">
|
|
|
+ <el-col :span="24">
|
|
|
+ <span v-if="column_name == '技术成果'">
|
|
|
<achieve
|
|
|
:achieveList="achieveList"
|
|
|
:column_name="column_name"
|
|
@@ -33,6 +24,9 @@
|
|
|
:dropList="dropList"
|
|
|
></achieve>
|
|
|
</span>
|
|
|
+ <span v-else-if="column_name == 'e专利'">
|
|
|
+ <patent :patentList="patentList" :column_name="column_name" :total="patentTotal" @clickDetail="clickDetail" @searchData="searchData"></patent>
|
|
|
+ </span>
|
|
|
<span v-else-if="column_name == '商务服务'">
|
|
|
<business
|
|
|
:businessList="businessList"
|
|
@@ -53,23 +47,41 @@
|
|
|
:dropList="expertdropList"
|
|
|
></expert>
|
|
|
</span>
|
|
|
+ <span v-else-if="column_name == '科技需求'">
|
|
|
+ <technology
|
|
|
+ :technologyList="technologyList"
|
|
|
+ :column_name="column_name"
|
|
|
+ :total="technologyTotal"
|
|
|
+ @clickDetail="clickDetail"
|
|
|
+ @searchData="searchData"
|
|
|
+ ></technology>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="column_name == '项目路演'">
|
|
|
+ <roadshow
|
|
|
+ :roadshowList="roadshowList"
|
|
|
+ :column_name="column_name"
|
|
|
+ :total="roadshowTotal"
|
|
|
+ @clickDetail="clickDetail"
|
|
|
+ @searchData="searchData"
|
|
|
+ ></roadshow>
|
|
|
+ </span>
|
|
|
</el-col>
|
|
|
</span>
|
|
|
<span v-else>
|
|
|
- <span v-if="column_name == '科技需求'">
|
|
|
+ <span v-if="column_name == '技术成果'">
|
|
|
<el-col :span="24" style="text-align:right;">
|
|
|
<el-button type="primary" size="mini" @click="display = 'list'">返回</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <techDetail :detailInfo="techDetail" @onSubmit="techSubmit" :displayBtn="displayBtn"></techDetail>
|
|
|
+ <achiDetail :detailInfo="achiDetail" @onSubmit="techSubmit" :displayBtn="displayBtn"></achiDetail>
|
|
|
</el-col>
|
|
|
</span>
|
|
|
- <span v-else-if="column_name == '技术成果'">
|
|
|
+ <span v-else-if="column_name == 'e专利'">
|
|
|
<el-col :span="24" style="text-align:right;">
|
|
|
<el-button type="primary" size="mini" @click="display = 'list'">返回</el-button>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
|
- <achiDetail :detailInfo="achiDetail" @onSubmit="techSubmit" :displayBtn="displayBtn"></achiDetail>
|
|
|
+ <patentDetail></patentDetail>
|
|
|
</el-col>
|
|
|
</span>
|
|
|
<span v-else-if="column_name == '商务服务'">
|
|
@@ -88,6 +100,22 @@
|
|
|
<expeDetail :detailInfo="expeDetail" @onSubmit="expertSuubmit" :displayBtn="displayBtn"></expeDetail>
|
|
|
</el-col>
|
|
|
</span>
|
|
|
+ <span v-else-if="column_name == '科技需求'">
|
|
|
+ <el-col :span="24" style="text-align:right;">
|
|
|
+ <el-button type="primary" size="mini" @click="display = 'list'">返回</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <techDetail :detailInfo="techDetail" @onSubmit="techSubmit" :displayBtn="displayBtn"></techDetail>
|
|
|
+ </el-col>
|
|
|
+ </span>
|
|
|
+ <span v-else-if="column_name == '项目路演'">
|
|
|
+ <el-col :span="24" style="text-align:right;">
|
|
|
+ <el-button type="primary" size="mini" @click="display = 'list'">返回</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24">
|
|
|
+ <roadDetail :detailInfo="roadDetail"></roadDetail>
|
|
|
+ </el-col>
|
|
|
+ </span>
|
|
|
</span>
|
|
|
</el-col>
|
|
|
</div>
|
|
@@ -98,57 +126,64 @@
|
|
|
|
|
|
<script>
|
|
|
// 列表
|
|
|
-import technology from './list/technology.vue';
|
|
|
import achieve from './list/achieve.vue';
|
|
|
+import patent from './list/patent.vue';
|
|
|
import business from './list/business.vue';
|
|
|
import expert from './list/expert.vue';
|
|
|
+import technology from './list/technology.vue';
|
|
|
+import roadshow from './list/roadshow.vue';
|
|
|
// 详情
|
|
|
-import techDetail from './detail/techDetail.vue';
|
|
|
import achiDetail from './detail/achiDetail.vue';
|
|
|
+import patentDetail from './detail/patentDetail.vue';
|
|
|
import busiDetail from './detail/busiDetail.vue';
|
|
|
import expeDetail from './detail/expeDetail.vue';
|
|
|
+import techDetail from './detail/techDetail.vue';
|
|
|
+import roadDetail from './detail/roadDetail.vue';
|
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
const { mapActions: product } = createNamespacedHelpers('marketproduct');
|
|
|
const { mapActions: expertsuser } = createNamespacedHelpers('expertsuser');
|
|
|
const { mapActions: transaction } = createNamespacedHelpers('transaction');
|
|
|
const { mapActions: markettype } = createNamespacedHelpers('markettype');
|
|
|
+const { mapActions: newsroadshow } = createNamespacedHelpers('newsroadshow');
|
|
|
import _ from 'lodash';
|
|
|
export default {
|
|
|
+ metaInfo() {
|
|
|
+ return { title: this.$route.meta.title };
|
|
|
+ },
|
|
|
name: 'marketlists',
|
|
|
props: {},
|
|
|
components: {
|
|
|
- // 科技需求
|
|
|
- technology,
|
|
|
- techDetail,
|
|
|
// 技术成果
|
|
|
achieve,
|
|
|
achiDetail,
|
|
|
+ // e专利
|
|
|
+ patent,
|
|
|
+ patentDetail,
|
|
|
// 商务服务
|
|
|
business,
|
|
|
busiDetail,
|
|
|
// 专家智库
|
|
|
expert,
|
|
|
expeDetail,
|
|
|
+ // 科技需求
|
|
|
+ technology,
|
|
|
+ techDetail,
|
|
|
+ // 项目路演
|
|
|
+ roadshow,
|
|
|
+ roadDetail,
|
|
|
},
|
|
|
data: function() {
|
|
|
return {
|
|
|
squareImage: require('@/assets/live/square_big.png'),
|
|
|
// 菜单
|
|
|
- menuList: [{ name: '科技需求' }, { name: '技术成果' }, { name: '商务服务' }, { name: '专家智库' }],
|
|
|
+ menuList: [{ name: '技术成果' }, { name: 'e专利' }, { name: '商务服务' }, { name: '专家智库' }, { name: '科技需求' }, { name: '项目路演' }],
|
|
|
menuIndex: '0',
|
|
|
menuColor: 'rgb(254, 149, 14)',
|
|
|
- // 右侧显示
|
|
|
- // list:列表,detail:详情
|
|
|
display: 'list',
|
|
|
// 右侧头部栏目
|
|
|
- column_name: '科技需求',
|
|
|
+ column_name: '技术成果',
|
|
|
// 搜索
|
|
|
infoName: '',
|
|
|
- // 列表&詳情
|
|
|
- // 科技需求
|
|
|
- technologyList: [],
|
|
|
- technologyTotal: 0,
|
|
|
- techDetail: {},
|
|
|
// 技术成果
|
|
|
// 原数组
|
|
|
priAchieve: [],
|
|
@@ -159,6 +194,9 @@ export default {
|
|
|
achiDetail: {},
|
|
|
// 其他单位列表
|
|
|
dropList: [],
|
|
|
+ // e专利
|
|
|
+ patentList: [],
|
|
|
+ patentTotal: 0,
|
|
|
// 商务服务
|
|
|
businessList: [],
|
|
|
businessTotal: 0,
|
|
@@ -174,33 +212,40 @@ export default {
|
|
|
expertdropList: [],
|
|
|
// 显示按钮
|
|
|
displayBtn: true,
|
|
|
+ // 科技需求
|
|
|
+ technologyList: [],
|
|
|
+ technologyTotal: 0,
|
|
|
+ techDetail: {},
|
|
|
+ // 项目路演
|
|
|
+ roadshowList: [],
|
|
|
+ roadshowTotal: 0,
|
|
|
+ roadDetail: {},
|
|
|
};
|
|
|
},
|
|
|
async created() {
|
|
|
await this.searchColumn();
|
|
|
await this.searchCom();
|
|
|
- this.$nextTick(() => {
|
|
|
- // 禁用右键
|
|
|
- document.oncontextmenu = new Function('event.returnValue=false');
|
|
|
- // 禁用选择
|
|
|
- document.onselectstart = new Function('event.returnValue=false');
|
|
|
- });
|
|
|
},
|
|
|
methods: {
|
|
|
...product({ productList: 'newquery', productFetch: 'newfetch' }),
|
|
|
...expertsuser({ expertsuserList: 'query', expertsuserFetch: 'fetch' }),
|
|
|
...transaction({ transactioncreate: 'create', transactionfetch: 'fetch' }),
|
|
|
...markettype({ markettypeList: 'query' }),
|
|
|
+ ...newsroadshow({ adshowQuery: 'query', adshowFetch: 'fetch' }),
|
|
|
// 查询栏目,列表,详情
|
|
|
async searchColumn() {
|
|
|
- if (this.type == 0) {
|
|
|
- this.changeMenu(this.columnName, this.type);
|
|
|
- } else if (this.type == 1) {
|
|
|
- this.changeMenu(this.columnName, this.type);
|
|
|
+ if (this.type == 1) {
|
|
|
+ this.changeMenu(this.columnName, 0);
|
|
|
+ } else if (this.type == 5) {
|
|
|
+ this.changeMenu(this.columnName, 1);
|
|
|
} else if (this.type == 2) {
|
|
|
- this.changeMenu(this.columnName, this.type);
|
|
|
+ this.changeMenu(this.columnName, 2);
|
|
|
} else if (this.type == 3) {
|
|
|
- this.changeMenu(this.columnName, this.type);
|
|
|
+ this.changeMenu(this.columnName, 3);
|
|
|
+ } else if (this.type == 0) {
|
|
|
+ this.changeMenu(this.columnName, 4);
|
|
|
+ } else if (this.type == 4) {
|
|
|
+ this.changeMenu(this.columnName, 5);
|
|
|
}
|
|
|
if (this.id) {
|
|
|
this.display = 'detail';
|
|
@@ -221,16 +266,14 @@ export default {
|
|
|
// 查看列表
|
|
|
async searchInfo({ skip = 0, limit = 10, columnName, name, ...info } = {}) {
|
|
|
if (name) info.name = name;
|
|
|
- if (columnName == '科技需求') {
|
|
|
- let res = await this.productList({ skip, type: '0', status: '1', ...info });
|
|
|
- if (this.$checkRes(res)) this.$set(this, `technologyList`, res.data);
|
|
|
- this.$set(this, `technologyTotal`, res.total);
|
|
|
- } else if (columnName == '技术成果') {
|
|
|
- let res = await this.productList({ skip, type: '1', status: '1', ...info });
|
|
|
+ if (columnName == '技术成果') {
|
|
|
+ let res = await this.productList({ skip, limit, type: '1', status: '1', ...info });
|
|
|
if (this.$checkRes(res)) this.$set(this, `priAchieve`, res.data);
|
|
|
this.$set(this, `priAchieveTotal`, res.total);
|
|
|
this.$set(this, `achieveList`, res.data);
|
|
|
this.$set(this, `achieveTotal`, res.total);
|
|
|
+ } else if (columnName == 'e专利') {
|
|
|
+ console.log('e专利');
|
|
|
} else if (columnName == '商务服务') {
|
|
|
let res = await this.productList({ skip, type: '2', status: '1', ...info });
|
|
|
if (this.$checkRes(res)) this.$set(this, `businessList`, res.data);
|
|
@@ -241,76 +284,42 @@ export default {
|
|
|
this.$set(this, `priExpertTotal`, res.total);
|
|
|
this.$set(this, `expertList`, res.data);
|
|
|
this.$set(this, `expertTotal`, res.total);
|
|
|
+ } else if (columnName == '科技需求') {
|
|
|
+ let res = await this.productList({ skip, type: '0', status: '1', ...info });
|
|
|
+ if (this.$checkRes(res)) this.$set(this, `technologyList`, res.data);
|
|
|
+ this.$set(this, `technologyTotal`, res.total);
|
|
|
+ } else if (columnName == '项目路演') {
|
|
|
+ let res = await this.adshowQuery({ skip: 0, ...info });
|
|
|
+ if (this.$checkRes(res)) this.$set(this, `roadshowList`, res.data);
|
|
|
+ this.$set(this, `roadshowTotal`, res.total);
|
|
|
}
|
|
|
},
|
|
|
+ // 点击查看详情
|
|
|
+ clickDetail({ column_name, id }) {
|
|
|
+ this.$set(this, `column_name`, column_name);
|
|
|
+ this.display = 'detail';
|
|
|
+ this.searchDetail(column_name, id);
|
|
|
+ },
|
|
|
// 查看详情
|
|
|
async searchDetail(columnName, id) {
|
|
|
- if (columnName == '科技需求') {
|
|
|
- let res = await this.productFetch(id);
|
|
|
- if (this.$checkRes(res)) this.$set(this, `techDetail`, res.data);
|
|
|
- } else if (columnName == '技术成果') {
|
|
|
+ if (columnName == '技术成果') {
|
|
|
let res = await this.productFetch(id);
|
|
|
if (this.$checkRes(res)) this.$set(this, `achiDetail`, res.data);
|
|
|
+ } else if (columnName == 'e专利') {
|
|
|
+ console.log('e专利');
|
|
|
} else if (columnName == '商务服务') {
|
|
|
let res = await this.productFetch(id);
|
|
|
if (this.$checkRes(res)) this.$set(this, `busiDetail`, res.data);
|
|
|
- } else {
|
|
|
+ } else if (columnName == '专家智库') {
|
|
|
let res = await this.expertsuserFetch(id);
|
|
|
if (this.$checkRes(res)) this.$set(this, `expeDetail`, res.data);
|
|
|
- }
|
|
|
- },
|
|
|
- // 点击查看详情
|
|
|
- clickDetail({ column_name, id }) {
|
|
|
- this.$set(this, `column_name`, column_name);
|
|
|
- this.display = 'detail';
|
|
|
- this.searchDetail(column_name, id);
|
|
|
- },
|
|
|
- // 科技需求,技术成果,商务服务洽谈
|
|
|
- async techSubmit({ data }) {
|
|
|
- let form = {
|
|
|
- userid: this.user.uid,
|
|
|
- username: this.user.name,
|
|
|
- product_id: data.id,
|
|
|
- product_name: data.name,
|
|
|
- market_userid: data.userid,
|
|
|
- market_username: data.contacts,
|
|
|
- status: '0',
|
|
|
- };
|
|
|
- if (!this.user.uid) {
|
|
|
- this.$message({
|
|
|
- dangerouslyUseHTMLString: true,
|
|
|
- message: '<strong><a href="http://broadcast.waityou24.cn/platlive/webLogin" style="color:red;">游客身份无法与卖家对话,请先注册</a></strong>',
|
|
|
- type: 'error',
|
|
|
- });
|
|
|
- return;
|
|
|
- } else {
|
|
|
- let res = await this.transactioncreate(form);
|
|
|
- this.$checkRes(res, '购买申请成功', res.errmsg || '购买申请失败');
|
|
|
- }
|
|
|
- },
|
|
|
- // 专家智库
|
|
|
- async expertSuubmit({ data }) {
|
|
|
- let form = {
|
|
|
- userid: this.user.uid,
|
|
|
- username: this.user.name,
|
|
|
- product_id: data.id,
|
|
|
- product_name: data.name,
|
|
|
- market_userid: data.id,
|
|
|
- market_username: data.name,
|
|
|
- status: '0',
|
|
|
- type: '1',
|
|
|
- };
|
|
|
- if (!this.user.uid) {
|
|
|
- // this.$message.error('游客身份无法与卖家对话,请先注册');
|
|
|
- this.$message({
|
|
|
- dangerouslyUseHTMLString: true,
|
|
|
- message: '<strong><a href="http://broadcast.waityou24.cn/platlive/webLogin" style="color:red;">游客身份无法与卖家对话,请先注册</a></strong>',
|
|
|
- type: 'error',
|
|
|
- });
|
|
|
- return;
|
|
|
- } else {
|
|
|
- let res = await this.transactioncreate(form);
|
|
|
- this.$checkRes(res, '购买申请成功', res.errmsg || '购买申请失败');
|
|
|
+ } else if (columnName == '科技需求') {
|
|
|
+ let res = await this.productFetch(id);
|
|
|
+ if (this.$checkRes(res)) this.$set(this, `techDetail`, res.data);
|
|
|
+ } else if (columnName == '项目路演') {
|
|
|
+ let res = await this.adshowFetch(id);
|
|
|
+ console.log(res);
|
|
|
+ if (this.$checkRes(res)) this.$set(this, `roadDetail`, res.data);
|
|
|
}
|
|
|
},
|
|
|
// 名字查询
|
|
@@ -409,6 +418,54 @@ export default {
|
|
|
this.$set(this, `expertTotal`, this.priExpert.legnth);
|
|
|
}
|
|
|
},
|
|
|
+ // 科技需求,技术成果,商务服务洽谈
|
|
|
+ async techSubmit({ data }) {
|
|
|
+ let form = {
|
|
|
+ userid: this.user.uid,
|
|
|
+ username: this.user.name,
|
|
|
+ product_id: data.id,
|
|
|
+ product_name: data.name,
|
|
|
+ market_userid: data.userid,
|
|
|
+ market_username: data.contacts,
|
|
|
+ status: '0',
|
|
|
+ };
|
|
|
+ if (!this.user.uid) {
|
|
|
+ this.$message({
|
|
|
+ dangerouslyUseHTMLString: true,
|
|
|
+ message: '<strong><a href="http://broadcast.waityou24.cn/platlive/webLogin" style="color:red;">游客身份无法与卖家对话,请先注册</a></strong>',
|
|
|
+ type: 'error',
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ let res = await this.transactioncreate(form);
|
|
|
+ this.$checkRes(res, '购买申请成功', res.errmsg || '购买申请失败');
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 专家智库
|
|
|
+ async expertSuubmit({ data }) {
|
|
|
+ let form = {
|
|
|
+ userid: this.user.uid,
|
|
|
+ username: this.user.name,
|
|
|
+ product_id: data.id,
|
|
|
+ product_name: data.name,
|
|
|
+ market_userid: data.id,
|
|
|
+ market_username: data.name,
|
|
|
+ status: '0',
|
|
|
+ type: '1',
|
|
|
+ };
|
|
|
+ if (!this.user.uid) {
|
|
|
+ // this.$message.error('游客身份无法与卖家对话,请先注册');
|
|
|
+ this.$message({
|
|
|
+ dangerouslyUseHTMLString: true,
|
|
|
+ message: '<strong><a href="http://broadcast.waityou24.cn/platlive/webLogin" style="color:red;">游客身份无法与卖家对话,请先注册</a></strong>',
|
|
|
+ type: 'error',
|
|
|
+ });
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ let res = await this.transactioncreate(form);
|
|
|
+ this.$checkRes(res, '购买申请成功', res.errmsg || '购买申请失败');
|
|
|
+ }
|
|
|
+ },
|
|
|
},
|
|
|
computed: {
|
|
|
...mapState(['user']),
|
|
@@ -421,24 +478,15 @@ export default {
|
|
|
id() {
|
|
|
return this.$route.query.id;
|
|
|
},
|
|
|
- pageTitle() {
|
|
|
- return `${this.$route.meta.title}`;
|
|
|
- },
|
|
|
- },
|
|
|
- metaInfo() {
|
|
|
- return { title: this.$route.meta.title };
|
|
|
},
|
|
|
+ watch: {},
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
-.w_1200 {
|
|
|
- // width: 80%;
|
|
|
- width: 1200px;
|
|
|
- margin: 0 auto;
|
|
|
-}
|
|
|
.main {
|
|
|
- margin: 15px 0;
|
|
|
+ min-height: 500px;
|
|
|
+ padding: 10px 0;
|
|
|
.menu {
|
|
|
height: 600px;
|
|
|
overflow: hidden;
|