From d586f70d63761881a6b23f559ee4f71cece2bbaf Mon Sep 17 00:00:00 2001 From: TiaStars Date: Wed, 10 Apr 2024 15:21:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=95=E5=85=A5=E9=A1=B5=E9=9D=A2=E5=8F=8A?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=9D=A2=E5=8C=85=E5=B1=91=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E3=80=81=E7=99=BB=E5=BD=95=E5=A2=9E=E5=8A=A0=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 12 +- package.json | 5 +- src/api/login.js | 15 +- src/api/menu.js | 2 +- .../onlineDeclartion/declarationManagement.js | 53 + src/api/onlineDeclartion/declareAddContent.js | 286 ++ .../onlineDeclartion/enterpriseDirectory.js | 86 + src/api/onlineDeclartion/pendingReview.js | 58 + src/api/onlineDeclartion/records.js | 69 + src/api/onlineDeclartion/template.js | 37 + src/api/system/bigStrongAward.js | 44 + src/api/system/brandingAward.js | 44 + src/api/system/carrierConstructionAward.js | 44 + src/api/system/enterpriseBasicInfo.js | 44 + src/api/system/fundingInfo.js | 44 + src/api/system/industrialInternetAward.js | 44 + src/api/system/logininfor.js | 33 + src/api/system/logisticsDevelopmentAward.js | 44 + src/api/system/manufacturingServicesAward.js | 44 + src/api/system/operlog.js | 26 + src/api/system/platformConstructionAward.js | 44 + src/api/system/projectSettlementAward.js | 44 + src/api/system/sceneOpeningAward.js | 44 + src/api/system/templateInfo.js | 44 + src/assets/images/approvalAgree.jpg | Bin 0 -> 17402 bytes src/assets/images/approvalPrimary.jpg | Bin 0 -> 12295 bytes src/assets/images/approvalReject.jpg | Bin 0 -> 18903 bytes src/assets/images/uploadBgc.jpg | Bin 0 -> 856 bytes src/assets/styles/index.scss | 3 +- src/assets/styles/public.scss | 3 +- src/layout/components/AppMain.vue | 3 +- .../FixedHeader/components/MenuItem/index.vue | 2 +- .../FixedHeader/components/MenuMain/index.vue | 2 +- src/layout/components/FixedHeader/index.vue | 2 +- src/router/index.js | 54 +- src/store/modules/user.js | 36 +- src/utils/auth.js | 13 + src/views/login.vue | 10 +- .../declarationManagement/index.vue | 348 ++ .../declareAddContent/index.vue | 2197 ++++++++++++ .../declareDetailContent/index.vue | 3179 +++++++++++++++++ .../enterpriseDirectory/index.vue | 588 +++ .../onlineDeclaration/pendingReview/index.vue | 489 +++ src/views/onlineDeclaration/records/index.vue | 727 ++++ .../onlineDeclaration/supplementary/index.vue | 2251 ++++++++++++ .../onlineDeclaration/template/index.vue | 212 ++ .../templateDetail/index.vue | 695 ++++ src/views/system/bigStrongAward/index.vue | 329 ++ src/views/system/brandingAward/index.vue | 312 ++ .../system/carrierConstructionAward/index.vue | 354 ++ .../system/enterpriseBasicInfo/index.vue | 327 ++ src/views/system/fundingInfo/index.vue | 422 +++ .../system/industrialInternetAward/index.vue | 298 ++ src/views/system/logininfor/index.vue | 242 ++ .../logisticsDevelopmentAward/index.vue | 326 ++ .../manufacturingServicesAward/index.vue | 321 ++ src/views/system/operlog/index.vue | 304 ++ .../platformConstructionAward/index.vue | 298 ++ .../system/projectSettlementAward/index.vue | 358 ++ src/views/system/sceneOpeningAward/index.vue | 301 ++ src/views/system/templateInfo/index.vue | 443 +++ 61 files changed, 16619 insertions(+), 40 deletions(-) create mode 100644 src/api/onlineDeclartion/declarationManagement.js create mode 100644 src/api/onlineDeclartion/declareAddContent.js create mode 100644 src/api/onlineDeclartion/enterpriseDirectory.js create mode 100644 src/api/onlineDeclartion/pendingReview.js create mode 100644 src/api/onlineDeclartion/records.js create mode 100644 src/api/onlineDeclartion/template.js create mode 100644 src/api/system/bigStrongAward.js create mode 100644 src/api/system/brandingAward.js create mode 100644 src/api/system/carrierConstructionAward.js create mode 100644 src/api/system/enterpriseBasicInfo.js create mode 100644 src/api/system/fundingInfo.js create mode 100644 src/api/system/industrialInternetAward.js create mode 100644 src/api/system/logininfor.js create mode 100644 src/api/system/logisticsDevelopmentAward.js create mode 100644 src/api/system/manufacturingServicesAward.js create mode 100644 src/api/system/operlog.js create mode 100644 src/api/system/platformConstructionAward.js create mode 100644 src/api/system/projectSettlementAward.js create mode 100644 src/api/system/sceneOpeningAward.js create mode 100644 src/api/system/templateInfo.js create mode 100644 src/assets/images/approvalAgree.jpg create mode 100644 src/assets/images/approvalPrimary.jpg create mode 100644 src/assets/images/approvalReject.jpg create mode 100644 src/assets/images/uploadBgc.jpg create mode 100644 src/views/onlineDeclaration/declarationManagement/index.vue create mode 100644 src/views/onlineDeclaration/declareAddContent/index.vue create mode 100644 src/views/onlineDeclaration/declareDetailContent/index.vue create mode 100644 src/views/onlineDeclaration/enterpriseDirectory/index.vue create mode 100644 src/views/onlineDeclaration/pendingReview/index.vue create mode 100644 src/views/onlineDeclaration/records/index.vue create mode 100644 src/views/onlineDeclaration/supplementary/index.vue create mode 100644 src/views/onlineDeclaration/template/index.vue create mode 100644 src/views/onlineDeclaration/templateDetail/index.vue create mode 100644 src/views/system/bigStrongAward/index.vue create mode 100644 src/views/system/brandingAward/index.vue create mode 100644 src/views/system/carrierConstructionAward/index.vue create mode 100644 src/views/system/enterpriseBasicInfo/index.vue create mode 100644 src/views/system/fundingInfo/index.vue create mode 100644 src/views/system/industrialInternetAward/index.vue create mode 100644 src/views/system/logininfor/index.vue create mode 100644 src/views/system/logisticsDevelopmentAward/index.vue create mode 100644 src/views/system/manufacturingServicesAward/index.vue create mode 100644 src/views/system/operlog/index.vue create mode 100644 src/views/system/platformConstructionAward/index.vue create mode 100644 src/views/system/projectSettlementAward/index.vue create mode 100644 src/views/system/sceneOpeningAward/index.vue create mode 100644 src/views/system/templateInfo/index.vue diff --git a/.env.development b/.env.development index 066aadd..82f82f9 100644 --- a/.env.development +++ b/.env.development @@ -1,11 +1,3 @@ -### - # @Descripttion: - # @version: - # @Author: JC9527 - # @Date: 2024-03-25 09:07:08 - # @LastEditors: JC9527 - # @LastEditTime: 2024-04-01 09:39:22 -### # 页面标题 VUE_APP_TITLE = 金鸡湖现代服务业品牌管理系统 @@ -13,8 +5,8 @@ VUE_APP_TITLE = 金鸡湖现代服务业品牌管理系统 ENV = 'development' # 金鸡湖现代服务业品牌管理系统/开发环境 -# VUE_APP_BASE_API = 'http://192.168.0.111:9040' -VUE_APP_BASE_API = 'http://39.101.188.84:9040' +VUE_APP_BASE_API = 'http://192.168.0.107:9040' +# VUE_APP_BASE_API = 'http://39.101.188.84:9040' # 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/package.json b/package.json index 49d391e..4f3daa1 100644 --- a/package.json +++ b/package.json @@ -46,9 +46,11 @@ "file-saver": "2.0.5", "fuse.js": "6.4.3", "highlight.js": "9.18.5", + "html2canvas": "^1.4.1", "js-beautify": "1.13.0", "js-cookie": "3.0.1", "jsencrypt": "3.0.0-rc.1", + "jspdf": "^2.5.1", "nprogress": "0.2.0", "quill": "1.3.7", "screenfull": "5.0.2", @@ -59,7 +61,8 @@ "vue-meta": "2.4.0", "vue-router": "3.4.9", "vuedraggable": "2.24.3", - "vuex": "3.6.0" + "vuex": "3.6.0", + "xlsx": "^0.18.5" }, "devDependencies": { "@vue/cli-plugin-babel": "4.4.6", diff --git a/src/api/login.js b/src/api/login.js index 7b7388f..f8f7f14 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -1,12 +1,13 @@ import request from '@/utils/request' // 登录方法 -export function login(username, password, code, uuid) { +export function login(username, password, code, uuid, userType) { const data = { username, password, code, - uuid + uuid, + userType } return request({ url: '/login', @@ -31,10 +32,18 @@ export function register(data) { }) } +// 刷新方法 +export function refreshToken() { + return request({ + url: '/refresh', + method: 'post' + }) +} + // 获取用户详细信息 export function getInfo() { return request({ - url: '/getInfo', + url: '/system/user/getInfo', method: 'get' }) } diff --git a/src/api/menu.js b/src/api/menu.js index faef101..845efd7 100644 --- a/src/api/menu.js +++ b/src/api/menu.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 获取路由 export const getRouters = () => { return request({ - url: '/getRouters', + url: '/system/menu/getRouters', method: 'get' }) } \ No newline at end of file diff --git a/src/api/onlineDeclartion/declarationManagement.js b/src/api/onlineDeclartion/declarationManagement.js new file mode 100644 index 0000000..2cac525 --- /dev/null +++ b/src/api/onlineDeclartion/declarationManagement.js @@ -0,0 +1,53 @@ +import request from '@/utils/request' + +// 查询在线申报管理列表 +export function listInfo(query) { + return request({ + url: '/system/templateInfo/list', + method: 'get', + params: query + }) +} +// 查询在线申报管理列表 +export function getInfo(id) { + return request({ + url: '/system/templateInfo/' + id, + method: 'get', + }) +} + +// 查询申报模版列表 +export function templateList(query) { + return request({ + url: '/system/templateRecord/templateNameList', + method: 'get', + params: query + }) +} + +// 查询企业列表 +export function listBusiness(query) { + return request({ + url: '/system/enterpriseDirectory/list', + method: 'get', + params: query + }) +} + +// 导出 +export function exportData(data) { + return request({ + url: `/system/templateInfo/exportTemplate/${data.id}`, + method: 'get', + responseType: 'blob' + }) +} + +// 新增企业名录 +export function addTemplateRecord(data) { + return request({ + url: '/system/templateRecord', + method: 'post', + data: data + }) +} diff --git a/src/api/onlineDeclartion/declareAddContent.js b/src/api/onlineDeclartion/declareAddContent.js new file mode 100644 index 0000000..39fb3ab --- /dev/null +++ b/src/api/onlineDeclartion/declareAddContent.js @@ -0,0 +1,286 @@ +import request from '@/utils/request' + +// 查询在线申报记录列表 +export function getTemplateInfo(query) { + return request({ + url: `/system/templateInfo/${query.templateId}`, + method: 'get', + params: query + }) +} + +// 获取公司信息 +export function getBasicInfo(query) { + return request({ + url: `/system/enterpriseBasicInfo/${query.enterpriseId}`, + method: 'get', + params: query + }) +} + +// 获取公司信息 +export function getOpenInterface(query) { + return request({ + url: `/system/openInterface/${query.templateRecordId}`, + method: 'get', + }) +} + +// 通过统一社会代码获取对应公司模版 +export function getEnterpriseInfo(query) { + return request({ + url: `/system/openInterface/enterpriseInfo/${query.socialCode}`, + method: 'get', + params: query + }) +} + +/* 统一补录上传数据 */ +export function unifyReport(data) { + return request({ + url: '/system/openInterface', + method: 'post', + data: data, + }) +} + +// 获取全部模版编辑信息 +export function getDeclarationRecords(query) { + return request({ + url: `/system/declarationRecords/${query.id}`, + method: 'get', + params: query + }) +} + + +// 查询申报模版列表 +export function templateList(query) { + return request({ + url: '/system/templateRecord/templateNameList', + method: 'get', + params: query + }) +} + +// 导出 +export function exportData(data) { + return request({ + url: '/system/declarationRecords/export', + method: 'post', + responseType: 'blob', + data: data + }) +} + +// 上传单个文件 +export function uploadFile(data) { + return request({ + url: '/file/upload', + method: 'post', + data: data, + headers: { + 'Content-type': 'multipart/form-data' + } + }) +} + + +// 新增-项目落户奖补-1 +export function addProjectSettlementAward(data) { + return request({ + url: '/system/projectSettlementAward', + method: 'post', + data: data + }) +} + +// 编辑-项目落户奖补-1 +export function putProjectSettlementAward(data) { + return request({ + url: '/system/projectSettlementAward', + method: 'put', + data: data + }) +} + +// 新增-做大做强奖补-2-完成 +export function addBigStrongAward(data) { + return request({ + url: '/system/bigStrongAward', + method: 'post', + data: data + }) +} + +// 编辑-做大做强奖补-2 +export function putBigStrongAward(data) { + return request({ + url: '/system/bigStrongAward', + method: 'put', + data: data + }) +} + +// 新增-载体建设奖补-3 +export function addCarrierConstructionAward(data) { + return request({ + url: '/system/carrierConstructionAward', + method: 'post', + data: data + }) +} + +// 编辑-载体建设奖补-3 +export function putCarrierConstructionAward(data) { + return request({ + url: '/system/carrierConstructionAward', + method: 'put', + data: data + }) +} + +// 新增-平台建设奖补-4-完成 +export function addPlatformConstructionAward(data) { + return request({ + url: '/system/platformConstructionAward', + method: 'post', + data: data + }) +} + +// 编辑-平台建设奖补-4 +export function putPlatformConstructionAward(data) { + return request({ + url: '/system/platformConstructionAward', + method: 'put', + data: data + }) +} + +// 新增-品牌打造奖补-5 +export function addBrandingAward(data) { + return request({ + url: '/system/brandingAward', + method: 'post', + data: data + }) +} + +// 编辑-品牌打造奖补-5 +export function putBrandingAward(data) { + return request({ + url: '/system/brandingAward', + method: 'put', + data: data + }) +} + +// 新增-场景开放奖补-6-完成 +export function addSceneOpeningAward(data) { + return request({ + url: '/system/sceneOpeningAward', + method: 'post', + data: data + }) +} + +// 编辑-场景开放奖补-6 +export function putSceneOpeningAward(data) { + return request({ + url: '/system/sceneOpeningAward', + method: 'put', + data: data + }) +} + +// 新增-信用管理奖补-7 +export function addCreditManagement(data) { + return request({ + url: '/system/creditManagement', + method: 'post', + data: data + }) +} + +// 编辑-信用管理奖补-7 +export function putCreditManagement(data) { + return request({ + url: '/system/creditManagement', + method: 'put', + data: data + }) +} + +// 新增-5G+工业互联网奖补-8 +export function addIndustrialInternetAward(data) { + return request({ + url: '/system/industrialInternetAward', + method: 'post', + data: data + }) +} + +// 编辑-5G+工业互联网奖补-8 +export function putIndustrialInternetAward(data) { + return request({ + url: '/system/industrialInternetAward', + method: 'put', + data: data + }) +} + +// 新增-制造服务业有效投入奖补-9 +export function addManufacturingServicesAward(data) { + return request({ + url: '/system/manufacturingServicesAward', + method: 'post', + data: data + }) +} + +// 编辑-制造服务业有效投入奖补-9 +export function putManufacturingServicesAward(data) { + return request({ + url: '/system/manufacturingServicesAward', + method: 'put', + data: data + }) +} + +// 新增-物流发展奖补-10 +export function addLogisticsDevelopmentAward(data) { + return request({ + url: '/system/logisticsDevelopmentAward', + method: 'post', + data: data + }) +} + +// 编辑-物流发展奖补-10 +export function putLogisticsDevelopmentAward(data) { + return request({ + url: '/system/logisticsDevelopmentAward', + method: 'put', + data: data + }) +} + +// 新增-两业融合奖补-11 +export function addIntegrationIndustries(data) { + return request({ + url: '/system/integrationIndustries', + method: 'post', + data: data + }) +} + +// 编辑-两业融合奖补-11 +export function putIntegrationIndustries(data) { + return request({ + url: '/system/integrationIndustries', + method: 'put', + data: data + }) +} + diff --git a/src/api/onlineDeclartion/enterpriseDirectory.js b/src/api/onlineDeclartion/enterpriseDirectory.js new file mode 100644 index 0000000..c0adaeb --- /dev/null +++ b/src/api/onlineDeclartion/enterpriseDirectory.js @@ -0,0 +1,86 @@ +/* + * @Descripttion: + * @version: + * @Author: JC9527 + * @Date: 2024-04-09 16:55:04 + * @LastEditors: JC9527 + * @LastEditTime: 2024-04-09 17:21:46 + */ +import request from '@/utils/request' + +// 查询企业名录列表 +export function listTemplate(query) { + return request({ + url: '/system/templateRecord/list', + method: 'get', + params: query + }) +} + +// 查询企业列表 +export function listBusiness(query) { + return request({ + url: '/system/enterpriseDirectory/list', + method: 'get', + params: query + }) +} + +// 查询在线申报管理列表 +export function listTemplateInfo(query) { + return request({ + url: '/system/templateInfo/list', + method: 'get', + params: query + }) +} + +// 导出 +export function exportData(data) { + return request({ + url: '/system/enterpriseDirectory/export', + method: 'post', + responseType: 'blob', + data: data + }) +} + +// 新增企业名录 +export function addTemplateRecord(data) { + return request({ + url: '/system/templateRecord', + method: 'post', + data: data + }) +} + +// 编辑企业名录 +export function putTemplateRecord(data) { + return request({ + url: '/system/templateRecord', + method: 'put', + data: data + }) +} + +// 获取企业名录 +export function getTemplateRecord(query) { + return request({ + url: `/system/templateRecord/${query.templateRecordId}`, + method: 'get', + arams: query + }) +} + +// 上传单个文件 +export function uploadFile(data) { + return request({ + url: process.env.VUE_APP_BASE_API + "/common/upload", + method: 'post', + data: data, + // headers: { + // 'Content-type': 'multipart/form-data' + // } + }) +} + diff --git a/src/api/onlineDeclartion/pendingReview.js b/src/api/onlineDeclartion/pendingReview.js new file mode 100644 index 0000000..76f2d2c --- /dev/null +++ b/src/api/onlineDeclartion/pendingReview.js @@ -0,0 +1,58 @@ +import request from '@/utils/request' + +// 查询在线申报管理列表 +export function approvalList(query) { + return request({ + url: '/system/declarationRecords/approvalList', + method: 'get', + params: query + }) +} + +// 查询企业列表 +export function listBusiness(query) { + return request({ + url: '/system/enterpriseDirectory/list', + method: 'get', + params: query + }) +} + +// 导出 +export function exportData(data) { + return request({ + url: `/system/templateInfo/exportTemplate/${data.id}`, + method: 'get', + responseType: 'blob' + }) +} + +// 新增企业名录 +export function addTemplateRecord(data) { + return request({ + url: '/system/templateRecord', + method: 'post', + data: data + }) +} + +// 审批数据 +export function approvalEdit(data) { + return request({ + url: '/system/declarationRecords/approvalEdit', + method: 'put', + data: data + }) +} + +// 上传单个文件 +export function uploadFile(data) { + return request({ + url: '/file/upload', + method: 'post', + data: data, + headers: { + 'Content-type': 'multipart/form-data' + } + }) +} diff --git a/src/api/onlineDeclartion/records.js b/src/api/onlineDeclartion/records.js new file mode 100644 index 0000000..f376635 --- /dev/null +++ b/src/api/onlineDeclartion/records.js @@ -0,0 +1,69 @@ +import request from '@/utils/request' + +// 查询在线申报记录列表 +export function listRecords(query) { + return request({ + url: '/system/declarationRecords/list', + method: 'get', + params: query + }) +} + +// 查询申报模版列表 +export function templateList(query) { + return request({ + url: '/system/templateRecord/templateNameList', + method: 'get', + params: query + }) +} + +// 导出 +export function exportData(data) { + return request({ + url: '/system/declarationRecords/export', + method: 'post', + responseType: 'blob', + data: data + }) +} + +// 新增企业名录 +export function addTemplateRecord(data) { + return request({ + url: '/system/templateRecord', + method: 'post', + data: data + }) +} + +// 下载需要评定数据 +export function downloadData(data) { + return request({ + url: '/system/declarationRecords/exportMunicipalBureauReview', + method: 'post', + responseType: 'blob', + data: data + }) +} + +// 上传单个文件 +export function uploadFile(data) { + return request({ + url: '/file/upload', + method: 'post', + data: data, + // headers: { + // 'Content-type': 'multipart/form-data' + // } + }) +} + +// 上传评定数据 +export function putMunicipalBureauReview(data) { + return request({ + url: '/system/declarationRecords/municipalReviewNew', + method: 'put', + data: data + }) +} diff --git a/src/api/onlineDeclartion/template.js b/src/api/onlineDeclartion/template.js new file mode 100644 index 0000000..3c5c9c5 --- /dev/null +++ b/src/api/onlineDeclartion/template.js @@ -0,0 +1,37 @@ +import request from '@/utils/request' + +// 查询在线申报管理列表 +export function listInfo(query) { + return request({ + url: '/system/templateInfo/list', + method: 'get', + params: query + }) +} + +// 查询企业列表 +export function listBusiness(query) { + return request({ + url: '/system/enterpriseDirectory/list', + method: 'get', + params: query + }) +} + +// 导出 +export function exportData(data) { + return request({ + url: `/system/templateInfo/exportTemplate/${data.id}`, + method: 'get', + responseType: 'blob' + }) +} + +// 新增企业名录 +export function addTemplateRecord(data) { + return request({ + url: '/system/templateRecord', + method: 'post', + data: data + }) +} diff --git a/src/api/system/bigStrongAward.js b/src/api/system/bigStrongAward.js new file mode 100644 index 0000000..564c17d --- /dev/null +++ b/src/api/system/bigStrongAward.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询做大做强奖详情列表 +export function listBigStrongAward(query) { + return request({ + url: '/system/bigStrongAward/list', + method: 'get', + params: query + }) +} + +// 查询做大做强奖详情详细 +export function getBigStrongAward(id) { + return request({ + url: '/system/bigStrongAward/' + id, + method: 'get' + }) +} + +// 新增做大做强奖详情 +export function addBigStrongAward(data) { + return request({ + url: '/system/bigStrongAward', + method: 'post', + data: data + }) +} + +// 修改做大做强奖详情 +export function updateBigStrongAward(data) { + return request({ + url: '/system/bigStrongAward', + method: 'put', + data: data + }) +} + +// 删除做大做强奖详情 +export function delBigStrongAward(id) { + return request({ + url: '/system/bigStrongAward/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/brandingAward.js b/src/api/system/brandingAward.js new file mode 100644 index 0000000..592e7f6 --- /dev/null +++ b/src/api/system/brandingAward.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询品牌打造奖补列表 +export function listBrandingAward(query) { + return request({ + url: '/system/brandingAward/list', + method: 'get', + params: query + }) +} + +// 查询品牌打造奖补详细 +export function getBrandingAward(id) { + return request({ + url: '/system/brandingAward/' + id, + method: 'get' + }) +} + +// 新增品牌打造奖补 +export function addBrandingAward(data) { + return request({ + url: '/system/brandingAward', + method: 'post', + data: data + }) +} + +// 修改品牌打造奖补 +export function updateBrandingAward(data) { + return request({ + url: '/system/brandingAward', + method: 'put', + data: data + }) +} + +// 删除品牌打造奖补 +export function delBrandingAward(id) { + return request({ + url: '/system/brandingAward/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/carrierConstructionAward.js b/src/api/system/carrierConstructionAward.js new file mode 100644 index 0000000..a189c95 --- /dev/null +++ b/src/api/system/carrierConstructionAward.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询载体建设奖补列表 +export function listCarrierConstructionAward(query) { + return request({ + url: '/system/carrierConstructionAward/list', + method: 'get', + params: query + }) +} + +// 查询载体建设奖补详细 +export function getCarrierConstructionAward(id) { + return request({ + url: '/system/carrierConstructionAward/' + id, + method: 'get' + }) +} + +// 新增载体建设奖补 +export function addCarrierConstructionAward(data) { + return request({ + url: '/system/carrierConstructionAward', + method: 'post', + data: data + }) +} + +// 修改载体建设奖补 +export function updateCarrierConstructionAward(data) { + return request({ + url: '/system/carrierConstructionAward', + method: 'put', + data: data + }) +} + +// 删除载体建设奖补 +export function delCarrierConstructionAward(id) { + return request({ + url: '/system/carrierConstructionAward/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/enterpriseBasicInfo.js b/src/api/system/enterpriseBasicInfo.js new file mode 100644 index 0000000..ffd8f16 --- /dev/null +++ b/src/api/system/enterpriseBasicInfo.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询企业基础信息列表 +export function listEnterpriseBasicInfo(query) { + return request({ + url: '/system/enterpriseBasicInfo/list', + method: 'get', + params: query + }) +} + +// 查询企业基础信息详细 +export function getEnterpriseBasicInfo(id) { + return request({ + url: '/system/enterpriseBasicInfo/' + id, + method: 'get' + }) +} + +// 新增企业基础信息 +export function addEnterpriseBasicInfo(data) { + return request({ + url: '/system/enterpriseBasicInfo', + method: 'post', + data: data + }) +} + +// 修改企业基础信息 +export function updateEnterpriseBasicInfo(data) { + return request({ + url: '/system/enterpriseBasicInfo', + method: 'put', + data: data + }) +} + +// 删除企业基础信息 +export function delEnterpriseBasicInfo(id) { + return request({ + url: '/system/enterpriseBasicInfo/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/fundingInfo.js b/src/api/system/fundingInfo.js new file mode 100644 index 0000000..b3f518c --- /dev/null +++ b/src/api/system/fundingInfo.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询资金信息列表 +export function listFundingInfo(query) { + return request({ + url: '/system/fundingInfo/list', + method: 'get', + params: query + }) +} + +// 查询资金信息详细 +export function getFundingInfo(id) { + return request({ + url: '/system/fundingInfo/' + id, + method: 'get' + }) +} + +// 新增资金信息 +export function addFundingInfo(data) { + return request({ + url: '/system/fundingInfo', + method: 'post', + data: data + }) +} + +// 修改资金信息 +export function updateFundingInfo(data) { + return request({ + url: '/system/fundingInfo', + method: 'put', + data: data + }) +} + +// 删除资金信息 +export function delFundingInfo(id) { + return request({ + url: '/system/fundingInfo/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/industrialInternetAward.js b/src/api/system/industrialInternetAward.js new file mode 100644 index 0000000..0d2225b --- /dev/null +++ b/src/api/system/industrialInternetAward.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询5G+工业互联网奖补列表 +export function listIndustrialInternetAward(query) { + return request({ + url: '/system/industrialInternetAward/list', + method: 'get', + params: query + }) +} + +// 查询5G+工业互联网奖补详细 +export function getIndustrialInternetAward(id) { + return request({ + url: '/system/industrialInternetAward/' + id, + method: 'get' + }) +} + +// 新增5G+工业互联网奖补 +export function addIndustrialInternetAward(data) { + return request({ + url: '/system/industrialInternetAward', + method: 'post', + data: data + }) +} + +// 修改5G+工业互联网奖补 +export function updateIndustrialInternetAward(data) { + return request({ + url: '/system/industrialInternetAward', + method: 'put', + data: data + }) +} + +// 删除5G+工业互联网奖补 +export function delIndustrialInternetAward(id) { + return request({ + url: '/system/industrialInternetAward/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/logininfor.js b/src/api/system/logininfor.js new file mode 100644 index 0000000..e010dc3 --- /dev/null +++ b/src/api/system/logininfor.js @@ -0,0 +1,33 @@ +import request from '@/utils/request' + +// 查询登录日志列表 +export function list(query) { + return request({ + url: '/system/logininfor/list', + method: 'get', + params: query + }) +} + +// 删除登录日志 +export function delLogininfor(infoId) { + return request({ + url: '/system/logininfor/' + infoId, + method: 'delete' + }) +} + +// 解锁用户登录状态 +export function unlockLogininfor(userName) { + return request({ + url: '/system/logininfor/unlock/' + userName, + method: 'get' + }) +} +// 清空登录日志 +export function cleanLogininfor() { + return request({ + url: '/system/logininfor/clean', + method: 'delete' + }) +} diff --git a/src/api/system/logisticsDevelopmentAward.js b/src/api/system/logisticsDevelopmentAward.js new file mode 100644 index 0000000..9daddec --- /dev/null +++ b/src/api/system/logisticsDevelopmentAward.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询物流发展奖补列表 +export function listLogisticsDevelopmentAward(query) { + return request({ + url: '/system/logisticsDevelopmentAward/list', + method: 'get', + params: query + }) +} + +// 查询物流发展奖补详细 +export function getLogisticsDevelopmentAward(id) { + return request({ + url: '/system/logisticsDevelopmentAward/' + id, + method: 'get' + }) +} + +// 新增物流发展奖补 +export function addLogisticsDevelopmentAward(data) { + return request({ + url: '/system/logisticsDevelopmentAward', + method: 'post', + data: data + }) +} + +// 修改物流发展奖补 +export function updateLogisticsDevelopmentAward(data) { + return request({ + url: '/system/logisticsDevelopmentAward', + method: 'put', + data: data + }) +} + +// 删除物流发展奖补 +export function delLogisticsDevelopmentAward(id) { + return request({ + url: '/system/logisticsDevelopmentAward/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/manufacturingServicesAward.js b/src/api/system/manufacturingServicesAward.js new file mode 100644 index 0000000..e4f8b28 --- /dev/null +++ b/src/api/system/manufacturingServicesAward.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询制造服务业有效投入奖补列表 +export function listManufacturingServicesAward(query) { + return request({ + url: '/system/manufacturingServicesAward/list', + method: 'get', + params: query + }) +} + +// 查询制造服务业有效投入奖补详细 +export function getManufacturingServicesAward(id) { + return request({ + url: '/system/manufacturingServicesAward/' + id, + method: 'get' + }) +} + +// 新增制造服务业有效投入奖补 +export function addManufacturingServicesAward(data) { + return request({ + url: '/system/manufacturingServicesAward', + method: 'post', + data: data + }) +} + +// 修改制造服务业有效投入奖补 +export function updateManufacturingServicesAward(data) { + return request({ + url: '/system/manufacturingServicesAward', + method: 'put', + data: data + }) +} + +// 删除制造服务业有效投入奖补 +export function delManufacturingServicesAward(id) { + return request({ + url: '/system/manufacturingServicesAward/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/operlog.js b/src/api/system/operlog.js new file mode 100644 index 0000000..51a4cc3 --- /dev/null +++ b/src/api/system/operlog.js @@ -0,0 +1,26 @@ +import request from '@/utils/request' + +// 查询操作日志列表 +export function list(query) { + return request({ + url: '/system/operlog/list', + method: 'get', + params: query + }) +} + +// 删除操作日志 +export function delOperlog(operId) { + return request({ + url: '/system/operlog/' + operId, + method: 'delete' + }) +} + +// 清空操作日志 +export function cleanOperlog() { + return request({ + url: '/system/operlog/clean', + method: 'delete' + }) +} diff --git a/src/api/system/platformConstructionAward.js b/src/api/system/platformConstructionAward.js new file mode 100644 index 0000000..ec478e0 --- /dev/null +++ b/src/api/system/platformConstructionAward.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询平台建设奖补列表 +export function listPlatformConstructionAward(query) { + return request({ + url: '/system/platformConstructionAward/list', + method: 'get', + params: query + }) +} + +// 查询平台建设奖补详细 +export function getPlatformConstructionAward(id) { + return request({ + url: '/system/platformConstructionAward/' + id, + method: 'get' + }) +} + +// 新增平台建设奖补 +export function addPlatformConstructionAward(data) { + return request({ + url: '/system/platformConstructionAward', + method: 'post', + data: data + }) +} + +// 修改平台建设奖补 +export function updatePlatformConstructionAward(data) { + return request({ + url: '/system/platformConstructionAward', + method: 'put', + data: data + }) +} + +// 删除平台建设奖补 +export function delPlatformConstructionAward(id) { + return request({ + url: '/system/platformConstructionAward/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/projectSettlementAward.js b/src/api/system/projectSettlementAward.js new file mode 100644 index 0000000..dbd5ba3 --- /dev/null +++ b/src/api/system/projectSettlementAward.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询项目落户奖补列表 +export function listProjectSettlementAward(query) { + return request({ + url: '/system/projectSettlementAward/list', + method: 'get', + params: query + }) +} + +// 查询项目落户奖补详细 +export function getProjectSettlementAward(id) { + return request({ + url: '/system/projectSettlementAward/' + id, + method: 'get' + }) +} + +// 新增项目落户奖补 +export function addProjectSettlementAward(data) { + return request({ + url: '/system/projectSettlementAward', + method: 'post', + data: data + }) +} + +// 修改项目落户奖补 +export function updateProjectSettlementAward(data) { + return request({ + url: '/system/projectSettlementAward', + method: 'put', + data: data + }) +} + +// 删除项目落户奖补 +export function delProjectSettlementAward(id) { + return request({ + url: '/system/projectSettlementAward/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/sceneOpeningAward.js b/src/api/system/sceneOpeningAward.js new file mode 100644 index 0000000..2217501 --- /dev/null +++ b/src/api/system/sceneOpeningAward.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询场景开放奖补列表 +export function listSceneOpeningAward(query) { + return request({ + url: '/system/sceneOpeningAward/list', + method: 'get', + params: query + }) +} + +// 查询场景开放奖补详细 +export function getSceneOpeningAward(id) { + return request({ + url: '/system/sceneOpeningAward/' + id, + method: 'get' + }) +} + +// 新增场景开放奖补 +export function addSceneOpeningAward(data) { + return request({ + url: '/system/sceneOpeningAward', + method: 'post', + data: data + }) +} + +// 修改场景开放奖补 +export function updateSceneOpeningAward(data) { + return request({ + url: '/system/sceneOpeningAward', + method: 'put', + data: data + }) +} + +// 删除场景开放奖补 +export function delSceneOpeningAward(id) { + return request({ + url: '/system/sceneOpeningAward/' + id, + method: 'delete' + }) +} diff --git a/src/api/system/templateInfo.js b/src/api/system/templateInfo.js new file mode 100644 index 0000000..16b57d9 --- /dev/null +++ b/src/api/system/templateInfo.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询申报模板信息列表 +export function listTemplateInfo(query) { + return request({ + url: '/system/templateInfo/list', + method: 'get', + params: query + }) +} + +// 查询申报模板信息详细 +export function getTemplateInfo(id) { + return request({ + url: '/system/templateInfo/' + id, + method: 'get' + }) +} + +// 新增申报模板信息 +export function addTemplateInfo(data) { + return request({ + url: '/system/templateInfo', + method: 'post', + data: data + }) +} + +// 修改申报模板信息 +export function updateTemplateInfo(data) { + return request({ + url: '/system/templateInfo', + method: 'put', + data: data + }) +} + +// 删除申报模板信息 +export function delTemplateInfo(id) { + return request({ + url: '/system/templateInfo/' + id, + method: 'delete' + }) +} diff --git a/src/assets/images/approvalAgree.jpg b/src/assets/images/approvalAgree.jpg new file mode 100644 index 0000000000000000000000000000000000000000..289bb2813bed9671c9d0ee1f1367fb1904289791 GIT binary patch literal 17402 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 XufH!|yyS5x=*$Vo$rCX0@&B6utNBKy literal 0 HcmV?d00001 diff --git a/src/assets/images/approvalPrimary.jpg b/src/assets/images/approvalPrimary.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4f35714f71e5da4556ad3d06f43c0f646a291748 GIT binary patch literal 12295 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 literal 0 HcmV?d00001 diff --git a/src/assets/images/approvalReject.jpg b/src/assets/images/approvalReject.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d97bc96a82cfc7846f915f287bca7f74b16b9a75 GIT binary patch literal 18903 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 a=;-L^>3Uv{j*gC(rReDB=;?Z1zyH}#H1=Nr literal 0 HcmV?d00001 diff --git a/src/assets/images/uploadBgc.jpg b/src/assets/images/uploadBgc.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9e3000533f6efe3b54869d70753f8c4ff21f7ecd GIT binary patch literal 856 zcmV-e1E>6nP)Xg{{~544wOlM9G=QazsYVwiQ6B)e>JzvzZe7$@@D1w1NALw~T(@rQ#z?zp6KfkG z)Ho(U8Kj_cIi7zkWM%>_bLPy2gfBVCnUga)AOHO4GK>I}jSu-XLdZ)2AOkkiXf$h8 zMajK*`e+9j5#Md*p8+B3cFQ8|PCI;h+T48e_I(x@5e0#)frE6qT}#p;EzG}`6)Vyr zxCE=TYr+VNw5!61S!vgW5i`=B5Jtw8_KYwxj33D%OqntKe)iPP)IE%33o{^ z>)A;+3hoh}y)pyR<(a{CMQH#}xCs0GK3Gm(how{uF44M?l3ay@;ty#3{tH&IEF7GZ z;QrlZHL{~fC*~m$4Z;55F_eB*!3vgyB`Rr@tv8yqwA84F=4RDC2uA+S%@mYridc!X zCE=CD1)c2n?pLVP^f|kdNvQo0lwL~4VE^blu)@4b;NbYE`(Tb5W!3hAtZPpv%xxS- zn1zE^CEc}LRz~)%)P4=>!zQH}n1v-tKglp}oq#!q@iAl0jzf@6zCKo$HfCWQc$~p; zIm6PYtVs_RY~7k8p*dK+wWw=5D9T_3+YUeJcm!5&-xyqXI$hX1I(9E5&I41xDEpD- zJCBLUT^M&ZZ5m)iQI^L!0^y#+xT|T`TAs29ci{!iicpd(TxAii!WdbvDjqpOYq9KpxGy?Y3D!aav^v&hm_A{CzpJK!4O6g_Tc&z3Z-N5cWw`BDU) zaE&nTZd&3|)35Ru!c`bwkF@Y!(h#n~c(9SnHMOo#dEV)OaLwU1Ju`gT`v!J0asT{G zh3#f4Y&TP3yO|2x&EyHwPe=ur5Ck9vQ6%Iwtvmkdi-G);+=DIgaqiwaA;NQPfdArN iDVtnXLYmj&V0000 .app-main { /* 50= navbar 50 */ - height: calc(100% - 120px); + // height: calc(100% - 120px); + height: calc(100% - 99px); width: 100%; position: relative; padding: 10px; diff --git a/src/layout/components/FixedHeader/components/MenuItem/index.vue b/src/layout/components/FixedHeader/components/MenuItem/index.vue index 23d03d8..2025460 100644 --- a/src/layout/components/FixedHeader/components/MenuItem/index.vue +++ b/src/layout/components/FixedHeader/components/MenuItem/index.vue @@ -89,7 +89,7 @@ export default { .el-menu-vertical-demo { overflow: hidden; li { - width: 160px; + // width: 160px; } } .menu-item { diff --git a/src/layout/components/FixedHeader/components/MenuMain/index.vue b/src/layout/components/FixedHeader/components/MenuMain/index.vue index d4e2ddb..064e12d 100644 --- a/src/layout/components/FixedHeader/components/MenuMain/index.vue +++ b/src/layout/components/FixedHeader/components/MenuMain/index.vue @@ -83,7 +83,7 @@ export default { //说明创建路由选择的是外部链接 window.open(key, "_blank"); } else { - if(key == "/project") { + if(key == "/Project") { const route = this.routers.find(item => item.path === key); this.$router.push({ path: route.path + '/' + route.children[0].path }); return; diff --git a/src/layout/components/FixedHeader/index.vue b/src/layout/components/FixedHeader/index.vue index e548ee3..8e23ea1 100644 --- a/src/layout/components/FixedHeader/index.vue +++ b/src/layout/components/FixedHeader/index.vue @@ -129,7 +129,7 @@ export default { } .crumbs-box { padding: 0 15px; - height: 55px; + height: 34px; border-bottom: 2px solid #d1d9e6; box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1); } diff --git a/src/router/index.js b/src/router/index.js index f55242a..47ea403 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -74,20 +74,58 @@ export const constantRoutes = [ }, ], }, + // { + // path: "/user", + // component: Layout, + // hidden: true, + // redirect: "noredirect", + // children: [ + // { + // path: "profile", + // component: () => import("@/views/system/user/profile/index"), + // name: "Profile", + // meta: { title: "个人中心", icon: "user" }, + // }, + // ], + // }, { - path: "/user", + path: '/user', component: Layout, hidden: true, - redirect: "noredirect", + redirect: 'noredirect', children: [ { - path: "profile", - component: () => import("@/views/system/user/profile/index"), - name: "Profile", - meta: { title: "个人中心", icon: "user" }, + path: 'profile', + component: () => import('@/views/system/user/profile/index'), + name: 'Profile', + meta: { title: '个人中心', icon: 'user' } }, - ], - }, + { + path: 'declareAddContent', + component: () => import('@/views/onlineDeclaration/declareAddContent/index'), + name: 'declareAddContent', + meta: { title: '新增申报', icon: 'user' } + }, + { + path: 'declareDetailContent', + component: () => import('@/views/onlineDeclaration/declareDetailContent/index'), + name: 'declareDetailContent', + meta: { title: '申报详情', icon: 'user' } + }, + { + path: 'templateDetail', + component: () => import('@/views/onlineDeclaration/templateDetail/index'), + name: 'templateDetail', + meta: { title: '模版详情', icon: 'user' } + }, + { + path: 'supplementaryNew', + component: () => import('@/views/onlineDeclaration/supplementary/index'), + name: 'supplementaryNew', + meta: { title: '模版详情', icon: 'user' } + }, + ] + } ]; // 动态路由,基于用户权限动态去加载 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index cdbab1e..e999673 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,5 +1,5 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken } from '@/utils/auth' +import { login, logout, getInfo, refreshToken } from '@/api/login' +import { getToken, setToken, removeToken, setExpiresIn } from '@/utils/auth' const user = { state: { @@ -8,13 +8,17 @@ const user = { name: '', avatar: '', roles: [], - permissions: [] + permissions: [], + expires_in: '' }, mutations: { SET_TOKEN: (state, token) => { state.token = token }, + SET_EXPIRES_IN: (state, time) => { + state.expires_in = time + }, SET_ID: (state, id) => { state.id = id }, @@ -37,12 +41,19 @@ const user = { Login({ commit }, userInfo) { const username = userInfo.username.trim() const password = userInfo.password + const userType = userInfo.userType const code = userInfo.code const uuid = userInfo.uuid return new Promise((resolve, reject) => { - login(username, password, code, uuid).then(res => { - setToken(res.token) - commit('SET_TOKEN', res.token) + login(username, password, code, uuid, userType).then(res => { + // setToken(res.token) + // commit('SET_TOKEN', res.token) + // resolve() + let data = res.data + setToken(data.access_token) + commit('SET_TOKEN', data.access_token) + setExpiresIn(data.expires_in) + commit('SET_EXPIRES_IN', data.expires_in) resolve() }).catch(error => { reject(error) @@ -72,6 +83,19 @@ const user = { }) }, + // 刷新token + RefreshToken({commit, state}) { + return new Promise((resolve, reject) => { + refreshToken(state.token).then(res => { + setExpiresIn(res.data) + commit('SET_EXPIRES_IN', res.data) + resolve() + }).catch(error => { + reject(error) + }) + }) + }, + // 退出系统 LogOut({ commit, state }) { return new Promise((resolve, reject) => { diff --git a/src/utils/auth.js b/src/utils/auth.js index 08a43d6..a14048c 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -2,6 +2,7 @@ import Cookies from 'js-cookie' const TokenKey = 'Admin-Token' +const ExpiresInKey = 'Admin-Expires-In' export function getToken() { return Cookies.get(TokenKey) } @@ -13,3 +14,15 @@ export function setToken(token) { export function removeToken() { return Cookies.remove(TokenKey) } + +export function getExpiresIn() { + return Cookies.get(ExpiresInKey) || -1 +} + +export function setExpiresIn(time) { + return Cookies.set(ExpiresInKey, time) +} + +export function removeExpiresIn() { + return Cookies.remove(ExpiresInKey) +} diff --git a/src/views/login.vue b/src/views/login.vue index 85f14c0..cb12446 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -7,9 +7,9 @@ class="login-form" > - - - + + + { this.$router.push({ path: this.redirect || "/" }).catch(() => {}); }) diff --git a/src/views/onlineDeclaration/declarationManagement/index.vue b/src/views/onlineDeclaration/declarationManagement/index.vue new file mode 100644 index 0000000..614b7b7 --- /dev/null +++ b/src/views/onlineDeclaration/declarationManagement/index.vue @@ -0,0 +1,348 @@ + + + + diff --git a/src/views/onlineDeclaration/declareAddContent/index.vue b/src/views/onlineDeclaration/declareAddContent/index.vue new file mode 100644 index 0000000..5cbe890 --- /dev/null +++ b/src/views/onlineDeclaration/declareAddContent/index.vue @@ -0,0 +1,2197 @@ + + + + + + diff --git a/src/views/onlineDeclaration/declareDetailContent/index.vue b/src/views/onlineDeclaration/declareDetailContent/index.vue new file mode 100644 index 0000000..041a1dc --- /dev/null +++ b/src/views/onlineDeclaration/declareDetailContent/index.vue @@ -0,0 +1,3179 @@ + + + + + + diff --git a/src/views/onlineDeclaration/enterpriseDirectory/index.vue b/src/views/onlineDeclaration/enterpriseDirectory/index.vue new file mode 100644 index 0000000..69f38bd --- /dev/null +++ b/src/views/onlineDeclaration/enterpriseDirectory/index.vue @@ -0,0 +1,588 @@ + + + + diff --git a/src/views/onlineDeclaration/pendingReview/index.vue b/src/views/onlineDeclaration/pendingReview/index.vue new file mode 100644 index 0000000..cb22a98 --- /dev/null +++ b/src/views/onlineDeclaration/pendingReview/index.vue @@ -0,0 +1,489 @@ + + + + + diff --git a/src/views/onlineDeclaration/records/index.vue b/src/views/onlineDeclaration/records/index.vue new file mode 100644 index 0000000..a2b229c --- /dev/null +++ b/src/views/onlineDeclaration/records/index.vue @@ -0,0 +1,727 @@ + + + + diff --git a/src/views/onlineDeclaration/supplementary/index.vue b/src/views/onlineDeclaration/supplementary/index.vue new file mode 100644 index 0000000..9bc5dec --- /dev/null +++ b/src/views/onlineDeclaration/supplementary/index.vue @@ -0,0 +1,2251 @@ + + + + + + diff --git a/src/views/onlineDeclaration/template/index.vue b/src/views/onlineDeclaration/template/index.vue new file mode 100644 index 0000000..57df3aa --- /dev/null +++ b/src/views/onlineDeclaration/template/index.vue @@ -0,0 +1,212 @@ + + + + diff --git a/src/views/onlineDeclaration/templateDetail/index.vue b/src/views/onlineDeclaration/templateDetail/index.vue new file mode 100644 index 0000000..f9921f6 --- /dev/null +++ b/src/views/onlineDeclaration/templateDetail/index.vue @@ -0,0 +1,695 @@ + + + + + + diff --git a/src/views/system/bigStrongAward/index.vue b/src/views/system/bigStrongAward/index.vue new file mode 100644 index 0000000..30b4336 --- /dev/null +++ b/src/views/system/bigStrongAward/index.vue @@ -0,0 +1,329 @@ + + + diff --git a/src/views/system/brandingAward/index.vue b/src/views/system/brandingAward/index.vue new file mode 100644 index 0000000..ea9c726 --- /dev/null +++ b/src/views/system/brandingAward/index.vue @@ -0,0 +1,312 @@ + + + diff --git a/src/views/system/carrierConstructionAward/index.vue b/src/views/system/carrierConstructionAward/index.vue new file mode 100644 index 0000000..8b7eacf --- /dev/null +++ b/src/views/system/carrierConstructionAward/index.vue @@ -0,0 +1,354 @@ + + + diff --git a/src/views/system/enterpriseBasicInfo/index.vue b/src/views/system/enterpriseBasicInfo/index.vue new file mode 100644 index 0000000..1a96454 --- /dev/null +++ b/src/views/system/enterpriseBasicInfo/index.vue @@ -0,0 +1,327 @@ + + + diff --git a/src/views/system/fundingInfo/index.vue b/src/views/system/fundingInfo/index.vue new file mode 100644 index 0000000..6ed412a --- /dev/null +++ b/src/views/system/fundingInfo/index.vue @@ -0,0 +1,422 @@ + + + diff --git a/src/views/system/industrialInternetAward/index.vue b/src/views/system/industrialInternetAward/index.vue new file mode 100644 index 0000000..f28fee7 --- /dev/null +++ b/src/views/system/industrialInternetAward/index.vue @@ -0,0 +1,298 @@ + + + diff --git a/src/views/system/logininfor/index.vue b/src/views/system/logininfor/index.vue new file mode 100644 index 0000000..b52d2ef --- /dev/null +++ b/src/views/system/logininfor/index.vue @@ -0,0 +1,242 @@ + + + + diff --git a/src/views/system/logisticsDevelopmentAward/index.vue b/src/views/system/logisticsDevelopmentAward/index.vue new file mode 100644 index 0000000..1b87b02 --- /dev/null +++ b/src/views/system/logisticsDevelopmentAward/index.vue @@ -0,0 +1,326 @@ + + + diff --git a/src/views/system/manufacturingServicesAward/index.vue b/src/views/system/manufacturingServicesAward/index.vue new file mode 100644 index 0000000..d02d349 --- /dev/null +++ b/src/views/system/manufacturingServicesAward/index.vue @@ -0,0 +1,321 @@ + + + diff --git a/src/views/system/operlog/index.vue b/src/views/system/operlog/index.vue new file mode 100644 index 0000000..3558e2b --- /dev/null +++ b/src/views/system/operlog/index.vue @@ -0,0 +1,304 @@ + + + + diff --git a/src/views/system/platformConstructionAward/index.vue b/src/views/system/platformConstructionAward/index.vue new file mode 100644 index 0000000..3927581 --- /dev/null +++ b/src/views/system/platformConstructionAward/index.vue @@ -0,0 +1,298 @@ + + + diff --git a/src/views/system/projectSettlementAward/index.vue b/src/views/system/projectSettlementAward/index.vue new file mode 100644 index 0000000..089f4d8 --- /dev/null +++ b/src/views/system/projectSettlementAward/index.vue @@ -0,0 +1,358 @@ + + + diff --git a/src/views/system/sceneOpeningAward/index.vue b/src/views/system/sceneOpeningAward/index.vue new file mode 100644 index 0000000..cd52c4c --- /dev/null +++ b/src/views/system/sceneOpeningAward/index.vue @@ -0,0 +1,301 @@ + + + diff --git a/src/views/system/templateInfo/index.vue b/src/views/system/templateInfo/index.vue new file mode 100644 index 0000000..d122683 --- /dev/null +++ b/src/views/system/templateInfo/index.vue @@ -0,0 +1,443 @@ + + +