diff --git a/vue/src/api/account/index.js b/vue/src/api/account/index.js index a392b53..358db51 100644 --- a/vue/src/api/account/index.js +++ b/vue/src/api/account/index.js @@ -1,26 +1,26 @@ import {GetApi, PostApi} from "@/api/request" -export const login = new PostApi(`/account/login`) +export const login = new PostApi('/account/login') -export const logout = new GetApi(`/account/logout`) +export const logout = new GetApi('/account/logout') -export const register = new PostApi(`/account/register`) +export const register = new PostApi('/account/register') -export const updateUserPwd = new PostApi(`/account/updatePwd`) +export const updateUserPwd = new PostApi('/account/updatePwd') export const updateAvatar = new GetApi( - `/account/updateAvatar`, + '/account/updateAvatar', key => ({params: {key: encodeURIComponent(key)}}) ) -export const validate = new GetApi(`/account/validate`, pwd => ({params: {pwd}})) +export const validate = new GetApi('/account/validate', pwd => ({params: {pwd}})) export const checkLoginName = new GetApi( - `/account/checkLoginName`, + '/account/checkLoginName', (name, id) => ({params: {name, id}}) ) export const checkNickName = new GetApi( - `/account/checkNickName`, + '/account/checkNickName', (name, id) => ({params: {name, id}}) ) diff --git a/vue/src/api/doc/history.js b/vue/src/api/doc/history.js index b1ef483..41da15c 100644 --- a/vue/src/api/doc/history.js +++ b/vue/src/api/doc/history.js @@ -1,3 +1,3 @@ import {PostApi} from "@/api/request" -export const search = new PostApi(`/doc/history/search`) +export const search = new PostApi('/doc/history/search') diff --git a/vue/src/api/doc/purchase/inbound.js b/vue/src/api/doc/purchase/inbound.js index e347c5d..f85deda 100644 --- a/vue/src/api/doc/purchase/inbound.js +++ b/vue/src/api/doc/purchase/inbound.js @@ -1,23 +1,23 @@ import {GetApi, PostApi} from "@/api/request" -export const baseUrl = `/doc/purchase/inbound` +export const getById = new GetApi('/doc/purchase/inbound/getById', id => ({params: {id}})) -export const getById = new GetApi(`${baseUrl}/getById`, id => ({params: {id}})) +export const getSubById = new GetApi('/doc/purchase/inbound/getSubById', id => ({params: {id}})) -export const getSubById = new GetApi(`${baseUrl}/getSubById`, id => ({params: {id}})) +export const search = new PostApi('/doc/purchase/inbound/search') -export const search = new PostApi(`${baseUrl}/search`) +export const exportExcel = new PostApi('/doc/purchase/inbound/export') -export const add = new PostApi(`${baseUrl}/add`) +export const add = new PostApi('/doc/purchase/inbound/add') -export const update = new PostApi(`${baseUrl}/update`) +export const update = new PostApi('/doc/purchase/inbound/update') -export const commit = new PostApi(`${baseUrl}/commit`) +export const commit = new PostApi('/doc/purchase/inbound/commit') -export const withdraw = new PostApi(`${baseUrl}/withdraw`) +export const withdraw = new PostApi('/doc/purchase/inbound/withdraw') -export const pass = new PostApi(`${baseUrl}/pass`) +export const pass = new PostApi('/doc/purchase/inbound/pass') -export const reject = new PostApi(`${baseUrl}/reject`) +export const reject = new PostApi('/doc/purchase/inbound/reject') -export const del = new GetApi(`${baseUrl}/del`, id => ({params: {id}})) +export const del = new GetApi('/doc/purchase/inbound/del', id => ({params: {id}})) diff --git a/vue/src/api/doc/purchase/order.js b/vue/src/api/doc/purchase/order.js index 60ce0c9..c28e8b0 100644 --- a/vue/src/api/doc/purchase/order.js +++ b/vue/src/api/doc/purchase/order.js @@ -1,23 +1,23 @@ import {GetApi, PostApi} from "@/api/request" -export const baseUrl = `/doc/purchase/order` +export const getById = new GetApi('/doc/purchase/order/getById', id => ({params: {id}})) -export const getById = new GetApi(`${baseUrl}/getById`, id => ({params: {id}})) +export const getSubById = new GetApi('/doc/purchase/order/getSubById', id => ({params: {id}})) -export const getSubById = new GetApi(`${baseUrl}/getSubById`, id => ({params: {id}})) +export const search = new PostApi('/doc/purchase/order/search') -export const search = new PostApi(`${baseUrl}/search`) +export const exportExcel = new PostApi('/doc/purchase/order/export') -export const add = new PostApi(`${baseUrl}/add`) +export const add = new PostApi('/doc/purchase/order/add') -export const update = new PostApi(`${baseUrl}/update`) +export const update = new PostApi('/doc/purchase/order/update') -export const commit = new PostApi(`${baseUrl}/commit`) +export const commit = new PostApi('/doc/purchase/order/commit') -export const withdraw = new PostApi(`${baseUrl}/withdraw`) +export const withdraw = new PostApi('/doc/purchase/order/withdraw') -export const pass = new PostApi(`${baseUrl}/pass`) +export const pass = new PostApi('/doc/purchase/order/pass') -export const reject = new PostApi(`${baseUrl}/reject`) +export const reject = new PostApi('/doc/purchase/order/reject') -export const del = new GetApi(`${baseUrl}/del`, id => ({params: {id}})) +export const del = new GetApi('/doc/purchase/order/del', id => ({params: {id}})) diff --git a/vue/src/api/doc/sell/order.js b/vue/src/api/doc/sell/order.js index a5871cf..6b2f738 100644 --- a/vue/src/api/doc/sell/order.js +++ b/vue/src/api/doc/sell/order.js @@ -1,23 +1,23 @@ import {GetApi, PostApi} from "@/api/request" -export const baseUrl = `/doc/sell/order` +export const getById = new GetApi('/doc/sell/order/getById', id => ({params: {id}})) -export const getById = new GetApi(`${baseUrl}/getById`, id => ({params: {id}})) +export const getSubById = new GetApi('/doc/sell/order/getSubById', id => ({params: {id}})) -export const getSubById = new GetApi(`${baseUrl}/getSubById`, id => ({params: {id}})) +export const search = new PostApi('/doc/sell/order/search') -export const search = new PostApi(`${baseUrl}/search`) +export const exportExcel = new PostApi('/doc/sell/order/export') -export const add = new PostApi(`${baseUrl}/add`) +export const add = new PostApi('/doc/sell/order/add') -export const update = new PostApi(`${baseUrl}/update`) +export const update = new PostApi('/doc/sell/order/update') -export const commit = new PostApi(`${baseUrl}/commit`) +export const commit = new PostApi('/doc/sell/order/commit') -export const withdraw = new PostApi(`${baseUrl}/withdraw`) +export const withdraw = new PostApi('/doc/sell/order/withdraw') -export const pass = new PostApi(`${baseUrl}/pass`) +export const pass = new PostApi('/doc/sell/order/pass') -export const reject = new PostApi(`${baseUrl}/reject`) +export const reject = new PostApi('/doc/sell/order/reject') -export const del = new GetApi(`${baseUrl}/del`, id => ({params: {id}})) +export const del = new GetApi('/doc/sell/order/del', id => ({params: {id}})) diff --git a/vue/src/api/doc/sell/outbound.js b/vue/src/api/doc/sell/outbound.js index 2d4ef38..ea264df 100644 --- a/vue/src/api/doc/sell/outbound.js +++ b/vue/src/api/doc/sell/outbound.js @@ -1,23 +1,23 @@ import {GetApi, PostApi} from "@/api/request" -export const baseUrl = `/doc/sell/outbound` +export const getById = new GetApi('/doc/sell/outbound/getById', id => ({params: {id}})) -export const getById = new GetApi(`${baseUrl}/getById`, id => ({params: {id}})) +export const getSubById = new GetApi('/doc/sell/outbound/getSubById', id => ({params: {id}})) -export const getSubById = new GetApi(`${baseUrl}/getSubById`, id => ({params: {id}})) +export const search = new PostApi('/doc/sell/outbound/search') -export const search = new PostApi(`${baseUrl}/search`) +export const exportExcel = new PostApi('/doc/sell/outbound/export') -export const add = new PostApi(`${baseUrl}/add`) +export const add = new PostApi('/doc/sell/outbound/add') -export const update = new PostApi(`${baseUrl}/update`) +export const update = new PostApi('/doc/sell/outbound/update') -export const commit = new PostApi(`${baseUrl}/commit`) +export const commit = new PostApi('/doc/sell/outbound/commit') -export const withdraw = new PostApi(`${baseUrl}/withdraw`) +export const withdraw = new PostApi('/doc/sell/outbound/withdraw') -export const pass = new PostApi(`${baseUrl}/pass`) +export const pass = new PostApi('/doc/sell/outbound/pass') -export const reject = new PostApi(`${baseUrl}/reject`) +export const reject = new PostApi('/doc/sell/outbound/reject') -export const del = new GetApi(`${baseUrl}/del`, id => ({params: {id}})) +export const del = new GetApi('/doc/sell/outbound/del', id => ({params: {id}})) diff --git a/vue/src/api/request.js b/vue/src/api/request.js index e2877fe..ed59800 100644 --- a/vue/src/api/request.js +++ b/vue/src/api/request.js @@ -77,38 +77,36 @@ instance.interceptors.response.use( class Api { /** * 数据接口定义 - * @param url 请求url,不带参数 - * @param arg 对传入参数的处理方法,返回值将作为axios[get,post]的第二个参数 - * @param chain 形参为请求返回的promise - * @param isGet 是否为get请求 + * @param url 请求url,不带参数 + * @param arg 对传入参数的处理方法,返回值将作为axios[get,post]的第二个参数 + * @param chain 形参为请求返回的promise + * @param method 请求方法,小写,get、post... */ - constructor(url, arg, chain, isGet) { + constructor(url, arg, chain, method) { this.url = url this.arg = arg this.chain = chain - this.isGet = isGet + this.method = method } request(...args) { const params = this.arg ? this.arg(...args) : undefined - const method = this.isGet ? 'get' : 'post' - const promise = instance[method](this.url, params).catch(e => console.error(e)) + const promise = instance[this.method](this.url, params).catch(e => console.error(e)) return this.chain ? this.chain(promise) : promise } } export class PostApi extends Api { constructor(url, arg, chain) { - if (!arg) { - arg = data => data - } - super(url, arg, chain, false) + if (!arg) arg = data => data + + super(url, arg, chain, 'post') } } export class GetApi extends Api { constructor(url, arg, chain) { - super(url, arg, chain, true) + super(url, arg, chain, 'get') } } diff --git a/vue/src/mixin/docTableMixin.js b/vue/src/mixin/docTableMixin.js index 046f987..948ddae 100644 --- a/vue/src/mixin/docTableMixin.js +++ b/vue/src/mixin/docTableMixin.js @@ -4,6 +4,7 @@ import {isEmpty} from "@/util" import {elConfirm, elError, elSuccess} from "@/util/message" import {auth} from "@/util/auth" import {exportExcel} from "@/util/excel" + export const commonMethods = { getStatus(status) { switch (status) { @@ -63,12 +64,13 @@ export default { return auth(this.api.del.url) }, canExport() { - return auth(this.exportUrl) + return auth(this.api.exportExcel.url) }, }, methods: { ...commonMethods, + search() { if (this.config.loading) return this.config.loading = true @@ -98,6 +100,7 @@ export default { }) .finally(() => row._loading = false) }, + add() { this.row = null this.$router.push(`${this.$route.path}/detail/add`) @@ -130,8 +133,9 @@ export default { }) .finally(() => this.config.operating = false) }, + downloadExcel() { - exportExcel(this.exportUrl, this.mergeSearchForm(), this.excel) + exportExcel(this.api.exportExcel.url, this.mergeSearchForm(), this.excel) } } } diff --git a/vue/src/store/module/resource.js b/vue/src/store/module/resource.js index a2c252c..d8360da 100644 --- a/vue/src/store/module/resource.js +++ b/vue/src/store/module/resource.js @@ -35,12 +35,6 @@ const mutations = { } }) - //为path为'/'的根节点设置默认名称 - const root = data.find(i => i.pid === 0 && i.path === '/') - if (root) { - root.meta = {title: '初始节点'} - } - state.resourceTree = createTree(data) }, init(state, sign) { diff --git a/vue/src/util/excel/common.js b/vue/src/util/excel/common.js index f934d89..982b2d8 100644 --- a/vue/src/util/excel/common.js +++ b/vue/src/util/excel/common.js @@ -5,7 +5,7 @@ import {download} from "@/util/file" import {flatTree} from "@/util/tree" /** - * 搜索表格页导出excel + * 导出excel * 响应头为json时进行前端导出,否则直接下载文件 * * @param url 搜索的请求地址 @@ -25,7 +25,6 @@ export function abstractExportExcel(url, searchForm, options, json2workbook, exp const reader = new FileReader() reader.onload = () => { const response = JSON.parse(reader.result) - if (response.status !== 200) return elError(response.msg) const {columns, merge} = options const workbook = json2workbook(response.data, columns, merge) exportExcelByJs(workbook, filename) @@ -125,6 +124,7 @@ export function mergeExcel(props, data, primaryKey, orderKey, ignoreRows = 1) { * * @param columns 列配置 * @param separator 分隔符 + * @return {headers, headerMerge} */ export function generateHeaders(columns, separator = '-') { const tree = [] @@ -211,6 +211,7 @@ export function generateHeaders(columns, separator = '-') { * * @param data json数组 * @param propMap 表头和字段名的映射表 + * @return 基数组为excel中每一行的二维数组 */ export function jsonArray2rowArray(data, propMap) { return data.map(i => Object.keys(i) diff --git a/vue/src/util/excel/exceljs.js b/vue/src/util/excel/exceljs.js index c5c87cb..a31c079 100644 --- a/vue/src/util/excel/exceljs.js +++ b/vue/src/util/excel/exceljs.js @@ -32,10 +32,11 @@ export function exportExcelByJs(workbook, filename) { } /** + * @desc 通过json数组生成workbook对象 * @param data json数组 * @param columns 列配置 * @param merge 合并配置项 - * @returns + * @returns workbook */ export function json2workbook(data, columns, merge) { const workbook = new window.ExcelJS.Workbook() diff --git a/vue/src/view/purchase/inbound/indexPage.vue b/vue/src/view/purchase/inbound/indexPage.vue index fdb175b..92e6aec 100644 --- a/vue/src/view/purchase/inbound/indexPage.vue +++ b/vue/src/view/purchase/inbound/indexPage.vue @@ -97,7 +97,7 @@ import docTableMixin from '@/mixin/docTableMixin' import SearchForm from '@/component/form/Search' import SearchFormItem from "@/component/form/Search/item" -import {baseUrl, add, update, del, withdraw, pass, reject, getSubById, search} from "@/api/doc/purchase/inbound" +import {add, update, del, withdraw, pass, reject, getSubById, search, exportExcel} from "@/api/doc/purchase/inbound" export default { name: "purchaseInbound", @@ -107,9 +107,8 @@ export default { components: {SearchForm, SearchFormItem}, data() { - this.api = {add, update, del, withdraw, pass, reject, getSubById, search} + this.api = {add, update, del, withdraw, pass, reject, getSubById, search, exportExcel} return { - exportUrl: `${baseUrl}/export`, searchForm: { pidFuzzy: null }, diff --git a/vue/src/view/purchase/order/indexPage.vue b/vue/src/view/purchase/order/indexPage.vue index bb2233a..72b245b 100644 --- a/vue/src/view/purchase/order/indexPage.vue +++ b/vue/src/view/purchase/order/indexPage.vue @@ -125,7 +125,7 @@ import docTableMixin from '@/mixin/docTableMixin' import SearchForm from '@/component/form/Search' import SearchFormItem from "@/component/form/Search/item" -import {baseUrl, add, update, del, withdraw, pass, reject, getSubById, search} from "@/api/doc/purchase/order" +import {add, update, del, withdraw, pass, reject, getSubById, search, exportExcel} from "@/api/doc/purchase/order" export default { name: "purchaseOrder", @@ -135,9 +135,8 @@ export default { components: {SearchForm, SearchFormItem}, data() { - this.api = {add, update, del, withdraw, pass, reject, getSubById, search} + this.api = {add, update, del, withdraw, pass, reject, getSubById, search, exportExcel} return { - exportUrl: `${baseUrl}/export`, searchForm: { sname: null }, diff --git a/vue/src/view/sell/order/indexPage.vue b/vue/src/view/sell/order/indexPage.vue index 43b2b8f..80d4bb9 100644 --- a/vue/src/view/sell/order/indexPage.vue +++ b/vue/src/view/sell/order/indexPage.vue @@ -132,7 +132,7 @@ import docTableMixin from '@/mixin/docTableMixin' import SearchForm from '@/component/form/Search' import SearchFormItem from "@/component/form/Search/item" -import {baseUrl, add, update, del, withdraw, pass, reject, getSubById, search} from "@/api/doc/sell/order" +import {add, update, del, withdraw, pass, reject, getSubById, search, exportExcel} from "@/api/doc/sell/order" export default { name: "sellOrder", @@ -142,9 +142,8 @@ export default { components: {SearchForm, SearchFormItem}, data() { - this.api = {add, update, del, withdraw, pass, reject, getSubById, search} + this.api = {add, update, del, withdraw, pass, reject, getSubById, search, exportExcel} return { - exportUrl: `${baseUrl}/export`, searchForm: { customerName: null }, diff --git a/vue/src/view/sell/outbound/indexPage.vue b/vue/src/view/sell/outbound/indexPage.vue index 9c96e91..5ca512f 100644 --- a/vue/src/view/sell/outbound/indexPage.vue +++ b/vue/src/view/sell/outbound/indexPage.vue @@ -104,7 +104,7 @@ import docTableMixin from '@/mixin/docTableMixin' import SearchForm from '@/component/form/Search' import SearchFormItem from "@/component/form/Search/item" -import {baseUrl, add, update, del, withdraw, pass, reject, getSubById, search} from "@/api/doc/sell/outbound" +import {add, update, del, withdraw, pass, reject, getSubById, search, exportExcel} from "@/api/doc/sell/outbound" export default { name: "sellOutbound", @@ -114,9 +114,8 @@ export default { components: {SearchForm, SearchFormItem}, data() { - this.api = {add, update, del, withdraw, pass, reject, getSubById, search} + this.api = {add, update, del, withdraw, pass, reject, getSubById, search, exportExcel} return { - exportUrl: `${baseUrl}/export`, searchForm: { pidFuzzy: null },