From 7ab6414d2bc943671f989a12bbce767bc6604ce6 Mon Sep 17 00:00:00 2001 From: Dayu <1010@qq.com> Date: Mon, 15 Jul 2024 10:29:15 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=A4=87=E4=BB=B6=20=E7=89=A9=E8=B5=84=20?= =?UTF-8?q?=E5=88=9D=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/spares/inbound.js | 50 ++++ src/api/spares/material.js | 50 ++++ src/api/spares/materialclasscode.js | 50 ++++ src/api/spares/outbound.js | 50 ++++ src/views/views/spares/inbound.vue | 270 +++++++++++++++++ src/views/views/spares/material.vue | 297 +++++++++++++++++++ src/views/views/spares/materialclasscode.vue | 225 ++++++++++++++ src/views/views/spares/outbound.vue | 270 +++++++++++++++++ 8 files changed, 1262 insertions(+) create mode 100644 src/api/spares/inbound.js create mode 100644 src/api/spares/material.js create mode 100644 src/api/spares/materialclasscode.js create mode 100644 src/api/spares/outbound.js create mode 100644 src/views/views/spares/inbound.vue create mode 100644 src/views/views/spares/material.vue create mode 100644 src/views/views/spares/materialclasscode.vue create mode 100644 src/views/views/spares/outbound.vue diff --git a/src/api/spares/inbound.js b/src/api/spares/inbound.js new file mode 100644 index 0000000..09ac2f2 --- /dev/null +++ b/src/api/spares/inbound.js @@ -0,0 +1,50 @@ +import request from '@/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api/spares/inbound/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api/spares/inbound/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api/spares/inbound/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api/spares/inbound/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api/spares/inbound/submit', + method: 'post', + data: row + }) +} + diff --git a/src/api/spares/material.js b/src/api/spares/material.js new file mode 100644 index 0000000..a409f1c --- /dev/null +++ b/src/api/spares/material.js @@ -0,0 +1,50 @@ +import request from '@/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api/spares/material/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api/spares/material/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api/spares/material/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api/spares/material/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api/spares/material/submit', + method: 'post', + data: row + }) +} + diff --git a/src/api/spares/materialclasscode.js b/src/api/spares/materialclasscode.js new file mode 100644 index 0000000..314d5c4 --- /dev/null +++ b/src/api/spares/materialclasscode.js @@ -0,0 +1,50 @@ +import request from '@/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api/spares/materialclasscode/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api/spares/materialclasscode/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api/spares/materialclasscode/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api/spares/materialclasscode/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api/spares/materialclasscode/submit', + method: 'post', + data: row + }) +} + diff --git a/src/api/spares/outbound.js b/src/api/spares/outbound.js new file mode 100644 index 0000000..e014bd2 --- /dev/null +++ b/src/api/spares/outbound.js @@ -0,0 +1,50 @@ +import request from '@/axios'; + +export const getList = (current, size, params) => { + return request({ + url: '/api/spares/outbound/list', + method: 'get', + params: { + ...params, + current, + size, + } + }) +} + +export const getDetail = (id) => { + return request({ + url: '/api/spares/outbound/detail', + method: 'get', + params: { + id + } + }) +} + +export const remove = (ids) => { + return request({ + url: '/api/spares/outbound/remove', + method: 'post', + params: { + ids, + } + }) +} + +export const add = (row) => { + return request({ + url: '/api/spares/outbound/submit', + method: 'post', + data: row + }) +} + +export const update = (row) => { + return request({ + url: '/api/spares/outbound/submit', + method: 'post', + data: row + }) +} + diff --git a/src/views/views/spares/inbound.vue b/src/views/views/spares/inbound.vue new file mode 100644 index 0000000..bd2e359 --- /dev/null +++ b/src/views/views/spares/inbound.vue @@ -0,0 +1,270 @@ +<template> + <basic-container> + <avue-crud :option="option" + :table-loading="loading" + :data="data" + :page="page" + :permission="permissionList" + :before-open="beforeOpen" + v-model="form" + ref="crud" + @row-update="rowUpdate" + @row-save="rowSave" + @row-del="rowDel" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @on-load="onLoad"> + <template slot="menuLeft"> + <el-button type="danger" + size="small" + icon="el-icon-delete" + plain + v-if="permission.inbound_delete" + @click="handleDelete">删 除 + </el-button> + </template> + </avue-crud> + </basic-container> +</template> + +<script> + import {getList, getDetail, add, update, remove} from "@/api/spares/inbound"; + import {mapGetters} from "vuex"; + + export default { + data() { + return { + form: {}, + query: {}, + loading: true, + page: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + selectionList: [], + option: { + height: 'auto', + calcHeight: 210, + searchShow: true, + searchMenuSpan: 6, + tip: false, + border: true, + index: true, + viewBtn: true, + selection: true, + column: [ + { + label: "主键", + prop: "id", + rules: [{ + required: true, + message: "请输入主键", + trigger: "blur" + }] + }, + { + label: "物资编号", + prop: "materialNo", + rules: [{ + required: true, + message: "请输入物资编号", + trigger: "blur" + }] + }, + { + label: "入库编号", + prop: "inboundNo", + rules: [{ + required: true, + message: "请输入入库编号", + trigger: "blur" + }] + }, + { + label: "入库时间", + prop: "inboundTime", + rules: [{ + required: true, + message: "请输入入库时间", + trigger: "blur" + }] + }, + { + label: "入库申领人", + prop: "inboundClaimants", + rules: [{ + required: true, + message: "请输入入库申领人", + trigger: "blur" + }] + }, + { + label: "入库经办人", + prop: "inboundManager", + rules: [{ + required: true, + message: "请输入入库经办人", + trigger: "blur" + }] + }, + { + label: "入库数量", + prop: "inboundCount", + rules: [{ + required: true, + message: "请输入入库数量", + trigger: "blur" + }] + }, + { + label: "入库审核状态", + prop: "istatus", + rules: [{ + required: true, + message: "请输入入库审核状态", + trigger: "blur" + }] + }, + ] + }, + data: [] + }; + }, + computed: { + ...mapGetters(["permission"]), + permissionList() { + this.option.column = this.option.column.filter(v => { + return this.permission['inbound_col_' + v.prop] + }) + return { + addBtn: this.validData(this.permission.inbound_add, false), + viewBtn: this.validData(this.permission.inbound_view, false), + delBtn: this.validData(this.permission.inbound_delete, false), + editBtn: this.validData(this.permission.inbound_edit, false) + }; + }, + ids() { + let ids = []; + this.selectionList.forEach(ele => { + ids.push(ele.id); + }); + return ids.join(","); + } + }, + methods: { + rowSave(row, done, loading) { + add(row).then(() => { + done(); + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }, error => { + window.console.log(error); + loading(); + }); + }, + rowUpdate(row, index, done, loading) { + update(row).then(() => { + done(); + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }, error => { + window.console.log(error); + loading(); + }); + }, + rowDel(row) { + this.$confirm("确定将选择数据删除?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return remove(row.id); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }); + }, + handleDelete() { + if (this.selectionList.length === 0) { + this.$message.warning("请选择至少一条数据"); + return; + } + this.$confirm("确定将选择数据删除?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return remove(this.ids); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + this.$refs.crud.toggleSelection(); + }); + }, + beforeOpen(done, type) { + if (["edit", "view"].includes(type)) { + getDetail(this.form.id).then(res => { + this.form = res.data.data; + }); + } + done(); + }, + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page, params); + done(); + }, + selectionChange(list) { + this.selectionList = list; + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + currentChange(currentPage){ + this.page.currentPage = currentPage; + }, + sizeChange(pageSize){ + this.page.pageSize = pageSize; + }, + onLoad(page, params = {}) { + this.loading = true; + getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + this.selectionClear(); + }); + } + } + }; +</script> + +<style> +</style> diff --git a/src/views/views/spares/material.vue b/src/views/views/spares/material.vue new file mode 100644 index 0000000..cf5cd9e --- /dev/null +++ b/src/views/views/spares/material.vue @@ -0,0 +1,297 @@ +<template> + <basic-container> + <avue-crud :option="option" + :table-loading="loading" + :data="data" + :page="page" + :permission="permissionList" + :before-open="beforeOpen" + v-model="form" + ref="crud" + @row-update="rowUpdate" + @row-save="rowSave" + @row-del="rowDel" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @on-load="onLoad"> + <template slot="menuLeft"> + <el-button type="danger" + size="small" + icon="el-icon-delete" + plain + v-if="permission.material_delete" + @click="handleDelete">删 除 + </el-button> + </template> + </avue-crud> + </basic-container> +</template> + +<script> + import {getList, getDetail, add, update, remove} from "@/api/spares/material"; + import {mapGetters} from "vuex"; + + export default { + data() { + return { + form: {}, + query: {}, + loading: true, + page: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + selectionList: [], + option: { + height: 'auto', + calcHeight: 210, + searchShow: true, + searchMenuSpan: 6, + tip: false, + border: true, + index: true, + viewBtn: true, + selection: true, + column: [ + { + label: "主键", + prop: "id", + rules: [{ + required: true, + message: "请输入主键", + trigger: "blur" + }] + }, + { + label: "物资编号", + prop: "materialNo", + rules: [{ + required: true, + message: "请输入物资编号", + trigger: "blur" + }] + }, + { + label: "物资名称", + prop: "materialName", + rules: [{ + required: true, + message: "请输入物资名称", + trigger: "blur" + }] + }, + { + label: "物资分类码", + prop: "materialClassCode", + rules: [{ + required: true, + message: "请输入物资分类码", + trigger: "blur" + }] + }, + { + label: "规格型号", + prop: "model", + rules: [{ + required: true, + message: "请输入规格型号", + trigger: "blur" + }] + }, + { + label: "制造商名称", + prop: "manufacturerName", + rules: [{ + required: true, + message: "请输入制造商名称", + trigger: "blur" + }] + }, + { + label: "供应商名称", + prop: "sipplierName", + rules: [{ + required: true, + message: "请输入供应商名称", + trigger: "blur" + }] + }, + { + label: "所属仓库", + prop: "warehouse", + rules: [{ + required: true, + message: "请输入所属仓库", + trigger: "blur" + }] + }, + { + label: "库存数量", + prop: "inventoryCount", + rules: [{ + required: true, + message: "请输入库存数量", + trigger: "blur" + }] + }, + { + label: "物资描述", + prop: "materialDescription", + rules: [{ + required: true, + message: "请输入物资描述", + trigger: "blur" + }] + }, + { + label: "审核状态", + prop: "istatus", + rules: [{ + required: true, + message: "请输入审核状态", + trigger: "blur" + }] + }, + ] + }, + data: [] + }; + }, + computed: { + ...mapGetters(["permission"]), + permissionList() { + this.option.column = this.option.column.filter(v => { + return this.permission['material_col_' + v.prop] + }) + return { + addBtn: this.validData(this.permission.material_add, false), + viewBtn: this.validData(this.permission.material_view, false), + delBtn: this.validData(this.permission.material_delete, false), + editBtn: this.validData(this.permission.material_edit, false) + }; + }, + ids() { + let ids = []; + this.selectionList.forEach(ele => { + ids.push(ele.id); + }); + return ids.join(","); + } + }, + methods: { + rowSave(row, done, loading) { + add(row).then(() => { + done(); + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }, error => { + window.console.log(error); + loading(); + }); + }, + rowUpdate(row, index, done, loading) { + update(row).then(() => { + done(); + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }, error => { + window.console.log(error); + loading(); + }); + }, + rowDel(row) { + this.$confirm("确定将选择数据删除?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return remove(row.id); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }); + }, + handleDelete() { + if (this.selectionList.length === 0) { + this.$message.warning("请选择至少一条数据"); + return; + } + this.$confirm("确定将选择数据删除?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return remove(this.ids); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + this.$refs.crud.toggleSelection(); + }); + }, + beforeOpen(done, type) { + if (["edit", "view"].includes(type)) { + getDetail(this.form.id).then(res => { + this.form = res.data.data; + }); + } + done(); + }, + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page, params); + done(); + }, + selectionChange(list) { + this.selectionList = list; + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + currentChange(currentPage){ + this.page.currentPage = currentPage; + }, + sizeChange(pageSize){ + this.page.pageSize = pageSize; + }, + onLoad(page, params = {}) { + this.loading = true; + getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + this.selectionClear(); + }); + } + } + }; +</script> + +<style> +</style> diff --git a/src/views/views/spares/materialclasscode.vue b/src/views/views/spares/materialclasscode.vue new file mode 100644 index 0000000..fcc6311 --- /dev/null +++ b/src/views/views/spares/materialclasscode.vue @@ -0,0 +1,225 @@ +<template> + <basic-container> + <avue-crud :option="option" + :table-loading="loading" + :data="data" + :page="page" + :permission="permissionList" + :before-open="beforeOpen" + v-model="form" + ref="crud" + @row-update="rowUpdate" + @row-save="rowSave" + @row-del="rowDel" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @on-load="onLoad"> + <template slot="menuLeft"> + <el-button type="danger" + size="small" + icon="el-icon-delete" + plain + v-if="permission.materialclasscode_delete" + @click="handleDelete">删 除 + </el-button> + </template> + </avue-crud> + </basic-container> +</template> + +<script> + import {getList, getDetail, add, update, remove} from "@/api/spares/materialclasscode"; + import {mapGetters} from "vuex"; + + export default { + data() { + return { + form: {}, + query: {}, + loading: true, + page: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + selectionList: [], + option: { + height: 'auto', + calcHeight: 210, + searchShow: true, + searchMenuSpan: 6, + tip: false, + border: true, + index: true, + viewBtn: true, + selection: true, + column: [ + { + label: "分类码编号", + prop: "id", + rules: [{ + required: true, + message: "请输入分类码编号", + trigger: "blur" + }] + }, + { + label: "物资类型", + prop: "materialType", + rules: [{ + required: true, + message: "请输入物资类型", + trigger: "blur" + }] + }, + { + label: "物资分类码", + prop: "materialClassCode", + rules: [{ + required: true, + message: "请输入物资分类码", + trigger: "blur" + }] + }, + ] + }, + data: [] + }; + }, + computed: { + ...mapGetters(["permission"]), + permissionList() { + this.option.column = this.option.column.filter(v => { + return this.permission['materialclasscode_col_' + v.prop] + }) + return { + addBtn: this.validData(this.permission.materialclasscode_add, false), + viewBtn: this.validData(this.permission.materialclasscode_view, false), + delBtn: this.validData(this.permission.materialclasscode_delete, false), + editBtn: this.validData(this.permission.materialclasscode_edit, false) + }; + }, + ids() { + let ids = []; + this.selectionList.forEach(ele => { + ids.push(ele.id); + }); + return ids.join(","); + } + }, + methods: { + rowSave(row, done, loading) { + add(row).then(() => { + done(); + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }, error => { + window.console.log(error); + loading(); + }); + }, + rowUpdate(row, index, done, loading) { + update(row).then(() => { + done(); + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }, error => { + window.console.log(error); + loading(); + }); + }, + rowDel(row) { + this.$confirm("确定将选择数据删除?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return remove(row.id); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }); + }, + handleDelete() { + if (this.selectionList.length === 0) { + this.$message.warning("请选择至少一条数据"); + return; + } + this.$confirm("确定将选择数据删除?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return remove(this.ids); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + this.$refs.crud.toggleSelection(); + }); + }, + beforeOpen(done, type) { + if (["edit", "view"].includes(type)) { + getDetail(this.form.id).then(res => { + this.form = res.data.data; + }); + } + done(); + }, + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page, params); + done(); + }, + selectionChange(list) { + this.selectionList = list; + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + currentChange(currentPage){ + this.page.currentPage = currentPage; + }, + sizeChange(pageSize){ + this.page.pageSize = pageSize; + }, + onLoad(page, params = {}) { + this.loading = true; + getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + this.selectionClear(); + }); + } + } + }; +</script> + +<style> +</style> diff --git a/src/views/views/spares/outbound.vue b/src/views/views/spares/outbound.vue new file mode 100644 index 0000000..9a4a205 --- /dev/null +++ b/src/views/views/spares/outbound.vue @@ -0,0 +1,270 @@ +<template> + <basic-container> + <avue-crud :option="option" + :table-loading="loading" + :data="data" + :page="page" + :permission="permissionList" + :before-open="beforeOpen" + v-model="form" + ref="crud" + @row-update="rowUpdate" + @row-save="rowSave" + @row-del="rowDel" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @on-load="onLoad"> + <template slot="menuLeft"> + <el-button type="danger" + size="small" + icon="el-icon-delete" + plain + v-if="permission.outbound_delete" + @click="handleDelete">删 除 + </el-button> + </template> + </avue-crud> + </basic-container> +</template> + +<script> + import {getList, getDetail, add, update, remove} from "@/api/spares/outbound"; + import {mapGetters} from "vuex"; + + export default { + data() { + return { + form: {}, + query: {}, + loading: true, + page: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + selectionList: [], + option: { + height: 'auto', + calcHeight: 210, + searchShow: true, + searchMenuSpan: 6, + tip: false, + border: true, + index: true, + viewBtn: true, + selection: true, + column: [ + { + label: "主键", + prop: "id", + rules: [{ + required: true, + message: "请输入主键", + trigger: "blur" + }] + }, + { + label: "物资编号", + prop: "materialNo", + rules: [{ + required: true, + message: "请输入物资编号", + trigger: "blur" + }] + }, + { + label: "出库编号", + prop: "outboundNo", + rules: [{ + required: true, + message: "请输入出库编号", + trigger: "blur" + }] + }, + { + label: "出库时间", + prop: "outboundTime", + rules: [{ + required: true, + message: "请输入出库时间", + trigger: "blur" + }] + }, + { + label: "出库申领人", + prop: "outboundClaimants", + rules: [{ + required: true, + message: "请输入出库申领人", + trigger: "blur" + }] + }, + { + label: "出库经办人", + prop: "outboundManager", + rules: [{ + required: true, + message: "请输入出库经办人", + trigger: "blur" + }] + }, + { + label: "出库数量", + prop: "outboundCount", + rules: [{ + required: true, + message: "请输入出库数量", + trigger: "blur" + }] + }, + { + label: "出库审核状态", + prop: "istatus", + rules: [{ + required: true, + message: "请输入出库审核状态", + trigger: "blur" + }] + }, + ] + }, + data: [] + }; + }, + computed: { + ...mapGetters(["permission"]), + permissionList() { + this.option.column = this.option.column.filter(v => { + return this.permission['outbound_col_' + v.prop] + }) + return { + addBtn: this.validData(this.permission.outbound_add, false), + viewBtn: this.validData(this.permission.outbound_view, false), + delBtn: this.validData(this.permission.outbound_delete, false), + editBtn: this.validData(this.permission.outbound_edit, false) + }; + }, + ids() { + let ids = []; + this.selectionList.forEach(ele => { + ids.push(ele.id); + }); + return ids.join(","); + } + }, + methods: { + rowSave(row, done, loading) { + add(row).then(() => { + done(); + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }, error => { + window.console.log(error); + loading(); + }); + }, + rowUpdate(row, index, done, loading) { + update(row).then(() => { + done(); + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }, error => { + window.console.log(error); + loading(); + }); + }, + rowDel(row) { + this.$confirm("确定将选择数据删除?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return remove(row.id); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + }); + }, + handleDelete() { + if (this.selectionList.length === 0) { + this.$message.warning("请选择至少一条数据"); + return; + } + this.$confirm("确定将选择数据删除?", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning" + }) + .then(() => { + return remove(this.ids); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "操作成功!" + }); + this.$refs.crud.toggleSelection(); + }); + }, + beforeOpen(done, type) { + if (["edit", "view"].includes(type)) { + getDetail(this.form.id).then(res => { + this.form = res.data.data; + }); + } + done(); + }, + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page, params); + done(); + }, + selectionChange(list) { + this.selectionList = list; + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + currentChange(currentPage){ + this.page.currentPage = currentPage; + }, + sizeChange(pageSize){ + this.page.pageSize = pageSize; + }, + onLoad(page, params = {}) { + this.loading = true; + getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + this.selectionClear(); + }); + } + } + }; +</script> + +<style> +</style> From c66e9354f0e20af3658aae364575109f73e0c5c9 Mon Sep 17 00:00:00 2001 From: yangzhicheng <dayu123@qq.com> Date: Mon, 15 Jul 2024 10:33:10 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=BF=90=E8=A1=8C=E9=94=99=E8=AF=AF?= =?UTF-8?q?=E8=A7=A3=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/spares/inbound.js | 2 +- src/api/spares/material.js | 2 +- src/api/spares/materialclasscode.js | 2 +- src/api/spares/outbound.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/api/spares/inbound.js b/src/api/spares/inbound.js index 09ac2f2..4f03845 100644 --- a/src/api/spares/inbound.js +++ b/src/api/spares/inbound.js @@ -1,4 +1,4 @@ -import request from '@/axios'; +import request from '@/router/axios'; export const getList = (current, size, params) => { return request({ diff --git a/src/api/spares/material.js b/src/api/spares/material.js index a409f1c..0ee0c57 100644 --- a/src/api/spares/material.js +++ b/src/api/spares/material.js @@ -1,4 +1,4 @@ -import request from '@/axios'; +import request from '@/router/axios'; export const getList = (current, size, params) => { return request({ diff --git a/src/api/spares/materialclasscode.js b/src/api/spares/materialclasscode.js index 314d5c4..d68adc8 100644 --- a/src/api/spares/materialclasscode.js +++ b/src/api/spares/materialclasscode.js @@ -1,4 +1,4 @@ -import request from '@/axios'; +import request from '@/router/axios'; export const getList = (current, size, params) => { return request({ diff --git a/src/api/spares/outbound.js b/src/api/spares/outbound.js index e014bd2..a51a7be 100644 --- a/src/api/spares/outbound.js +++ b/src/api/spares/outbound.js @@ -1,4 +1,4 @@ -import request from '@/axios'; +import request from '@/router/axios'; export const getList = (current, size, params) => { return request({