From 4ec9f5be268151e9a95c54076ec0f396c4d40b6f Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Thu, 28 Nov 2024 17:35:52 +0800 Subject: [PATCH 01/17] =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=8D=9580%?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repair/stockOperate/stockOperateItem.js | 9 + .../stockOperate/Components/SoReturn.vue | 150 +++++++++++ src/views/repair/stockOperate/InStock.vue | 5 + .../repair/stockOperate/form/SoReturnForm.vue | 252 ++++++++++++++++++ 4 files changed, 416 insertions(+) create mode 100644 src/views/repair/stockOperate/Components/SoReturn.vue create mode 100644 src/views/repair/stockOperate/form/SoReturnForm.vue diff --git a/src/api/repair/stockOperate/stockOperateItem.js b/src/api/repair/stockOperate/stockOperateItem.js index 0368042..615c017 100644 --- a/src/api/repair/stockOperate/stockOperateItem.js +++ b/src/api/repair/stockOperate/stockOperateItem.js @@ -34,3 +34,12 @@ export function getMapBySoIdAndQuery(id, query){ method: 'get' }) } + +// 根据供应商查询该供应商采购过的配件 分页 +export function getSoBySupplier(params){ + return request({ + url: preUrl + "/getSoBySupplier", + method: 'get', + params + }) +} diff --git a/src/views/repair/stockOperate/Components/SoReturn.vue b/src/views/repair/stockOperate/Components/SoReturn.vue new file mode 100644 index 0000000..d79559f --- /dev/null +++ b/src/views/repair/stockOperate/Components/SoReturn.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/src/views/repair/stockOperate/InStock.vue b/src/views/repair/stockOperate/InStock.vue index caa782b..8740cec 100644 --- a/src/views/repair/stockOperate/InStock.vue +++ b/src/views/repair/stockOperate/InStock.vue @@ -4,6 +4,9 @@ + + + @@ -26,10 +29,12 @@ import SoInfo from "@/views/repair/stockOperate/Components/SoInfo.vue"; import SoIndex from "@/views/repair/stockOperate/Components/SoIndex.vue"; import SoVoid from "@/views/repair/stockOperate/Components/SoVoid.vue"; import SoiTable from "@/views/repair/stockOperate/Components/SoiTable.vue"; +import SoReturn from "@/views/repair/stockOperate/Components/SoReturn.vue"; export default { name: "InStock", components: { + SoReturn, SoiTable, SoVoid, SoIndex, diff --git a/src/views/repair/stockOperate/form/SoReturnForm.vue b/src/views/repair/stockOperate/form/SoReturnForm.vue new file mode 100644 index 0000000..342fc3f --- /dev/null +++ b/src/views/repair/stockOperate/form/SoReturnForm.vue @@ -0,0 +1,252 @@ + + + + + From 93fd6101da424ae82d30bc1a62fa4fb95776cb37 Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Fri, 29 Nov 2024 11:40:29 +0800 Subject: [PATCH 02/17] =?UTF-8?q?=E9=80=80=E8=B4=A7=E5=8D=95=E5=92=8C?= =?UTF-8?q?=E4=B8=80=E4=BA=9B=E5=B0=8F=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../stockOperate/Components/SoReturn.vue | 163 +++++++++++++++++- .../stockOperate/Components/WaresItem.vue | 15 +- .../repair/stockOperate/form/SoReturnForm.vue | 10 +- 3 files changed, 180 insertions(+), 8 deletions(-) diff --git a/src/views/repair/stockOperate/Components/SoReturn.vue b/src/views/repair/stockOperate/Components/SoReturn.vue index d79559f..482bba5 100644 --- a/src/views/repair/stockOperate/Components/SoReturn.vue +++ b/src/views/repair/stockOperate/Components/SoReturn.vue @@ -49,6 +49,7 @@ + @@ -71,6 +69,113 @@ /> + + + + +
+ + 单据信息 +
+ +
+ + + + {{info.soNo}} + + + + {{info.itemCount}} + + + + {{info.totalPrice}} + + + + {{info.userName}} + + + + {{info.supplierName}} + + + + {{parseTime(info.createTime, '{y}-{m}-{d}')}} + + + + {{info.corpName}} + + + + {{info.remark}} + + +
+
+ + +
+ + 商品信息 +
+ +
+ + + + + + + + + + + + + + + + + + + + + +
+
+ +
@@ -79,7 +184,9 @@ import SupplierChoose from "@/views/repair/Components/SupplierChoose.vue"; import StaffChoose from "@/views/repair/Components/StaffChoose.vue"; import CorpChoose from "@/views/repair/Components/CorpChoose.vue"; import SoReturnForm from "@/views/repair/stockOperate/form/SoReturnForm.vue"; -import {getRepairSoPage} from "@/api/repair/stockOperate/stockOperate"; +import {getRepairSoById, getRepairSoPage, voidSo} from "@/api/repair/stockOperate/stockOperate"; +import {getRepairSoiByIds} from "@/api/repair/stockOperate/stockOperateItem"; +import {getBaseWarehouseList} from "@/api/base/warehouse"; export default { name: "SoReturn", @@ -97,7 +204,14 @@ export default { list: [], total: 0, loading: false, - supplier: null + supplier: null, + formData: { + id: null, + remark: null + }, + dialogVisible: false, + info: {}, + warehouseList: [] } }, watch:{ @@ -113,6 +227,41 @@ export default { this.getReturnList() }, methods: { + getWareHoseName(value){ + return this.warehouseList?.find(item => item.id === value)?.name + }, + async handleShow(row){ + try { + const res1 = await getRepairSoById(row.id) + this.dialogVisible = true + this.info = res1.data + const ids = res1.data.goodsList.map(item => item.id) + const res = await getRepairSoiByIds(ids) + this.info.goodsList = res.data + const response = await getBaseWarehouseList() + this.warehouseList = response.data + }catch{} + }, + // 作废 + handleVoidSo(row) { + this.$prompt('作废备注', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + }).then(({value}) => { + this.formData.id = row.id + this.formData.remark = value + this.doVoidSo() + }).catch(() => { + }) + }, + async doVoidSo() { + try { + await voidSo(this.formData) + this.$modal.msgSuccess("作废成功") + await this.getReturnList() + } catch { + } + }, async getReturnList() { try { this.loading = true @@ -146,5 +295,7 @@ export default { diff --git a/src/views/repair/stockOperate/Components/WaresItem.vue b/src/views/repair/stockOperate/Components/WaresItem.vue index 453aa77..d91e955 100644 --- a/src/views/repair/stockOperate/Components/WaresItem.vue +++ b/src/views/repair/stockOperate/Components/WaresItem.vue @@ -109,6 +109,11 @@ + + + + + diff --git a/src/views/repair/stockTransfer/Components/StIndex.vue b/src/views/repair/stockTransfer/Components/StIndex.vue index 0c18c4c..0309b22 100644 --- a/src/views/repair/stockTransfer/Components/StIndex.vue +++ b/src/views/repair/stockTransfer/Components/StIndex.vue @@ -32,6 +32,10 @@ + + 导出 + @@ -98,7 +102,7 @@ diff --git a/src/views/repair/stockTransfer/Components/StVoid.vue b/src/views/repair/stockTransfer/Components/StVoid.vue index a08209c..4d248ba 100644 --- a/src/views/repair/stockTransfer/Components/StVoid.vue +++ b/src/views/repair/stockTransfer/Components/StVoid.vue @@ -26,6 +26,10 @@ + + 导出 + @@ -75,7 +79,7 @@ diff --git a/src/views/repair/stockTransfer/Components/StiTable.vue b/src/views/repair/stockTransfer/Components/StiTable.vue index 603dabf..46f10c5 100644 --- a/src/views/repair/stockTransfer/Components/StiTable.vue +++ b/src/views/repair/stockTransfer/Components/StiTable.vue @@ -27,9 +27,8 @@ - 导出 - + 导出 @@ -79,7 +78,7 @@ diff --git a/src/views/repair/tickets/Components/TicketManagerItem.vue b/src/views/repair/tickets/Components/TicketManagerItem.vue index 2e8a360..8425a43 100644 --- a/src/views/repair/tickets/Components/TicketManagerItem.vue +++ b/src/views/repair/tickets/Components/TicketManagerItem.vue @@ -21,6 +21,10 @@ + + 导出 + @@ -39,6 +43,8 @@ + + diff --git a/src/views/repair/tickets/Components/TicketSearch.vue b/src/views/repair/tickets/Components/TicketSearch.vue index a980e2f..2808cba 100644 --- a/src/views/repair/tickets/Components/TicketSearch.vue +++ b/src/views/repair/tickets/Components/TicketSearch.vue @@ -35,11 +35,11 @@ - - 导出 - + + 导出 + @@ -53,7 +53,7 @@ import StaffChoose from "@/views/repair/Components/StaffChoose.vue"; import TicketTable from "@/views/repair/tickets/Components/TicketTable.vue"; import RepairTypeChoose from "@/views/repair/Components/RepairTypeChoose.vue"; -import {getTicketsPage} from "@/api/repair/tickets/Tickets"; +import {getTicketsPage, exportByStatus} from "@/api/repair/tickets/Tickets"; import CorpChoose from "@/views/repair/Components/CorpChoose.vue"; import {checkRole} from "@/api/system/permission"; @@ -87,7 +87,9 @@ export default { showSearch: true, total: 0, list: [], - isCW: false + isCW: false, + // 导出遮罩层 + exportLoading: false, } }, mounted() { @@ -136,7 +138,34 @@ export default { this.resetForm("queryForm") this.queryParams.corp = null this.handleQuery() - } + }, + /** 导出按钮操作 */ + handleExport() { + this.$modal.confirm('是否确认导出当前查询条件所有数据项?').then(() => { + // 处理查询参数 + let params = {...this.queryParams}; + params.pageNo = undefined; + params.pageSize = undefined; + this.exportLoading = true; + return exportByStatus(params); + }).then(response => { + let name = "" + switch (this.TicketType){ + case "tu": + name = "待结算工单数据.xls" + break + case "tp": + name = "已结算工单数据.xls" + break + case "tv": + name = "已作废工单数据.xls" + break + } + this.$download.excel(response, name); + }).finally(() => { + this.exportLoading = false; + }); + }, } } diff --git a/src/views/repair/tickets/Components/TicketTable.vue b/src/views/repair/tickets/Components/TicketTable.vue index e9be9cd..6d5d90b 100644 --- a/src/views/repair/tickets/Components/TicketTable.vue +++ b/src/views/repair/tickets/Components/TicketTable.vue @@ -64,17 +64,19 @@ - - - + + + + + + + From 0b1acbe7b15c356b56f3d735994cbe9b5ffccea2 Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Wed, 4 Dec 2024 11:08:07 +0800 Subject: [PATCH 08/17] =?UTF-8?q?=E5=B2=97=E4=BD=8D=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E7=9A=84=E4=BB=8E=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2=E9=9A=90?= =?UTF-8?q?=E8=97=8F=E6=8E=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/system/user/index.vue | 24 ++++++++++++------------ src/views/system/user/profile/index.vue | 8 ++++---- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index f77e89c..fe40622 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -146,18 +146,18 @@ - - - - - - - + + + + + + + + + + + + diff --git a/src/views/system/user/profile/index.vue b/src/views/system/user/profile/index.vue index 20c37f9..519a058 100644 --- a/src/views/system/user/profile/index.vue +++ b/src/views/system/user/profile/index.vue @@ -27,10 +27,10 @@ 所属部门
{{ user.dept.name }}
-
  • - 所属岗位 -
    {{ user.posts.map(post => post.name).join(',') }}
    -
  • + + + +
  • 所属角色
    {{ user.roles.map(role => role.name).join(',') }}
    From 0d6bca22561f27e9dcd815ea6aa7106ec5a1f892 Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Wed, 4 Dec 2024 11:25:46 +0800 Subject: [PATCH 09/17] =?UTF-8?q?=E5=AE=A2=E6=88=B7=E4=BF=A1=E6=81=AF=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20=E7=BB=8F=E5=8A=9E=E4=BA=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=88=E5=A7=93=E5=90=8D=E3=80=81=E7=94=B5=E8=AF=9D?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repair/tickets/Components/UserInfo.vue | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/src/views/repair/tickets/Components/UserInfo.vue b/src/views/repair/tickets/Components/UserInfo.vue index 389b14a..70d0639 100644 --- a/src/views/repair/tickets/Components/UserInfo.vue +++ b/src/views/repair/tickets/Components/UserInfo.vue @@ -139,6 +139,21 @@ + + + + + + + + + + + @@ -245,6 +282,8 @@ import {getRepairSoiByIds, getMapBySoIdAndQuery} from "@/api/repair/stockOperate import {createUniqueCodeByHead} from "@/utils/createUniqueCode"; import WarehouseChoose from "@/views/repair/Components/WarehouseChoose.vue"; import {getBaseTypeList} from "@/api/base/type"; +import {getUserProfile} from "@/api/system/user"; +import {parseTime} from "../../../../utils/ruoyi"; export default { name: "SoIndex", @@ -342,12 +381,61 @@ export default { isRefresh: false, // 导出遮罩层 exportLoading: false, + inQueryParams:{ + pageNo: 1, + pageSize: 10, + userId: null, + mainId: null, + }, + inDialog: false, + inData: [], + inTotal: 0, + inLoading2: false, + expands: [], + getRowKey:(row) => { + return row.id + }, + inSoiList: [], + inLoading3: false } }, mounted() { this.pageSo(); }, methods: { + parseTime, + async handleExpand(row, expandedRows){ + let that = this + if (expandedRows.length){ + that.expands = [] + if (row){ + that.expands.push(row.id) + try { + that.inLoading3 = true + const resSo = await getRepairSoById(row.id) + const ids = resSo.data.goodsList.map(item => item.id) + const resSoi = await getRepairSoiByIds(ids) + this.inSoiList = resSoi.data + that.inLoading3 = false + }catch{} + } + }else { + that.expands = [] + } + }, + async handleShowIn(row){ + try { + this.inDialog = true + this.inLoading2 = true + this.inQueryParams.mainId = row.id + const user = await getUserProfile(); + this.inQueryParams.userId = user.data.id + const res = await getRepairSoPage(this.inQueryParams) + this.inData = res.data.records + this.inTotal = res.data.total + this.inLoading2 = false + }catch{} + }, setSelectedRows() { this.$nextTick(() => { Object.keys(this.$refs).forEach(key => { From a9d6c01cbb6e344e2ace56d7a27e6d64c7f37825 Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Wed, 4 Dec 2024 16:20:19 +0800 Subject: [PATCH 13/17] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=B7=A5=E6=9F=A5?= =?UTF-8?q?=E7=9C=8B=E9=85=8D=E4=BB=B6=E7=94=B3=E8=AF=B7=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/repair/tickets/TicketManager.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/repair/tickets/TicketManager.vue b/src/views/repair/tickets/TicketManager.vue index 02bf4f3..d61d47f 100644 --- a/src/views/repair/tickets/TicketManager.vue +++ b/src/views/repair/tickets/TicketManager.vue @@ -10,7 +10,7 @@ - + From 278847d927cde09b66650a46cd153969eb629ca9 Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Wed, 4 Dec 2024 16:39:36 +0800 Subject: [PATCH 14/17] =?UTF-8?q?=E8=B4=A2=E5=8A=A1=E7=BB=93=E7=AE=97?= =?UTF-8?q?=E8=AE=A2=E5=8D=95=E4=B9=8B=E5=90=8E=E5=B7=A5=E5=8D=95=E4=B8=8D?= =?UTF-8?q?=E5=8F=AF=E5=9C=A8=E7=BC=96=E8=BE=91=EF=BC=8C=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repair/tickets/Components/TicketManagerItem.vue | 10 +++++----- src/views/repair/tickets/Components/TicketTable.vue | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/views/repair/tickets/Components/TicketManagerItem.vue b/src/views/repair/tickets/Components/TicketManagerItem.vue index 8425a43..76b5c10 100644 --- a/src/views/repair/tickets/Components/TicketManagerItem.vue +++ b/src/views/repair/tickets/Components/TicketManagerItem.vue @@ -53,20 +53,20 @@ 接单 - 通知施工 - {{ userRole === 'general_inspection' ? "内返派工" : "修改派工" }} - 更多 @@ -115,7 +115,7 @@ 查看 - + 编辑工单 diff --git a/src/views/repair/tickets/Components/TicketTable.vue b/src/views/repair/tickets/Components/TicketTable.vue index 6d5d90b..75a76e7 100644 --- a/src/views/repair/tickets/Components/TicketTable.vue +++ b/src/views/repair/tickets/Components/TicketTable.vue @@ -123,9 +123,9 @@ @click="handlePrint(scope.row)" >下载打印 - - 编辑工单 - + + + 删除 From 9b49bf61a010bc8268ddfc3241aaa5a032688cd0 Mon Sep 17 00:00:00 2001 From: xiaofajia <1665375861@qq.com> Date: Thu, 5 Dec 2024 11:27:05 +0800 Subject: [PATCH 15/17] =?UTF-8?q?=E8=A1=A5=E5=85=85=E7=BB=B4=E4=BF=AE?= =?UTF-8?q?=E5=B7=A5=E5=8D=95=E6=96=B0=E5=8A=A0=E7=9A=84=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../repair/tickets/Components/TicketsShow.vue | 56 +++++++++++++------ .../repair/tickets/Components/UserInfo.vue | 49 ++++++++++------ 2 files changed, 73 insertions(+), 32 deletions(-) diff --git a/src/views/repair/tickets/Components/TicketsShow.vue b/src/views/repair/tickets/Components/TicketsShow.vue index 743c870..4277517 100644 --- a/src/views/repair/tickets/Components/TicketsShow.vue +++ b/src/views/repair/tickets/Components/TicketsShow.vue @@ -52,6 +52,18 @@ {{ info.userMobile }} + + + {{ info.handleName }} + + + + {{ info.handleMobile }} +