|
@@ -0,0 +1,161 @@
|
|
|
+<template>
|
|
|
+ <div id="index">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24" class="main">
|
|
|
+ <el-col :span="24" class="top">
|
|
|
+ <top topType="2" :leftArrow="false"></top>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="info" :style="{ height: clientHeight + 'px' }">
|
|
|
+ <van-form>
|
|
|
+ <van-field name="radio" label="政策类型" label-width="60">
|
|
|
+ <template #input>
|
|
|
+ <van-radio-group v-model="form.type" direction="horizontal">
|
|
|
+ <van-radio name="研发补贴">研发补贴</van-radio>
|
|
|
+ <van-radio name="奖励兑现">奖励兑现</van-radio>
|
|
|
+ <van-radio name="创新券">创新券</van-radio>
|
|
|
+ </van-radio-group>
|
|
|
+ </template>
|
|
|
+ </van-field>
|
|
|
+ <van-field v-model="form.company" label="申请单位" placeholder="申请单位" :rules="[{ required: true, message: '请填写申请单位' }]" />
|
|
|
+ <van-field v-model="form.apply_personal" label="申请人" placeholder="申请人" :rules="[{ required: true, message: '请填写申请人' }]" />
|
|
|
+ <van-field v-model="form.phone" label="联系电话" placeholder="联系电话" :rules="[{ required: true, message: '请填写联系电话' }]" />
|
|
|
+ <van-field name="uploader" label="法人复印件" label-width="70">
|
|
|
+ <template #input>
|
|
|
+ <van-uploader
|
|
|
+ :fileList="form.qyfr"
|
|
|
+ :max-count="1"
|
|
|
+ :after-read="(file) => toUpload(file, 'qyfr')"
|
|
|
+ @delete="(file) => toDelete(file, 'qyfr')"
|
|
|
+ max-size="11534336"
|
|
|
+ @oversize="onOversize"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </van-field>
|
|
|
+ <van-field name="uploader" label="营业执照" label-width="70">
|
|
|
+ <template #input>
|
|
|
+ <van-uploader
|
|
|
+ :fileList="form.yyzz"
|
|
|
+ :max-count="1"
|
|
|
+ :after-read="(file) => toUpload(file, 'yyzz')"
|
|
|
+ @delete="(file) => toDelete(file, 'yyzz')"
|
|
|
+ max-size="11534336"
|
|
|
+ @oversize="onOversize"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </van-field>
|
|
|
+ <van-field name="uploader" label="企业利润表" label-width="70">
|
|
|
+ <template #input>
|
|
|
+ <van-uploader
|
|
|
+ :fileList="form.qylr"
|
|
|
+ :max-count="1"
|
|
|
+ :after-read="(file) => toUpload(file, 'qylr')"
|
|
|
+ @delete="(file) => toDelete(file, 'qylr')"
|
|
|
+ max-size="11534336"
|
|
|
+ @oversize="onOversize"
|
|
|
+ />
|
|
|
+ </template>
|
|
|
+ </van-field>
|
|
|
+ <van-col span="24" class="btn">
|
|
|
+ <van-button type="danger" round>取消申报</van-button>
|
|
|
+ <van-button type="info" round @click="oneSubmit">提交申报</van-button>
|
|
|
+ </van-col>
|
|
|
+ </van-form>
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import top from '@/layout/common/top.vue';
|
|
|
+import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
+const { mapActions: upload } = createNamespacedHelpers('upload');
|
|
|
+const { mapActions: mapPolicy } = createNamespacedHelpers('policy');
|
|
|
+export default {
|
|
|
+ name: 'index',
|
|
|
+ props: {},
|
|
|
+ components: {
|
|
|
+ top,
|
|
|
+ },
|
|
|
+ data: function () {
|
|
|
+ return {
|
|
|
+ clientHeight: '',
|
|
|
+ form: {
|
|
|
+ qyfr: [],
|
|
|
+ yyzz: [],
|
|
|
+ qylr: [],
|
|
|
+ status: '0',
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+ async created() {},
|
|
|
+ mounted() {
|
|
|
+ let clientHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 40;
|
|
|
+ this.$set(this, `clientHeight`, clientHeight);
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ ...upload(['upload']),
|
|
|
+ ...mapPolicy(['create']),
|
|
|
+ async oneSubmit() {
|
|
|
+ let data = _.get(this, 'form');
|
|
|
+ data.user_id = this.user.id;
|
|
|
+ let res = await this.create(data);
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
+ this.$toast({ type: 'success', message: '政策服务申报成功,请耐心等待结果' });
|
|
|
+ this.$router.push({ path: '/userCenter' });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ async toUpload({ file }, model) {
|
|
|
+ // 上传,赋值
|
|
|
+ const res = await this.upload({ file, dir: 'serve' });
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
+ this.form[model].push({ url: res.uri, name: res.name });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ toDelete(file, model) {
|
|
|
+ const index = this.form[model].findIndex((f) => _.isEqual(f, file));
|
|
|
+ this.form[model].splice(index, 1);
|
|
|
+ },
|
|
|
+ onOversize() {
|
|
|
+ Toast('文件大小不能超过 10MB');
|
|
|
+ },
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapState(['user']),
|
|
|
+ },
|
|
|
+ metaInfo() {
|
|
|
+ return { title: this.$route.meta.title };
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ test: {
|
|
|
+ deep: true,
|
|
|
+ immediate: true,
|
|
|
+ handler(val) {},
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+.main {
|
|
|
+ .top {
|
|
|
+ height: 40px;
|
|
|
+ overflow: hidden;
|
|
|
+ border-bottom: 1px solid #f1f1f1;
|
|
|
+ }
|
|
|
+ .info {
|
|
|
+ overflow-x: hidden;
|
|
|
+ overflow-y: auto;
|
|
|
+ /deep/.van-radio__label {
|
|
|
+ margin-left: 7px;
|
|
|
+ }
|
|
|
+ .btn {
|
|
|
+ text-align: center;
|
|
|
+ padding: 15px 0;
|
|
|
+ .van-button {
|
|
|
+ margin: 0 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|