diff --git a/.env.development b/.env.development index 2e41a6f..25a8a00 100644 --- a/.env.development +++ b/.env.development @@ -1,4 +1,4 @@ VUE_APP_API_BASE_URL=http://zxx4.f3322.net:46000 -VUE_APP_USER_MODEL=AdminUser -VUE_APP_USER_MODEL2=BaseAdmin \ No newline at end of file +VUE_APP_USER_MODEL2=AdminUser +VUE_APP_USER_MODEL=BaseAdmin \ No newline at end of file diff --git a/package.json b/package.json index 74f4d8b..6c77940 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "enquire.js": "^2.1.6", "highlight.js": "^10.2.1", "js-cookie": "^2.2.1", + "json-bigint": "^1.0.0", "mockjs": "^1.1.0", "nprogress": "^0.2.0", "viser-vue": "^2.4.8", diff --git a/src/application/mk/libs/function/apis.js b/src/application/mk/libs/function/apis.js index 158697d..bdf422f 100644 --- a/src/application/mk/libs/function/apis.js +++ b/src/application/mk/libs/function/apis.js @@ -1,90 +1,101 @@ import { request } from '@/utils/request' // 加载request import modal from './modal' // 加载modal + +import JSONbig from 'json-bigint' + export default { // 提交post请求 ,获取数据 - post : function({url, data,loading , config}){ // post请求 - - return new Promise((resolve, reject)=>{ // 返回一个Promise + post: function ({ url, data, loading, config, useBigInt }) { // post请求 - if(loading){ // 如果需要加载 + if (useBigInt) { + config = config || {}; + config.headers = { + 'Content-Type': 'application/json' + }; + data = JSONbig.stringify(data); + } + return new Promise((resolve, reject) => { // 返回一个Promise + + if (loading) { // 如果需要加载 modal.loading(loading); // 显示加载 - } - request(url, 'post', data, config).then(response=>{ // 发送请求 - if(!response){ // 如果没有返回 + } + request(url, 'post', data, config).then(response => { // 发送请求 + if (!response) { // 如果没有返回 reject && reject(response); // 返回错误 return; // 返回 - } + } var result = response.data; // 获取数据 - if(!result){ // 如果没有数据 + if (!result) { // 如果没有数据 reject && reject(response); // 返回错误 return; // 返回 - } - if(loading){ // 如果需要加载 + } + if (loading) { // 如果需要加载 modal.hideLoading(); // 隐藏加载 - } - if(result.code != 200){ // 如果返回的状态码不是200 - if(reject){ // 如果有错误回调 + } + if (result.code != 200) { // 如果返回的状态码不是200 + if (reject) { // 如果有错误回调 reject(response); // 返回错误 - }else{ // 如果没有错误回调 + } else { // 如果没有错误回调 modal.error(result.msg); // 显示错误 - } + } return; // 返回 - } + } resolve(result); // 返回成功 - }).catch((error)=>{ // 如果出错 - if(loading){ // 如果需要加载 + }).catch((error) => { // 如果出错 + if (loading) { // 如果需要加载 modal.hideLoading(); // 隐藏加载 - } + } modal.error(error.toString()); // 显示错误 - }); + }); }); }, // 获取分页数据 - getPagedData: function({url, method = 'post', data,callback, config}){ // 获取分页数据 默认post请求 - - return new Promise((resolve, reject)=>{ // 返回一个Promise - - if(data.start_time && typeof(data.start_time) == "string"){ // 如果开始时间是字符串 - data.start_time = parseInt(new Date(data.start_time).getTime()/1000); // 转换为时间戳 + getPagedData: function ({ url, method = 'post', data, callback, config }) { // 获取分页数据 默认post请求 + + return new Promise((resolve, reject) => { // 返回一个Promise + + if (data.start_time && typeof (data.start_time) == "string") { // 如果开始时间是字符串 + data.start_time = parseInt(new Date(data.start_time).getTime() / 1000); // 转换为时间戳 } - if(data.end_time && typeof(data.end_time) == "string"){ // 如果结束时间是字符串 - data.end_time =parseInt(new Date(data.end_time).getTime()/1000); // 转换为时间戳 - } - request(url, method, data, config).then(response=>{ // 发送请求 - if(!response){ // 如果没有返回 + if (data.end_time && typeof (data.end_time) == "string") { // 如果结束时间是字符串 + data.end_time = parseInt(new Date(data.end_time).getTime() / 1000); // 转换为时间戳 + } + request(url, method, data, config).then(response => { // 发送请求 + if (!response) { // 如果没有返回 reject && reject(response); // 返回错误 - return; - } + return; + } var result = response.data; // 获取数据 - if(!result){ // 如果没有数据 + if (!result) { // 如果没有数据 reject && reject(response); // 返回错误 return; - } + } - if(result.code != 200){ // 如果返回的状态码不是200 - if(reject){ // 如果有错误回调 + if (result.code != 200) { // 如果返回的状态码不是200 + if (reject) { // 如果有错误回调 reject(response); // 返回错误 - }else{ // 如果没有错误回调 + } else { // 如果没有错误回调 modal.error(result.msg); // 显示错误 - } + } return; - } + } + console.log(result.data) resolve(result.data); // 返回成功 - if(callback){ // 如果有回调 + if (callback) { // 如果有回调 callback(result.data); // 执行回调 } - }).catch((error)=>{ + }).catch((error) => { resolve({ // 返回一个空数据 - total:0, // 总数 - list :[] // 列表 + total: 0, // 总数 + list: [] // 列表 }); modal.error(error.toString()); // 显示错误 - }); + }); }); } diff --git a/src/pages/Middle/Base/BaseAdmin/BaseAdmin/list.vue b/src/pages/Middle/Base/BaseAdmin/BaseAdmin/list.vue index 0e8865b..e9e48fc 100644 --- a/src/pages/Middle/Base/BaseAdmin/BaseAdmin/list.vue +++ b/src/pages/Middle/Base/BaseAdmin/BaseAdmin/list.vue @@ -109,7 +109,7 @@ export default { var pageData = { keyName: 'uid', actions: { - getList: `${BASE_URL.BASE_URL}/BaseAdmin/v1/list`, + getList: `${BASE_URL.BASE_URL}/BaseAdmin/v1/list`, delete: `${BASE_URL.BASE_URL}/BaseAdmin/v1/batchDelete`, roleList: `${BASE_URL.BASE_URL}/BasePermission/v1/role/list`, permissionList: `${BASE_URL.BASE_URL}/BasePermission/v1/service/permission/list`, diff --git a/src/pages/Middle/Mes/MesUnit/MesUnit/Edit.vue b/src/pages/Middle/Mes/MesUnit/MesUnit/Edit.vue new file mode 100644 index 0000000..3573a25 --- /dev/null +++ b/src/pages/Middle/Mes/MesUnit/MesUnit/Edit.vue @@ -0,0 +1,320 @@ + + + + + + diff --git a/src/pages/Middle/Mes/MesUnit/MesUnit/List.vue b/src/pages/Middle/Mes/MesUnit/MesUnit/List.vue new file mode 100644 index 0000000..a72c945 --- /dev/null +++ b/src/pages/Middle/Mes/MesUnit/MesUnit/List.vue @@ -0,0 +1,353 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/Middle/Mes/MesUnit/MesUnit/i18n.js b/src/pages/Middle/Mes/MesUnit/MesUnit/i18n.js new file mode 100644 index 0000000..3232945 --- /dev/null +++ b/src/pages/Middle/Mes/MesUnit/MesUnit/i18n.js @@ -0,0 +1,14 @@ +module.exports = { + messages: { + CN: { + pageDesc:'单位管理' + }, + HK: { + pageDesc:'单位管理' + }, + US: { + pageDesc:'单位管理' + } + } + } + \ No newline at end of file diff --git a/src/pages/Middle/Mes/MesUnit/MesUnitLog/Edit.vue b/src/pages/Middle/Mes/MesUnit/MesUnitLog/Edit.vue new file mode 100644 index 0000000..fab999b --- /dev/null +++ b/src/pages/Middle/Mes/MesUnit/MesUnitLog/Edit.vue @@ -0,0 +1,321 @@ + + + + + + diff --git a/src/pages/Middle/Mes/MesUnit/MesUnitLog/List.vue b/src/pages/Middle/Mes/MesUnit/MesUnitLog/List.vue new file mode 100644 index 0000000..7f66549 --- /dev/null +++ b/src/pages/Middle/Mes/MesUnit/MesUnitLog/List.vue @@ -0,0 +1,338 @@ + + + + + + \ No newline at end of file diff --git a/src/pages/Middle/Mes/MesUnit/MesUnitSettings/Edit.vue b/src/pages/Middle/Mes/MesUnit/MesUnitSettings/Edit.vue new file mode 100644 index 0000000..1eb68a9 --- /dev/null +++ b/src/pages/Middle/Mes/MesUnit/MesUnitSettings/Edit.vue @@ -0,0 +1,273 @@ + + + + + + diff --git a/src/pages/Middle/Mes/MesUnit/MesUnitSettings/List.vue b/src/pages/Middle/Mes/MesUnit/MesUnitSettings/List.vue new file mode 100644 index 0000000..45b692a --- /dev/null +++ b/src/pages/Middle/Mes/MesUnit/MesUnitSettings/List.vue @@ -0,0 +1,328 @@ + + + + + + \ No newline at end of file diff --git a/src/router/Middle/Mes/MesUnit/router.map.js b/src/router/Middle/Mes/MesUnit/router.map.js new file mode 100644 index 0000000..bafc34f --- /dev/null +++ b/src/router/Middle/Mes/MesUnit/router.map.js @@ -0,0 +1,66 @@ + + + +// 视图组件 +const view = { + tabs: () => import('@/layouts/tabs'), + blank: () => import('@/layouts/BlankView'), + page: () => import('@/layouts/PageView') +} + + +// 路由组件注册 +const MesUnitRouterMap = { + MesUnit:{ + name: '单位管理', + icon: 'idcard', + component: view.page, + meta: { + }, + authority: { + permission:[], + } + }, + MesUnitList:{ + name: '单位管理', + icon: 'idcard', + path: '/MesUnit/MesUnitList', + component: () => import('@/pages/Middle/Mes/MesUnit/MesUnit/List'), + authority: { + permission:[], + } + }, + MesUnitCreate:{ + name: '单位管理', + icon: 'idcard', + path: '/MesUnit/MesUnitAdd', + component: () => import('@/pages/Middle/Mes/MesUnit/MesUnit/Edit'), + meta: { + invisible:true, + }, + authority: { + permission:[], + } + }, + MesUnitUpdate:{ + name: '单位管理', + icon: 'idcard', + path: '/MesUnit/MesUnitUpdate/:id', + component: () => import('@/pages/Middle/Mes/MesUnit/MesUnit/Edit'), + meta: { + invisible:true, + }, + authority: { + permission:[], + } + }, + MesUnitDetail:{ + meta: { + invisible:true, + }, + } + + +} + +export default MesUnitRouterMap \ No newline at end of file diff --git a/src/router/router.map.js b/src/router/router.map.js index e809560..5a5ee91 100644 --- a/src/router/router.map.js +++ b/src/router/router.map.js @@ -9,6 +9,8 @@ import BaseAgentRouterMap from '@/router/Middle/Base/BaseAgent/router.map.js' import BaseCompanyRouterMap from '@/router/Middle/Base/BaseCompany/router.map.js' import BasePermissionRouterMap from '@/router/Middle/Base/BasePermission/router.map.js' import BaseAdminRouterMap from '@/router/Middle/Base/BaseAdmin/router.map.js' + +import MesUnitRouterMap from '@/router/Middle/Mes/MesUnit/router.map.js' // 合并BaseRouterMap ConfigRouterMap ServiceRouterMap @@ -21,6 +23,9 @@ const routerMap = Object.assign({}, BaseCompanyRouterMap, BasePermissionRouterMap, BaseAdminRouterMap, + + + MesUnitRouterMap ) export default routerMap \ No newline at end of file diff --git a/src/services/mes/api.js b/src/services/mes/api.js new file mode 100644 index 0000000..777597b --- /dev/null +++ b/src/services/mes/api.js @@ -0,0 +1,5 @@ + +const BASE_URL = process.env.VUE_APP_API_BASE_URL // 获取环境变量VUE_APP_API_BASE_URL +module.exports = { + BASE_URL +} diff --git a/src/utils/axios-interceptors.js b/src/utils/axios-interceptors.js index 75ccf36..a0321d6 100644 --- a/src/utils/axios-interceptors.js +++ b/src/utils/axios-interceptors.js @@ -66,7 +66,7 @@ const reqCommon = { // 请求拦截器 if (localStorage.getItem(process.env.VUE_APP_UID_KEY)) { message.warning('认证 token 已过期,请重新登录') // 提示 } - } + } return config }, /** diff --git a/src/utils/request.js b/src/utils/request.js index 0e974b3..cba19aa 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,6 +1,6 @@ import axios from 'axios' -import Cookie from 'js-cookie' - +import Cookie from 'js-cookie' +import JSONbig from 'json-bigint' const USER_MODEL = process.env.VUE_APP_USER_MODEL const APP_BEID = process.env.VUE_APP_BEID @@ -14,6 +14,14 @@ axios.defaults.xsrfHeaderName= xsrfHeaderName // 设置认证信息的名称 axios.defaults.xsrfCookieName= xsrfHeaderName // 设置认证信息的名称 +axios.defaults.transformResponse = [function (data) { + if (data && typeof(data) == "string") { + return JSONbig.parse(data) + } + return data +}] + + // 认证类型 const AUTH_TYPE = { BEARER: 'Bearer', // Bearer 认证 @@ -48,7 +56,7 @@ async function request(url, method, params, config) { // 请求方法 // delete axios.defaults.headers.common[beidHeaderName]; // } //} - + if (Cookie.get(xsrfHeaderName)) { // 检查cookie中是否存在认证信息 axios.defaults.headers.common[xsrfHeaderName] = Cookie.get(xsrfHeaderName) diff --git a/yarn.lock b/yarn.lock index 8be60dc..1670c21 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2259,6 +2259,11 @@ "resolved" "https://registry.npm.taobao.org/big.js/download/big.js-5.2.2.tgz" "version" "5.2.2" +"bignumber.js@^9.0.0": + "integrity" "sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==" + "resolved" "https://registry.npmmirror.com/bignumber.js/-/bignumber.js-9.1.1.tgz" + "version" "9.1.1" + "binary-extensions@^1.0.0": "integrity" "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=" "resolved" "https://registry.npm.taobao.org/binary-extensions/download/binary-extensions-1.13.1.tgz" @@ -6285,6 +6290,13 @@ "resolved" "https://registry.npm.taobao.org/jsesc/download/jsesc-0.5.0.tgz" "version" "0.5.0" +"json-bigint@^1.0.0": + "integrity" "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==" + "resolved" "https://registry.npmmirror.com/json-bigint/-/json-bigint-1.0.0.tgz" + "version" "1.0.0" + dependencies: + "bignumber.js" "^9.0.0" + "json-buffer@3.0.0": "integrity" "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" "resolved" "https://registry.npm.taobao.org/json-buffer/download/json-buffer-3.0.0.tgz"