dev01 пре 1 година
родитељ
комит
eaa7506c98

+ 1 - 0
package.json

@@ -60,6 +60,7 @@
     "quill": "1.3.7",
     "screenfull": "5.0.2",
     "sortablejs": "1.10.2",
+    "start": "^5.1.0",
     "vue": "2.6.12",
     "vue-count-to": "1.0.13",
     "vue-cropper": "0.5.5",

public/temp/项目负责人及研发人员模板.xls → public/temp/椤圭洰璐熻矗浜哄強鐮斿彂浜哄憳妯℃澘.xls


public/temp/研发项目验收报告模板.docx → public/temp/鐮斿彂椤圭洰楠屾敹鎶ュ憡妯℃澘.docx


public/temp/研究成果报告模板.xls → public/temp/鐮旂┒鎴愭灉鎶ュ憡妯℃澘.xls


BIN
public/temp/项目立项书模板.doc


+ 7 - 19
src/router/index.js

@@ -136,26 +136,14 @@ export const constantRoutes = [
         meta: {title: '修改年度基本信息'}
       }
     ]
-  }, {
-    path: '/declare',
-    component: Layout,
-    hidden: true,
-    children: [
-      {
-        path: 'info/:id',
-        component: (resolve) => require(['@/views/enterprise/declare/info'], resolve),
-        name: 'declareInfo',
-        meta: {title: '项目申报详情'}
-      }
-    ]
-  },
-  {
-    path: '/enclosurePreview',
-    component: (resolve) => require(['@/views/enclosurePreview/index'], resolve),
-    hidden: true,
-    name: 'enclosurePreview',
-    meta: { title: '文件预览'}
   },
+  // {
+  //   path: '/enclosurePreview',
+  //   component: (resolve) => require(['@/views/enclosurePreview/index'], resolve),
+  //   hidden: true,
+  //   name: 'enclosurePreview',
+  //   meta: { title: '文件预览'}
+  // },
   {
     path: '/pdfPreview',
     component: (resolve) => require(['@/views/pdfPreview/index'], resolve),

+ 0 - 117
src/views/enclosurePreview/index.vue

@@ -1,117 +0,0 @@
-<template>
-  <div class="app-container">
-    <el-button type="primary" plain icon="el-icon-download" size="mini" @click="handleClick" class="not-print-content">打印</el-button>
-    <div class="container" style="margin-top: 20px;">
-      <div v-show="loading" class="well loading">正在加载中,请耐心等待...</div>
-      <div v-show="!loading" class="well" ref="output"></div>
-    </div>
-  </div>
-</template>
-
-<script>
-  import { getExtend, readBuffer, render } from '@/utils/util';
-  import { parse } from 'qs';
-  import axios from 'axios'
-  export default {
-    data() {
-      return {
-        loading: false,
-        url: '',
-        fileName: '',
-        id: ''
-      }
-    },
-    created() {
-      this.loading = true
-      this.url = this.$route.query.url || ''
-
-      this.fileName = this.$route.query.fileName || ''
-      this.id = this.$route.query.id || ''
-      console.log(this.url)
-      console.log(this.fileName)
-      console.log(this.id)
-      if(this.url != '') {
-        this.getLoadEnclosure();
-      }
-    },
-    methods: {
-      handleClick() {
-        if (!!window.ActiveXObject || "ActiveXObject" in window) {
-            //是否ie
-            remove_ie_header_and_footer();
-          }
-        window.print();
-      },
-      //去掉页眉页脚
-      remove_ie_header_and_footer() {
-        var hkey_path =
-          "HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\PageSetup\\";
-        try {
-          var RegWsh = new ActiveXObject("WScript.Shell");
-          RegWsh.RegWrite(hkey_path + "header", "");
-          RegWsh.RegWrite(hkey_path + "footer", "");
-        } catch (e) {}
-      },
-      getLoadEnclosure() {
-        const filename = this.fileName
-        axios({
-          url: "http://124.232.146.72:7015/api/common/attach/"+this.id,
-          method: 'get',
-          responseType: 'blob',
-        }).then(({ data }) => {
-          if (!data) {
-            console.error('文件下载失败');
-          }
-          const file = new File([ data ], filename, {});
-          this.handleChange({ target: { files: [ file ] } });
-        }).finally(() => {
-          this.loading = false;
-        })
-      },
-      async handleChange(e) {
-        this.loading = true;
-        try {
-          const [ file ] = e.target.files;
-          this.filename = file.name && decodeURIComponent(file.name) || '';
-          const arrayBuffer = await readBuffer(file);
-          this.loading = false
-          this.last = await this.displayResult(arrayBuffer, file)
-          console.log("last")
-          console.log(this.last)
-        } catch (e) {
-          console.error(e)
-        } finally {
-          this.loading = false
-        }
-      },
-      displayResult(buffer, file) {
-        // 取得文件名
-        const { name } = file;
-        // 取得扩展名
-        const extend = getExtend(name);
-        // 输出目的地
-        const { output } = this.$refs;
-        // 生成新的dom
-        const node = document.createElement('div');
-        // 添加孩子,防止vue实例替换dom元素
-        if (this.last) {
-          output.removeChild(this.last.$el);
-          this.last.$destroy();
-        }
-        const child = output.appendChild(node);
-        // 调用渲染方法进行渲染
-        return new Promise((resolve, reject) => render(buffer, extend, child)
-            .then(resolve).catch(reject));
-      }
-    }
-  }
-</script>
-
-<style scoped>
-  @media print {
-    .not-print-content {
-        display: none;
-    }
-  }
-  @page { margin: 0; }
-</style>

+ 0 - 43
src/views/enterprise/declare/info.vue

@@ -1,43 +0,0 @@
-<template>
-  <div class="app-container" v-loading="loading">
-    <el-tabs type="border-card" v-model="activeName">
-      <el-tab-pane label="项目基本信息" name="1">
-        <basic-info></basic-info>
-      </el-tab-pane>
-      <el-tab-pane label="资料附件" name="2">
-        <enclosure-info :finEnclosure="'com'"></enclosure-info>
-      </el-tab-pane>
-      <el-tab-pane label="财务资料附件" name="3">
-        <enclosure-info :finEnclosure="'fin'"></enclosure-info>
-      </el-tab-pane>
-    </el-tabs>
-  </div>
-</template>
-
-<script>
-
-import BasicInfo from './components/BasicInfo'
-import EnclosureInfo from './components/EnclosureInfo'
-export default {
-  name: "declareInfo",
-  components: {
-    BasicInfo,
-    EnclosureInfo
-  },
-  data() {
-    return {
-      loading: false,
-      activeName: '1'
-    };
-  },
-  created() {
-
-  },
-};
-</script>
-
-<style rel="stylesheet/scss" lang="scss">
-  .el-tabs__nav {
-    width: 96px
-  }
-</style>

+ 1 - 1
src/views/enterprise/ent/index.vue

@@ -271,7 +271,7 @@
       //列表数据区分科德管理员还是税务人员
       getList() {
         this.loading = true;
-        if(this.roleType == 'manager') {
+        if(this.roleType == 'manager' || this.roleType == 'admin') {
           listEntApi(this.queryParams).then(response => {
             this.list = response.data.records;
             this.total = response.data.total;

+ 0 - 209
src/views/enterprise/project/components/BasicInfo.vue

@@ -1,209 +0,0 @@
-<template>
-  <div class="app-container" v-loading="loading">
-    <h3 class="toolbar">
-      <span class="title">项目基本信息</span>
-    </h3>
-    <table class="table_view">
-      <tr>
-        <th>企业名称</th>
-        <td>{{info.entName}}</td>
-        <th>通讯地址</th>
-        <td>{{info.address}}</td>
-      </tr>
-      <tr>
-        <th>企业联系人</th>
-        <td>{{info.linkName}}</td>
-        <th>联系人(座机)</th>
-        <td>{{info.linkPhone}}</td>
-      </tr>
-      <tr>
-        <th>联系电话(手机)</th>
-        <td>{{info.linkMobile}}</td>
-        <th>职工总人数(人)</th>
-        <td>{{info.totoalPersons}}</td>
-      </tr>
-      <tr>
-        <th>年度企业销售收入(万元)</th>
-        <td>{{info.sales}}</td>
-        <th>占销售收入比例(%)</th>
-        <td>{{info.techRate}}</td>
-      </tr>
-      <tr>
-        <th>研发人数</th>
-        <td>{{info.techPersons}}</td>
-        <th>年度研发投入(万元)</th>
-        <td>{{info.techInvest}}</td>
-      </tr>
-      <tr>
-        <th>企业所属行业</th>
-        <td>{{info.industry}}</td>
-        <th>国家自主创新示范区企业</th>
-        <td>{{innovateFlag}}</td>
-      </tr>
-      <tr>
-        <th>技术分配人</th>
-        <td>{{techUser}}</td>
-        <th>财务分配人</th>
-        <td>{{finUser}}</td>
-      </tr>
-    </table>
-    <h3 class="toolbar mt20">
-      <span class="title">项目是否跨年</span>
-    </h3>
-    <table class="table_view">
-      <tr>
-        <th>是否跨年</th>
-        <td>{{overYearFlag}}</td>
-        <th>项目期限</th>
-        <td>{{info.projectStartDate}}-{{info.projectEndDate}}</td>
-      </tr>
-    </table>
-    <h3 class="toolbar mt20">
-      <span class="title">科技型中小企业信息</span>
-    </h3>
-    <table class="table_view">
-      <tr>
-        <th>是否科技型中小企业</th>
-        <td>{{smallFlag}}</td>
-      </tr>
-    </table>
-    <h3 class="toolbar mt20">
-      <span class="title">高新技术企业信息</span>
-    </h3>
-    <table class="table_view">
-      <tr>
-        <th>企业是否高新技术</th>
-        <td>{{techFlag}}</td>
-        <th>高新技术企业所属技术领域</th>
-        <td>{{info.techScope}}</td>
-      </tr>
-      <tr>
-        <th>证书有限期限</th>
-        <td>{{info.techStartDate}}-{{info.techEndDate}}</td>
-        <th>高新证书</th>
-        <td>
-          <a :href="info.techLicense" class="link">高新证书</a>
-        </td>
-      </tr>
-    </table>
-    <h3 class="toolbar mt20">
-      <span class="title">操作日志</span>
-    </h3>
-    <h3 class="toolbar">
-      <div class="tool">
-        <el-button type="text" size="mini" @click="handleMore">更多</el-button>
-      </div>
-    </h3>
-    <el-table v-loading="loading" :data="list" border style="width: 100%">
-      <el-table-column type="index" label="日志编号" align="center" width="100"></el-table-column>
-      <el-table-column label="日志内容" prop="content" align="center"></el-table-column>
-      <el-table-column label="操作人" prop="createBy" align="center"></el-table-column>
-      <el-table-column label="操作日期" prop="createTime" align="center"></el-table-column>
-    </el-table>
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getData"/>
-  </div>
-</template>
-
-<script>
-  import { getProjectInfoApi,getProjectInfoAdminApi,getProjectInfoCommonApi } from "@/api/enterprise/project/project"
-  import {getLabel,yesOrNoOptions} from '@/utils/dataFormat'
-  export default {
-    name: 'projectInfo',
-    data () {
-      return {
-        loading: false,
-        id: undefined,
-        roleType: '',
-        finUser: '',
-        techUser: '',
-        info: {
-          projectLogList: []
-        },
-        list: [],
-        total: 0,
-        queryParams: {
-          pageNum: 1,
-          pageSize: 1
-        }
-      }
-    },
-    props: {
-      projectOwner: {
-        type: String
-      },
-    },
-    computed: {
-      scopeId() {
-        return this.$store.state.user.scopeId
-      },
-      roles() {
-        return this.$store.state.user.roles
-      },
-      innovateFlag() {
-        return getLabel(yesOrNoOptions, this.info.innovateFlag)
-      },
-      overYearFlag() {
-        return getLabel(yesOrNoOptions, this.info.overYearFlag)
-      },
-      smallFlag() {
-        return getLabel(yesOrNoOptions, this.info.smallFlag)
-      },
-      techFlag() {
-        return getLabel(yesOrNoOptions, this.info.techFlag)
-      }
-    },
-    created () {
-      this.id = this.$route.params.id || undefined;
-      this.roleType = this.roles.join(',')
-      if(this.id) {
-        this.getData()
-      }
-    },
-    methods: {
-      //判断是科德管理员 还是企业角色
-      getData() {
-        getProjectInfoCommonApi(this.id).then(res => {
-          this.finUser = res.data.finUser
-          this.techUser = res.data.techUser
-          if(this.projectOwner == '1') {
-            this.info = res.data.entProject || {}
-            if(this.info.projectLogList.length > 0) {
-              this.list.push(this.info.projectLogList[0])
-            }
-          }else if(this.projectOwner == '2') {
-            this.info = res.data.techProject || {}
-            if(this.info.projectLogList.length > 0 ) {
-              this.list.push(this.info.projectLogList[0])
-            }
-          }else if(this.projectOwner == '3') {
-            this.info = res.data.finProject || {}
-            if(this.info.projectLogList.length > 0) {
-              this.list.push(this.info.projectLogList[0])
-            }
-          }
-        })
-      },
-      //更多
-      handleMore() {
-        if(this.info.projectLogList.length <= 1) {
-          this.$message('日志已全部加载');
-        }else {
-          this.list = this.info.projectLogList || []
-        }
-
-      },
-      cancel() {
-        this.$store.dispatch("tagsView/delView", this.$route); // 关闭当前tab
-        this.$router.go(-1);
-      }
-    }
-  }
-</script>
-
-<style>
-</style>

+ 0 - 175
src/views/enterprise/project/components/EnclosureInfo.vue

@@ -1,175 +0,0 @@
-<template>
-  <div class="app-container">
-    <h3 class="toolbar">
-      <div class="tool">
-        <el-button type="primary" plain icon="el-icon-download" size="mini" @click="handleDownloadBatch">批量下载</el-button>
-      </div>
-    </h3>
-    <el-table v-loading="loading" :data="list" border @selection-change="handleSelectionChange" style="width: 100%">
-      <el-table-column type="selection" width="55"></el-table-column>
-      <el-table-column label="序号" type="index" width="50" align="center"></el-table-column>
-      <el-table-column label="文件名称" prop="fileName" align="center"></el-table-column>
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
-        <template slot-scope="scope">
-          <el-button type="text" @click="handleView(scope.row)">查看</el-button>
-          <el-button type="text" @click="handleDownload(scope.row)">下载</el-button>
-          <el-button type="text" @click="handleDelete(scope.row)">删除</el-button>
-        </template>
-      </el-table-column>
-    </el-table>
-    <pagination
-      v-show="total>0"
-      :total="total"
-      :page.sync="queryParams.pageNum"
-      :limit.sync="queryParams.pageSize"
-      @pagination="getList"/>
-    <upload-enclosure ref="uploadEnclosure" v-if="enclosureVisible" @refreshData="getList()" :dataId="dataId" :attachType="'PROJECT'"></upload-enclosure>
-    <div class="container" style="margin-top: 20px;">
-      <div v-show="loading" class="well loading">正在加载中,请耐心等待...</div>
-      <div v-show="!loading" class="well" ref="output"></div>
-    </div>
-  </div>
-</template>
-
-<script>
-  import {getEnclosureApi,deleteEnclosureApi,getProjectInfoApi,getProjectInfoCommonApi} from '@/api/enterprise/project/project'
-  import UploadEnclosure from './UploadEnclosure'
-  import { getExtend, readBuffer, render } from '@/utils/util';
-  import { parse } from 'qs';
-  import axios from 'axios'
-  export default {
-    components: {
-      UploadEnclosure
-    },
-    props: {
-      projectOwner: {
-        type: String
-      },
-      finOwner:{
-        type: String
-      }
-    },
-    data() {
-      return {
-        total: 0,
-        enclosureVisible: false,
-        list: [],
-        id: this.$route.query.id,
-        dataId: undefined,
-        attachType: 'PROJECT',
-        loading: false,
-        selectionList: [],
-        ids: '',
-        info: {},
-        queryParams: {
-          pageNum: 1,
-          pageSize: 10
-        }
-      };
-    },
-    created() {
-      this.id = this.$route.params.id || undefined;
-      this.getData()
-    },
-    methods: {
-      getData() {
-        getProjectInfoCommonApi(this.id).then(res => {
-          if(this.projectOwner == '1') {
-            this.info = res.data.entProject || {}
-            this.dataId = this.info.id
-          }else if(this.projectOwner == '2') {
-            this.info = res.data.techProject || {}
-            this.dataId = this.info.id
-          }else if(this.projectOwner == '3') {
-            this.info = res.data.finProject || {}
-            this.dataId = this.info.id
-          }
-          this.getList()
-        })
-      },
-      getList() {
-        if(this.finOwner == 'fin') {
-          this.attachType = 'FINACIAL'
-        }
-        getEnclosureApi(this.attachType,this.dataId).then(res => {
-          if(res.code == 200) {
-            this.list = res.data.records
-            this.total = res.data.total
-          }
-        })
-      },
-      handleDownload(row) {
-        window.open("http://124.232.146.72:7015/api/common/attach/"+row.id)
-      },
-      handleDownloadBatch() {
-        if(this.selectionList.length <=0) {
-          this.$message.error('请选择要下载的数据');
-          return
-        }
-        window.open("http://124.232.146.72:7015/api/common/attach/"+this.ids)
-        this.getList();
-      },
-      handleBatchDelte() {
-        if(this.selectionList.length <=0) {
-          this.$message.error('请选择要删除的数据');
-          return
-        }
-        this.$confirm('请确认是否删除所选择的数据!', '提示').then(() => {
-        	deleteEnclosureApi(this.ids).then(res => {
-            if(res.code == 200) {
-              this.queryParams.pageNum = 1;
-              this.getList();
-              this.$modal.msgSuccess("删除成功");
-            }
-        	})
-        })
-      },
-      // 从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(row) {
-        const id = row.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 = ''
-        }
-      }
-    }
-  };
-  </script>
-
-</script>
-
-<style>
-</style>

+ 0 - 427
src/views/enterprise/project/components/EntBasic.vue

@@ -1,427 +0,0 @@
-<template>
-  <div class="app-container" v-loading="loading">
-    <el-form ref="form" :model="form" :rules="rules" label-width="180px">
-      <h3 class="toolbar">
-        <span class="title">项目基本信息</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="项目名称" prop="projectName">
-            <el-input v-model="form.projectName" type="text" placeholder="请输入项目名称" :disabled="disabledVisible"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="企业名称" prop="entName">
-            <el-input v-model="form.entName" type="text" placeholder="请输入企业名称" disabled></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="通讯地址" prop="address">
-            <el-input v-model="form.address" placeholder="请输入通讯地址" :disabled="disabledVisible"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="企业联系人" prop="linkName">
-            <el-input v-model="form.linkName" placeholder="请输入企业联系人" :disabled="disabledVisible"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="联系电话(座机)" prop="linkPhone">
-            <el-input v-model="form.linkPhone" type="text" auto-complete="off" placeholder="请输入联系电话(座机)" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="联系电话(手机)" prop="linkMobile">
-            <el-input v-model="form.linkMobile" type="text" auto-complete="off" placeholder="请输入联系电话(手机)" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="职工总人数(人)" prop="totoalPersons">
-            <el-input v-model="form.totoalPersons" type="text" auto-complete="off" placeholder="请输入职工总人数" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="年度研发投入(万元)" prop="techInvest">
-            <el-input v-model="form.techInvest" type="text" auto-complete="off" placeholder="请输入年度研发投入(万元)" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="年度企业销售收入(万元)" prop="sales">
-            <el-input v-model="form.sales" type="text" auto-complete="off" placeholder="请输入年度企业销售收入(万元)" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="研发人数" prop="techPersons">
-            <el-input v-model="form.techPersons" type="text" auto-complete="off" placeholder="请输入研发人数" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="占销售收入比例(%)" prop="techRate">
-            <el-input v-model="form.techRate" type="text" auto-complete="off" placeholder="请输入占销售收入比例(%)" disabled>
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="企业所属行业" prop="industryArray">
-            <el-cascader
-                v-model="form.industryArray"
-                :options="options"
-                :disabled="disabledVisible" style="width: 310px;"></el-cascader>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="国家自主创新示范区企业" prop="innovateFlag">
-            <el-radio-group v-model="form.innovateFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <h3 class="toolbar">
-        <span class="title">项目是否跨年</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="是否跨年" prop="overYearFlag">
-            <el-radio-group v-model="form.overYearFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="项目时间段" prop="projectTime">
-            <el-date-picker v-model="form.projectTime" placeholder="选择日期" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :disabled="disabledVisible"></el-date-picker>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <h3 class="toolbar">
-        <span class="title">科技型中小企业信息</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="是否科技型中小企业" prop="smallFlag">
-            <el-radio-group v-model="form.smallFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <h3 class="toolbar">
-        <span class="title">高新技术企业信息</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="是否高新技术企业" prop="techFlag">
-            <el-radio-group v-model="form.techFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-        <template v-if="form.techFlag == 1">
-          <el-col :span="24">
-            <el-form-item label="高新技术企业所属技术领域" prop="techScopeArray">
-              <el-checkbox-group v-model="form.techScopeArray" :disabled="disabledVisible">
-                <el-checkbox v-for="(item, index) in techScopeOptions" :label="item.dictLabel" :key="index">{{item.dictLabel}}</el-checkbox>
-              </el-checkbox-group>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="证书有效期限" prop="lisenceTime">
-              <el-date-picker v-model="form.lisenceTime" placeholder="选择日期" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :disabled="disabledVisible"></el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="高新证书" prop="techLicense" ref="techLicenseUpload">
-              <FileUpload :file="{url: form.techLicense, name: form.fileName}" @input="handleSuccess" :disabledVisible="disabledVisible">上传证书</FileUpload>
-            </el-form-item>
-          </el-col>
-        </template>
-      </el-row>
-      <template v-if="userType == 'ENT_ADMIN'">
-        <el-row :gutter="40">
-          <el-col :span="24">
-            <el-form-item style="width:100%;text-align: center;" label-width="0px">
-              <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-button size="medium" type="primary" @click="submitDraft">保存草稿</el-button>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </template>
-    </el-form>
-  </div>
-</template>
-
-<script>
-import { editProjectApi,getProjectInfoApi,draftApi } from "@/api/enterprise/project/project"
-import { techScopeOptions,yesOrNoOptions,businessIndustryOptions } from "@/utils/dataFormat"
-import FileUpload from '@/components/FileUpload'
-import { listEntUserApi } from "@/api/ent/ent"
-import { validAmount,validNumber,validPercentage} from '@/utils/validate'
-
-export default {
-  name: "First",
-  components: {
-    FileUpload
-  },
-  props: {
-  },
-  computed: {
-    userType() {
-      return this.$store.state.user.userType
-    },
-    tempVariable() {
-      let invest = this.form.techInvest
-      let sales = this.form.sales
-      return {invest, sales}
-    }
-  },
-  data() {
-    return {
-      disabledVisible: false,
-      activeName: '3',
-      techVisible: false,
-      serviceDate: [],
-      provinceName: '',
-      cityName: '',
-      districtName: '',
-      codeUrl: "",
-      techScopeOptions: techScopeOptions,
-      yesOrNoOptions: yesOrNoOptions,
-      options: businessIndustryOptions,
-      provinceDataList: [],
-      cityDataList: [],
-      districtDataList: [],
-      form: {
-        techScopeArray: ['电子信息'],
-        lisenceTime: [],
-        projectTime: [],
-        entName: '',
-        projectOwner: 1,
-        techStartDate: '',
-        techEndDate: '',
-        projectStartDate: '',
-        projectEndDate: '',
-        overYearFlag: 1,
-        techFlag: 1,
-        innovateFlag: 1,
-        smallFlag: 1,
-        industryArray: []
-      },
-      rules: {
-        userName: [
-          { required: true, trigger: "blur", message: "请输入您的账号" },
-          { min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' }
-        ],
-        password: [
-          { required: true, trigger: "blur", message: "请输入您的密码" },
-          { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
-        ],
-        address: [
-          { required: true, trigger: "blur", message: "请输入通讯地址" },
-          { max: 100, message: '不超过100字符', trigger: 'blur' }
-        ],
-        linkName: [
-          { required: true, trigger: "blur", message: "请输入企业联系人" },
-          { max: 100, message: '不超过100字符', trigger: 'blur' }
-        ],
-        linkPhone: [
-          { required: true, trigger: "blur", message: "请输入联系电话(座机)" },
-          // { max: 11, message: '请输入正确的电话格式', trigger: 'blur' }
-        ],
-        linkMobile: [
-          { required: true, trigger: "blur", message: "请输入手机号" },
-          {
-            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-            message: "请输入正确的手机号码",
-            trigger: "blur"
-          }
-        ],
-        totoalPersons: [
-          { required: true, trigger: "blur", message: "请输入职工总人数" },
-          { validator: validNumber, trigger: 'blur'}
-        ],
-        sales: [
-          { required: true, trigger: "blur", message: "请输入年度企业销售收入(万元)" },
-          { validator: validAmount, trigger: 'blur'}
-        ],
-        techPersons: [
-          { required: true, trigger: "blur", message: "请输入研发人数" },
-          { validator: validNumber, trigger: 'blur'}
-        ],
-        techInvest: [
-          { required: true, trigger: "blur", message: "请输入年度研发投入(万元)" },
-          { validator: validAmount, trigger: 'blur'}
-        ],
-        techRate: [
-          { required: true, trigger: "blur", message: "请输入占销售收入比例(%)" },
-          { validator: validPercentage, trigger: 'blur'}
-        ],
-        industryArray: [
-          { required: true, trigger: "blur", message: "请输入企业所属行业" }
-        ],
-        innovateFlag: [
-          { required: true, trigger: "[blur,change]", message: "请选择国家自主创新示范区企业" }
-        ],
-        overYearFlag: [
-          { required: true, trigger: "change", message: "请选择是否跨年" }
-        ],
-        smallFlag: [
-          { required: true, trigger: "[blur,change]", message: "请选择是否科技型中小企业" }
-        ],
-        techFlag: [
-          { required: true, trigger: "[blur,change]", message: "请选择是否高新技术企业" }
-        ],
-        techLicense: [
-          { required: true, trigger: "change", message: "请上传高新企业证书" }
-        ],
-        lisenceTime: [
-          { required: true, trigger: "change", message: "请选择证书有效期限" }
-        ]
-      },
-      loading: false,
-      captchaOnOff: true
-    };
-  },
-  created() {
-    this.$nextTick(() => {
-    	this.$refs.form.clearValidate()
-    })
-    this.form.id = this.$route.query.id || undefined;
-    this.form.entId = this.$route.query.entId || undefined;
-    if(this.form.id) {
-      this.getData().then(res => {
-        this.getEntData()
-      })
-    }
-    if(this.userType == 'ENT_ADMIN') {
-      this.disabledVisible = false
-    }else {
-      this.disabledVisible = true
-    }
-  },
-  methods: {
-    async getEntData() {
-      listEntUserApi().then(res => {
-        console.log(this.form, "this.form")
-        if(!this.form.entName) {
-          this.form.entName = res.data.entName
-        }
-        if(!this.form.linkName) {
-          this.form.linkName = res.data.linkName
-        }
-        if(!this.form.linkPhone) {
-          console.log("this.form.linkPhone")
-          this.form.linkPhone = res.data.linkPhone
-        }
-        if(!this.form.linkMobile) {
-          this.form.linkMobile = res.data.linkMobile
-        }
-        if(!this.form.techFlag) {
-          this.form.techFlag = res.data.techFlag
-        }
-      })
-    },
-    async getData() {
-      getProjectInfoApi(this.form.id).then(res => {
-        let obj = res.data.entProject || {}
-        this.form = obj || {}
-        // if(obj.)
-        this.form.fileName = '高新证书'
-        let arr = ['电子信息']
-        this.$set(this.form, 'techScopeArray', arr)
-        if(this.form.industry) {
-          let industryArray = this.form.industry.split(',') || [];
-          this.$set(this.form, 'industryArray', industryArray);
-        }
-        if(obj.techScope) {
-          this.form.techScopeArray = obj.techScope.split(',') || ['电子信息']
-        }
-        if(obj.projectStartDate) {
-          this.$set(this.form, 'projectTime',[obj.projectStartDate,obj.projectEndDate])
-        }
-        if(obj.techStartDate) {
-          this.$set(this.form, 'lisenceTime',[obj.techStartDate,obj.techEndDate])
-        }
-        if(obj.techFlag == 1) {
-          this.techVisible = true
-        }
-      })
-    },
-    handleSuccess(file) {
-      this.$refs.techLicenseUpload.clearValidate()
-      this.form.techLicense = file.url;
-      this.form.fileName = file.name;
-    },
-    cancel() {
-      this.$store.dispatch("tagsView/delView", this.$route); // 关闭当前tab
-      this.$router.go(-1);
-    },
-    submitForm() {
-      this.$refs.form.validate(valid => {
-        if(valid) {
-          this.loading = true
-          this.form.techScope = this.form.techScopeArray.join(',')
-          this.form.industry = this.form.industryArray.join(',')
-          editProjectApi(this.form).then(res => {
-            this.loading = false
-            this.$store.dispatch("tagsView/delView", this.$route);
-            this.$router.go(-1);
-          })
-        }
-      })
-    },
-    submitDraft() {
-      this.loading = true
-      if(this.form.techScopeArray.length > 0) {
-        this.form.techScope = this.form.techScopeArray.join(',')
-      }
-      if(this.form.industryArray.length > 0) {
-        this.form.industry = this.form.industryArray.join(',')
-      }
-      draftApi(this.form).then(res => {
-        this.loading = false
-        this.$store.dispatch("tagsView/delView", this.$route);
-        this.$router.go(-1);
-      })
-    }
-  },
-  watch: {
-    'entProjectList': {
-      immediate: true,
-      handler (val) {
-        this.form.entProjectList = this.entProjectList || {}
-      }
-    },
-    'form.projectTime'(val) {
-      if(this.form.projectTime) {
-        this.form.projectStartDate = this.form.projectTime[0]
-        this.form.projectEndDate = this.form.projectTime[1]
-      }else {
-        this.form.projectStartDate = ''
-        this.form.projectEndDate = ''
-      }
-    },
-    'form.lisenceTime'(val) {
-      if(this.form.lisenceTime) {
-        this.form.techStartDate = this.form.lisenceTime[0]
-        this.form.techEndDate = this.form.lisenceTime[1]
-      }else {
-        this.form.techStartDate = ''
-        this.form.techEndDate = ''
-      }
-    },
-    'tempVariable'(val) {
-      if(val.invest && val.sales) {
-        this.form.techRate = ((val.invest / val.sales)*100).toFixed(2)
-      }
-    }
-  }
-};
-</script>

+ 0 - 466
src/views/enterprise/project/components/FinBasic.vue

@@ -1,466 +0,0 @@
-<template>
-  <div class="app-container" v-loading="loading">
-    <el-form ref="form" :model="form" :rules="rules" label-width="180px">
-      <h3 class="toolbar">
-        <span class="title">项目基本信息</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="项目名称" prop="projectName">
-            <el-input v-model="form.projectName" type="text" placeholder="请输入项目名称" :disabled="disabledVisible"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="企业名称" prop="entName">
-            <el-input v-model="form.entName" type="text" placeholder="请输入企业名称" disabled></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="通讯地址" prop="address">
-            <el-input v-model="form.address" placeholder="请输入通讯地址" :disabled="disabledVisible"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="企业联系人" prop="linkName">
-            <el-input v-model="form.linkName" placeholder="请输入企业联系人" :disabled="disabledVisible"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="联系电话(座机)" prop="linkPhone">
-            <el-input v-model="form.linkPhone" type="text" auto-complete="off" placeholder="请输入联系电话(座机)" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="联系电话(手机)" prop="linkMobile">
-            <el-input v-model="form.linkMobile" type="text" auto-complete="off" placeholder="请输入联系电话(手机)" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="职工总人数(人)" prop="totoalPersons">
-            <el-input v-model="form.totoalPersons" type="text" auto-complete="off" placeholder="请输入职工总人数" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="年度企业销售收入(万元)" prop="sales">
-            <el-input v-model="form.sales" type="text" auto-complete="off" placeholder="请输入年度企业销售收入(万元)" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="研发人数" prop="techPersons">
-            <el-input v-model="form.techPersons" type="text" auto-complete="off" placeholder="请输入研发人数" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="年度研发投入(万元)" prop="techInvest">
-            <el-input v-model="form.techInvest" type="text" auto-complete="off" placeholder="请输入年度研发投入(万元)" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="占销售收入比例(%)" prop="techRate">
-            <el-input v-model="form.techRate" type="text" auto-complete="off" placeholder="请输入占销售收入比例(%)" disabled>
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="企业所属行业" prop="industryArray">
-            <el-cascader
-                v-model="form.industryArray"
-                :options="options"
-                :disabled="disabledVisible" style="width: 310px;"></el-cascader>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="国家自主创新示范区企业" prop="innovateFlag">
-            <el-radio-group v-model="form.innovateFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <h3 class="toolbar">
-        <span class="title">项目是否跨年</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="是否跨年" prop="overYearFlag">
-            <el-radio-group v-model="form.overYearFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="项目时间段" prop="projectTime">
-            <el-date-picker v-model="form.projectTime" placeholder="选择日期" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :disabled="disabledVisible"></el-date-picker>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <h3 class="toolbar">
-        <span class="title">科技型中小企业信息</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="是否科技型中小企业" prop="smallFlag">
-            <el-radio-group v-model="form.smallFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <h3 class="toolbar">
-        <span class="title">高新技术企业信息</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="是否高新技术企业" prop="techFlag">
-            <el-radio-group v-model="form.techFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-        <template v-if="form.techFlag == 1">
-          <el-col :span="24">
-            <el-form-item label="高新技术企业所属技术领域" prop="techScopeArray">
-              <el-checkbox-group v-model="form.techScopeArray" :disabled="disabledVisible">
-                <el-checkbox v-for="(item, index) in techScopeOptions" :label="item.dictLabel" :key="index">{{item.dictLabel}}</el-checkbox>
-              </el-checkbox-group>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="证书有效期限" prop="lisenceTime">
-              <el-date-picker v-model="form.lisenceTime" placeholder="选择日期" type="daterange" value-format="yyyy-MM" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :disabled="disabledVisible"></el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="高新证书" prop="techLicense" ref="techLicenseUpload">
-              <FileUpload :file="{url: form.techLicense, name: form.fileName}" @input="handleSuccess" :disabledVisible="disabledVisible">上传证书</FileUpload>
-            </el-form-item>
-          </el-col>
-        </template>
-      </el-row>
-      <template v-if="userType == 'ENT_FIN' || userType == 'ENT_ADMIN_FIN'">
-        <el-row :gutter="40">
-          <el-col :span="24">
-            <el-form-item style="width:100%;text-align: center;" label-width="0px">
-              <el-button @click="synTechSubmit" size="medium" type="primary">同步技术填报</el-button>
-              <el-button @click="synEntSubmit" size="medium" type="primary">同步企业填报</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-button size="medium" type="primary" @click="submitDraft">保存草稿</el-button>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </template>
-    </el-form>
-  </div>
-</template>
-
-<script>
-import { editProjectApi,getProjectInfoApi,synFinApi,draftApi } from "@/api/enterprise/project/project"
-import { techScopeOptions,yesOrNoOptions,businessIndustryOptions } from "@/utils/dataFormat"
-import FileUpload from '@/components/FileUpload'
-import { listEntUserApi } from "@/api/ent/ent"
-import { validAmount,validNumber,validPercentage,validPhone} from '@/utils/validate'
-
-export default {
-  name: "First",
-  components: {
-    FileUpload
-  },
-  computed: {
-    userType() {
-      return this.$store.state.user.userType
-    },
-    tempVariable() {
-      let invest = this.form.techInvest
-      let sales = this.form.sales
-      return {invest, sales}
-    }
-  },
-  props: {
-  },
-  data() {
-    return {
-      options: businessIndustryOptions,
-      techId: undefined,
-      adminId: undefined,
-      disabledVisible: false,
-      serviceDate: [],
-      provinceName: '',
-      cityName: '',
-      districtName: '',
-      codeUrl: "",
-      techScopeOptions: techScopeOptions,
-      yesOrNoOptions: yesOrNoOptions,
-      provinceDataList: [],
-      cityDataList: [],
-      districtDataList: [],
-      form: {
-        id: undefined,
-        entId: undefined,
-        entName: '',
-        projectOwner: 3,
-        lisenceTime: [],
-        techStartDate: '',
-        techEndDate: '',
-        projectTime: [],
-        projectStartDate: '',
-        projectEndDate: '',
-        techScopeArray: ['电子信息'],
-        industry: '',
-        industryArray: []
-      },
-      rules: {
-        userName: [
-          { required: true, trigger: "blur", message: "请输入您的账号" },
-          { min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' }
-        ],
-        password: [
-          { required: true, trigger: "blur", message: "请输入您的密码" },
-          { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
-        ],
-        address: [
-          { required: true, trigger: "blur", message: "请输入通讯地址" },
-          { max: 100, message: '不超过100字符', trigger: 'blur' }
-        ],
-        linkName: [
-          { required: true, trigger: "blur", message: "请输入企业联系人" },
-          { max: 100, message: '不超过100字符', trigger: 'blur' }
-        ],
-        linkPhone: [
-          { required: true, trigger: "blur", message: "请输入联系电话(座机)" },
-          // { max: 11, message: '请输入正确的电话格式', trigger: 'blur' }
-          { validator: validPhone, trigger: 'blur'}
-        ],
-        linkMobile: [
-          { required: true, trigger: "blur", message: "请输入手机号" },
-          {
-            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-            message: "请输入正确的手机号码",
-            trigger: "blur"
-          }
-        ],
-        totoalPersons: [
-          { required: true, trigger: "blur", message: "请输入职工总人数" },
-          { validator: validNumber, trigger: 'blur'}
-        ],
-        sales: [
-          { required: true, trigger: "blur", message: "请输入年度企业销售收入(万元)" },
-          { validator: validAmount, trigger: 'blur'}
-        ],
-        techPersons: [
-          { required: true, trigger: "blur", message: "请输入研发人数" },
-          { validator: validNumber, trigger: 'blur'}
-        ],
-        techInvest: [
-          { required: true, trigger: "blur", message: "请输入年度研发投入(万元)" },
-          { validator: validAmount, trigger: 'blur'}
-        ],
-        techRate: [
-          { required: true, trigger: "blur", message: "请输入占销售收入比例(%)" },
-          { validator: validPercentage, trigger: 'blur'}
-        ],
-        industryArray: [
-          { required: true, trigger: "blur", message: "请选择企业所属行业" }
-        ],
-        innovateFlag: [
-          { required: true, trigger: "[blur,change]", message: "请选择国家自主创新示范区企业" }
-        ],
-        overYearFlag: [
-          { required: true, trigger: "change", message: "请选择是否跨年" }
-        ],
-        smallFlag: [
-          { required: true, trigger: "[blur,change]", message: "请选择是否科技型中小企业" }
-        ],
-        techFlag: [
-          { required: true, trigger: "[blur,change]", message: "请选择是否高新技术企业" }
-        ],
-        techLicense: [
-          { required: true, trigger: "change", message: "请上传高新企业证书" }
-        ],
-        lisenceTime: [
-          { required: true, trigger: "change", message: "请选择证书有效期限" }
-        ]
-      },
-      loading: false,
-      captchaOnOff: true
-    };
-  },
-  mounted() {
-    this.$nextTick(() => {
-    	this.$refs.form.clearValidate()
-    })
-    this.getEntData()
-  },
-  created() {
-    //财务员 财务负责人 没有禁
-    if(this.userType == 'ENT_FIN' || this.userType == 'ENT_ADMIN_FIN') {
-      this.disabledVisible = false
-    }else {
-      this.disabledVisible = true
-    }
-    this.form.id = this.$route.query.id || undefined;
-    this.form.entId = this.$route.query.entId || undefined;
-    if(this.form.id) {
-      this.getData().then(res => {
-        this.getEntData()
-      })
-    }
-  },
-  methods: {
-    async getEntData() {
-      listEntUserApi().then(res => {
-        if(!this.form.entName) {
-          this.form.entName = res.data.entName
-        }
-        if(!this.form.linkName) {
-          this.form.linkName = res.data.linkName
-        }
-        if(!this.form.linkPhone) {
-          this.form.linkPhone = res.data.linkPhone
-        }
-        if(!this.form.linkMobile) {
-          this.form.linkMobile = res.data.linkMobile
-        }
-        if(!this.form.techFlag) {
-          this.form.techFlag = res.data.techFlag
-        }
-      })
-    },
-    //同步技术资料
-    synTechSubmit() {
-      this.loading = true
-      synFinApi(this.techId).then(res => {
-        this.loading = false
-        if(res.code == 200) {
-          this.$message.success('已同步完成');
-          this.getData()
-        }
-
-      })
-    },
-    //同步企业自填资料
-    synEntSubmit() {
-      this.loading = true
-      synFinApi(this.adminId).then(res => {
-        this.loading = false
-        if(res.code == 200) {
-          this.$message.success('已同步完成');
-          this.getData()
-        }
-      })
-    },
-    async getData() {
-      getProjectInfoApi(this.form.id).then(res => {
-        let obj = res.data.finProject || {}
-        this.techId = res.data.techProject.id
-        this.adminId = res.data.entProject.id
-        this.form = obj || {}
-        this.form.fileName = '高新证书'
-        let arr = ['电子信息']
-        this.$set(this.form, 'techScopeArray', arr)
-        if(this.form.industry) {
-          let industryArray = this.form.industry.split(',') || [];
-          this.$set(this.form, 'industryArray', industryArray);
-        }
-        if(obj.techScope) {
-          this.form.techScopeArray = obj.techScope.split(',') || ['电子信息']
-        }
-
-        if(obj.projectStartDate) {
-          this.form.projectTime = []
-          this.form.projectTime[0] = obj.projectStartDate
-          this.form.projectTime[1] = obj.projectEndDate
-        }
-
-        if(obj.techStartDate) {
-          this.form.lisenceTime = []
-          this.form.lisenceTime[0] = obj.techStartDate
-          this.form.lisenceTime[1] = obj.techEndDate
-        }
-        if(obj.techFlag == 1) {
-          this.techVisible = true
-        }
-      })
-    },
-    handleSuccess(file) {
-      this.form.techLicense = file.url;
-      this.form.fileName = file.name;
-      this.$refs.techLicenseUpload.clearValidate()
-    },
-    handleSaleSuccess(files) {
-      files.forEach(item => {
-        this.form.attachIds.push(item.response.data.id)
-      });
-    },
-    cancel() {
-      this.$store.dispatch("tagsView/delView", this.$route); // 关闭当前tab
-      this.$router.go(-1);
-    },
-    submitForm() {
-      this.$refs.form.validate(valid => {
-        if(valid) {
-          this.loading = true
-          this.form.techScope = this.form.techScopeArray.join(',')
-          this.form.industry = this.form.industryArray.join(',')
-          editProjectApi(this.form).then(res => {
-            this.loading = false
-            this.$store.dispatch("tagsView/delView", this.$route);
-            this.$router.go(-1);
-          })
-        }
-      })
-    },
-    submitDraft() {
-      this.loading = true
-      if(this.form.techScopeArray.length > 0) {
-        this.form.techScope = this.form.techScopeArray.join(',')
-      }
-      if(this.form.industryArray.length > 0) {
-        this.form.industry = this.form.industryArray.join(',')
-      }
-      draftApi(this.form).then(res => {
-        this.loading = false
-        this.$store.dispatch("tagsView/delView", this.$route);
-        this.$router.go(-1);
-      })
-    }
-  },
-  watch: {
-    'entProjectList': {
-      immediate: true,
-      handler (val) {
-        this.form.entProjectList = this.entProjectList || {}
-      }
-    },
-    'form.projectTime'(val) {
-      if(this.form.projectTime) {
-        this.form.projectStartDate = this.form.projectTime[0]
-        this.form.projectEndDate = this.form.projectTime[1]
-      }else {
-        this.form.projectStartDate = ''
-        this.form.projectEndDate = ''
-      }
-    },
-    'form.lisenceTime'(val) {
-      if(this.form.lisenceTime) {
-        this.form.techEndDate = this.form.lisenceTime[1]
-        this.form.techStartDate = this.form.lisenceTime[0]
-      }else {
-        this.form.techStartDate = ''
-        this.form.techEndDate = ''
-      }
-    },
-    'tempVariable'(val) {
-      if(val.invest && val.sales) {
-        this.form.techRate = ((val.invest / val.sales)*100).toFixed(2)
-      }
-    }
-  }
-};
-</script>

Разлика између датотеке није приказан због своје велике величине
+ 0 - 172
src/views/enterprise/project/components/FinEnclosure.vue


+ 0 - 439
src/views/enterprise/project/components/TechBasic.vue

@@ -1,439 +0,0 @@
-<template>
-  <div class="app-container" v-loading="loading">
-    <el-form ref="form" :model="form" :rules="rules" label-width="180px">
-      <h3 class="toolbar">
-        <span class="title">项目基本信息</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="项目名称" prop="projectName">
-            <el-input v-model="form.projectName" type="text" placeholder="请输入项目名称" :disabled="disabledVisible"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="企业名称" prop="entName">
-            <el-input v-model="form.entName" type="text" placeholder="请输入企业名称" disabled></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="通讯地址" prop="address">
-            <el-input v-model="form.address" placeholder="请输入通讯地址" :disabled="disabledVisible"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="企业联系人" prop="linkName">
-            <el-input v-model="form.linkName" placeholder="请输入企业联系人" :disabled="disabledVisible"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="联系电话(座机)" prop="linkPhone">
-            <el-input v-model="form.linkPhone" type="text" auto-complete="off" placeholder="请输入联系电话(座机)" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="联系电话(手机)" prop="linkMobile">
-            <el-input v-model="form.linkMobile" type="text" auto-complete="off" placeholder="请输入联系电话(手机)" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="职工总人数(人)" prop="totoalPersons">
-            <el-input v-model="form.totoalPersons" type="text" auto-complete="off" placeholder="请输入职工总人数" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="年度企业销售收入(万元)" prop="sales">
-            <el-input v-model="form.sales" type="text" auto-complete="off" placeholder="请输入年度企业销售收入(万元)" :disabled="disabledVisible">
-              <template slot="append">万元</template>
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="研发人数" prop="techPersons">
-            <el-input v-model="form.techPersons" type="text" auto-complete="off" placeholder="请输入研发人数" :disabled="disabledVisible">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="年度研发投入(万元)" prop="techInvest">
-            <el-input v-model="form.techInvest" type="text" auto-complete="off" placeholder="请输入年度研发投入(万元)" :disabled="disabledVisible">
-              <template slot="append">万元</template>
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="占销售收入比例(%)" prop="techRate">
-            <el-input v-model="form.techRate" type="text" auto-complete="off" placeholder="请输入占销售收入比例(%)" disabled>
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="企业所属行业" prop="industryArray">
-            <el-cascader
-                v-model="form.industryArray"
-                :options="options"
-                :disabled="disabledVisible" style="width: 310px;"></el-cascader>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="国家自主创新示范区企业" prop="innovateFlag">
-            <el-radio-group v-model="form.innovateFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <h3 class="toolbar">
-        <span class="title">项目是否跨年</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="是否跨年" prop="overYearFlag">
-            <el-radio-group v-model="form.overYearFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="项目时间段" prop="projectTime">
-            <el-date-picker v-model="form.projectTime" placeholder="选择日期" type="daterange" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :disabled="disabledVisible"></el-date-picker>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <h3 class="toolbar">
-        <span class="title">科技型中小企业信息</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="是否科技型中小企业" prop="smallFlag">
-            <el-radio-group v-model="form.smallFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-      </el-row>
-      <h3 class="toolbar">
-        <span class="title">高新技术企业信息</span>
-      </h3>
-      <el-row :gutter="40">
-        <el-col :span="12">
-          <el-form-item label="是否高新技术企业" prop="techFlag">
-            <el-radio-group v-model="form.techFlag" :disabled="disabledVisible">
-              <el-radio v-for="(item, index) in yesOrNoOptions" :key="index" :label="item.dictValue">{{item.dictLabel}}</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-col>
-        <template v-if="form.techFlag == 1">
-          <el-col :span="24">
-            <el-form-item label="高新技术企业所属技术领域" prop="techScopeArray">
-              <el-checkbox-group v-model="form.techScopeArray" :disabled="disabledVisible">
-                <el-checkbox v-for="(item, index) in techScopeOptions" :label="item.dictLabel" :key="index">{{item.dictLabel}}</el-checkbox>
-              </el-checkbox-group>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="证书有效期限" prop="lisenceTime">
-              <el-date-picker v-model="form.lisenceTime" placeholder="选择日期" type="daterange" value-format="yyyy-MM" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :disabled="disabledVisible"></el-date-picker>
-            </el-form-item>
-          </el-col>
-          <el-col :span="24">
-            <el-form-item label="高新证书" prop="techLicense" ref="techLicenseUpload">
-              <FileUpload :file="{url: form.techLicense, name: form.fileName}" @input="handleSuccess" :disabledVisible="disabledVisible">上传证书</FileUpload>
-            </el-form-item>
-          </el-col>
-        </template>
-      </el-row>
-      <template v-if="userType == 'ENT_TECH' || userType == 'ENT_ADMIN_TECH'">
-        <el-row :gutter="40">
-          <el-col :span="24">
-            <el-form-item style="width:100%;text-align: center;" label-width="0px">
-              <el-button @click="synSubmit" size="medium" type="primary">同步企业填报</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-button size="medium" type="primary" @click="submitDraft">保存草稿</el-button>
-            </el-form-item>
-          </el-col>
-        </el-row>
-      </template>
-    </el-form>
-  </div>
-</template>
-
-<script>
-import { editProjectApi,getProjectInfoApi,synTechApi,draftApi } from "@/api/enterprise/project/project"
-import { techScopeOptions,yesOrNoOptions,businessIndustryOptions } from "@/utils/dataFormat"
-import FileUpload from '@/components/FileUpload'
-import { listEntUserApi } from "@/api/ent/ent"
-import { validAmount,validNumber,validPercentage} from '@/utils/validate'
-
-export default {
-  name: "First",
-  components: {
-    FileUpload
-  },
-  computed: {
-    userType() {
-      return this.$store.state.user.userType
-    },
-    tempVariable() {
-      let invest = this.form.techInvest
-      let sales = this.form.sales
-      return {invest, sales}
-    }
-  },
-  data() {
-    return {
-      options: businessIndustryOptions,
-      disabledVisible: false,
-      adminId: undefined,
-      techId: undefined,
-      finId: undefined,
-      serviceDate: [],
-      provinceName: '',
-      cityName: '',
-      districtName: '',
-      codeUrl: "",
-      techScopeOptions: techScopeOptions,
-      yesOrNoOptions: yesOrNoOptions,
-      provinceDataList: [],
-      cityDataList: [],
-      districtDataList: [],
-      form: {
-        techScopeArray: ['电子信息'],
-        lisenceTime: [],
-        projectTime: [],
-        id: undefined,
-        entId: undefined,
-        projectOwner: 2,
-        techStartDate: '',
-        techEndDate: '',
-        projectStartDate: '',
-        projectEndDate: '',
-        industryArray: [],
-        industry: ''
-      },
-      rules: {
-        userName: [
-          { required: true, trigger: "blur", message: "请输入您的账号" },
-          { min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' }
-        ],
-        password: [
-          { required: true, trigger: "blur", message: "请输入您的密码" },
-          { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
-        ],
-        address: [
-          { required: true, trigger: "blur", message: "请输入通讯地址" },
-          { max: 100, message: '不超过100字符', trigger: 'blur' }
-        ],
-        linkName: [
-          { required: true, trigger: "blur", message: "请输入企业联系人" },
-          { max: 100, message: '不超过100字符', trigger: 'blur' }
-        ],
-        linkPhone: [
-          { required: true, trigger: "blur", message: "请输入联系电话(座机)" },
-          // { max: 11, message: '请输入正确的电话格式', trigger: 'blur' }
-        ],
-        linkMobile: [
-          { required: true, trigger: "blur", message: "请输入手机号" },
-          {
-            pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
-            message: "请输入正确的手机号码",
-            trigger: "blur"
-          }
-        ],
-        totoalPersons: [
-          { required: true, trigger: "blur", message: "请输入职工总人数" },
-          { validator: validNumber, trigger: 'blur'}
-        ],
-        sales: [
-          { required: true, trigger: "blur", message: "请输入年度企业销售收入(万元)" },
-          { validator: validAmount, trigger: 'blur'}
-        ],
-        techPersons: [
-          { required: true, trigger: "blur", message: "请输入研发人数" },
-          { validator: validNumber, trigger: 'blur'}
-        ],
-        techInvest: [
-          { required: true, trigger: "blur", message: "请输入年度研发投入(万元)" },
-          { validator: validAmount, trigger: 'blur'}
-        ],
-        techRate: [
-          { required: true, trigger: "blur", message: "请输入占销售收入比例(%)" },
-          { validator: validPercentage, trigger: 'blur'}
-        ],
-        industry: [
-          { required: true, trigger: "blur", message: "请选择企业所属行业" }
-        ],
-        innovateFlag: [
-          { required: true, trigger: "[blur,change]", message: "请选择国家自主创新示范区企业" }
-        ],
-        overYearFlag: [
-          { required: true, trigger: "change", message: "请选择是否跨年" }
-        ],
-        smallFlag: [
-          { required: true, trigger: "[blur,change]", message: "请选择是否科技型中小企业" }
-        ],
-        techFlag: [
-          { required: true, trigger: "[blur,change]", message: "请选择是否高新技术企业" }
-        ],
-        techLicense: [
-          { required: true, trigger: "change", message: "请上传高新企业证书" }
-        ],
-        lisenceTime: [
-          { required: true, trigger: "change", message: "请选择证书有效期限" }
-        ]
-      },
-      loading: false,
-      captchaOnOff: true
-    };
-  },
-  created() {
-    this.$nextTick(() => {
-    	this.$refs.form.clearValidate()
-    })
-    this.form.id = this.$route.query.id || undefined;
-    this.form.entId = this.$route.query.entId || undefined;
-    if(this.userType == 'ENT_TECH' || this.userType == 'ENT_ADMIN_TECH') {
-      this.disabledVisible = false
-    }else {
-      this.disabledVisible = true
-    }
-    if(this.form.id) {
-      this.getData().then(res => {
-        this.getEntData()
-      })
-    }
-  },
-  methods: {
-    synSubmit() {
-      this.loading = true
-      synTechApi(this.adminId).then(res => {
-        this.loading = false
-        if(res.code == 200) {
-          this.$message.success('已同步完成');
-          this.getData()
-        }
-      })
-    },
-    async getEntData() {
-      listEntUserApi().then(res => {
-        if(!this.form.entName) {
-          this.form.entName = res.data.entName
-        }
-        if(!this.form.linkName) {
-          this.form.linkName = res.data.linkName
-        }
-        if(!this.form.linkPhone) {
-          this.form.linkPhone = res.data.linkPhone
-        }
-        if(!this.form.linkMobile) {
-          this.form.linkMobile = res.data.linkMobile
-        }
-        if(!this.form.techFlag) {
-          this.form.techFlag = res.data.techFlag
-        }
-      })
-    },
-    async getData() {
-      getProjectInfoApi(this.form.id).then(res => {
-        let obj = res.data.techProject || {}
-        this.form = obj || {}
-        this.adminId = res.data.entProject.id
-        this.form.fileName = '高新证书'
-        let arr = ['电子信息']
-        this.$set(this.form, 'techScopeArray', arr)
-        if(obj.techScope) {
-          this.form.techScopeArray = obj.techScope.split(',') || ['电子信息']
-        }
-        if(this.form.industry) {
-          let industryArray = this.form.industry.split(',') || [];
-          this.$set(this.form, 'industryArray', industryArray);
-        }
-        if(obj.projectStartDate) {
-          this.form.projectTime = []
-          this.form.projectTime[0] = obj.projectStartDate
-          this.form.projectTime[1] = obj.projectEndDate
-        }
-        if(obj.techStartDate) {
-          this.form.lisenceTime = []
-          this.form.lisenceTime[0] = obj.techStartDate
-          this.form.lisenceTime[1] = obj.techEndDate
-        }
-        if(obj.techFlag == 1) {
-          this.techVisible = true
-        }
-      })
-    },
-    handleSuccess(file) {
-      this.$refs.techLicenseUpload.clearValidate()
-      this.form.techLicense = file.url;
-      this.form.fileName = file.name;
-    },
-    cancel() {
-      this.$store.dispatch("tagsView/delView", this.$route); // 关闭当前tab
-      this.$router.go(-1);
-    },
-    submitForm() {
-      this.$refs.form.validate(valid => {
-        if(valid) {
-          this.loading = true
-          this.form.techScope = this.form.techScopeArray.join(',')
-          this.form.industry = this.form.industryArray.join(',')
-          editProjectApi(this.form).then(res => {
-            this.loading = false
-            this.$store.dispatch("tagsView/delView", this.$route);
-            this.$router.go(-1);
-          })
-        }
-      })
-    },
-    submitDraft() {
-      this.loading = true
-      if(this.form.techScopeArray.length > 0) {
-        this.form.techScope = this.form.techScopeArray.join(',')
-      }
-      if(this.form.industryArray.length > 0) {
-        this.form.industry = this.form.industryArray.join(',')
-      }
-      draftApi(this.form).then(res => {
-        this.loading = false
-        this.$store.dispatch("tagsView/delView", this.$route);
-        this.$router.go(-1);
-      })
-    }
-  },
-  watch: {
-    'entProjectList': {
-      immediate: true,
-      handler (val) {
-        this.form.entProjectList = this.entProjectList || {}
-      }
-    },
-    'form.projectTime'(val) {
-      if(this.projectTime) {
-        this.form.projectStartDate = this.form.projectTime[0]
-        this.form.projectEndDate = this.form.projectTime[1]
-      }else {
-        this.form.projectStartDate = ''
-        this.form.projectEndDate = ''
-      }
-    },
-    'form.lisenceTime'(val) {
-      if(this.form.lisenceTime) {
-        this.form.techStartDate = this.form.lisenceTime[0]
-        this.form.techEndDate = this.form.lisenceTime[1]
-      }else {
-        this.form.techStartDate = ''
-        this.form.techEndDate = ''
-      }
-    },
-    'tempVariable'(val) {
-      if(val.invest && val.sales) {
-        this.form.techRate = ((val.invest / val.sales)*100).toFixed(2)
-      }
-    }
-  }
-};
-</script>

Разлика између датотеке није приказан због своје велике величине
+ 0 - 171
src/views/enterprise/project/components/TechEnclosure.vue


+ 0 - 49
src/views/enterprise/project/info/BasicInfo.vue

@@ -1,49 +0,0 @@
-<template>
-  <div class="app-container" v-loading="loading">
-    <el-tabs type="border-card">
-      <el-tab-pane label="项目基本信息">
-        <basic-info :projectOwner="projectOwner"></basic-info>
-      </el-tab-pane>
-      <el-tab-pane label="资料附件">
-        <enclosure-info :projectOwner="projectOwner"></enclosure-info>
-      </el-tab-pane>
-      <el-tab-pane label="财务资料附件" v-if="projectOwner == '3'">
-        <enclosure-info :projectOwner="projectOwner" :finOwner="'fin'"></enclosure-info>
-      </el-tab-pane>
-    </el-tabs>
-  </div>
-</template>
-
-<script>
-import BasicInfo from '../components/BasicInfo'
-import EnclosureInfo from '../components/EnclosureInfo'
-
-export default {
-  name: "First",
-  components: {
-    BasicInfo,
-    EnclosureInfo,
-  },
-  props: {
-    projectOwner: {
-      type: String
-    },
-  },
-  data() {
-    return {
-      activeName: '1',
-      loading: false,
-    };
-  },
-  created() {
-  },
-  methods: {
-  }
-};
-</script>
-
-<style rel="stylesheet/scss" lang="scss">
-  .el-tabs__nav {
-    width: 96px
-  }
-</style>

+ 1 - 1
vue.config.js

@@ -35,7 +35,7 @@ module.exports = {
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        target: `http://124.232.146.72:7015/api`,
+        target: `http://172.16.0.255:8088/api`,
         // target: 'http://192.168.0.174:8080/api',
         changeOrigin: true,
         pathRewrite: {