wuhongyu 4 år sedan
förälder
incheckning
54c1162745

+ 183 - 0
src/layout/myfabu/release.vue

@@ -0,0 +1,183 @@
+<template>
+  <div id="release">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
+          <el-form-item label="产品类型" prop="totaltype">
+            <el-select v-model="form.totaltype" placeholder="请选择产品类型">
+              <el-option v-for="(item, index) in totaltype_list" :key="index" :value="item.value" :label="item.name"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="产品名称" prop="name">
+            <el-input v-model="form.name" placeholder="请输入产品名称"></el-input>
+          </el-form-item>
+          <el-form-item label="类型">
+            <el-select v-model="form.product_type_id" filterable @change="selectChild">
+              <el-option v-for="(item, index) in columnList" :key="index" :value="item.id" :label="item.name"></el-option>
+            </el-select>
+          </el-form-item>
+          <span v-if="form.totaltype == 0">
+            <el-form-item label="研发阶段">
+              <el-select v-model="form.phase" placeholder="请选择研发阶段">
+                <el-option label="阶段成果" value="1"></el-option>
+                <el-option label="最终成果" value="2"></el-option>
+              </el-select>
+            </el-form-item>
+          </span>
+          <el-form-item label="产品简介">
+            <el-input v-model="form.introduction" placeholder="请输入产品简介"></el-input>
+          </el-form-item>
+          <el-row>
+            <el-col :span="12">
+              <el-form-item label="产品单价">
+                <el-input v-model="form.price" placeholder="产品单价"></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="12">
+              <el-form-item label="产品单位">
+                <el-select v-model="form.priceunit" placeholder="单位">
+                  <el-option v-for="(item, index) in priceunit_list" :key="index" :label="item.name" :value="item.name"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-form-item label="产品图片" prop="image">
+            <upload
+              :limit="1"
+              :data="form.image"
+              :uploadBtn="true"
+              type="image"
+              :url="`/files/image/upload`"
+              @upload="uploadSuccess"
+              @delete="uploadDelete"
+            ></upload>
+          </el-form-item>
+          <span v-if="form.totaltype == 0 || form.totaltype == 2">
+            <el-form-item label="应用领域">
+              <el-input v-model="form.field" placeholder="请输入应用领域"></el-input>
+            </el-form-item>
+          </span>
+          <el-form-item label="服务范围">
+            <el-input type="textarea" v-model="form.scope" placeholder="请输入服务范围"></el-input>
+          </el-form-item>
+          <el-form-item label="交易方式">
+            <el-select v-model="form.business" placeholder="请选择交易方式">
+              <el-option label="公用" value="0"></el-option>
+              <el-option label="竞价" value="1"></el-option>
+              <el-option label="转让" value="2"></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="联系人" prop="contact_user">
+            <el-input v-model="form.contact_user" placeholder="请输入联系人"></el-input>
+          </el-form-item>
+          <el-form-item label="联系电话" prop="contact_tel">
+            <el-input v-model="form.contact_tel" placeholder="请输入联系电话"></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-button type="primary" @click="onSubmit">发布</el-button>
+          </el-form-item>
+        </el-form>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import upload from '@/components/upload.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: maarkettype } = createNamespacedHelpers('maarkettype');
+
+export default {
+  name: 'release',
+  props: {},
+  components: {
+    upload,
+  },
+  data: function() {
+    return {
+      form: {},
+      // 产品类型
+      totaltype_list: [
+        { name: '技术', value: '0' },
+        { name: '产品', value: '1' },
+        { name: '服务', value: '2' },
+      ],
+      // 类型
+      columnList: [],
+      // 单位
+      priceunit_list: [
+        {
+          name: '公斤',
+        },
+        {
+          name: '套',
+        },
+        {
+          name: '件',
+        },
+      ],
+      rules: {
+        totaltype: [{ required: true, message: '请选择产品类型', trigger: 'blur' }],
+        name: [{ required: true, message: '请输入产品名称', trigger: 'blur' }],
+      },
+    };
+  },
+  created() {
+    this.searchType();
+  },
+  methods: {
+    ...maarkettype(['query']),
+    // 提交发布
+    onSubmit() {
+      console.log(this.form);
+    },
+    // 查询类型
+    async searchType({ category = 54, ...info } = {}) {
+      const res = await this.query({ category, ...info });
+      if (this.$checkRes(res)) {
+        this.$set(this, `columnList`, res.data);
+      }
+    },
+    // 类型选择
+    selectChild(product_type_id) {
+      let res = this.columnList.filter(fil => fil.id === product_type_id);
+      if (res.length > 0) {
+        this.$set(this.form, `product_type_name`, res[0].name);
+      }
+      this.$forceUpdate();
+    },
+
+    // 图片
+    uploadSuccess({ type, data }) {
+      let arr = _.get(this.form, type);
+      if (_.isArray(arr)) {
+        let datas = { name: data.name, url: data.uri };
+        this.form[type].push({ name: data.name, url: data.uri });
+      } else {
+        let newArr = [{ name: data.name, url: data.uri }];
+        this.$set(this.form, `${type}`, newArr);
+      }
+    },
+    // 删除图片
+    uploadDelete(index) {
+      this.form.image.splice(index, 1);
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.info {
+  margin: 0 0px 50px 0;
+  padding: 15px 0 0 0;
+}
+</style>

+ 26 - 0
src/router/index.js

@@ -19,6 +19,15 @@ const routes = [
     meta: { title: '直播大厅', isleftarrow: true },
     component: () => import('../views/live/index.vue'),
   },
+
+  // 我的发布
+  {
+    path: '/myfabu/index',
+    name: 'myfabu_index',
+    meta: { title: '我的发布', isleftarrow: true },
+    component: () => import('../views/myfabu/index.vue'),
+  },
+
   // 科技超市
   {
     path: '/market/index',
@@ -48,6 +57,21 @@ const routes = [
     meta: { title: '发布产品', isleftarrow: true },
     component: () => import('../views/market/detail.vue'),
   },
+  // 科技超市-发布产品
+  {
+    path: '/myfabu/detail',
+    name: 'myfabu_detail',
+    meta: { title: '我的发布', isleftarrow: true },
+    component: () => import('../views/myfabu/detail.vue'),
+  },
+  // 事项管理
+  {
+    path: '/matter/index',
+    name: 'matter_index',
+    meta: { title: '事项管理', isleftarrow: true },
+    component: () => import('../views/matter/index.vue'),
+  },
+
   // // 个人中心
   // {
   //   path: '/user/index',
@@ -55,6 +79,8 @@ const routes = [
   //   meta: { title: '个人中心', isleftarrow: true },
   //   component: () => import('../views/user/index.vue'),
   // },
+
+  ,
 ];
 
 const router = new VueRouter({

+ 13 - 2
src/views/home/parts/clickBtn.vue

@@ -10,11 +10,22 @@
           <p><i class="el-icon-coin"></i></p>
           <el-button type="primary" round>科技超市</el-button>
         </el-col>
-        <el-col :span="11" class="btn" v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'">
+        <el-col
+          :span="11"
+          class="btn"
+          v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'"
+          @click.native="$router.push({ path: '/myfabu/index' })"
+        >
           <p><i class="el-icon-pie-chart"></i></p>
+          matter
           <el-button type="primary" round>我的发布</el-button>
         </el-col>
-        <el-col :span="11" class="btn" v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'">
+        <el-col
+          :span="11"
+          class="btn"
+          v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'"
+          @click.native="$router.push({ path: '/myfabu/matter' })"
+        >
           <p><i class="el-icon-notebook-1"></i></p>
           <el-button type="primary" round>事项管理</el-button>
         </el-col>

+ 87 - 0
src/views/index.vue

@@ -0,0 +1,87 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="style">
+        <el-col :span="24" class="top">
+          <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
+        </el-col>
+        <el-col :span="24" class="main">
+          <upload :limit="1" :data="img_path" type="img_path" :url="'/files/imgpath/upload'" @upload="uploadSuccess"></upload>
+        </el-col>
+        <el-col :span="24" class="foot">
+          <footInfo></footInfo>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import NavBar from '@/layout/common/topInfo.vue';
+import footInfo from '@/layout/common/footInfo.vue';
+import upload from '@/components/upload.vue';
+export default {
+  name: 'index',
+  props: {},
+  components: {
+    NavBar,
+    footInfo,
+    upload,
+  },
+  data: () => ({
+    // 头部标题
+    title: '',
+    // meta为true
+    isleftarrow: '',
+    // 返回
+    navShow: true,
+    img_path: require('@/assets/logo.png'),
+  }),
+  created() {},
+  computed: {},
+  methods: {
+    uploadSuccess({ type, data }) {
+      console.log(type, data);
+      // if (type !== 'img_path') {
+      //   let arr = _.get(this.uploads, type);
+      //   if (arr !== undefined) {
+      //     this.uploads[type].push({ name: data.name, uri: data.uri });
+      //   } else {
+      //     let newArr = [{ name: data.name, uri: data.uri }];
+      //     this.$set(this.uploads, `${type}`, newArr);
+      //   }
+      // } else {
+      //   this.picLoading = false;
+      //   this.$set(this.info, `${type}`, data.uri);
+      //   this.$nextTick(() => {
+      //     this.picLoading = true;
+      //   });
+      // }
+    },
+  },
+  mounted() {
+    this.title = this.$route.meta.title;
+    this.isleftarrow = this.$route.meta.isleftarrow;
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.style {
+  width: 100%;
+  min-height: 667px;
+  position: relative;
+  background-color: #f9fafc;
+}
+.top {
+  height: 46px;
+  overflow: hidden;
+}
+.main {
+  min-height: 570px;
+}
+.foot {
+  position: absolute;
+  bottom: 0;
+}
+</style>

+ 4 - 4
src/views/market/parts/technologyList.vue

@@ -26,16 +26,16 @@ export default {
     return {
       list: [
         {
-          name: '技术技术技术技术',
+          name: '技术',
           product_type_name: '技术',
           phase: '1',
-          field: '技术技术技术技术',
+          field: '最新技术',
         },
         {
-          name: '技术技术技术技术',
+          name: '技术',
           product_type_name: '技术',
           phase: '1',
-          field: '技术技术技术技术',
+          field: '最新技术',
         },
       ],
     };

+ 131 - 0
src/views/matter/index.vue

@@ -0,0 +1,131 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="style">
+        <el-col :span="24" class="top">
+          <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
+        </el-col>
+        <el-col :span="24" class="main">
+          <el-col :span="24" class="main">
+            <el-col :span="24" class="one">
+              <van-tabs v-model="active" animated>
+                <van-tab>
+                  <template #title>
+                    <van-icon name="todo-list" />
+                    <p>我的全部</p>
+                  </template>
+                  <myallList></myallList>
+                </van-tab>
+                <van-tab>
+                  <template #title>
+                    <van-icon name="column" />
+                    <p>我的洽谈</p>
+                  </template>
+                  <Negotiation></Negotiation>
+                </van-tab>
+                <van-tab>
+                  <template #title>
+                    <van-icon name="label" />
+                    <p>我的意向</p>
+                  </template>
+                  <auditList></auditList>
+                </van-tab>
+                <van-tab>
+                  <template #title>
+                    <van-icon name="label" />
+                    <p>我的交易</p>
+                  </template>
+                  <jiaoyilist></jiaoyilist>
+                </van-tab>
+              </van-tabs>
+            </el-col>
+            <el-col :span="24" class="two">
+              <van-button type="primary" @click="$router.push({ path: '/myfabu/detail' })">发布产品</van-button>
+            </el-col>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+import NavBar from '@/layout/common/topInfo.vue';
+import myallList from './parts/myallList.vue';
+import Negotiation from './parts/Negotiation.vue';
+import auditList from './parts/auditList.vue';
+import jiaoyilist from './parts/jiaoyilist.vue';
+
+export default {
+  name: 'index',
+  props: {},
+  components: {
+    NavBar,
+    myallList,
+    Negotiation,
+    auditList,
+    jiaoyilist,
+  },
+  data: function() {
+    return {
+      // 头部标题
+      title: '',
+      // meta为true
+      isleftarrow: '',
+      // 返回
+      navShow: true,
+
+      // 标签
+      active: '1',
+    };
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  mounted() {
+    this.title = this.$route.meta.title;
+    this.isleftarrow = this.$route.meta.isleftarrow;
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.style {
+  width: 100%;
+  min-height: 667px;
+  position: relative;
+  background-color: #f9fafc;
+}
+.top {
+  height: 46px;
+  overflow: hidden;
+  position: relative;
+  z-index: 999;
+}
+.main {
+  min-height: 570px;
+  .two {
+    position: fixed;
+    top: 80%;
+
+    left: 10px;
+    z-index: 999;
+  }
+}
+/deep/.van-tab {
+  text-align: center;
+}
+/deep/.van-tabs--line .van-tabs__wrap {
+  height: 70px;
+  margin: 0 0 10px 0;
+}
+/deep/.van-tab--active {
+  color: red;
+}
+.van-icon {
+  font-size: 20px;
+}
+</style>

+ 19 - 0
src/views/matter/parts/Negotiation.vue

@@ -0,0 +1,19 @@
+<template>
+  <div id="Negotiation">
+    <p>Negotiation</p>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'Negotiation',
+  props: {},
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped></style>

+ 19 - 0
src/views/matter/parts/auditList.vue

@@ -0,0 +1,19 @@
+<template>
+  <div id="auditList">
+    <p>auditList</p>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'auditList',
+  props: {},
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped></style>

+ 19 - 0
src/views/matter/parts/jiaoyilist.vue

@@ -0,0 +1,19 @@
+<template>
+  <div id="jiaoyilist">
+    <p>jiaoyilist</p>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'jiaoyilist',
+  props: {},
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped></style>

+ 19 - 0
src/views/matter/parts/myallList.vue

@@ -0,0 +1,19 @@
+<template>
+  <div id="myallList">
+    <p>myallList</p>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'myallList',
+  props: {},
+  components: {},
+  data: () => ({}),
+  created() {},
+  computed: {},
+  methods: {},
+};
+</script>
+
+<style lang="less" scoped></style>

+ 70 - 0
src/views/myfabu/detail.vue

@@ -0,0 +1,70 @@
+<template>
+  <div id="detail">
+    <el-row>
+      <el-col :span="24" class="style">
+        <el-col :span="24" class="top">
+          <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
+        </el-col>
+        <el-col :span="24" class="main">
+          <release></release>
+        </el-col>
+        <!-- <el-col :span="24" class="foot">
+          <footInfo></footInfo>
+        </el-col> -->
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import NavBar from '@/layout/common/topInfo.vue';
+// import footInfo from '@/layout/common/footInfo.vue';
+import release from '@/layout/myfabu/release.vue';
+
+export default {
+  name: 'detail',
+  props: {},
+  components: {
+    NavBar,
+    // footInfo,
+    release, //产品发布
+  },
+  data: () => ({
+    // 头部标题
+    title: '',
+    // meta为true
+    isleftarrow: '',
+    // 返回
+    navShow: true,
+  }),
+  created() {},
+  computed: {},
+  methods: {},
+  mounted() {
+    this.title = this.$route.meta.title;
+    this.isleftarrow = this.$route.meta.isleftarrow;
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.style {
+  width: 100%;
+  min-height: 667px;
+  position: relative;
+  background-color: #f9fafc;
+}
+.top {
+  height: 46px;
+  overflow: hidden;
+  position: relative;
+  z-index: 999;
+}
+.main {
+  min-height: 570px;
+}
+.foot {
+  position: absolute;
+  bottom: 0;
+}
+</style>

+ 122 - 0
src/views/myfabu/index.vue

@@ -0,0 +1,122 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="style">
+        <el-col :span="24" class="top">
+          <NavBar v-show="navShow" :title="title" :isleftarrow="isleftarrow"> </NavBar>
+        </el-col>
+        <el-col :span="24" class="main">
+          <el-col :span="24" class="main">
+            <el-col :span="24" class="one">
+              <van-tabs v-model="active" animated>
+                <van-tab>
+                  <template #title>
+                    <van-icon name="todo-list" />
+                    <p>草稿</p>
+                  </template>
+                  <caogaoList></caogaoList>
+                </van-tab>
+                <van-tab>
+                  <template #title>
+                    <van-icon name="column" />
+                    <p>待审核</p>
+                  </template>
+                  <noauditList></noauditList>
+                </van-tab>
+                <van-tab>
+                  <template #title>
+                    <van-icon name="label" />
+                    <p>审核成功</p>
+                  </template>
+                  <auditList></auditList>
+                </van-tab>
+              </van-tabs>
+            </el-col>
+            <el-col :span="24" class="two">
+              <van-button type="primary" @click="$router.push({ path: '/myfabu/detail' })">发布产品</van-button>
+            </el-col>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+import NavBar from '@/layout/common/topInfo.vue';
+import caogaoList from './parts/caogaoList.vue';
+import noauditList from './parts/noauditList.vue';
+import auditList from './parts/auditList.vue';
+
+export default {
+  name: 'index',
+  props: {},
+  components: {
+    NavBar,
+    caogaoList,
+    noauditList,
+    auditList,
+  },
+  data: function() {
+    return {
+      // 头部标题
+      title: '',
+      // meta为true
+      isleftarrow: '',
+      // 返回
+      navShow: true,
+
+      // 标签
+      active: '1',
+    };
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  mounted() {
+    this.title = this.$route.meta.title;
+    this.isleftarrow = this.$route.meta.isleftarrow;
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.style {
+  width: 100%;
+  min-height: 667px;
+  position: relative;
+  background-color: #f9fafc;
+}
+.top {
+  height: 46px;
+  overflow: hidden;
+  position: relative;
+  z-index: 999;
+}
+.main {
+  min-height: 570px;
+  .two {
+    position: fixed;
+    top: 80%;
+
+    left: 10px;
+    z-index: 999;
+  }
+}
+/deep/.van-tab {
+  text-align: center;
+}
+/deep/.van-tabs--line .van-tabs__wrap {
+  height: 70px;
+  margin: 0 0 10px 0;
+}
+/deep/.van-tab--active {
+  color: red;
+}
+.van-icon {
+  font-size: 20px;
+}
+</style>

+ 94 - 0
src/views/myfabu/parts/auditList.vue

@@ -0,0 +1,94 @@
+<template>
+  <div id="auditList">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="list" @click.native="$router.push({ path: '/market/prodDetail' })" v-for="(item, index) in list" :key="index">
+          <p class="textOver">{{ item.name }}</p>
+          <p>
+            <span class="ptwo"><span>产品类型:</span>{{ item.product_type_name || '暂无' }}</span>
+            <span class="ptwo"><span>研发阶段:</span>{{ item.phase == 1 ? '阶段成果' : item.phase == 2 ? '最终成果' : '暂无' }}</span>
+          </p>
+          <p class="textOver"><span>应用领域:</span>{{ item.field || '暂无' }}</p>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: product } = createNamespacedHelpers('marketproduct');
+export default {
+  name: 'auditList',
+  props: {},
+  components: {},
+  data: function() {
+    return {
+      list: [
+        {
+          name: '最最新新技术',
+          product_type_name: '技术',
+          phase: '1',
+          field: '最新技术',
+        },
+        {
+          name: '最最新新技术',
+          product_type_name: '技术',
+          phase: '1',
+          field: '最新技术',
+        },
+      ],
+    };
+  },
+  created() {
+    this.searchInfo();
+  },
+  methods: {
+    ...product(['newquery']),
+    async searchInfo() {
+      // let res = await this.newquery({ skip: 0, limit: 6, totaltype: '0', status: '1' });
+      // if (this.$checkRes(res)) {
+      //   this.$set(this, `list`, res.data);
+      // }
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.info {
+  border-top: 1px solid #f5f5f5;
+  .list {
+    background: #fff;
+    padding: 0 10px;
+    border-bottom: 1px solid #ccc;
+    p {
+      font-size: 14px;
+      color: #000;
+      padding: 5px 0;
+    }
+    p:first-child {
+      font-size: 16px;
+    }
+    p:nth-child(2) .ptwo {
+      display: inline-block;
+      width: 50%;
+    }
+    p:nth-child(2) .ptwo span:first-child {
+      color: #ccc;
+    }
+    p:last-child span {
+      color: #ccc;
+    }
+  }
+}
+</style>

+ 94 - 0
src/views/myfabu/parts/caogaoList.vue

@@ -0,0 +1,94 @@
+<template>
+  <div id="technologyList">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="list" @click.native="$router.push({ path: '/market/prodDetail' })" v-for="(item, index) in list" :key="index">
+          <p class="textOver">{{ item.name }}</p>
+          <p>
+            <span class="ptwo"><span>产品类型:</span>{{ item.product_type_name || '暂无' }}</span>
+            <span class="ptwo"><span>研发阶段:</span>{{ item.phase == 1 ? '阶段成果' : item.phase == 2 ? '最终成果' : '暂无' }}</span>
+          </p>
+          <p class="textOver"><span>应用领域:</span>{{ item.field || '暂无' }}</p>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: product } = createNamespacedHelpers('marketproduct');
+export default {
+  name: 'technologyList',
+  props: {},
+  components: {},
+  data: function() {
+    return {
+      list: [
+        {
+          name: '技术技术技术技术',
+          product_type_name: '技术',
+          phase: '1',
+          field: '技术技术技术技术',
+        },
+        {
+          name: '技术技术技术技术',
+          product_type_name: '技术',
+          phase: '1',
+          field: '技术技术技术技术',
+        },
+      ],
+    };
+  },
+  created() {
+    this.searchInfo();
+  },
+  methods: {
+    ...product(['newquery']),
+    async searchInfo() {
+      // let res = await this.newquery({ skip: 0, limit: 6, totaltype: '0', status: '1' });
+      // if (this.$checkRes(res)) {
+      //   this.$set(this, `list`, res.data);
+      // }
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.info {
+  border-top: 1px solid #f5f5f5;
+  .list {
+    background: #fff;
+    padding: 0 10px;
+    border-bottom: 1px solid #ccc;
+    p {
+      font-size: 14px;
+      color: #000;
+      padding: 5px 0;
+    }
+    p:first-child {
+      font-size: 16px;
+    }
+    p:nth-child(2) .ptwo {
+      display: inline-block;
+      width: 50%;
+    }
+    p:nth-child(2) .ptwo span:first-child {
+      color: #ccc;
+    }
+    p:last-child span {
+      color: #ccc;
+    }
+  }
+}
+</style>

+ 94 - 0
src/views/myfabu/parts/noauditList.vue

@@ -0,0 +1,94 @@
+<template>
+  <div id="noauditList">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="list" @click.native="$router.push({ path: '/market/prodDetail' })" v-for="(item, index) in list" :key="index">
+          <p class="textOver">{{ item.name }}</p>
+          <p>
+            <span class="ptwo"><span>产品类型:</span>{{ item.product_type_name || '暂无' }}</span>
+            <span class="ptwo"><span>研发阶段:</span>{{ item.phase == 1 ? '阶段成果' : item.phase == 2 ? '最终成果' : '暂无' }}</span>
+          </p>
+          <p class="textOver"><span>应用领域:</span>{{ item.field || '暂无' }}</p>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: product } = createNamespacedHelpers('marketproduct');
+export default {
+  name: 'noauditList',
+  props: {},
+  components: {},
+  data: function() {
+    return {
+      list: [
+        {
+          name: '新技术',
+          product_type_name: '技术',
+          phase: '1',
+          field: '最新技术',
+        },
+        {
+          name: '新技术',
+          product_type_name: '技术',
+          phase: '1',
+          field: '最新技术',
+        },
+      ],
+    };
+  },
+  created() {
+    this.searchInfo();
+  },
+  methods: {
+    ...product(['newquery']),
+    async searchInfo() {
+      // let res = await this.newquery({ skip: 0, limit: 6, totaltype: '0', status: '1' });
+      // if (this.$checkRes(res)) {
+      //   this.$set(this, `list`, res.data);
+      // }
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.info {
+  border-top: 1px solid #f5f5f5;
+  .list {
+    background: #fff;
+    padding: 0 10px;
+    border-bottom: 1px solid #ccc;
+    p {
+      font-size: 14px;
+      color: #000;
+      padding: 5px 0;
+    }
+    p:first-child {
+      font-size: 16px;
+    }
+    p:nth-child(2) .ptwo {
+      display: inline-block;
+      width: 50%;
+    }
+    p:nth-child(2) .ptwo span:first-child {
+      color: #ccc;
+    }
+    p:last-child span {
+      color: #ccc;
+    }
+  }
+}
+</style>