From 9735c0fcc2714bce87f74d78a443881cccee8006 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Fri, 19 May 2023 17:45:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9A=E6=AC=A1=E4=BD=BF=E7=94=A8=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E6=96=B0=E5=A2=9E=E5=8A=9F=E8=83=BD=E4=BB=A3=E7=A0=81?= =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/inout/orderMuti.js | 11 + src/views/inout/muti/ioOrderMuti.vue | 9 + src/views/inout/muti/ioOrderMutiAudit.vue | 259 ++++++++++++++++- .../inout/muti/ioOrderMutiAuditDialog.vue | 203 ++++++++++++- .../inout/muti/ioOrderMutiEditDialog.vue | 10 +- src/views/inout/muti/ioOrderMutiSelect.vue | 271 +++++++++++++++++- .../inout/muti/ioOrderMutiSelectDialog.vue | 210 ++++++++++++++ src/views/inout/muti/ioOrderMutiSet.vue | 9 + src/views/inout/muti/ioOrderMutiSetDialog.vue | 17 +- 9 files changed, 990 insertions(+), 9 deletions(-) create mode 100644 src/views/inout/muti/ioOrderMutiSelectDialog.vue diff --git a/src/api/inout/orderMuti.js b/src/api/inout/orderMuti.js index 60e4f600..888f4d7d 100644 --- a/src/api/inout/orderMuti.js +++ b/src/api/inout/orderMuti.js @@ -149,6 +149,17 @@ export function delectMuti(query) { ); } +export function auditMuti(query) { + return axios( + { + url: "/udiwms/inout/order/muti/auditMuti", + method: "post", + data: query + } + ); +} + + diff --git a/src/views/inout/muti/ioOrderMuti.vue b/src/views/inout/muti/ioOrderMuti.vue index dea9350d..f211a4fe 100644 --- a/src/views/inout/muti/ioOrderMuti.vue +++ b/src/views/inout/muti/ioOrderMuti.vue @@ -144,6 +144,7 @@ export default { mark: null, totalCount:null, useCount:null, + status:0, page: 1, limit: 10, }, @@ -205,6 +206,7 @@ export default { orderIdFk: null, relIdFk: null, mark: null, + status:0, page: 1, limit: 10, } @@ -241,6 +243,13 @@ export default { this.orderMutiVisible = true; }, getList() { + if (this.actDateRange != null) { + this.filterQuery.startDate = this.actDateRange[0]; + this.filterQuery.endDate = this.actDateRange[1]; + } else { + this.filterQuery.startDate = null; + this.filterQuery.endDate = null; + } this.loading = true; selectMutiList(this.filterQuery) .then((response) => { diff --git a/src/views/inout/muti/ioOrderMutiAudit.vue b/src/views/inout/muti/ioOrderMutiAudit.vue index 62030410..6452cbfb 100644 --- a/src/views/inout/muti/ioOrderMutiAudit.vue +++ b/src/views/inout/muti/ioOrderMutiAudit.vue @@ -1,10 +1,267 @@ <template> + <div> + <el-card> + <el-form :model="filterQuery" class="query-form" size="mini" label-width="120px"v-show="showSearch"> + <el-row> + <el-col :span="11"> + <el-form-item label="UDI:"> + <el-input v-model="filterQuery.udiCode" placeholder="请输入UDI" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="单据号:"> + <el-input v-model="filterQuery.orderIdFk" placeholder="请输入单据号" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="标记:"> + <el-input v-model="filterQuery.mark" placeholder="请输入标记" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="产品DI:"> + <el-input v-model="filterQuery.relIdFk" placeholder="请输入产品DI" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="物资名称:"> + <el-input v-model="filterQuery.UDI" placeholder="请输入物资名称" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="创建时间:"> + <el-date-picker + style="width: 100%" + :picker-options="pickerOptions" + v-model="actDateRange" + type="daterange" + format="yyyy 年 MM 月 dd 日" + value-format="yyyy-MM-dd" + range-separator="至" + start-placeholder="开始日期" + end-placeholder="结束日期" + > + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div class="top-right-btn"> + <el-button-group style="display:flex;"> + <el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button> + <el-button type="primary" icon="el-icon-refresh" @click="onReset">重置</el-button> + <el-button type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button> +<!-- <el-button type="primary" icon="el-icon-plus" @click="addOrderMuti">新增</el-button>--> + </el-button-group> + </div> + <el-divider style="margin: 15px"></el-divider> + + + <el-table v-loading="loading" :data="list" style="width: 100%" @current-change="handleDetail" border highlight-current-row> + <el-table-column label="序号" type="index" width="60"></el-table-column> + <el-table-column label="单据号" prop="orderIdFk"></el-table-column> + <el-table-column label="UDI码" prop="udiCode"></el-table-column> + <el-table-column label="标记" prop="mark"></el-table-column> + <el-table-column label="物资名称" prop="cpmctymc"></el-table-column> + <el-table-column label="规格型号" prop="ggxh"></el-table-column> + <el-table-column label="总使用次数" prop="totalCount"></el-table-column> + <el-table-column label="已使用次数" prop="useCount"></el-table-column> + <el-table-column label="剩余使用次数" prop="reCount"></el-table-column> + <el-table-column label="批次号" prop="batchNo"></el-table-column> + <el-table-column label="生产日期" prop="produceDate"></el-table-column> + <el-table-column label="失效日期" prop="expireDate"></el-table-column> + <el-table-column label="创建人" prop="createUserName"></el-table-column> + <el-table-column label="创建时间" prop="createTime"></el-table-column> + <el-table-column label="审核人" prop="auditUserName"></el-table-column> + <el-table-column label="审核时间" prop="auditTime"></el-table-column> + <el-table-column label="操作" width="120px"> + <template slot-scope="scope"> + <el-button type="text" size="small" @click.native.stop="auditDialog(scope.row)">审核</el-button> + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="filterQuery.page" + :limit.sync="filterQuery.limit" + @pagination="handleCurrentChange" + + ></pagination> + </el-card> + + <el-card class="el-card"> + <el-table v-loading="loading" :data="detailList" style="width: 100%" border highlight-current-row> + <el-table-column label="序号" type="index" width="60"></el-table-column> + <el-table-column label="当前次数" prop="curIndex"></el-table-column> + <el-table-column label="往来单位" prop="fromCorp" show-overflow-tooltip="true"></el-table-column> + <el-table-column label="使用人" prop="createUserName" show-overflow-tooltip="true"></el-table-column> + <el-table-column label="使用时间" prop="useTime" show-overflow-tooltip="true"></el-table-column> + </el-table> + </el-card> + + <el-dialog + :title="formName" + :visible.sync="orderMutiVisible" + :before-close="close" + width="60%" + v-if="orderMutiVisible" + @close='closeDialog' + :close-on-click-modal="false" + :close-on-press-escape="false" + > + <ioOrderMutiAuditDialog + :closeDialog="closeDialog" + :filterQuery="inputQuery" + :formName="formName" + ></ioOrderMutiAuditDialog> + </el-dialog> + + </div> </template> + + <script> +import ioOrderMutiAuditDialog from "@/views/inout/muti/ioOrderMutiAuditDialog"; +import {delectMuti, detailMuti, filterList, selectMutiDetailList, selectMutiList} from "@/api/inout/orderMuti"; + + export default { - name: "ioOrderMutiAudit" + name: "ioOrderMutiAudit", + data() { + return { + showSearch: true, + filterQuery: { + udiCode: null, + orderIdFk: null, + relIdFk: null, + mark: null, + totalCount:null, + useCount:null, + status:1, + page: 1, + limit: 10, + }, + inputQuery: { + curInv: null, + fromCorp: "", + targetAction: null, + remark: null, + updateTime: null, + }, + total: 0, + loading: false, + list: [], + formName: "审核使用出库", + orderMutiVisible: false, + actDateRange: [], + detailList: [], + pickerOptions: { + shortcuts: [ + { + text: "最近一周", + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); + picker.$emit("pick", [start, end]); + }, + }, + { + text: "最近一个月", + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); + picker.$emit("pick", [start, end]); + }, + }, + { + text: "最近三个月", + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); + picker.$emit("pick", [start, end]); + }, + }, + ], + }, + }; + }, + methods: { + onReset(){ + this.inputQuery={ + udiCode: null, + orderIdFk: null, + relIdFk: null, + mark: null, + status:1, + page: 1, + limit: 10, + } + this.getList(); + }, + onSubmit() { + this.filterQuery.page = 1; + this.getList(); + }, + handleCurrentChange(val) { + this.filterQuery.page = val.page; + this.getList(); + }, + closeDialog(){ + this.orderMutiVisible = false; + this.getList(); + }, + hideSearch() { + this.showSearch = !this.showSearch; + }, + auditDialog(row){ + this.inputQuery=row; + this.orderMutiVisible = true; + }, + getList() { + this.loading = true; + if (this.actDateRange != null) { + this.filterQuery.startDate = this.actDateRange[0]; + this.filterQuery.endDate = this.actDateRange[1]; + } else { + this.filterQuery.startDate = null; + this.filterQuery.endDate = null; + } + selectMutiList(this.filterQuery) + .then((response) => { + this.loading = false; + this.list = response.data.list || []; + this.total = response.data.total || 0; + }) + .catch(() => { + this.loading = false; + this.list = []; + this.total = 0; + }); + }, + handleDetail(row) { + selectMutiDetailList({mutiIdFk:row.id}).then((response) => { + if (response.code == 20000) { + this.detailList = response.data || []; + this.inputQuery.useCount=this.detailList.length + } + }) + }, + }, + components: {ioOrderMutiAuditDialog}, + created() { + this.getList(); + }, } </script> diff --git a/src/views/inout/muti/ioOrderMutiAuditDialog.vue b/src/views/inout/muti/ioOrderMutiAuditDialog.vue index 9049da55..9dae2d6e 100644 --- a/src/views/inout/muti/ioOrderMutiAuditDialog.vue +++ b/src/views/inout/muti/ioOrderMutiAuditDialog.vue @@ -1,10 +1,211 @@ <template> + <div> + <el-card style="margin: 5px;"> + <el-form :model="inputQuery" label-width="110px" style="margin-bottom: -15px"> + <el-button-group style="display: flex; margin: 0px 0 15px 75%; height: 35px"> + <el-button size="mini" type="primary" @click.native="saveOrder(2)">审核通过</el-button> + <el-button size="mini" type="primary" @click.native="saveOrder(3)">审核拒绝</el-button> + </el-button-group> + <el-row> + <el-col :span="17"> + <el-form-item label="UDI:"> + <el-input v-model="inputQuery.udiCode" :disabled="detailList.length>0" placeholder="请输入UDI" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="单据号:"> + <el-input v-model="inputQuery.orderIdFk" :disabled="true" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="标记:"> + <el-input v-model="inputQuery.mark" :disabled="true" placeholder="请输入标记" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="物资名称:"> + <el-input v-model="inputQuery.cpmctymc" :disabled="true" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="规格型号:"> + <el-input v-model="inputQuery.ggxh" :disabled="true" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="总使用次数:"> + <el-input v-model="inputQuery.totalCount" :disabled="true" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="已使用次数:"> + <el-input v-model="inputQuery.useCount" :disabled="true" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + </el-card> + <el-card style="margin: 5px;"> + <el-table :data="detailList" style="width: 100%" border highlight-current-row> + <el-table-column label="序号" type="index" width="60"></el-table-column> + <el-table-column label="当前次数" prop="curIndex"></el-table-column> + <el-table-column label="往来单位" prop="fromCorp" show-overflow-tooltip="true"></el-table-column> + <el-table-column label="使用人" prop="createUserName" show-overflow-tooltip="true"></el-table-column> + <el-table-column label="使用时间" prop="useTime" show-overflow-tooltip="true"></el-table-column> + </el-table> + </el-card> + + + <el-dialog + :title="tableName" + :visible.sync="orderMutiDelectVisible" + width="60%" + :append-to-body="true" + v-if="orderMutiDelectVisible" + @close='closeDialog' + :close-on-click-modal="false" + :close-on-press-escape="false" + > + <ioOrderMutiEditSelectDialog + :closeDialogDelect="closeDialogDelect" + :filterQuery="inputQuery" + ></ioOrderMutiEditSelectDialog> + </el-dialog> + + </div> </template> <script> +import { + addMuti, + addMutiDetail, + addOrderMuti, auditMuti, + checkUdi, delectMutiDelect, + filterMutiList, getMark, + selectMutiDetailList, + updateMuti, + updateOrderMuti +} from "@/api/inout/orderMuti"; +import ioOrderMutiEditSelectDialog from "@/views/inout/muti/ioOrderMutiEditSelectDialog" + export default { - name: "ioOrderMutiAuditDialog" + name: "ioOrderMutiAuditDialog", + props: { + closeDialog: { + type: Function, + required: true, + }, + formName: { + type: Object, + required: true, + }, + filterQuery: { + type: Object, + required: true, + }, + }, + data() { + return { + inputQuery: { + udiCode: null, + orderIdFk: null, + mark: null, + cpmctymc: null, + ggxh: null, + totalCount: null, + useCount: null, + supId: null, + }, + pId: null, + orderMutiDelectVisible: false, + tableName: '使用记录选择', + invList: [], + fromInvOptions: [], + busTypes: [], + detailList: [], + } + }, + methods: { + addFromCorp() { + var query = { + mutiIdFk: this.pId, + fromCorp: this.inputQuery.fromCorp + } + addMutiDetail(query).then((response) => { + if (response.code == 20000) { + this.selectMutiDetailList(); + } else { + this.$message.error(response.message); + } + }) + .catch(() => { + this.$message.error("添加失败"); + }); + }, + selectMutiDetailList() { + selectMutiDetailList({mutiIdFk:this.pId}).then((response) => { + if (response.code == 20000) { + this.detailList = response.data || []; + this.inputQuery.useCount=this.detailList.length + } + }) + }, + filterMutiList() { + filterMutiList({id: this.pId}).then((response) => { + if (response.code == 20000) { + this.inputQuery.cpmctymc = response.data.data.cpmctymc + this.inputQuery.mark = response.data.data.mark + this.inputQuery.ggxh = response.data.data.ggxh + this.inputQuery.totalCount = response.data.data.totalCount + this.inputQuery.useCount = response.data.data.useCount + this.detailList = response.data.detailList + this.inputQuery.useCount=this.detailList.length + } else { + this.$message.error(response.message); + } + }); + }, + closeDialogDelect(row){ + this.orderMutiDelectVisible=false; + this.pId=row.id; + this.filterMutiList(); + }, + saveOrder(status){ + var query={ + id:this.pId, + status:status + } + auditMuti(query).then((response) => { + if (response.code == 20000) { + this.closeDialog() + } else { + this.$message.error(response.message); + } + }); + }, + deleteDialog(row){ + delectMutiDelect({id:row.id}).then((response) => { + if (response.code == 20000) { + this.selectMutiDetailList() + } else { + this.$message.error(response.message); + } + }); + } + }, + components: {ioOrderMutiEditSelectDialog}, + created() { + this.inputQuery = this.filterQuery + this.pId=this.inputQuery.id + this.selectMutiDetailList() + }, } </script> diff --git a/src/views/inout/muti/ioOrderMutiEditDialog.vue b/src/views/inout/muti/ioOrderMutiEditDialog.vue index e492e5fe..3868d19c 100644 --- a/src/views/inout/muti/ioOrderMutiEditDialog.vue +++ b/src/views/inout/muti/ioOrderMutiEditDialog.vue @@ -9,11 +9,11 @@ <el-row> <el-col :span="17"> <el-form-item label="UDI:"> - <el-input v-model="inputQuery.udiCode" placeholder="请输入UDI" clearable></el-input> + <el-input v-model="inputQuery.udiCode" :disabled="detailList.length>0" placeholder="请输入UDI" clearable></el-input> </el-form-item> </el-col> <el-col :span="2"> - <el-button type="primary" size="mini" @click="addCode" style="margin-left: 15px">添加</el-button> + <el-button type="primary" size="mini" @click="addCode" :disabled="detailList.length>0" style="margin-left: 15px">添加</el-button> </el-col> </el-row> <el-row> @@ -316,14 +316,14 @@ export default { }, components: {ioOrderMutiEditSelectDialog}, created() { - debugger - this.inputQuery = this.filterQuery - this.pId=this.inputQuery.id if(this.formName==2){ + this.inputQuery = this.filterQuery + this.pId=this.inputQuery.id this.selectMutiDetailList() }else{ this.getMark(); } + }, } </script> diff --git a/src/views/inout/muti/ioOrderMutiSelect.vue b/src/views/inout/muti/ioOrderMutiSelect.vue index 92be5e51..e61113c3 100644 --- a/src/views/inout/muti/ioOrderMutiSelect.vue +++ b/src/views/inout/muti/ioOrderMutiSelect.vue @@ -1,10 +1,279 @@ <template> + <div> + <el-card> + <el-form :model="filterQuery" class="query-form" size="mini" label-width="120px"v-show="showSearch"> + <el-row> + <el-col :span="11"> + <el-form-item label="UDI:"> + <el-input v-model="filterQuery.udiCode" placeholder="请输入UDI" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="单据号:"> + <el-input v-model="filterQuery.orderIdFk" placeholder="请输入单据号" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="标记:"> + <el-input v-model="filterQuery.mark" placeholder="请输入标记" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="产品DI:"> + <el-input v-model="filterQuery.relIdFk" placeholder="请输入产品DI" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="物资名称:"> + <el-input v-model="filterQuery.UDI" placeholder="请输入物资名称" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="创建时间:"> + <el-date-picker + style="width: 100%" + :picker-options="pickerOptions" + v-model="actDateRange" + type="daterange" + format="yyyy 年 MM 月 dd 日" + value-format="yyyy-MM-dd" + range-separator="至" + start-placeholder="开始日期" + end-placeholder="结束日期" + > + </el-date-picker> + </el-form-item> + </el-col> + </el-row> + </el-form> + <div class="top-right-btn"> + <el-button-group style="display:flex;"> + <el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button> + <el-button type="primary" icon="el-icon-refresh" @click="onReset">重置</el-button> + <el-button type="primary" icon="el-icon-search" @click="onSubmit">查询</el-button> + <!-- <el-button type="primary" icon="el-icon-plus" @click="addOrderMuti">新增</el-button>--> + </el-button-group> + </div> + <el-divider style="margin: 15px"></el-divider> + + + <el-table v-loading="loading" :data="list" style="width: 100%" @current-change="handleDetail" border highlight-current-row> + <el-table-column label="序号" type="index" width="60"></el-table-column> + <el-table-column label="单据号" prop="orderIdFk"></el-table-column> + <el-table-column label="UDI码" prop="udiCode"></el-table-column> + <el-table-column label="标记" prop="mark"></el-table-column> + <el-table-column label="物资名称" prop="cpmctymc"></el-table-column> + <el-table-column label="规格型号" prop="ggxh"></el-table-column> + <el-table-column label="总使用次数" prop="totalCount"></el-table-column> + <el-table-column label="已使用次数" prop="useCount"></el-table-column> + <el-table-column label="剩余使用次数" prop="reCount"></el-table-column> + <el-table-column label="批次号" prop="batchNo"></el-table-column> + <el-table-column label="生产日期" prop="produceDate"></el-table-column> + <el-table-column label="失效日期" prop="expireDate"></el-table-column> + <el-table-column label="创建人" prop="createUserName"></el-table-column> + <el-table-column label="创建时间" prop="createTime"></el-table-column> + <el-table-column label="审核人" prop="auditUserName"></el-table-column> + <el-table-column label="审核时间" prop="auditTime"></el-table-column> + <el-table-column label="操作" width="120px"> + <template slot-scope="scope"> + <el-button type="text" size="small" @click.native.stop="datilDialog(scope.row)">详情</el-button> + <el-button type="text" size="small" @click.native.stop="deleteDialog(scope.row)">删除</el-button> + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="filterQuery.page" + :limit.sync="filterQuery.limit" + @pagination="handleCurrentChange" + + ></pagination> + </el-card> + + <el-card class="el-card"> + <el-table v-loading="loading" :data="detailList" style="width: 100%" border highlight-current-row> + <el-table-column label="序号" type="index" width="60"></el-table-column> + <el-table-column label="当前次数" prop="curIndex"></el-table-column> + <el-table-column label="往来单位" prop="fromCorp" show-overflow-tooltip="true"></el-table-column> + <el-table-column label="使用人" prop="createUserName" show-overflow-tooltip="true"></el-table-column> + <el-table-column label="使用时间" prop="useTime" show-overflow-tooltip="true"></el-table-column> + </el-table> + </el-card> + + <el-dialog + :title="formName" + :visible.sync="orderMutiVisible" + :before-close="close" + width="60%" + v-if="orderMutiVisible" + @close='closeDialog' + :close-on-click-modal="false" + :close-on-press-escape="false" + > + <ioOrderMutiSelectDialog + :closeDialog="closeDialog" + :filterQuery="inputQuery" + :formName="formName" + ></ioOrderMutiSelectDialog> + </el-dialog> + + </div> </template> + + <script> +import ioOrderMutiSelectDialog from "@/views/inout/muti/ioOrderMutiSelectDialog"; +import {delectMuti, detailMuti, filterList, selectMutiDetailList, selectMutiList} from "@/api/inout/orderMuti"; + + export default { - name: "ioOrderMutiSelect" + name: "ioOrderMutiSelect", + data() { + return { + showSearch: true, + filterQuery: { + udiCode: null, + orderIdFk: null, + relIdFk: null, + mark: null, + totalCount:null, + useCount:null, + page: 1, + limit: 10, + }, + inputQuery: { + curInv: null, + fromCorp: "", + targetAction: null, + remark: null, + updateTime: null, + }, + total: 0, + loading: false, + list: [], + formName: "审核使用出库", + orderMutiVisible: false, + actDateRange: [], + detailList: [], + pickerOptions: { + shortcuts: [ + { + text: "最近一周", + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 7); + picker.$emit("pick", [start, end]); + }, + }, + { + text: "最近一个月", + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 30); + picker.$emit("pick", [start, end]); + }, + }, + { + text: "最近三个月", + onClick(picker) { + const end = new Date(); + const start = new Date(); + start.setTime(start.getTime() - 3600 * 1000 * 24 * 90); + picker.$emit("pick", [start, end]); + }, + }, + ], + }, + }; + }, + methods: { + onReset(){ + this.inputQuery={ + udiCode: null, + orderIdFk: null, + relIdFk: null, + mark: null, + page: 1, + limit: 10, + } + this.getList(); + }, + onSubmit() { + this.filterQuery.page = 1; + this.getList(); + }, + handleCurrentChange(val) { + this.filterQuery.page = val.page; + this.getList(); + }, + closeDialog(){ + this.orderMutiVisible = false; + this.getList(); + }, + hideSearch() { + this.showSearch = !this.showSearch; + }, + datilDialog(row){ + this.inputQuery=row; + this.orderMutiVisible = true; + }, + getList() { + this.loading = true; + if (this.actDateRange != null) { + this.filterQuery.startDate = this.actDateRange[0]; + this.filterQuery.endDate = this.actDateRange[1]; + } else { + this.filterQuery.startDate = null; + this.filterQuery.endDate = null; + } + selectMutiList(this.filterQuery) + .then((response) => { + this.loading = false; + this.list = response.data.list || []; + this.total = response.data.total || 0; + }) + .catch(() => { + this.loading = false; + this.list = []; + this.total = 0; + }); + }, + handleDetail(row) { + selectMutiDetailList({mutiIdFk:row.id}).then((response) => { + if (response.code == 20000) { + this.detailList = response.data || []; + this.inputQuery.useCount=this.detailList.length + } + }) + }, + deleteDialog(row) { + delectMuti(row) + .then((response) => { + if(response.code == 20000){ + this.getList() + }else{ + this.$message.error(response.message); + } + }) + .catch(() => { + this.$message.error(response.message); + }); + }, + }, + components: {ioOrderMutiSelectDialog}, + created() { + this.getList(); + }, } </script> diff --git a/src/views/inout/muti/ioOrderMutiSelectDialog.vue b/src/views/inout/muti/ioOrderMutiSelectDialog.vue new file mode 100644 index 00000000..2d0b9c08 --- /dev/null +++ b/src/views/inout/muti/ioOrderMutiSelectDialog.vue @@ -0,0 +1,210 @@ +<template> + <div> + <el-card style="margin: 5px;"> + <el-form :model="inputQuery" label-width="110px" style="margin-bottom: -15px"> + <el-row> + <el-col :span="17"> + <el-form-item label="UDI:"> + <el-input v-model="inputQuery.udiCode" :disabled="detailList.length>0" placeholder="请输入UDI" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="单据号:"> + <el-input v-model="inputQuery.orderIdFk" :disabled="true" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="标记:"> + <el-input v-model="inputQuery.mark" :disabled="true" placeholder="请输入标记" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="物资名称:"> + <el-input v-model="inputQuery.cpmctymc" :disabled="true" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="规格型号:"> + <el-input v-model="inputQuery.ggxh" :disabled="true" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="8"> + <el-form-item label="总使用次数:"> + <el-input v-model="inputQuery.totalCount" :disabled="true" clearable></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="已使用次数:"> + <el-input v-model="inputQuery.useCount" :disabled="true" clearable></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + </el-card> + + <el-card style="margin: 5px;"> + <el-table :data="detailList" style="width: 100%" border highlight-current-row> + <el-table-column label="序号" type="index" width="60"></el-table-column> + <el-table-column label="当前次数" prop="curIndex"></el-table-column> + <el-table-column label="往来单位" prop="fromCorp" show-overflow-tooltip="true"></el-table-column> + <el-table-column label="使用人" prop="createUserName" show-overflow-tooltip="true"></el-table-column> + <el-table-column label="使用时间" prop="useTime" show-overflow-tooltip="true"></el-table-column> + </el-table> + </el-card> + + + <el-dialog + :title="tableName" + :visible.sync="orderMutiDelectVisible" + width="60%" + :append-to-body="true" + v-if="orderMutiDelectVisible" + @close='closeDialog' + :close-on-click-modal="false" + :close-on-press-escape="false" + > + <ioOrderMutiEditSelectDialog + :closeDialogDelect="closeDialogDelect" + :filterQuery="inputQuery" + ></ioOrderMutiEditSelectDialog> + </el-dialog> + + </div> +</template> + +<script> +import { + addMuti, + addMutiDetail, + addOrderMuti, auditMuti, + checkUdi, delectMutiDelect, + filterMutiList, getMark, + selectMutiDetailList, + updateMuti, + updateOrderMuti +} from "@/api/inout/orderMuti"; +import ioOrderMutiEditSelectDialog from "@/views/inout/muti/ioOrderMutiEditSelectDialog" + +export default { + name: "ioOrderMutiAuditDialog", + props: { + closeDialog: { + type: Function, + required: true, + }, + formName: { + type: Object, + required: true, + }, + filterQuery: { + type: Object, + required: true, + }, + }, + data() { + return { + inputQuery: { + udiCode: null, + orderIdFk: null, + mark: null, + cpmctymc: null, + ggxh: null, + totalCount: null, + useCount: null, + supId: null, + }, + pId: null, + orderMutiDelectVisible: false, + tableName: '使用记录选择', + invList: [], + fromInvOptions: [], + busTypes: [], + detailList: [], + } + }, + methods: { + addFromCorp() { + var query = { + mutiIdFk: this.pId, + fromCorp: this.inputQuery.fromCorp + } + addMutiDetail(query).then((response) => { + if (response.code == 20000) { + this.selectMutiDetailList(); + } else { + this.$message.error(response.message); + } + }) + .catch(() => { + this.$message.error("添加失败"); + }); + }, + selectMutiDetailList() { + selectMutiDetailList({mutiIdFk:this.pId}).then((response) => { + if (response.code == 20000) { + this.detailList = response.data || []; + this.inputQuery.useCount=this.detailList.length + } + }) + }, + filterMutiList() { + filterMutiList({id: this.pId}).then((response) => { + if (response.code == 20000) { + this.inputQuery.cpmctymc = response.data.data.cpmctymc + this.inputQuery.mark = response.data.data.mark + this.inputQuery.ggxh = response.data.data.ggxh + this.inputQuery.totalCount = response.data.data.totalCount + this.inputQuery.useCount = response.data.data.useCount + this.detailList = response.data.detailList + this.inputQuery.useCount=this.detailList.length + } else { + this.$message.error(response.message); + } + }); + }, + closeDialogDelect(row){ + this.orderMutiDelectVisible=false; + this.pId=row.id; + this.filterMutiList(); + }, + saveOrder(status){ + var query={ + id:this.pId, + status:status + } + auditMuti(query).then((response) => { + if (response.code == 20000) { + this.closeDialog() + } else { + this.$message.error(response.message); + } + }); + }, + deleteDialog(row){ + delectMutiDelect({id:row.id}).then((response) => { + if (response.code == 20000) { + this.selectMutiDetailList() + } else { + this.$message.error(response.message); + } + }); + } + }, + components: {ioOrderMutiEditSelectDialog}, + created() { + this.inputQuery = this.filterQuery + this.pId=this.inputQuery.id + this.selectMutiDetailList() + }, +} +</script> + +<style scoped> + +</style> diff --git a/src/views/inout/muti/ioOrderMutiSet.vue b/src/views/inout/muti/ioOrderMutiSet.vue index afd57f3c..f1ce1155 100644 --- a/src/views/inout/muti/ioOrderMutiSet.vue +++ b/src/views/inout/muti/ioOrderMutiSet.vue @@ -17,6 +17,11 @@ <el-table-column label="当前仓库" prop="invName"></el-table-column> <el-table-column label="生成出库单默认往来单位" prop="fromCorpName"></el-table-column> <el-table-column label="生成出库单默认单据类型" prop="targetActionName"></el-table-column> + <el-table-column label="是否个人使用" prop="checkUse"> + <template slot-scope="scope"> + <span>{{ checkUseMap[scope.row.checkUse] }}</span> + </template> + </el-table-column> <el-table-column label="备注" prop="remark"></el-table-column> <el-table-column label="操作" width="120px"> <template slot-scope="scope"> @@ -91,6 +96,10 @@ export default { 1: "新增出库设置", 2: "编辑出库设置", }, + checkUseMap: { + 1: "是", + 0: "否", + }, orderMutiSetVisible: false, }; }, diff --git a/src/views/inout/muti/ioOrderMutiSetDialog.vue b/src/views/inout/muti/ioOrderMutiSetDialog.vue index 27990ba4..a66d00c4 100644 --- a/src/views/inout/muti/ioOrderMutiSetDialog.vue +++ b/src/views/inout/muti/ioOrderMutiSetDialog.vue @@ -53,6 +53,16 @@ </el-form-item> </el-col> </el-row> + <el-row> + <el-col :span="20" > + <el-form-item label="是否个人使用:"> + <el-radio-group v-model="inputQuery.checkUse"> + <el-radio :label=1>是</el-radio> + <el-radio :label=0>否</el-radio> + </el-radio-group> + </el-form-item> + </el-col> + </el-row> <el-row> <el-col :span="20" > <el-form-item label="备注:"> @@ -161,9 +171,14 @@ export default { }, components: {}, created() { - console.log(this.inputQuery) this.getInvList(); this.findFromInvList(); + if(this.formName==2){ + this.getBusType(); + }else{ + this.inputQuery.checkUse=1; + } + }, } </script>