|
@@ -1,8 +1,7 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
<div>
|
|
|
- <b style="color: red;font-size: 15px;">根据您填报的项目信息,系统自动将需要上传的文件列出,每种类型文件只能上传单个文件(大小限制4M),如有多个请打包上传!</b><br><b
|
|
|
- style="color: red;font-size: 15px;">技术人员上传1-7项相关文件,财务人员上传8-10项相关文件。当技术、财务资料达到 100%时,可提交项目申报。</b>
|
|
|
+ <b style="color: red;font-size: 15px;">根据您填报的项目信息,系统自动将需要上传的文件列出,每种类型文件只能上传单个文件(大小限制4M),如有多个请打包上传!</b><br><b style="color: red;font-size: 15px;">技术人员上传1-7项相关文件,财务人员上传8-11项相关文件。当技术、财务资料达到 100%时,可提交项目申报。</b>
|
|
|
</div>
|
|
|
<h3 class="toolbar">
|
|
|
<!-- <span class="title">加计扣除备查资料清单</span> -->
|
|
@@ -13,39 +12,36 @@
|
|
|
<el-form ref="form" :model="form" label-width="180px">
|
|
|
<div class="table-con">
|
|
|
<table class="table_register mt20 tablebar" style="width: 100%;">
|
|
|
- <tr>
|
|
|
- <th colspan="4" class="th_title">1、项目计划书
|
|
|
- </th>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>项目计划书导入</th>
|
|
|
- <td colspan="3">
|
|
|
- <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('9')"
|
|
|
- v-if="techFlag && list9.length <= 0">上传</el-button>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>下载</th>
|
|
|
- <td colspan="3">
|
|
|
- <ul>
|
|
|
- <li v-for="(item, index) in list9" :key="index" style="margin: 2px;">
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
- <a :href="item.url">{{ item.fileName }}</a>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-button type="primary" icon="el-icon-download" size="mini"
|
|
|
- @click="handleDownload(item.id)">下载</el-button>
|
|
|
- <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)"
|
|
|
- v-if="techFlag">删除</el-button>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
+ <tr>
|
|
|
+ <th colspan="4" class="th_title">1、项目计划书
|
|
|
+ </th>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>项目计划书导入</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('1')" v-if="techFlag && list1.length<=0">上传</el-button>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>下载</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <ul>
|
|
|
+ <li v-for="(item, index) in list1" :key="index" style="margin: 2px;">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <a :href="item.url">{{item.fileName}}</a>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleDownload(item.id)">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)" v-if="techFlag">删除</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
|
|
|
<table class="table_register mt20 tablebar" style="width: 100%;">
|
|
|
|
|
@@ -53,36 +49,33 @@
|
|
|
<th colspan="4" class="th_title">2、研发项目验收报告
|
|
|
</th>
|
|
|
</tr>
|
|
|
- <tr>
|
|
|
- <th>验收报告导入</th>
|
|
|
- <td colspan="3">
|
|
|
- <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('10')"
|
|
|
- v-if="techFlag && list10.length <= 0">上传</el-button>
|
|
|
- <el-button type="primary" size="mini">
|
|
|
- <a href="/temp/AcceptanceReport.docx">模板下载</a>
|
|
|
- </el-button>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>下载</th>
|
|
|
- <td colspan="3">
|
|
|
- <ul>
|
|
|
- <li v-for="(item, index) in list10" :key="index" style="margin: 2px;">
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
- <a :href="item.url">{{ item.fileName }}</a>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-button type="primary" icon="el-icon-download" size="mini"
|
|
|
- @click="handleDownload(item.id)">下载</el-button>
|
|
|
- <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)"
|
|
|
- v-if="techFlag">删除</el-button>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
+ <tr>
|
|
|
+ <th>验收报告导入</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('2')" v-if="techFlag && list2.length <= 0">上传</el-button>
|
|
|
+ <el-button type="primary" size="mini">
|
|
|
+ <a href="/temp/AcceptanceReport.docx">模板下载</a>
|
|
|
+ </el-button>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>下载</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <ul>
|
|
|
+ <li v-for="(item, index) in list2" :key="index" style="margin: 2px;">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <a :href="item.url">{{item.fileName}}</a>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleDownload(item.id)">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)" v-if="techFlag">删除</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
|
|
|
</table>
|
|
|
<table class="table_register mt20 tablebar" style="width: 100%;">
|
|
@@ -93,24 +86,21 @@
|
|
|
<tr>
|
|
|
<th>研究过程资料导入</th>
|
|
|
<td colspan="3">
|
|
|
- <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('11')"
|
|
|
- v-if="techFlag && list11.length <= 0">上传</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('3')" v-if="techFlag && list3.length <= 0">上传</el-button>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>下载</th>
|
|
|
<td colspan="3">
|
|
|
<ul>
|
|
|
- <li v-for="(item, index) in list11" :key="index" style="margin: 2px;">
|
|
|
+ <li v-for="(item, index) in list3" :key="index" style="margin: 2px;">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <a :href="item.url">{{ item.fileName }}</a>
|
|
|
+ <a :href="item.url">{{item.fileName}}</a>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-button type="primary" icon="el-icon-download" size="mini"
|
|
|
- @click="handleDownload(item.id)">下载</el-button>
|
|
|
- <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)"
|
|
|
- v-if="techFlag">删除</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleDownload(item.id)">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)" v-if="techFlag">删除</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</li>
|
|
@@ -126,8 +116,7 @@
|
|
|
<tr>
|
|
|
<th>决议文件导入</th>
|
|
|
<td colspan="3">
|
|
|
- <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('1')"
|
|
|
- v-if="techFlag && list1.length <= 0">上传</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('4')" v-if="techFlag && list4.length <= 0">上传</el-button>
|
|
|
<el-button type="primary" size="mini">
|
|
|
<a href="/temp/projectProposal.doc">模板下载</a>
|
|
|
</el-button>
|
|
@@ -137,16 +126,14 @@
|
|
|
<th>下载</th>
|
|
|
<td colspan="3">
|
|
|
<ul>
|
|
|
- <li v-for="(item, index) in list1" :key="index" style="margin: 2px;">
|
|
|
+ <li v-for="(item, index) in list4" :key="index" style="margin: 2px;">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <a :href="item.url">{{ item.fileName }}</a>
|
|
|
+ <a :href="item.url">{{item.fileName}}</a>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-button type="primary" icon="el-icon-download" size="mini"
|
|
|
- @click="handleDownload(item.id)">下载</el-button>
|
|
|
- <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)"
|
|
|
- v-if="techFlag">删除</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleDownload(item.id)">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)" v-if="techFlag">删除</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</li>
|
|
@@ -162,8 +149,7 @@
|
|
|
<tr>
|
|
|
<th>研发人员名单导入</th>
|
|
|
<td colspan="3">
|
|
|
- <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('2')"
|
|
|
- v-if="techFlag && list2.length <= 0">上传</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('5')" v-if="techFlag && list5.length <= 0">上传</el-button>
|
|
|
<el-button type="primary" size="mini">
|
|
|
<a href="/temp/person.xls">模板下载</a>
|
|
|
</el-button>
|
|
@@ -174,16 +160,14 @@
|
|
|
<th>下载</th>
|
|
|
<td colspan="3">
|
|
|
<ul>
|
|
|
- <li v-for="(item, index) in list2" :key="index" style="margin: 2px;">
|
|
|
+ <li v-for="(item, index) in list5" :key="index" style="margin: 2px;">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <a :href="item.url">{{ item.fileName }}</a>
|
|
|
+ <a :href="item.url">{{item.fileName}}</a>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-button type="primary" icon="el-icon-download" size="mini"
|
|
|
- @click="handleDownload(item.id)">下载</el-button>
|
|
|
- <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)"
|
|
|
- v-if="techFlag">删除</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleDownload(item.id)">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)" v-if="techFlag">删除</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</li>
|
|
@@ -201,8 +185,7 @@
|
|
|
<td>
|
|
|
<el-form-item prop="contractFlag" label-width="0">
|
|
|
<el-radio-group v-model="form.contractFlag" :disabled="disabledFlag">
|
|
|
- <el-radio v-for="(item, index) in booleanOptions" :key="index"
|
|
|
- :label="item.dictValue">{{ item.dictLabel }}</el-radio>
|
|
|
+ <el-radio v-for="(item, index) in booleanOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
@@ -211,24 +194,21 @@
|
|
|
<tr>
|
|
|
<th>研究开发合同导入</th>
|
|
|
<td colspan="3">
|
|
|
- <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('3')"
|
|
|
- v-if="techFlag && list3.length <= 0">上传</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('6')" v-if="techFlag && list6.length <= 0">上传</el-button>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>下载</th>
|
|
|
<td colspan="3">
|
|
|
<ul>
|
|
|
- <li v-for="(item, index) in list3" :key="index" style="margin: 2px;">
|
|
|
+ <li v-for="(item, index) in list6" :key="index" style="margin: 2px;">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <a :href="item.url">{{ item.fileName }}</a>
|
|
|
+ <a :href="item.url">{{item.fileName}}</a>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-button type="primary" icon="el-icon-download" size="mini"
|
|
|
- @click="handleDownload(item.id)">下载</el-button>
|
|
|
- <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)"
|
|
|
- v-if="techFlag">删除</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleDownload(item.id)">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)" v-if="techFlag">删除</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</li>
|
|
@@ -239,43 +219,9 @@
|
|
|
|
|
|
</table>
|
|
|
|
|
|
-
|
|
|
- <table class="table_register mt20" style="width: 100%;">
|
|
|
- <tr>
|
|
|
- <th colspan="4" class="th_title">7、“研发支出”辅助账及汇总表
|
|
|
- </th>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>“研发支出”辅助账及汇总表导入</th>
|
|
|
- <td colspan="3">
|
|
|
- <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('6')"
|
|
|
- v-if="techFlag && list6.length <= 0">上传</el-button>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- <tr>
|
|
|
- <th>下载</th>
|
|
|
- <td colspan="3">
|
|
|
- <ul>
|
|
|
- <li v-for="(item, index) in list6" :key="index" style="margin: 2px;">
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="12">
|
|
|
- <a :href="item.url">{{ item.fileName }}</a>
|
|
|
- </el-col>
|
|
|
- <el-col :span="12">
|
|
|
- <el-button type="primary" icon="el-icon-download" size="mini"
|
|
|
- @click="handleDownload(item.id)">下载</el-button>
|
|
|
- <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)"
|
|
|
- v-if="techFlag">删除</el-button>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
- </table>
|
|
|
<table class="table_register mt20" style="width: 100%;">
|
|
|
<tr>
|
|
|
- <th colspan="4" class="th_title">8、企业如果已取得地市级(含)以上科技行政主管部门出具的鉴定意见,应作为资料留存备查
|
|
|
+ <th colspan="4" class="th_title">7、企业如果已取得地市级(含)以上科技行政主管部门出具的鉴定意见,应作为资料留存备查
|
|
|
</th>
|
|
|
</tr>
|
|
|
<tr>
|
|
@@ -283,8 +229,7 @@
|
|
|
<td>
|
|
|
<el-form-item prop="appraisalFlag" label-width="0">
|
|
|
<el-radio-group v-model="form.appraisalFlag" :disabled="disabledFlag">
|
|
|
- <el-radio v-for="(item, index) in booleanOptions" :key="index"
|
|
|
- :label="item.dictValue">{{ item.dictLabel }}</el-radio>
|
|
|
+ <el-radio v-for="(item, index) in booleanOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
</td>
|
|
@@ -293,8 +238,7 @@
|
|
|
<tr>
|
|
|
<th>科技主管部门鉴定意见导入</th>
|
|
|
<td colspan="3">
|
|
|
- <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('7')"
|
|
|
- v-if="techFlag && list7.length <= 0">上传</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('7')" v-if="techFlag && list7.length <= 0">上传</el-button>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
@@ -304,13 +248,11 @@
|
|
|
<li v-for="(item, index) in list7" :key="index" style="margin: 2px;">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <a :href="item.url">{{ item.fileName }}</a>
|
|
|
+ <a :href="item.url">{{item.fileName}}</a>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-button type="primary" icon="el-icon-download" size="mini"
|
|
|
- @click="handleDownload(item.id)">下载</el-button>
|
|
|
- <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)"
|
|
|
- v-if="techFlag">删除</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleDownload(item.id)">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)" v-if="techFlag">删除</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</li>
|
|
@@ -320,6 +262,37 @@
|
|
|
</template>
|
|
|
|
|
|
</table>
|
|
|
+ <table class="table_register mt20" style="width: 100%;">
|
|
|
+ <tr>
|
|
|
+ <th colspan="4" class="th_title">8、“研发支出”辅助账及汇总表
|
|
|
+ </th>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>“研发支出”辅助账及汇总表导入</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('8')" v-if="finFlag && list8.length <= 0">上传</el-button>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ <tr>
|
|
|
+ <th>下载</th>
|
|
|
+ <td colspan="3">
|
|
|
+ <ul>
|
|
|
+ <li v-for="(item, index) in list8" :key="index" style="margin: 2px;">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="12">
|
|
|
+ <a :href="item.url">{{item.fileName}}</a>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleDownload(item.id)">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)" v-if="finFlag">删除</el-button>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </table>
|
|
|
+
|
|
|
|
|
|
<!-- 财务 -->
|
|
|
<table class="table_register mt20" style="width: 100%;">
|
|
@@ -330,24 +303,21 @@
|
|
|
<tr>
|
|
|
<th>费用分配说明导入</th>
|
|
|
<td colspan="3">
|
|
|
- <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('4')"
|
|
|
- v-if="finFlag && list4.length <= 0">上传</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('9')" v-if="finFlag && list9.length <= 0">上传</el-button>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>下载</th>
|
|
|
<td colspan="3">
|
|
|
<ul>
|
|
|
- <li v-for="(item, index) in list4" :key="index" style="margin: 2px;">
|
|
|
+ <li v-for="(item, index) in list9" :key="index" style="margin: 2px;">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <a :href="item.url">{{ item.fileName }}</a>
|
|
|
+ <a :href="item.url">{{item.fileName}}</a>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-button type="primary" icon="el-icon-download" size="mini"
|
|
|
- @click="handleDownload(item.id)">下载</el-button>
|
|
|
- <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)"
|
|
|
- v-if="finFlag">删除</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleDownload(item.id)">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)" v-if="finFlag">删除</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</li>
|
|
@@ -363,24 +333,21 @@
|
|
|
<tr>
|
|
|
<th>资料导入</th>
|
|
|
<td colspan="3">
|
|
|
- <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('5')"
|
|
|
- v-if="finFlag && list5.length <= 0">上传</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('10')"v-if="finFlag && list10.length <= 0">上传</el-button>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>下载</th>
|
|
|
<td colspan="3">
|
|
|
<ul>
|
|
|
- <li v-for="(item, index) in list5" :key="index" style="margin: 2px;">
|
|
|
+ <li v-for="(item, index) in list10" :key="index" style="margin: 2px;">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <a :href="item.url">{{ item.fileName }}</a>
|
|
|
+ <a :href="item.url">{{item.fileName}}</a>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-button type="primary" icon="el-icon-download" size="mini"
|
|
|
- @click="handleDownload(item.id)">下载</el-button>
|
|
|
- <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)"
|
|
|
- v-if="finFlag">删除</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleDownload(item.id)">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)" v-if="finFlag">删除</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</li>
|
|
@@ -396,24 +363,21 @@
|
|
|
<tr>
|
|
|
<th>优惠明细表导入</th>
|
|
|
<td colspan="3">
|
|
|
- <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('8')"
|
|
|
- v-if="finFlag && list8.length <= 0">上传</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-upload2" size="mini" @click="handleUpload('11')" v-if="finFlag && list11.length <= 0">上传</el-button>
|
|
|
</td>
|
|
|
</tr>
|
|
|
<tr>
|
|
|
<th>下载</th>
|
|
|
<td colspan="3">
|
|
|
<ul>
|
|
|
- <li v-for="(item, index) in list8" :key="index" style="margin: 2px;">
|
|
|
+ <li v-for="(item, index) in list11" :key="index" style="margin: 2px;">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="12">
|
|
|
- <a :href="item.url">{{ item.fileName }}</a>
|
|
|
+ <a :href="item.url">{{item.fileName}}</a>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
- <el-button type="primary" icon="el-icon-download" size="mini"
|
|
|
- @click="handleDownload(item.id)">下载</el-button>
|
|
|
- <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)"
|
|
|
- v-if="finFlag">删除</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-download" size="mini" @click="handleDownload(item.id)">下载</el-button>
|
|
|
+ <el-button type="primary" icon="el-icon-delete" size="mini" @click="handleDelete(item.id)" v-if="finFlag">删除</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</li>
|
|
@@ -426,8 +390,7 @@
|
|
|
<el-row :gutter="40">
|
|
|
<el-col :span="24">
|
|
|
<el-form-item style="width:100%;text-align: center;" label-width="0px" class="mt20">
|
|
|
- <el-button :loading="loading" size="medium" type="primary" @click.native.prevent="submitForm"
|
|
|
- style="width: 100px;">保存</el-button>
|
|
|
+ <el-button :loading="loading" size="medium" type="primary" @click.native.prevent="submitForm" style="width: 100px;">保存</el-button>
|
|
|
<el-button size="medium" type="primary" style="width: 100px;" @click="cancel">取消</el-button>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -436,246 +399,246 @@
|
|
|
</el-form>
|
|
|
<!-- 技术 -->
|
|
|
|
|
|
- <upload-enclosure ref="uploadEnclosure" v-if="enclosureVisible" @refreshData="getList()" :dataId="dataId"
|
|
|
- :attachType="'PROJECT'"></upload-enclosure>
|
|
|
+ <upload-enclosure ref="uploadEnclosure" v-if="enclosureVisible" @refreshData="getList()" :dataId="dataId" :attachType="'PROJECT'"></upload-enclosure>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { getEnclosureApi, deleteEnclosureApi, getProjectInfoApi, downloadApi, declareUpdateApi } from '@/api/enterprise/project/project'
|
|
|
-import UploadEnclosure from './UploadEnclosure'
|
|
|
-import { getExtend, readBuffer, render } from '@/utils/util';
|
|
|
-import { parse } from 'qs';
|
|
|
-import axios from 'axios'
|
|
|
-import FileUpload from '@/components/FileUpload'
|
|
|
-import { downLoadZip } from "@/utils/zipdownload";
|
|
|
-import { booleanOptions } from "@/utils/dataFormat"
|
|
|
-export default {
|
|
|
- components: {
|
|
|
- UploadEnclosure,
|
|
|
- FileUpload
|
|
|
- },
|
|
|
- props: {
|
|
|
- type: {
|
|
|
- type: String
|
|
|
+ import {getEnclosureApi,deleteEnclosureApi,getProjectInfoApi,downloadApi,declareUpdateApi} from '@/api/enterprise/project/project'
|
|
|
+ import UploadEnclosure from './UploadEnclosure'
|
|
|
+ import { getExtend, readBuffer, render } from '@/utils/util';
|
|
|
+ import { parse } from 'qs';
|
|
|
+ import axios from 'axios'
|
|
|
+ import FileUpload from '@/components/FileUpload'
|
|
|
+ import { downLoadZip } from "@/utils/zipdownload";
|
|
|
+ import { booleanOptions } from "@/utils/dataFormat"
|
|
|
+ export default {
|
|
|
+ components: {
|
|
|
+ UploadEnclosure,
|
|
|
+ FileUpload
|
|
|
},
|
|
|
- info: {
|
|
|
- type: Object,
|
|
|
- default: function () {
|
|
|
- return {}
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- disabledFlag: false,
|
|
|
- form: {
|
|
|
- contractFlag: false,
|
|
|
- reportFlag: false,
|
|
|
- appraisalFlag: false
|
|
|
- },
|
|
|
- booleanOptions: booleanOptions,
|
|
|
- total: 0,
|
|
|
- enclosureVisible: false,
|
|
|
- list: [],
|
|
|
- id: this.$route.query.id,
|
|
|
- dataId: undefined,
|
|
|
- attachType: 'FINACIAL',
|
|
|
- loading: false,
|
|
|
- selectionList: [],
|
|
|
- ids: '',
|
|
|
- queryParams: {
|
|
|
- pageNum: 1,
|
|
|
- pageSize: 10
|
|
|
+ props: {
|
|
|
+ type: {
|
|
|
+ type: String
|
|
|
},
|
|
|
- list1: [],
|
|
|
- list2: [],
|
|
|
- list3: [],
|
|
|
- list4: [],
|
|
|
- list5: [],
|
|
|
- list6: [],
|
|
|
- list7: [],
|
|
|
- list8: [],
|
|
|
- list9: [],
|
|
|
- list10: [],
|
|
|
- list11: []
|
|
|
- };
|
|
|
- },
|
|
|
- computed: {
|
|
|
- userType() {
|
|
|
- return this.$store.state.user.userType
|
|
|
- },
|
|
|
- techFlag() {
|
|
|
- let roleType = this.$store.state.user.userType
|
|
|
- return this.type != 'view' ? ['ENT_TECH', 'ADMIN', 'ENT_ADMIN'].includes(roleType) : false //判断是否为技术
|
|
|
- },
|
|
|
- finFlag() {
|
|
|
- let roleType = this.$store.state.user.userType
|
|
|
- return this.type != 'view' ? ['ENT_FIN', 'ADMIN', 'ENT_ADMIN'].includes(roleType) : false //判断是否为财务
|
|
|
- },
|
|
|
- finFileFlag() {
|
|
|
- let roleType = this.$store.state.user.userType
|
|
|
- return ['ENT_FIN'].includes(roleType)
|
|
|
- }
|
|
|
- },
|
|
|
- created() {
|
|
|
- this.id = this.$route.query.id || undefined;
|
|
|
- if (this.id) {
|
|
|
- this.getList()
|
|
|
- }
|
|
|
- if (this.finFileFlag) {
|
|
|
- this.disabledFlag = true
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
- getList() {
|
|
|
- getEnclosureApi(this.attachType, this.id).then(res => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.list = res.data.records
|
|
|
- this.list1 = []
|
|
|
- this.list2 = []
|
|
|
- this.list3 = []
|
|
|
- this.list4 = []
|
|
|
- this.list5 = []
|
|
|
- this.list6 = []
|
|
|
- this.list7 = []
|
|
|
- this.list8 = []
|
|
|
- this.list9 = []
|
|
|
- this.list10 = []
|
|
|
- this.list11 = []
|
|
|
- this.list.map(item => {
|
|
|
- if (item.fileType == 'file1') {
|
|
|
- this.list1.push(item)
|
|
|
- }
|
|
|
- if (item.fileType == 'file2') {
|
|
|
- this.list2.push(item)
|
|
|
- }
|
|
|
- if (item.fileType == 'file3') {
|
|
|
- this.list3.push(item)
|
|
|
- }
|
|
|
- if (item.fileType == 'file4') {
|
|
|
- this.list4.push(item)
|
|
|
- }
|
|
|
- if (item.fileType == 'file5') {
|
|
|
- this.list5.push(item)
|
|
|
- }
|
|
|
- if (item.fileType == 'file6') {
|
|
|
- this.list6.push(item)
|
|
|
- }
|
|
|
- if (item.fileType == 'file7') {
|
|
|
- this.list7.push(item)
|
|
|
- }
|
|
|
- if (item.fileType == 'file8') {
|
|
|
- this.list8.push(item)
|
|
|
- }
|
|
|
- if (item.fileType == 'file9') {
|
|
|
- this.list9.push(item)
|
|
|
- }
|
|
|
- if (item.fileType == 'file10') {
|
|
|
- this.list10.push(item)
|
|
|
- }
|
|
|
- if (item.fileType == 'file11') {
|
|
|
- this.list11.push(item)
|
|
|
- }
|
|
|
- })
|
|
|
- this.total = res.data.total
|
|
|
+ info: {
|
|
|
+ type: Object,
|
|
|
+ default: function () {
|
|
|
+ return {}
|
|
|
}
|
|
|
- })
|
|
|
- },
|
|
|
- handleUpload(type) {
|
|
|
- let params = {
|
|
|
- attachType: 'FINACIAL',
|
|
|
- fileType: 'file' + type,
|
|
|
- dataId: this.id
|
|
|
}
|
|
|
- this.enclosureVisible = true
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.uploadEnclosure.init(params)
|
|
|
- })
|
|
|
},
|
|
|
- /** 导出按钮操作 */
|
|
|
- // handleDownload(id) {
|
|
|
- // this.download(`/common/attach/${id}`, {
|
|
|
- // }, `附件`)
|
|
|
- // },
|
|
|
- handleDownload(id) {
|
|
|
- window.open(process.env.VUE_APP_BASE_API + `/common/attach/${id}`)
|
|
|
- },
|
|
|
- handleDownloadBatch() {
|
|
|
- let id = this.id
|
|
|
- downLoadZip(`/ent/data/download/${id}`, "加计扣除备查资料清单")
|
|
|
- this.getList();
|
|
|
- },
|
|
|
- // 从url加载
|
|
|
- handleView(row) {
|
|
|
- let routeUrl = this.$router.resolve({
|
|
|
- path: '/enclosurePreview',
|
|
|
- query: { url: row.url, fileName: row.fileName, id: row.id }
|
|
|
- });
|
|
|
- window.open(routeUrl.href, "_blank");
|
|
|
- },
|
|
|
- handleDelete(id) {
|
|
|
- this.$confirm('是否确认删除该数据?', "警告", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning"
|
|
|
- }).then(function () {
|
|
|
- return deleteEnclosureApi(id);
|
|
|
- }).then(() => {
|
|
|
- this.queryParams.pageNum = 1;
|
|
|
- this.getList();
|
|
|
- this.$modal.msgSuccess("删除成功");
|
|
|
- })
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ disabledFlag: false,
|
|
|
+ form: {
|
|
|
+ contractFlag: false,
|
|
|
+ reportFlag: false,
|
|
|
+ appraisalFlag: false
|
|
|
+ },
|
|
|
+ booleanOptions: booleanOptions,
|
|
|
+ total: 0,
|
|
|
+ enclosureVisible: false,
|
|
|
+ list: [],
|
|
|
+ id: this.$route.query.id,
|
|
|
+ dataId: undefined,
|
|
|
+ attachType: 'FINACIAL',
|
|
|
+ loading: false,
|
|
|
+ selectionList: [],
|
|
|
+ ids: '',
|
|
|
+ queryParams: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10
|
|
|
+ },
|
|
|
+ list1: [],
|
|
|
+ list2: [],
|
|
|
+ list3: [],
|
|
|
+ list4: [],
|
|
|
+ list5: [],
|
|
|
+ list6: [],
|
|
|
+ list7: [],
|
|
|
+ list8: [],
|
|
|
+ list9: [],
|
|
|
+ list10: [],
|
|
|
+ list11: []
|
|
|
+ };
|
|
|
},
|
|
|
- // 取消全选
|
|
|
- selectAll(selection) {
|
|
|
- if (selection.length == 0) {
|
|
|
- let list = this.selectedList.filter(item => !this.list.some(ele => ele.id === item.id));
|
|
|
- this.selectionList = list;
|
|
|
+ computed: {
|
|
|
+ userType() {
|
|
|
+ return this.$store.state.user.userType
|
|
|
+ },
|
|
|
+ techFlag() {
|
|
|
+ let roleType = this.$store.state.user.userType
|
|
|
+ return this.type != 'view' ? ['ENT_TECH', 'ADMIN', 'ENT_ADMIN'].includes(roleType) : false //判断是否为技术
|
|
|
+ },
|
|
|
+ finFlag() {
|
|
|
+ let roleType = this.$store.state.user.userType
|
|
|
+ return this.type != 'view' ? ['ENT_FIN', 'ADMIN', 'ENT_ADMIN'].includes(roleType) : false //判断是否为财务
|
|
|
+ },
|
|
|
+ finFileFlag() {
|
|
|
+ let roleType = this.$store.state.user.userType
|
|
|
+ return ['ENT_FIN'].includes(roleType)
|
|
|
}
|
|
|
},
|
|
|
- handleSelectionChange(val) {
|
|
|
- this.selectionList = val;
|
|
|
- if (this.selectionList.length > 0) {
|
|
|
- let selectionIds = []
|
|
|
- for (let i = 0, len = this.selectionList.length; i < len; i++) {
|
|
|
- selectionIds.push(this.selectionList[i].id)
|
|
|
- }
|
|
|
- this.ids = selectionIds.join(',')
|
|
|
- } else {
|
|
|
- this.ids = ''
|
|
|
+ created() {
|
|
|
+ this.id = this.$route.query.id || undefined;
|
|
|
+ if(this.id) {
|
|
|
+ this.getList()
|
|
|
+ }
|
|
|
+ if(this.finFileFlag) {
|
|
|
+ this.disabledFlag = true
|
|
|
}
|
|
|
},
|
|
|
- submitForm() {
|
|
|
- declareUpdateApi(this.form).then(res => {
|
|
|
- this.$alert('保存成功', '提示', {
|
|
|
- confirmButtonText: '确定',
|
|
|
- callback: action => {
|
|
|
- this.loading = false
|
|
|
- this.$store.dispatch("tagsView/delView", this.$route);
|
|
|
- this.$router.go(-1);
|
|
|
+ methods: {
|
|
|
+ getList() {
|
|
|
+ getEnclosureApi(this.attachType,this.id).then(res => {
|
|
|
+ if(res.code == 200) {
|
|
|
+ this.list = res.data.records
|
|
|
+ this.list1 = []
|
|
|
+ this.list2 = []
|
|
|
+ this.list3 = []
|
|
|
+ this.list4 = []
|
|
|
+ this.list5 = []
|
|
|
+ this.list6 = []
|
|
|
+ this.list7 = []
|
|
|
+ this.list8 = []
|
|
|
+ this.list9 = []
|
|
|
+ this.list10 = []
|
|
|
+ this.list11 = []
|
|
|
+ this.list.map(item => {
|
|
|
+ if(item.fileType == 'file1') {
|
|
|
+ this.list1.push(item)
|
|
|
+ }
|
|
|
+ if(item.fileType == 'file2') {
|
|
|
+ this.list2.push(item)
|
|
|
+ }
|
|
|
+ if(item.fileType == 'file3') {
|
|
|
+ this.list3.push(item)
|
|
|
+ }
|
|
|
+ if(item.fileType == 'file4') {
|
|
|
+ this.list4.push(item)
|
|
|
+ }
|
|
|
+ if(item.fileType == 'file5') {
|
|
|
+ this.list5.push(item)
|
|
|
+ }
|
|
|
+ if(item.fileType == 'file6') {
|
|
|
+ this.list6.push(item)
|
|
|
+ }
|
|
|
+ if(item.fileType == 'file7') {
|
|
|
+ this.list7.push(item)
|
|
|
+ }
|
|
|
+ if(item.fileType == 'file8') {
|
|
|
+ this.list8.push(item)
|
|
|
+ }
|
|
|
+ if(item.fileType == 'file9') {
|
|
|
+ this.list9.push(item)
|
|
|
+ }
|
|
|
+ if(item.fileType == 'file10') {
|
|
|
+ this.list10.push(item)
|
|
|
+ }
|
|
|
+ if(item.fileType == 'file11') {
|
|
|
+ this.list11.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.total = res.data.total
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleUpload(type) {
|
|
|
+ let params = {
|
|
|
+ attachType: 'FINACIAL',
|
|
|
+ fileType: 'file'+type,
|
|
|
+ dataId: this.id
|
|
|
+ }
|
|
|
+ this.enclosureVisible = true
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.uploadEnclosure.init(params)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ /** 导出按钮操作 */
|
|
|
+ // handleDownload(id) {
|
|
|
+ // this.download(`/common/attach/${id}`, {
|
|
|
+ // }, `附件`)
|
|
|
+ // },
|
|
|
+ handleDownload(id) {
|
|
|
+ window.open(process.env.VUE_APP_BASE_API+`/common/attach/${id}`)
|
|
|
+ },
|
|
|
+ handleDownloadBatch() {
|
|
|
+ let id = this.id
|
|
|
+ downLoadZip(`/ent/data/download/${id}`, "加计扣除备查资料清单")
|
|
|
+ this.getList();
|
|
|
+ },
|
|
|
+ // 从url加载
|
|
|
+ handleView(row) {
|
|
|
+ let routeUrl = this.$router.resolve({
|
|
|
+ path: '/enclosurePreview',
|
|
|
+ query: {url: row.url,fileName: row.fileName,id: row.id}
|
|
|
+ });
|
|
|
+ window.open(routeUrl.href, "_blank");
|
|
|
+ },
|
|
|
+ handleDelete(id) {
|
|
|
+ this.$confirm('是否确认删除该数据?', "警告", {
|
|
|
+ confirmButtonText: "确定",
|
|
|
+ cancelButtonText: "取消",
|
|
|
+ type: "warning"
|
|
|
+ }).then(function() {
|
|
|
+ return deleteEnclosureApi(id);
|
|
|
+ }).then(() => {
|
|
|
+ this.queryParams.pageNum = 1;
|
|
|
+ this.getList();
|
|
|
+ this.$modal.msgSuccess("删除成功");
|
|
|
+ })
|
|
|
+ },
|
|
|
+ // 取消全选
|
|
|
+ selectAll(selection) {
|
|
|
+ if (selection.length == 0) {
|
|
|
+ let list = this.selectedList.filter(item => !this.list.some(ele => ele.id === item.id));
|
|
|
+ this.selectionList = list;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleSelectionChange(val) {
|
|
|
+ this.selectionList = val;
|
|
|
+ if(this.selectionList.length > 0) {
|
|
|
+ let selectionIds = []
|
|
|
+ for (let i = 0, len = this.selectionList.length; i < len; i++) {
|
|
|
+ selectionIds.push(this.selectionList[i].id)
|
|
|
}
|
|
|
+ this.ids = selectionIds.join(',')
|
|
|
+ }else {
|
|
|
+ this.ids = ''
|
|
|
+ }
|
|
|
+ },
|
|
|
+ submitForm() {
|
|
|
+ declareUpdateApi(this.form).then(res => {
|
|
|
+ this.$alert('保存成功', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ callback: action => {
|
|
|
+ this.loading = false
|
|
|
+ this.$store.dispatch("tagsView/delView", this.$route);
|
|
|
+ this.$router.go(-1);
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
- })
|
|
|
+ },
|
|
|
+ cancel() {
|
|
|
+ this.$store.dispatch("tagsView/delView", this.$route); // 关闭当前tab
|
|
|
+ this.$router.go(-1);
|
|
|
+ }
|
|
|
},
|
|
|
- cancel() {
|
|
|
- this.$store.dispatch("tagsView/delView", this.$route); // 关闭当前tab
|
|
|
- this.$router.go(-1);
|
|
|
- }
|
|
|
- },
|
|
|
- watch: {
|
|
|
- info: {
|
|
|
- immediate: true,
|
|
|
- handler(obj) {
|
|
|
- if (obj) {
|
|
|
- this.form = Object.assign({}, this.form, obj)
|
|
|
+ watch: {
|
|
|
+ info: {
|
|
|
+ immediate: true,
|
|
|
+ handler (obj) {
|
|
|
+ if(obj) {
|
|
|
+ this.form = Object.assign({}, this.form, obj)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
-};
|
|
|
-</script>
|
|
|
+ };
|
|
|
+ </script>
|
|
|
|
|
|
</script>
|
|
|
|
|
|
-<style lang="scss" scoped></style>
|
|
|
+<style lang="scss" scoped>
|
|
|
+</style>
|