guhongwei преди 4 години
родител
ревизия
8e8c11f188

Файловите разлики са ограничени, защото са твърде много
+ 10 - 6
src/assets/icon/iconfont.css


BIN
src/assets/icon/iconfont.eot


Файловите разлики са ограничени, защото са твърде много
+ 1 - 1
src/assets/icon/iconfont.js


+ 7 - 0
src/assets/icon/iconfont.json

@@ -5,6 +5,13 @@
   "css_prefix_text": "icon",
   "description": "",
   "glyphs": [
+    {
+      "icon_id": "16392814",
+      "name": "政策",
+      "font_class": "zhengce1",
+      "unicode": "e6d1",
+      "unicode_decimal": 59089
+    },
     {
       "icon_id": "609719",
       "name": "信息",

Файловите разлики са ограничени, защото са твърде много
+ 3 - 0
src/assets/icon/iconfont.svg


BIN
src/assets/icon/iconfont.ttf


BIN
src/assets/icon/iconfont.woff


BIN
src/assets/icon/iconfont.woff2


+ 30 - 37
src/router/index.js

@@ -271,43 +271,36 @@ const web = [
         meta: { title: '技术超市-信息管理' },
         component: () => import('../views/adminCenter/company/product/detail.vue'),
       },
-      // {
-      //   path: '/adminCenter/company/policy',
-      //   name: 'company_policy_index',
-      //   meta: { title: '政策服务管理' },
-      //   component: () => import('../views/adminCenter/company/policy/index.vue'),
-      // },
-      // {
-      //   path: '/adminCenter/company/policy/detail',
-      //   name: 'company_policy_detail',
-      //   meta: { title: '政策服务申请' },
-      //   component: () => import('../views/adminCenter/company/policy/detail.vue'),
-      // },
-      // {
-      //   path: '/adminCenter/company/ticket',
-      //   name: 'company_ticket_index',
-      //   meta: { title: '创新券管理' },
-      //   component: () => import('../views/adminCenter/company/ticket/index.vue'),
-      // },
-      // {
-      //   path: '/adminCenter/company/ticket/detail',
-      //   name: 'company_ticket_detail',
-      //   meta: { title: '创新券信息管理' },
-      //   component: () => import('../views/adminCenter/company/ticket/detail.vue'),
-      // },
-      // {
-      //   path: '/adminCenter/company/ticket/info',
-      //   name: 'company_ticket_info',
-      //   meta: { title: '创新券信息查看' },
-      //   component: () => import('../views/adminCenter/company/ticket/info.vue'),
-      // },
-      // {
-      //   path: '/adminCenter/company/ticket/update',
-      //   name: 'company_ticket_update',
-      //   meta: { title: '创新券信息重申' },
-      //   component: () => import('../views/adminCenter/company/ticket/update.vue'),
-      // },
-
+      {
+        path: '/adminCenter/company/subsidy',
+        name: 'company_subsidy_index',
+        meta: { title: '研发补贴' },
+        component: () => import('../views/adminCenter/company/subsidy/index.vue'),
+      },
+      {
+        path: '/adminCenter/company/subsidy/detail',
+        name: 'company_subsidy_detail',
+        meta: { title: '研发补贴-信息管理' },
+        component: () => import('../views/adminCenter/company/subsidy/detail.vue'),
+      },
+      {
+        path: '/adminCenter/company/reward',
+        name: 'company_reward_index',
+        meta: { title: '奖励兑现' },
+        component: () => import('../views/adminCenter/company/reward/index.vue'),
+      },
+      {
+        path: '/adminCenter/company/reward/detail',
+        name: 'company_reward_detail',
+        meta: { title: '奖励兑现-信息管理' },
+        component: () => import('../views/adminCenter/company/reward/detail.vue'),
+      },
+      {
+        path: '/adminCenter/company/cognizance',
+        name: 'company_cognizance_index',
+        meta: { title: '高企认定' },
+        component: () => import('../views/adminCenter/company/cognizance/index.vue'),
+      },
       // 中介机构
       {
         path: '/adminCenter/inter/basic',

+ 36 - 0
src/views/adminCenter/company/cognizance/index.vue

@@ -0,0 +1,36 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="main"> test </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'index',
+  props: {},
+  components: {},
+  data: function () {
+    return {};
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped></style>

+ 172 - 0
src/views/adminCenter/company/reward/detail.vue

@@ -0,0 +1,172 @@
+<template>
+  <div id="detail">
+    <el-row>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="one">
+          <el-col :span="24" class="top">
+            <el-button type="primary" size="mini" @click="back">返回</el-button>
+          </el-col>
+          <el-col :span="24" class="down">
+            <el-form :model="form" :rules="rules" ref="form" label-width="100px">
+              <el-col :span="24" class="text">
+                <el-form-item label="申请单位" prop="company">
+                  <el-input v-model="form.company" placeholder="请输入申请单位"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="申请人" prop="apply_personal">
+                  <el-input v-model="form.apply_personal" placeholder="请输入申请人"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="联系电话" prop="phone">
+                  <el-input v-model="form.phone" placeholder="请输入联系电话"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="法人复印件" prop="qyfr">
+                  <e-upload url="/files/cysci/qyfr_file/upload" :limit="1" v-model="form.qyfr" type="text"></e-upload>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="企业营业执照" prop="yyzz">
+                  <e-upload url="/files/cysci/yyzz_file/upload" :limit="1" v-model="form.yyzz" type="text"></e-upload>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="企业利润表" prop="qylr">
+                  <e-upload url="/files/cysci/qylr_file/upload" :limit="1" v-model="form.qylr" type="text"></e-upload>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="申领状态" prop="status">
+                  <el-radio-group v-model="form.status" disabled>
+                    <el-radio v-for="(i, index) in statusList" :key="index" :label="i.value">{{ i.label }}</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="申领意见" prop="desc">
+                  <el-input v-model="form.desc" type="textarea" :autosize="{ minRows: 4, maxRows: 6 }" show-word-limit disabled></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="formBtn" v-if="form.status == ''">
+                <el-button type="danger" size="mini" @click="back">取消申领</el-button>
+                <el-button type="primary" size="mini" @click="onSubmit('form')">提交资料</el-button>
+              </el-col>
+            </el-form>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+const _ = require('lodash');
+const { policyType, policyStatus } = require('@common/dict/index');
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: policy } = createNamespacedHelpers('policy');
+export default {
+  name: 'detail',
+  props: {},
+  components: {},
+  data: function () {
+    return {
+      form: {
+        qyfr: [],
+        yyzz: [],
+        qylr: [],
+        status: '',
+      },
+      rules: {},
+      typeList: policyType,
+      statusList: policyStatus,
+    };
+  },
+  created() {
+    if (this.id) this.search();
+  },
+  methods: {
+    ...policy(['fetch', 'create']),
+    async search() {
+      const res = await this.fetch(this.id);
+      if (this.$checkRes(res)) {
+        this.$set(this, `form`, res.data);
+      }
+    },
+    onSubmit(formName) {
+      this.$refs[formName].validate(async (valid) => {
+        if (valid) {
+          let data = this.form;
+          data.status = '0';
+          data.type = '奖励兑现';
+          let res = await this.create(data);
+          if (this.$checkRes(res)) {
+            this.$message({
+              message: '奖励兑现政策服务申报成功,请耐心等待结果',
+              type: 'success',
+            });
+            this.back();
+          }
+        } else {
+          console.log('error submit!!');
+          return false;
+        }
+      });
+    },
+    back() {
+      this.$router.push({ path: '/adminCenter/company/subsidy' });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  border-radius: 10px;
+  box-shadow: 0 0 5px #cccccc;
+  padding: 20px;
+  .one {
+    .top {
+      text-align: right;
+      margin: 0 0 15px 0;
+    }
+    .down {
+      .text {
+        border-bottom: 1px dashed #333;
+      }
+      /deep/.el-form-item {
+        padding: 20px 10px;
+        margin: 0;
+      }
+      /deep/.el-input__inner {
+        border: 1px solid #333;
+      }
+      .formBtn {
+        text-align: center;
+        padding: 15px 0;
+      }
+    }
+  }
+}
+.main:hover {
+  box-shadow: 0 0 5px #409eff;
+}
+</style>

+ 105 - 0
src/views/adminCenter/company/reward/index.vue

@@ -0,0 +1,105 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="one">
+          <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search" @view="toView">
+            <template #selfbtn>
+              <el-button type="primary" size="mini" @click="toAdd">申请奖励兑现服务</el-button>
+            </template>
+            <template #options="{ item }">
+              <template v-if="item.prop === 'type'">
+                <el-option v-for="(i, index) in typeList" :key="`type-${index}`" :label="i" :value="i"></el-option>
+              </template>
+            </template>
+          </data-table>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+const { policyType, policyStatus } = require('@common/dict/index');
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: policy } = createNamespacedHelpers('policy');
+export default {
+  name: 'index',
+  props: {},
+  components: {},
+  data: function () {
+    return {
+      list: [],
+      total: 0,
+      opera: [
+        {
+          label: '查看',
+          method: 'view',
+        },
+      ],
+      fields: [
+        { label: '申请单位', prop: 'company', filter: 'input' },
+        { label: '申请类型', prop: 'type' },
+        { label: '申请人', prop: 'apply_personal', filter: 'input' },
+        { label: '联系电话', prop: 'phone' },
+        {
+          label: '审核状态',
+          prop: 'status',
+          format: (i) => {
+            const r = policyStatus.find((f) => f.value === i);
+            if (r) return r.label;
+            else return '';
+          },
+        },
+      ],
+      typeList: policyType,
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    ...policy(['query', 'delete']),
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      info.type = '奖励兑现';
+      const res = await this.query({ skip, limit, ...info });
+      if (this.$checkRes(res)) {
+        this.$set(this, `list`, res.data);
+        this.$set(this, `total`, res.total);
+      }
+    },
+    // 申请政策服务
+    toAdd() {
+      this.$router.push({ path: '/adminCenter/company/reward/detail' });
+    },
+    // 查看政策服务
+    toView({ data }) {
+      this.$router.push({ path: '/adminCenter/company/reward/detail', query: { id: data._id } });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  border-radius: 10px;
+  box-shadow: 0 0 5px #cccccc;
+  padding: 20px;
+}
+.main:hover {
+  box-shadow: 0 0 5px #409eff;
+}
+</style>

+ 172 - 0
src/views/adminCenter/company/subsidy/detail.vue

@@ -0,0 +1,172 @@
+<template>
+  <div id="detail">
+    <el-row>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="one">
+          <el-col :span="24" class="top">
+            <el-button type="primary" size="mini" @click="back">返回</el-button>
+          </el-col>
+          <el-col :span="24" class="down">
+            <el-form :model="form" :rules="rules" ref="form" label-width="100px">
+              <el-col :span="24" class="text">
+                <el-form-item label="申请单位" prop="company">
+                  <el-input v-model="form.company" placeholder="请输入申请单位"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="申请人" prop="apply_personal">
+                  <el-input v-model="form.apply_personal" placeholder="请输入申请人"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="联系电话" prop="phone">
+                  <el-input v-model="form.phone" placeholder="请输入联系电话"></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="法人复印件" prop="qyfr">
+                  <e-upload url="/files/cysci/qyfr_file/upload" :limit="1" v-model="form.qyfr" type="text"></e-upload>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="企业营业执照" prop="yyzz">
+                  <e-upload url="/files/cysci/yyzz_file/upload" :limit="1" v-model="form.yyzz" type="text"></e-upload>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="企业利润表" prop="qylr">
+                  <e-upload url="/files/cysci/qylr_file/upload" :limit="1" v-model="form.qylr" type="text"></e-upload>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="申领状态" prop="status">
+                  <el-radio-group v-model="form.status" disabled>
+                    <el-radio v-for="(i, index) in statusList" :key="index" :label="i.value">{{ i.label }}</el-radio>
+                  </el-radio-group>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="text">
+                <el-form-item label="申领意见" prop="desc">
+                  <el-input v-model="form.desc" type="textarea" :autosize="{ minRows: 4, maxRows: 6 }" show-word-limit disabled></el-input>
+                </el-form-item>
+              </el-col>
+              <el-col :span="24" class="formBtn" v-if="form.status == ''">
+                <el-button type="danger" size="mini" @click="back">取消申领</el-button>
+                <el-button type="primary" size="mini" @click="onSubmit('form')">提交资料</el-button>
+              </el-col>
+            </el-form>
+          </el-col>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+const _ = require('lodash');
+const { policyType, policyStatus } = require('@common/dict/index');
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: policy } = createNamespacedHelpers('policy');
+export default {
+  name: 'detail',
+  props: {},
+  components: {},
+  data: function () {
+    return {
+      form: {
+        qyfr: [],
+        yyzz: [],
+        qylr: [],
+        status: '',
+      },
+      rules: {},
+      typeList: policyType,
+      statusList: policyStatus,
+    };
+  },
+  created() {
+    if (this.id) this.search();
+  },
+  methods: {
+    ...policy(['fetch', 'create']),
+    async search() {
+      const res = await this.fetch(this.id);
+      if (this.$checkRes(res)) {
+        this.$set(this, `form`, res.data);
+      }
+    },
+    onSubmit(formName) {
+      this.$refs[formName].validate(async (valid) => {
+        if (valid) {
+          let data = this.form;
+          data.status = '0';
+          data.type = '研发补贴';
+          let res = await this.create(data);
+          if (this.$checkRes(res)) {
+            this.$message({
+              message: '研发补贴政策服务申报成功,请耐心等待结果',
+              type: 'success',
+            });
+            this.back();
+          }
+        } else {
+          console.log('error submit!!');
+          return false;
+        }
+      });
+    },
+    back() {
+      this.$router.push({ path: '/adminCenter/company/reward' });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  border-radius: 10px;
+  box-shadow: 0 0 5px #cccccc;
+  padding: 20px;
+  .one {
+    .top {
+      text-align: right;
+      margin: 0 0 15px 0;
+    }
+    .down {
+      .text {
+        border-bottom: 1px dashed #333;
+      }
+      /deep/.el-form-item {
+        padding: 20px 10px;
+        margin: 0;
+      }
+      /deep/.el-input__inner {
+        border: 1px solid #333;
+      }
+      .formBtn {
+        text-align: center;
+        padding: 15px 0;
+      }
+    }
+  }
+}
+.main:hover {
+  box-shadow: 0 0 5px #409eff;
+}
+</style>

+ 105 - 0
src/views/adminCenter/company/subsidy/index.vue

@@ -0,0 +1,105 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="one">
+          <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search" @view="toView">
+            <template #selfbtn>
+              <el-button type="primary" size="mini" @click="toAdd">申请研发补贴服务</el-button>
+            </template>
+            <template #options="{ item }">
+              <template v-if="item.prop === 'type'">
+                <el-option v-for="(i, index) in typeList" :key="`type-${index}`" :label="i" :value="i"></el-option>
+              </template>
+            </template>
+          </data-table>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+const { policyType, policyStatus } = require('@common/dict/index');
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: policy } = createNamespacedHelpers('policy');
+export default {
+  name: 'index',
+  props: {},
+  components: {},
+  data: function () {
+    return {
+      list: [],
+      total: 0,
+      opera: [
+        {
+          label: '查看',
+          method: 'view',
+        },
+      ],
+      fields: [
+        { label: '申请单位', prop: 'company', filter: 'input' },
+        { label: '申请类型', prop: 'type' },
+        { label: '申请人', prop: 'apply_personal', filter: 'input' },
+        { label: '联系电话', prop: 'phone' },
+        {
+          label: '审核状态',
+          prop: 'status',
+          format: (i) => {
+            const r = policyStatus.find((f) => f.value === i);
+            if (r) return r.label;
+            else return '';
+          },
+        },
+      ],
+      typeList: policyType,
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    ...policy(['query', 'delete']),
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      info.type = '研发补贴';
+      const res = await this.query({ skip, limit, ...info });
+      if (this.$checkRes(res)) {
+        this.$set(this, `list`, res.data);
+        this.$set(this, `total`, res.total);
+      }
+    },
+    // 申请政策服务
+    toAdd() {
+      this.$router.push({ path: '/adminCenter/company/subsidy/detail' });
+    },
+    // 查看政策服务
+    toView({ data }) {
+      this.$router.push({ path: '/adminCenter/company/subsidy/detail', query: { id: data._id } });
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  watch: {
+    test: {
+      deep: true,
+      immediate: true,
+      handler(val) {},
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  border-radius: 10px;
+  box-shadow: 0 0 5px #cccccc;
+  padding: 20px;
+}
+.main:hover {
+  box-shadow: 0 0 5px #409eff;
+}
+</style>

src/views/adminCenter/company/policy/detail.vue → src/views/adminCenter/company/备份/policy/detail.vue


src/views/adminCenter/company/policy/index.vue → src/views/adminCenter/company/备份/policy/index.vue


src/views/adminCenter/company/ticket/detail.vue → src/views/adminCenter/company/备份/ticket/detail.vue


src/views/adminCenter/company/ticket/index.vue → src/views/adminCenter/company/备份/ticket/index.vue


src/views/adminCenter/company/ticket/info.vue → src/views/adminCenter/company/备份/ticket/info.vue


src/views/adminCenter/company/ticket/update.vue → src/views/adminCenter/company/备份/ticket/update.vue