wuhongyu 4 years ago
parent
commit
c4b5a694b4

+ 17 - 4
src/views/vipCenter/statisInfo/index.vue

@@ -4,7 +4,14 @@
       <el-col :span="24">
         <el-col :span="24" class="leftTop"> <span>|</span> <span>统计报表</span> </el-col>
         <el-col :span="24" class="info">
-          统计报表
+          <el-tabs v-model="activeName" type="card">
+            <el-tab-pane label="技术需求" name="first">
+              <technology></technology>
+            </el-tab-pane>
+            <el-tab-pane label="可转化成果" name="second">
+              <achievements></achievements>
+            </el-tab-pane>
+          </el-tabs>
         </el-col>
       </el-col>
     </el-row>
@@ -13,12 +20,18 @@
 
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
+import technology from './parts/technology.vue';
+import achievements from './parts/achievements.vue';
+
 export default {
   name: 'index',
   props: {},
-  components: {},
+  components: {
+    technology,
+    achievements,
+  },
   data: function() {
-    return {};
+    return { activeName: 'first' };
   },
   created() {},
   methods: {},
@@ -48,6 +61,6 @@ export default {
   color: #22529a;
 }
 .info {
-  padding: 0 40px 0 0;
+  padding: 0 38px 0 10px;
 }
 </style>

+ 148 - 0
src/views/vipCenter/statisInfo/parts/achievements.vue

@@ -0,0 +1,148 @@
+<template>
+  <div id="column">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="list">
+          <template>
+            <el-col :span="24" class="search">
+              <el-col :span="5">
+                <el-select v-model="field" placeholder="请选择所属领域" @change="change">
+                  <el-option label="先进制造" value="0"></el-option>
+                  <el-option label="新材料" value="1"></el-option>
+                  <el-option label="光电子" value="2"></el-option>
+                  <el-option label="信息技术" value="3"></el-option>
+                  <el-option label="文化和科技融合" value="4"></el-option>
+                </el-select>
+              </el-col>
+              <el-col :span="12">
+                <el-radio-group v-model="radio1" @change="submits">
+                  <el-radio label="0" border>是我处支持范围</el-radio>
+                  <el-radio label="1" border>不是我处支持范围</el-radio>
+                </el-radio-group>
+              </el-col>
+            </el-col>
+            <el-table :data="list" style="width: 100%" border>
+              <el-table-column type="index" label="序号" width="50" align="center"> </el-table-column>
+              <el-table-column prop="name" label="商品名称 " align="center"> </el-table-column>
+              <el-table-column prop="company" label="所属单位 " align="center"> </el-table-column>
+              <el-table-column prop="field" label="所属技术领域" align="center">
+                <template v-slot="scoped">
+                  {{
+                    scoped.row.field == '0'
+                      ? '先进制造'
+                      : scoped.row.field == '1'
+                      ? '新材料'
+                      : scoped.row.field == '2'
+                      ? '光电子'
+                      : scoped.row.field == '3'
+                      ? '信息技术'
+                      : scoped.row.field == '4'
+                      ? '文化和科技融合'
+                      : '暂无'
+                  }}
+                </template>
+              </el-table-column>
+              <!-- <el-table-column label="操作" align="center">
+                <template slot-scope="scoped">
+                  <el-button v-if="scoped.row.status == 4" type="primary" size="mini" @click="shareBtn(scoped.row.id)">审核 </el-button>
+                  
+              </el-table-column> -->
+            </el-table>
+            <el-col :span="24" class="page">
+              <page v-bind="$attrs" position="center" :limit="limit" :total="total" @query="search"></page>
+            </el-col>
+          </template>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import page from '@/components/pagination.vue';
+import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
+const { mapActions: product } = createNamespacedHelpers('marketproduct');
+export default {
+  name: 'column',
+  props: {},
+  components: {
+    page,
+  },
+  data: () => ({
+    currentPage: 0,
+    pageSize: 10,
+    limit: 10,
+    total: 0,
+    list: [],
+    field: [],
+    radio1: '',
+  }),
+  created() {
+    this.search();
+  },
+  computed: {},
+  methods: {
+    ...product({ productQuery: 'query' }),
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      if (this.field) {
+        if (this.radio1) {
+          let res = await this.productQuery({ skip, totaltype: 1, field: this.field, radio1: this.radio1, limit, ...info });
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        } else {
+          let res = await this.productQuery({ skip, totaltype: 1, field: this.field, limit, ...info });
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      } else if (this.radio1) {
+        if (this.field) {
+          let res = await this.productQuery({ skip, totaltype: 1, field: this.field, radio1: this.radio1, limit, ...info });
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        } else {
+          let res = await this.productQuery({ skip, totaltype: 1, radio1: this.radio1, limit, ...info });
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      } else {
+        let res = await this.productQuery({ skip, totaltype: 1, limit, ...info });
+        this.$set(this, `list`, res.data);
+        this.$set(this, `total`, res.total);
+      }
+    },
+    async change(value) {
+      this.$set(this, `field`, value);
+      this.search();
+    },
+
+    submits(value) {
+      this.$set(this, `radio1`, value);
+      this.search();
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.top {
+  padding: 15px 0;
+  border-bottom: 1px solid #cccc;
+}
+.top .topTitle {
+  padding: 0 10px;
+}
+.top .topAdd {
+  padding: 0 10px 0 0;
+  text-align: right;
+}
+.search {
+  padding: 0 0 18px 0;
+}
+.anniu {
+  padding: 0 10px 0 0;
+}
+.page {
+  padding: 20px 0;
+  text-align: center;
+}
+</style>

+ 149 - 0
src/views/vipCenter/statisInfo/parts/technology.vue

@@ -0,0 +1,149 @@
+<template>
+  <div id="column">
+    <el-row>
+      <el-col :span="24" class="info">
+        <el-col :span="24" class="list">
+          <template>
+            <el-col :span="24" class="search">
+              <el-col :span="5">
+                <el-select v-model="field" placeholder="请选择所属领域" @change="change">
+                  <el-option label="先进制造" value="0"></el-option>
+                  <el-option label="新材料" value="1"></el-option>
+                  <el-option label="光电子" value="2"></el-option>
+                  <el-option label="信息技术" value="3"></el-option>
+                  <el-option label="文化和科技融合" value="4"></el-option>
+                </el-select>
+              </el-col>
+              <el-col :span="12">
+                <el-radio-group v-model="radio1" @change="submits">
+                  <el-radio label="0" border>是我处支持范围</el-radio>
+                  <el-radio label="1" border>不是我处支持范围</el-radio>
+                </el-radio-group>
+              </el-col>
+            </el-col>
+            <el-table :data="list" style="width: 100%" border>
+              <el-table-column type="index" label="序号" width="50" align="center"> </el-table-column>
+              <el-table-column prop="name" label="商品名称 " align="center"> </el-table-column>
+              <el-table-column prop="field" label="所属技术领域" align="center">
+                <template v-slot="scoped">
+                  {{
+                    scoped.row.field == '0'
+                      ? '先进制造'
+                      : scoped.row.field == '1'
+                      ? '新材料'
+                      : scoped.row.field == '2'
+                      ? '光电子'
+                      : scoped.row.field == '3'
+                      ? '信息技术'
+                      : scoped.row.field == '4'
+                      ? '文化和科技融合'
+                      : '暂无'
+                  }}
+                </template>
+              </el-table-column>
+              <!-- <el-table-column label="操作" align="center">
+                <template slot-scope="scoped">
+                  <el-button v-if="scoped.row.status == 4" type="primary" size="mini" @click="shareBtn(scoped.row.id)">审核 </el-button>
+                  
+              </el-table-column> -->
+            </el-table>
+            <el-col :span="24" class="page">
+              <page v-bind="$attrs" position="center" :limit="limit" :total="total" @query="search"></page>
+            </el-col>
+          </template>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import page from '@/components/pagination.vue';
+import { createNamespacedHelpers, mapGetters, mapState } from 'vuex';
+const { mapActions: product } = createNamespacedHelpers('marketproduct');
+export default {
+  name: 'column',
+  props: {},
+  components: {
+    page,
+  },
+  data: () => ({
+    currentPage: 0,
+    pageSize: 10,
+    limit: 10,
+    total: 0,
+    list: [],
+    field: [],
+    radio1: '',
+  }),
+  created() {
+    this.search();
+  },
+  computed: {},
+  methods: {
+    ...product({ productQuery: 'query' }),
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      if (this.field) {
+        if (this.radio1) {
+          let res = await this.productQuery({ skip, totaltype: 0, field: this.field, radio1: this.radio1, limit, ...info });
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        } else {
+          let res = await this.productQuery({ skip, totaltype: 0, field: this.field, limit, ...info });
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      } else if (this.radio1) {
+        if (this.field) {
+          let res = await this.productQuery({ skip, totaltype: 0, field: this.field, radio1: this.radio1, limit, ...info });
+
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        } else {
+          let res = await this.productQuery({ skip, totaltype: 0, radio1: this.radio1, limit, ...info });
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      } else {
+        let res = await this.productQuery({ skip, totaltype: 0, limit, ...info });
+        this.$set(this, `list`, res.data);
+        this.$set(this, `total`, res.total);
+      }
+    },
+
+    async change(value) {
+      this.$set(this, `field`, value);
+      this.search();
+    },
+
+    submits(value) {
+      this.$set(this, `radio1`, value);
+      this.search();
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.top {
+  padding: 15px 0;
+  border-bottom: 1px solid #cccc;
+}
+.top .topTitle {
+  padding: 0 10px;
+}
+.top .topAdd {
+  padding: 0 10px 0 0;
+  text-align: right;
+}
+.search {
+  padding: 0 0 18px 0;
+}
+.anniu {
+  padding: 0 10px 0 0;
+}
+.page {
+  padding: 20px 0;
+  text-align: center;
+}
+</style>