From 7bfa95b882418276944a86c41e5ca4f9622b707e Mon Sep 17 00:00:00 2001 From: anthonywj <yewenjie20@vip.qq.com> Date: Thu, 11 May 2023 14:10:24 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E5=B9=B3=E6=BD=AD=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/inventory/invPlaceOrder.js | 9 + src/views/basic/busType/bussinessType.vue | 58 ++--- .../basic/busType/bussinessTypeModify.vue | 20 ++ src/views/inout/DialogCreateOrder.vue | 225 ++++++++++++++++-- src/views/inout/DialogSelectSpace.vue | 91 +++++++ .../inout/InvoiceRegistrationDetermine.vue | 58 +++-- src/views/inout/IoCheckAuditOrder.vue | 9 +- 7 files changed, 391 insertions(+), 79 deletions(-) create mode 100644 src/views/inout/DialogSelectSpace.vue diff --git a/src/api/inventory/invPlaceOrder.js b/src/api/inventory/invPlaceOrder.js index 1cf4479b..e1c43a75 100644 --- a/src/api/inventory/invPlaceOrder.js +++ b/src/api/inventory/invPlaceOrder.js @@ -23,3 +23,12 @@ export function selectPlaceList(params) { params: params }); } + + +export function selectMutiPlace(params) { + return axios({ + url: "/spms/inv/product/mutiPlace", + method: "get", + params: params + }); +} diff --git a/src/views/basic/busType/bussinessType.vue b/src/views/basic/busType/bussinessType.vue index c37bddf9..2e81071f 100644 --- a/src/views/basic/busType/bussinessType.vue +++ b/src/views/basic/busType/bussinessType.vue @@ -1,7 +1,7 @@ <template> <div> <el-card> - <el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch"> + <el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch"> <el-row> <el-col :span="6"> <el-form-item class="query-form-item" label="单据类型:"> @@ -9,37 +9,37 @@ </el-form-item> </el-col> <el-col :span="6"> - <el-form-item class="query-form-item" label="出入库类型:"> - <el-select v-model="filterQuery.mainAction" style="width: 90%" placeholder="请选择出入库类型"> - <el-option label="全部" value=""></el-option> - <el-option label="入库" value="WareHouseIn"></el-option> - <el-option label="出库" value="WareHouseOut"></el-option> - </el-select> - </el-form-item> + <el-form-item class="query-form-item" label="出入库类型:"> + <el-select v-model="filterQuery.mainAction" style="width: 90%" placeholder="请选择出入库类型"> + <el-option label="全部" value=""></el-option> + <el-option label="入库" value="WareHouseIn"></el-option> + <el-option label="出库" value="WareHouseOut"></el-option> + </el-select> + </el-form-item> </el-col> <el-col :span="6"> - <el-form-item class="query-form-item" label="是否启用:"> - <el-select v-model="filterQuery.enable" style="width: 90%" placeholder="是否启用"> - <el-option label="全部" value=""></el-option> - <el-option label="已启用" value="1"></el-option> - <el-option label="未启用" value="0"></el-option> - </el-select> - </el-form-item> + <el-form-item class="query-form-item" label="是否启用:"> + <el-select v-model="filterQuery.enable" style="width: 90%" placeholder="是否启用"> + <el-option label="全部" value=""></el-option> + <el-option label="已启用" value="1"></el-option> + <el-option label="未启用" value="0"></el-option> + </el-select> + </el-form-item> </el-col> <el-col :span="6"> - <el-form-item class="query-form-item" label="仓库类型:"> - <el-select v-model="filterQuery.actionType" style="width: 90%" placeholder="请选择仓库类型"> - <el-option label="入账库" :value="1"></el-option> - <el-option label="预验收库" :value="2"></el-option> - <el-option label="寄售库" :value="3"></el-option> - </el-select> - </el-form-item> + <el-form-item class="query-form-item" label="仓库类型:"> + <el-select v-model="filterQuery.actionType" style="width: 90%" placeholder="请选择仓库类型"> + <el-option label="入账库" :value="1"></el-option> + <el-option label="预验收库" :value="2"></el-option> + <el-option label="寄售库" :value="3"></el-option> + </el-select> + </el-form-item> </el-col> </el-row> </el-form> - <div class="top-right-btn" > + <div class="top-right-btn"> <el-button-group style="width: 600px"> <el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button> <el-button type="primary" icon="el-icon-refresh" @click="onReset">重置</el-button> @@ -169,12 +169,12 @@ </div> </template> <script> -import { getBusTypeList, deleteBusType, updateBusType, insertBusType, exportFile } from '@/api/basic/busType' +import {getBusTypeList, deleteBusType, updateBusType, insertBusType, exportFile} from '@/api/basic/busType' import modifyDialog from './bussinessTypeModify' import axios from 'axios' import store from '@/store' -import { findConfig } from '@/api/sync/spsSyncStatus' -import { isBlank } from '@/utils/strUtil' +import {findConfig} from '@/api/sync/spsSyncStatus' +import {isBlank} from '@/utils/strUtil' export default { data() { @@ -186,7 +186,7 @@ export default { page: 1, limit: 20 }, - showSearch:true, + showSearch: true, addDialogVisible: false, modifyDialogVisible: false, list: [], @@ -242,6 +242,7 @@ export default { checkBalance: null, secCheckBalance: null, preInBack: false, + spaceOut: 0, vailDispatch: false, vailGroupBuy: 0, inStock: false, @@ -447,7 +448,7 @@ export default { const binaryData = [] binaryData.push(response) let url = window.URL.createObjectURL( - new Blob(binaryData, { type: 'application/json' }) + new Blob(binaryData, {type: 'application/json'}) ) this.loading = false const eleLink = document.createElement('a') @@ -516,6 +517,7 @@ export default { preIn: null, originAction: null, preInBack: false, + spaceOut: 0, vailDispatch: false, vailGroupBuy: 0, inStock: false, diff --git a/src/views/basic/busType/bussinessTypeModify.vue b/src/views/basic/busType/bussinessTypeModify.vue index 688bcf2c..210c6950 100644 --- a/src/views/basic/busType/bussinessTypeModify.vue +++ b/src/views/basic/busType/bussinessTypeModify.vue @@ -408,7 +408,27 @@ </el-col> </el-row> <el-divider></el-divider> + <el-row> + <el-col span="5"> + <span class="sptext">按货位出库</span> + </el-col> + <el-divider direction="vertical"></el-divider> + <el-col span="5"> + <el-select v-model="inputQuery.spaceOut" style="width: 65%" + :disabled=" inputQuery.mainAction!= 'WareHouseOut'" + > + <el-option label="无" :value="0"></el-option> + <el-option label="按指定货位出库" :value="1"></el-option> + <el-option label="默认货位出库" :value="2"></el-option> + </el-select> + </el-col> + <el-divider direction="vertical"></el-divider> + <el-col span="13"> + <span class="sptext">设置是否按货位出库</span> + </el-col> + </el-row> + <el-divider></el-divider> <el-row> <el-col span="5"> <span class="sptext">预验收剩余库存自动退库</span> diff --git a/src/views/inout/DialogCreateOrder.vue b/src/views/inout/DialogCreateOrder.vue index 4e5d9d2b..018b72b7 100644 --- a/src/views/inout/DialogCreateOrder.vue +++ b/src/views/inout/DialogCreateOrder.vue @@ -5,7 +5,7 @@ :model="orderFormData" :rules="formRules" ref="dataForm" - label-width="100px" + label-width="110px" style="margin-bottom: -15px" > <el-button-group @@ -210,20 +210,18 @@ </el-form-item> </el-col> </el-row> - - <el-row v-if="preSpaceShow"> + <el-row v-if="curSpaceShow"> <el-col :span="11"> - <el-form-item prop="checkPreInInvCode" label="预验收仓库:"> + <el-form-item prop="curSpaceCode" label="当前货位:"> <el-select - v-model="orderFormData.checkPreInInvCode" - placeholder="预验收仓库" + v-model="orderFormData.curSpaceCode" + placeholder="当前货位" style="width: 90%" :disabled="corpOrderIdDisabled" - @change="changePreInInv" filterable > <el-option - v-for="item in curPreInInvOptions" + v-for="item in curSpaceOptions" :key="item.name" :label="item.name" :value="item.code" @@ -236,8 +234,34 @@ </el-select> </el-form-item> </el-col> + </el-row> + <el-row v-if="preInSpaceShow"> + <!-- <el-col :span="11">--> + <!-- <el-form-item prop="checkPreInInvCode" label="预验收出库仓库:">--> + <!-- <el-select--> + <!-- v-model="orderFormData.checkPreInInvCode"--> + <!-- placeholder="预验收仓库"--> + <!-- style="width: 90%"--> + <!-- :disabled="corpOrderIdDisabled"--> + <!-- @change="changePreInInv"--> + <!-- filterable--> + <!-- >--> + <!-- <el-option--> + <!-- v-for="item in curPreInInvOptions"--> + <!-- :key="item.name"--> + <!-- :label="item.name"--> + <!-- :value="item.code"--> + <!-- >--> + <!-- <span style="float: left">{{ item.name }}</span>--> + <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{--> + <!-- item.code--> + <!-- }}</span>--> + <!-- </el-option>--> + <!-- </el-select>--> + <!-- </el-form-item>--> + <!-- </el-col>--> <el-col :span="11"> - <el-form-item prop="checkPreInSpaceCode" label="预验收货位:"> + <el-form-item prop="checkPreInSpaceCode" label="预验收出库货位:"> <el-select v-model="orderFormData.checkPreInSpaceCode" placeholder="预验收货位" @@ -261,6 +285,59 @@ </el-col> </el-row> + <el-row v-if="preSpaceShow"> + + <!-- <el-col :span="11">--> + <!-- <el-form-item prop="checkPreInInvCode" label="预验收仓库:">--> + <!-- <el-select--> + <!-- v-model="orderFormData.checkPreInInvCode"--> + <!-- placeholder="预验收仓库"--> + <!-- style="width: 90%"--> + <!-- :disabled="corpOrderIdDisabled"--> + <!-- @change="changePreInInv"--> + <!-- filterable--> + <!-- >--> + <!-- <el-option--> + <!-- v-for="item in curPreInInvOptions"--> + <!-- :key="item.name"--> + <!-- :label="item.name"--> + <!-- :value="item.code"--> + <!-- >--> + <!-- <span style="float: left">{{ item.name }}</span>--> + <!-- <span style="float: right; color: #8492a6; font-size: 13px">{{--> + <!-- item.code--> + <!-- }}</span>--> + <!-- </el-option>--> + <!-- </el-select>--> + <!-- </el-form-item>--> + <!-- </el-col>--> + <el-col :span="11"> + <el-form-item prop="preCurSpaceCode" label="寄售出库货位:"> + <el-select + v-model="orderFormData.preCurSpaceCode" + placeholder="寄售出库货位" + style="width: 90%" + :disabled="corpOrderIdDisabled" + filterable + > + <el-option + v-for="item in curPreSpaceOptions" + :key="item.name" + :label="item.name" + :value="item.code" + > + <span style="float: left">{{ item.name }}</span> + <span style="float: right; color: #8492a6; font-size: 13px">{{ + item.code + }}</span> + </el-option> + </el-select> + </el-form-item> + </el-col> + + + </el-row> + <el-row v-if="errView == 1"> <el-col :span="20"> @@ -379,6 +456,21 @@ ></DialogSelectUnit> </el-dialog> + <el-dialog + title="请指定当前产品所在货位" + :visible.sync="selectSpaceVisible" + :close-on-click-modal="false" + :close-on-press-escape="false" + v-if="selectSpaceVisible" + width="80%" + append-to-body + > + <DialogSelectSpace + :spaceCodeList="spaceCodeList" + v-on:selectSpaceBind="selectSpaceBind" + ></DialogSelectSpace> + </el-dialog> + </div> </template> @@ -406,6 +498,7 @@ import A from "../../plugins/KeyScaner"; import {findByInvUser} from "@/api/basic/busType"; import {getInvSpaceList} from "@/api/inventory/invSpace"; import DialogSelectUnit from "./DialogSelectUnit"; +import DialogSelectSpace from "./DialogSelectSpace"; export default { name: "ioCreateOrder", @@ -444,6 +537,10 @@ export default { checkPreInOrders: null, checkPreInInvCode: null, checkPreInSpaceCode: null, + curSpaceCode: null, + preSpaceCode: null, + preCurSpaceCode: null, //单据 + }, checkPreInArray: [], errView: 0, @@ -463,9 +560,11 @@ export default { busTypeOptions: [], fromInvOptions: [], - preSpaceShow: false, //是否显示选择预验收界面 + curPreInInvOptions: [], //预验收仓库 curPreInSpaceOptions: [], //预验收货位 + curPreSpaceOptions: [], //寄售货位 + curSpaceOptions: [], //当前货位 curAction: { corpType: 0, @@ -512,6 +611,7 @@ export default { fromStorageOptions: [], curRow: null, dialogTableVisible: false, + selectSpaceVisible: false, sitcomScan: false, selectRlTitle: "绑定产品", selectUnitTitle: "绑定供应商", @@ -526,7 +626,12 @@ export default { viewBizVisible: false, viewCodeVisible: false, viewCodeDetailVisible: false, - documentShow: false, //控制预选单显示隐藏 + documentShow: false, //控制预验收选入单据界面 + curSpaceShow: false, //正常出入库选入出库界面 + preInSpaceShow: false, //是否显示选择预验收界面 + preSpaceShow: false, //寄售,预验收仓库界面 + + spaceCodeList: [], }; }, components: { @@ -535,7 +640,7 @@ export default { bizDetailPanel, editCodeDialog, DialogCreateOrderSelect, - DialogSelectUnit + DialogSelectUnit, DialogSelectSpace }, methods: { //获取用户仓库列表 @@ -549,8 +654,9 @@ export default { this.curInvOptions.length > 0 && this.orderFormData.invWarehouseCode == null ) { - this.orderFormData.invWarehouseCode = this.curInvOptions[0].code; + this.orderFormData.invCode = this.curInvOptions[0].code; this.getBusTypeByInv(); + this.findCurSpaceList(this.orderFormData.invCode); } }) .catch(() => { @@ -566,14 +672,22 @@ export default { // this.orderFormData.checkPreInOrders = JSON.parse(JSON.stringify(val)); }, //仓库改变 - changeInv() { + changeInv(row) { this.orderFormData.action = null; this.orderFormData.checkPreInOrders = null; this.checkPreInArray = []; if (this.documentShow) { this.documentShow = false; } + + this.curSpaceShow = false; + this.preInSpaceShow = false; + this.preSpaceShow = false; + this.orderFormData.curSpaceCode = false; + this.orderFormData.checkPreInSpaceCode = false; + this.orderFormData.preCurSpaceCode = false; this.getBusTypeByInv(); + this.findCurSpaceList(row); }, //根据仓库,用户获取单据类型 @@ -677,11 +791,43 @@ export default { if (this.curAction.scanPreIn && this.curAction.backPreinType == 1 && this.curAction.preInBack) { this.documentShow = true; } else if (this.curAction.scanPreIn && this.curAction.backPreinType == 2 && this.curAction.preInBack) { - this.preSpaceShow = true; + this.preInSpaceShow = true; this.findPreInInvList(); } else { this.documentShow = false; + this.preInSpaceShow = false; + } + + if (this.curAction.scanPreIn && this.curAction.spaceOut == 1) { + this.preInSpaceShow = true; + this.curSpaceShow = false; + this.preSpaceShow = false; + this.orderFormData.curSpaceCode = null; + this.orderFormData.checkPreInSpaceCode = null; + this.orderFormData.preCurSpaceCode = null; + this.findPreInSpaceList(); + } else if (this.curAction.advancePreIn && this.curAction.spaceOut == 1) { + this.preInSpaceShow = false; + this.curSpaceShow = false; + this.preSpaceShow = true; + this.orderFormData.curSpaceCode = null; + this.orderFormData.checkPreInSpaceCode = null; + this.orderFormData.preCurSpaceCode = null; + this.findPreSpaceList() + } else if (this.curAction.spaceOut == 1) { + this.curSpaceShow = true; + this.preInSpaceShow = false; + this.preSpaceShow = false; + this.orderFormData.curSpaceCode = null; + this.orderFormData.checkPreInSpaceCode = null; + this.orderFormData.preCurSpaceCode = null; + } else { + this.curSpaceShow = false; + this.preInSpaceShow = false; this.preSpaceShow = false; + this.orderFormData.curSpaceCode = null; + this.orderFormData.checkPreInSpaceCode = null; + this.orderFormData.preCurSpaceCode = null; } }, @@ -712,6 +858,7 @@ export default { //切换预验收仓库 changePreInInv(row) { + this.orderFormData.checkPreInSpaceCode = null; this.findPreInSpaceList(row.code); }, @@ -732,7 +879,7 @@ export default { //获取预验收货位 findPreInSpaceList(val) { let query = { - invStorageCode: val, + filterType: "preIn", status: 1, code: this.orderFormData.checkPreInSpaceCode, } @@ -742,6 +889,32 @@ export default { }, + //获取寄售 + findPreSpaceList(val) { + let query = { + filterType: "pre", + status: 1, + code: this.orderFormData.preSpaceCode, + } + getInvSpaceList(query).then((res) => { + this.curPreSpaceOptions = res.data.list || []; + }) + }, + + + //获取当前货位 + findCurSpaceList(val) { + let query = { + invWarehouseCode: val, + status: 1, + code: this.orderFormData.curSpaceCode, + } + getInvSpaceList(query).then((res) => { + this.curSpaceOptions = res.data.list || []; + }) + }, + + //添加条码 addCode(event) { this.originCode = ""; @@ -831,12 +1004,14 @@ export default { this.$refs.inputRef.select(); } else { if (response.code == 502) { + //该产品绑定多个产品ID处理 this.curRow = response.data; this.orderFormData.billNo = this.curRow.orderId; this.refreshCodesPanel(); this.$message.error(response.message); this.selectRlTitle = response.message; } else if (response.code == 503) { + //该产品绑定多个供应商处理 this.curRow = response.data; this.orderFormData.billNo = this.curRow.orderId; this.codeFormData.relId = this.curRow.relId, @@ -902,6 +1077,10 @@ export default { message: "提交失败!" + this.editTitle, customClass: "messageIndex", }); + } else if (response.code == 511) { + //该UDI码绑定多个货位处理 + this.spaceCodeList = response.data; + this.selectSpaceVisible = true; } else { this.$alert(response.message, "提示", { confirmButtonText: "确定", @@ -1087,6 +1266,20 @@ export default { this.orderFormData.selectSupId = row.erpId; this.addCode(); }, + + selectSpaceBind(val) { + if (this.curAction.scanPreIn) { + this.orderFormData.checkPreInSpaceCode = val; + } else if (this.curAction.advancePreIn) { + this.orderFormData.preCurSpaceCode = val; + } else { + this.orderFormData.curSpaceCode = val; + } + this.addCode(); + this.selectSpaceVisible = false; + }, + + closeCodeDialog() { this.editOriginCodeVisible = false; this.refreshCodesPanel(); diff --git a/src/views/inout/DialogSelectSpace.vue b/src/views/inout/DialogSelectSpace.vue new file mode 100644 index 00000000..71d26834 --- /dev/null +++ b/src/views/inout/DialogSelectSpace.vue @@ -0,0 +1,91 @@ +<template> + <div> + + <el-table + v-loading="loading" + :data="spaceCodeList" + style="width: 100%" + highlight-current-row + height="500" + border + @current-change="handleDetail" + > + <el-table-column label="序号" type="index"></el-table-column> + <el-table-column + label="UDI码" + prop="code" + width="220" + show-overflow-tooltip + ></el-table-column> + <el-table-column label="仓库" prop="invName" width="120"></el-table-column> + <el-table-column label="货位" prop="invSpaceName" width="120"></el-table-column> + <el-table-column label="DI/物资编码" prop="nameCode" width="150"></el-table-column> + <el-table-column label="物资名称" prop="productName" width="200" show-overflow-tooltip></el-table-column> + <el-table-column label="规格型号" prop="ggxh" width="150" show-overflow-tooltip></el-table-column> + <el-table-column label="批次号" prop="batchNo" width="120"></el-table-column> + <el-table-column label="生产日期" prop="productionDate" width="120"></el-table-column> + <el-table-column label="失效日期" prop="expireDate" width="120"></el-table-column> + <el-table-column label="计量单位" prop="expireDate" width="120"></el-table-column> + <el-table-column label="注册备案号" prop="zczbhhzbapzbh" show-overflow-tooltip + width="200"></el-table-column> + <el-table-column label="生产厂家" prop="manufactory" show-overflow-tooltip + width="200"></el-table-column> + <el-table-column label="供应商" prop="supName" show-overflow-tooltip + width="200"></el-table-column> + <el-table-column width="200" label="操作" fixed="right"> + <template slot-scope="scope"> + <el-button + type="text" + size="small" + @click.native.stop="selectSpace(scope.row)" + >选入绑定 + </el-button> + </template> + </el-table-column> + </el-table> + </div> +</template> + +<script> +import {selectMutiPlace} from "@/api/inventory/invPlaceOrder"; + +export default { + name: "DialogSelectSpace", + props: { + spaceCodeList: { + type: Object, + required: true, + }, + + + }, + data() { + return { + loading: false, + list: [], + filterQuery: { + invCode: null, + code: null, + }, + } + }, + methods: { + + selectSpace(row) { + this.$emit("selectSpaceBind", row.invSpaceCode); + this.$emit("closeBindDialog", true); + }, + }, + created() { + this.list = this.spaceCodeList; + }, + mounted() { + + } + +} +</script> + +<style scoped> + +</style> diff --git a/src/views/inout/InvoiceRegistrationDetermine.vue b/src/views/inout/InvoiceRegistrationDetermine.vue index 02338cdf..c50b9e3c 100644 --- a/src/views/inout/InvoiceRegistrationDetermine.vue +++ b/src/views/inout/InvoiceRegistrationDetermine.vue @@ -1,9 +1,9 @@ <template> <div> <el-card> - <el-form :model="determineData" label-width="150px" border> + <el-form :model="determineData" label-width="150px" border> - <el-row type="flex" justify="end" > + <el-row type="flex" justify="end"> <el-button-group style="display: flex;margin-bottom: 15px; margin-right: 50px;margin-top: 10px"> <el-button type="primary" @click.native="determineBtn()" :loading="loading">确认</el-button> <el-button type="primary" @click.native="closeDialog()" :loading="loading">取消</el-button> @@ -13,12 +13,14 @@ <el-row> <el-col :span="12"> <el-form-item label="单据号" prop="billNo"> - <el-input v-model="determineData.billNo" style="width: 90%" auto-complete="off" :disabled="true"></el-input> + <el-input v-model="determineData.billNo" style="width: 90%" auto-complete="off" + :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="收货仓库" prop="billNo"> - <el-input v-model="determineData.invName" style="width: 90%" auto-complete="off" :disabled="true"></el-input> + <el-form-item label="收货仓库" prop="billNo"> + <el-input v-model="determineData.invName" style="width: 90%" auto-complete="off" + :disabled="true"></el-input> </el-form-item> </el-col> </el-row> @@ -26,12 +28,14 @@ <el-row> <el-col :span="12"> <el-form-item label="单据类型" prop="billNo"> - <el-input v-model="determineData.billTypeName" style="width: 90%" auto-complete="off" :disabled="true"></el-input> + <el-input v-model="determineData.billTypeName" style="width: 90%" auto-complete="off" + :disabled="true"></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="送货单位" prop="billNo"> - <el-input v-model="determineData.fromCorpName" style="width: 90%" auto-complete="off" :disabled="true"></el-input> + <el-form-item label="送货单位" prop="billNo"> + <el-input v-model="determineData.fromCorpName" style="width: 90%" auto-complete="off" + :disabled="true"></el-input> </el-form-item> </el-col> </el-row> @@ -218,23 +222,15 @@ <script> import { - deleteByOrderId, - getOrderList, rollUnReceivebackOrder, filterInvoice, filterOrder -} from '../../api/inout/order' -import { getLocalJoinByUser } from '@/api/basic/busType' -import { getInvListByUser } from '@/api/system/invWarehouse' -import { isBlank } from '@/utils/strUtil' -import { selectSysParamByKey } from '@/api/param/systemParamConfig' -import { filterListInvoice, getBizDetailList, deleteById, insertInvoice, updateOrder,filterBizOrderList } from '@/api/inout/orderDetailBiz' -import { getCodeList } from '@/api/inout/code' + filterListInvoice, + updateOrder, + filterBizOrderList +} from '@/api/inout/orderDetailBiz' import AcceptOrder from '@/views/inout/DialogReviewOrder' import DialogInvoice from '@/views/inout/DialogInvoice' import InvoiceRegister from '@/views/inout/InvoiceRegister' -import { inspectionOrderPDFFromTemplateFile, orderPDFFromTemplateFile } from '@/api/itextpdf/orderPrint' -import { getDeptListByUser } from '@/api/auth/authDept' -import { getBasicUnitMaintains } from '@/api/basic/basicUnitMaintain' -import { previewImage } from '@/api/purchase/supCompany' +import {previewImage} from '@/api/purchase/supCompany' import ElImageViewer from 'element-ui/packages/image/src/image-viewer' const formJson = { @@ -400,7 +396,7 @@ export default { subRow: null } }, - components: { AcceptOrder, DialogInvoice, InvoiceRegister, ElImageViewer }, + components: {AcceptOrder, DialogInvoice, InvoiceRegister, ElImageViewer}, methods: { getOrderDetails() { this.codeQuery.page = 1; @@ -435,7 +431,7 @@ export default { }, getBizDetailList(row) { this.bizQuery.orderIdFk = this.determineData.billNo; - if(row != null) { + if (row != null) { this.bizQuery.batchNo = row.batchNo; this.bizQuery.relId = row.bindRlFk; } @@ -458,26 +454,26 @@ export default { }, determineBtn() { - var data={ - billNo:this.determineData.billNo, - checkStatus:1 + var data = { + billNo: this.determineData.billNo, + checkStatus: 1 } - let index = this.codeDetailList.findIndex(item=>item.regStatus==false) - if(index!=-1){ + let index = this.codeDetailList.findIndex(item => item.regStatus == false) + if (index != -1) { this.$confirm("还有未登记的发票, 是否继续提交?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", - }).then( ()=>{ + }).then(() => { updateOrder(data).then((res) => { this.closeDialog(); }).catch((error) => { }) - }).catch( ()=>{ + }).catch(() => { }) - }else{ + } else { updateOrder(data).then((res) => { this.closeDialog(); }).catch((error) => { diff --git a/src/views/inout/IoCheckAuditOrder.vue b/src/views/inout/IoCheckAuditOrder.vue index d1d4aa8f..054dc7b4 100644 --- a/src/views/inout/IoCheckAuditOrder.vue +++ b/src/views/inout/IoCheckAuditOrder.vue @@ -520,6 +520,7 @@ export default { imgList: [], imgViewerVisible: false, BASE_URL: process.env.VUE_APP_BASE_API, + IMAGE_URL: process.env.VUE_APP_SYNC_API, showSearch: true, filterQuery: { id: "", @@ -697,7 +698,7 @@ export default { this.showSearch = !this.showSearch; }, showImgViewer(row) { - this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name="; + this.certFileUrl = this.IMAGE_URL + "/mapi" + "/udiwms/image/register/file/getImage?type=image2&name="; this.imgList = []; previewImage({imageUrl: row.filePath, certFileUrl: this.certFileUrl}).then(response => { if (response.code === 20000) { @@ -892,7 +893,7 @@ export default { page: 1, limit: 10 }; - if(!isBlank(this.currentRow.billNo)) { + if (!isBlank(this.currentRow.billNo)) { this.getBizDetailList(); } }, @@ -930,7 +931,7 @@ export default { page: 1, limit: 10 }; - if(!isBlank(this.currentRow.billNo)) { + if (!isBlank(this.currentRow.billNo)) { this.getCodeDetailList(); } }, @@ -970,7 +971,7 @@ export default { page: 1, limit: 10 }; - if(!isBlank(this.currentRow.billNo)) { + if (!isBlank(this.currentRow.billNo)) { this.getResultDetailList(); } From dac293fd9ef5a4081e2730bfa2bc75dc0cd22580 Mon Sep 17 00:00:00 2001 From: 1178634255 <1178634255@qq.com> Date: Thu, 11 May 2023 14:12:42 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E6=9F=A5=E8=AF=A2=E5=A4=9A?= =?UTF-8?q?=E7=82=B9=E5=87=A0=E4=B8=8B=E5=87=BA=E7=8E=B0=E7=9A=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E5=8A=A0=E8=BD=BD=E5=A4=B1=E8=B4=A5=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/system/dept/invRelUsers.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/views/system/dept/invRelUsers.vue b/src/views/system/dept/invRelUsers.vue index d9fe1321..5a77c4a9 100644 --- a/src/views/system/dept/invRelUsers.vue +++ b/src/views/system/dept/invRelUsers.vue @@ -218,7 +218,7 @@ export default { this.userTotal = res.data.total; }).catch((error) => { - this.$message.error("用户数据加载失败") + this.$message.error("数据正在处理,请勿重复提交") }); }, From 5c60c71d46b8786c1eedeee5f1acfc228facdc98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Thu, 11 May 2023 14:34:36 +0800 Subject: [PATCH 03/11] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E6=89=93=E5=8D=B0?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/inout/IoAuditedOrder.vue | 4 ++-- src/views/inout/IoCheckAuditOrder.vue | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/views/inout/IoAuditedOrder.vue b/src/views/inout/IoAuditedOrder.vue index 1de2da75..de77d3f9 100644 --- a/src/views/inout/IoAuditedOrder.vue +++ b/src/views/inout/IoAuditedOrder.vue @@ -736,7 +736,7 @@ export default { printOrder(row) { let tQuery = { action: row.action, - moduleId: 1, + status: row.status, } this.loading = true; inspectionOrderPDFFromTemplateFile(tQuery).then((response) => { @@ -745,7 +745,7 @@ export default { templateId: response.data, orderIdFk: row.billNo, action: row.action, - moduleId: 1, + status: row.status, } orderPDFFromTemplateFile(tQuery).then((response) => { //将pdf文件转换为url。 diff --git a/src/views/inout/IoCheckAuditOrder.vue b/src/views/inout/IoCheckAuditOrder.vue index d1d4aa8f..0c6c9ddb 100644 --- a/src/views/inout/IoCheckAuditOrder.vue +++ b/src/views/inout/IoCheckAuditOrder.vue @@ -730,13 +730,14 @@ export default { printOrder(row) { let tQuery = { action: row.action, - moduleId: 2, + status: row.status, } this.loading = true; inspectionOrderPDFFromTemplateFile(tQuery).then((response) => { if (response.code === 20000) { tQuery = { templateId: response.data, + status: row.status, orderIdFk: row.billNo, action: row.action, moduleId: 2, From 52491972c661bc0aab155bb7dc222692b3edf1ff Mon Sep 17 00:00:00 2001 From: schry <2433098676@qq.com> Date: Thu, 11 May 2023 14:44:09 +0800 Subject: [PATCH 04/11] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E9=A2=84=E8=AD=A6?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E5=8D=95=E4=BD=8D=E6=A1=86=E9=95=BF=E5=BA=A6?= =?UTF-8?q?=E4=B8=8E=E5=85=B6=E4=BB=96=E4=B8=8D=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/basic/busType/bussinessType.vue | 1 + src/views/basic/product/productEdit.vue | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/basic/busType/bussinessType.vue b/src/views/basic/busType/bussinessType.vue index 0010360a..f38710bd 100644 --- a/src/views/basic/busType/bussinessType.vue +++ b/src/views/basic/busType/bussinessType.vue @@ -375,6 +375,7 @@ export default { if (this.inputQuery.sortNum < 0) { this.$message.error("排序不能小于0!"); return; + } else if (this.inputQuery.sortNum > 999) { this.$message.error("排序不能大于999!"); return; diff --git a/src/views/basic/product/productEdit.vue b/src/views/basic/product/productEdit.vue index 0553ef8c..47a0bbca 100644 --- a/src/views/basic/product/productEdit.vue +++ b/src/views/basic/product/productEdit.vue @@ -164,7 +164,7 @@ </el-col> <el-col :span="12"> <el-form-item label="预警时间单位:"> - <el-select v-model="editQuery.isDateBy" style="width: 65%" placeholder="状态" clearable> + <el-select v-model="editQuery.isDateBy" style="width: 80%" placeholder="状态" clearable> <el-option label="天" :value="1"></el-option> <el-option label="小时" :value="2"></el-option> </el-select> From 2376b7377c3998e1165559029ef572e18edd65cb Mon Sep 17 00:00:00 2001 From: anthonywj <yewenjie20@vip.qq.com> Date: Thu, 11 May 2023 14:46:53 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E5=8F=91=E7=A5=A8=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=EF=BC=8C=E8=AF=81=E4=B9=A6=E6=9F=A5=E7=9C=8B=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/inout/DialogCheck.vue | 2 +- src/views/inout/InvoiceCkeck.vue | 2 +- src/views/inout/InvoiceRegistration.vue | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/views/inout/DialogCheck.vue b/src/views/inout/DialogCheck.vue index 0cdfdbf7..e55c8215 100644 --- a/src/views/inout/DialogCheck.vue +++ b/src/views/inout/DialogCheck.vue @@ -350,7 +350,7 @@ export default { }, showImgViewer(row) { - this.certFileUrl = this.IMAGE_URL + "/mapi" + "/udiwms/image/register/file/getImage?type=image2&name="; + this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name="; this.imgList = []; previewImage({imageUrl: this.inputQuery.filePath, certFileUrl: this.certFileUrl}).then(response => { if (response.code === 20000) { diff --git a/src/views/inout/InvoiceCkeck.vue b/src/views/inout/InvoiceCkeck.vue index 76982252..ff8b4e0b 100644 --- a/src/views/inout/InvoiceCkeck.vue +++ b/src/views/inout/InvoiceCkeck.vue @@ -653,7 +653,7 @@ export default { }, showImgViewer(row) { this.certFileUrl = - this.IMAGE_URL + "/mapi" + + this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name="; this.imgList = []; previewImage({ diff --git a/src/views/inout/InvoiceRegistration.vue b/src/views/inout/InvoiceRegistration.vue index 812b3870..53235c63 100644 --- a/src/views/inout/InvoiceRegistration.vue +++ b/src/views/inout/InvoiceRegistration.vue @@ -777,7 +777,7 @@ export default { this.showSearch = !this.showSearch; }, showImgViewer(row) { - this.certFileUrl = this.IMAGE_URL + "/mapi" + "/udiwms/image/register/file/getImage?type=image2&name="; + this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name="; this.imgList = []; previewImage({imageUrl: row.licenseUrl, certFileUrl: this.certFileUrl}).then(response => { if (response.code === 20000) { From 799c843a6c35a4ffb7336212857e1d5902d7e23e Mon Sep 17 00:00:00 2001 From: 1178634255 <1178634255@qq.com> Date: Thu, 11 May 2023 15:01:08 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=93=8D=E4=BD=9C?= =?UTF-8?q?=E6=97=A5=E5=BF=97=E6=93=8D=E4=BD=9C=E7=8A=B6=E6=80=81=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/monitor/operlog/index.vue | 273 ++++++++++++++++++---------- 1 file changed, 173 insertions(+), 100 deletions(-) diff --git a/src/views/monitor/operlog/index.vue b/src/views/monitor/operlog/index.vue index 0cb6747d..58c474b8 100644 --- a/src/views/monitor/operlog/index.vue +++ b/src/views/monitor/operlog/index.vue @@ -1,7 +1,13 @@ <template> <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" v-show="showSearch" label-width="68px"> - + <el-form + :model="queryParams" + ref="queryForm" + size="mini" + :inline="true" + v-show="showSearch" + label-width="68px" + > <el-form-item label="系统模块:" prop="title" label-width="80px"> <el-input v-model="queryParams.title" @@ -18,49 +24,48 @@ @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="类型:" prop="businessType"> - <el-select - v-model="queryParams.businessType" - placeholder="操作类型" - clearable - > - <el-option - v-for="dict in dict.type.sys_oper_type" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> + <!--<el-form-item label="类型:" prop="businessType">--> + <!-- <el-select--> + <!-- v-model="queryParams.businessType"--> + <!-- placeholder="操作类型"--> + <!-- clearable--> + <!-- >--> + <!-- <el-option--> + <!-- v-for="dict in dict.type.sys_oper_type"--> + <!-- :key="dict.value"--> + <!-- :label="dict.label"--> + <!-- :value="dict.value"--> + <!-- />--> + <!-- </el-select>--> + <!--</el-form-item>--> <el-form-item label="状态:" prop="status"> <el-select v-model="queryParams.status" placeholder="操作状态" clearable > - <el-option - v-for="dict in dict.type.sys_common_status" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option label="正常" value="0"/> + <el-option label="失败" value="1"/> </el-select> </el-form-item> <el-form-item> - <el-button-group> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button> - <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> - <el-button - type="primary" - icon="el-icon-delete" - size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['monitor:operlog:remove']" - >删除 - </el-button> - </el-button-group> + <el-button + type="primary" + icon="el-icon-search" + size="mini" + @click="handleQuery" + >搜索 + </el-button + > + <el-button + type="primary" + icon="el-icon-refresh" + size="mini" + @click="resetQuery" + >重置 + </el-button + > </el-form-item> <!-- <el-form-item label="操作时间:" label-width="80px">--> @@ -74,39 +79,76 @@ <!-- end-placeholder="结束日期"--> <!-- ></el-date-picker>--> <!-- </el-form-item>--> - </el-form> - <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" - :default-sort="defaultSort" @sort-change="handleSortChange" border> - <el-table-column type="selection" width="55" align="center"/> + <el-table + ref="tables" + v-loading="loading" + :data="list" + :default-sort="defaultSort" + border + > + <!-- <el-table-column type="selection" width="55" align="center" /> --> <el-table-column label="序号" type="index"></el-table-column> <el-table-column label="系统模块" align="center" prop="title"/> - <el-table-column label="操作类型" align="center" prop="businessType"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_oper_type" :value="scope.row.businessType"/> - </template> - </el-table-column> + <!--<el-table-column label="操作类型" align="center" prop="businessType">--> + <!-- <template slot-scope="scope">--> + <!-- <dict-tag :options="dict.type.sys_oper_type" :value="scope.row.businessType"/>--> + <!-- </template>--> + <!--</el-table-column>--> <el-table-column label="请求方式" align="center" prop="requestMethod"/> - <el-table-column label="操作人员" align="center" prop="operUserName" width="100" :show-overflow-tooltip="true" - sortable="custom" :sort-orders="['descending', 'ascending']"/> - <el-table-column label="操作地址" align="center" prop="operIp" width="130" :show-overflow-tooltip="true"/> - <el-table-column label="操作地点" align="center" prop="operLocation" :show-overflow-tooltip="true"/> + <el-table-column + label="操作人员" + align="center" + prop="operUserName" + width="100" + :show-overflow-tooltip="true" + /> + <el-table-column + label="操作地址" + align="center" + prop="operIp" + width="130" + :show-overflow-tooltip="true" + /> + <el-table-column + label="操作地点" + align="center" + prop="operLocation" + :show-overflow-tooltip="true" + /> <el-table-column label="操作状态" align="center" prop="status"> + <!-- <template slot-scope="scope"> + <dict-tag + :options="dict.type.sys_common_status" + :value="scope.row.status" + /> + </template> --> <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/> + <el-tag :type="scope.row.status === 0 ? 'success' : 'warning'">{{ + scope.row.status === 0 ? "正常" : "失败" + }} + </el-tag> </template> </el-table-column> - <el-table-column label="操作日期" align="center" prop="operTime" sortable="custom" - :sort-orders="['descending', 'ascending']" width="180"> + <el-table-column + label="操作日期" + align="center" + prop="operTime" + width="180" + > <template slot-scope="scope"> <span>{{ parseTime(scope.row.operTime) }}</span> </template> </el-table-column> - <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <el-table-column + label="操作" + align="center" + class-name="small-padding fixed-width" + > <template slot-scope="scope"> <el-button type="text" - @click="handleView(scope.row,scope.index)" + @click="handleView(scope.row, scope.index)" v-hasPermi="['monitor:operlog:query']" >详情 </el-button> @@ -114,7 +156,7 @@ </el-table-column> </el-table> <pagination - v-show="total>0" + v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.limit" @@ -122,19 +164,29 @@ /> <!-- 操作日志详细 --> - <el-dialog title="操作日志-详情" :visible.sync="open" width="700px" append-to-body> + <el-dialog + title="操作日志-详情" + :visible.sync="open" + width="700px" + append-to-body + > <el-form ref="form" :model="form" label-width="100px" size="mini"> <el-row> <el-col :span="12"> - <el-form-item label="操作模块:">{{ form.title }} / {{ typeFormat(form) }}</el-form-item> - <el-form-item - label="登录信息:" + <el-form-item label="操作模块:" + >{{ form.title }} / {{ typeFormat(form) }} + </el-form-item + > + <el-form-item label="登录信息:" >{{ form.operName }} / {{ form.operIp }} / {{ form.operLocation }} </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="请求地址:">{{ form.operUrl }}</el-form-item> - <el-form-item label="请求方式:">{{ form.requestMethod }}</el-form-item> + <el-form-item label="请求方式:">{{ + form.requestMethod + }} + </el-form-item> </el-col> <el-col :span="24"> <el-form-item label="操作方法:">{{ form.method }}</el-form-item> @@ -143,7 +195,10 @@ <el-form-item label="请求参数:">{{ form.operParam }}</el-form-item> </el-col> <el-col :span="24"> - <el-form-item label="返回参数:">{{ form.jsonResult }}</el-form-item> + <el-form-item label="返回参数:">{{ + form.jsonResult + }} + </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="操作状态:"> @@ -152,10 +207,16 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="操作时间:">{{ parseTime(form.operTime) }}</el-form-item> + <el-form-item label="操作时间:">{{ + parseTime(form.operTime) + }} + </el-form-item> </el-col> <el-col :span="24"> - <el-form-item label="异常信息:" v-if="form.status === 1">{{ form.errorMsg }}</el-form-item> + <el-form-item label="异常信息:" v-if="form.status === 1">{{ + form.errorMsg + }} + </el-form-item> </el-col> </el-row> </el-form> @@ -171,7 +232,7 @@ import {list, delOperlog, cleanOperlog} from "@/api/monitor/operlog"; export default { name: "Operlog", - dicts: ['sys_oper_type', 'sys_common_status'], + dicts: ["sys_oper_type", "sys_common_status"], data() { return { // 遮罩层 @@ -191,7 +252,6 @@ export default { // 日期范围 dateRange: [], // 默认排序 - defaultSort: {prop: 'operTime', order: 'descending'}, // 表单参数 form: {}, // 查询参数 @@ -201,8 +261,8 @@ export default { title: undefined, operName: undefined, businessType: undefined, - status: undefined - } + status: undefined, + }, }; }, created() { @@ -212,7 +272,8 @@ export default { /** 查询登录日志 */ getList() { this.loading = true; - list(this.addDateRange(this.queryParams, this.dateRange)).then(response => { + list(this.addDateRange(this.queryParams, this.dateRange)).then( + (response) => { this.list = response.data.list; this.total = response.data.total; this.loading = false; @@ -221,7 +282,10 @@ export default { }, // 操作日志类型字典翻译 typeFormat(row, column) { - return this.selectDictLabel(this.dict.type.sys_oper_type, row.businessType); + return this.selectDictLabel( + this.dict.type.sys_oper_type, + row.businessType + ); }, /** 搜索按钮操作 */ handleQuery() { @@ -232,53 +296,62 @@ export default { resetQuery() { this.dateRange = []; this.resetForm("queryForm"); - this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order) + this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order); this.handleQuery(); }, /** 多选框选中数据 */ - handleSelectionChange(selection) { - this.ids = selection.map(item => item.operId) - this.multiple = !selection.length - }, + /* handleSelectionChange(selection) { + this.ids = selection.map((item) => item.operId); + this.multiple = !selection.length; + }, */ /** 排序触发事件 */ - handleSortChange(column, prop, order) { + /* handleSortChange(column, prop, order) { this.queryParams.orderByColumn = column.prop; this.queryParams.isAsc = column.order; this.getList(); - }, + }, */ /** 详细按钮操作 */ handleView(row) { this.open = true; this.form = row; }, /** 删除按钮操作 */ - handleDelete(row) { + /* handleDelete(row) { const operIds = row.operId || this.ids; - this.$modal.confirm('是否确认删除日志编号为"' + operIds + '"的数据项?').then(function () { - return delOperlog(operIds); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("删除成功"); - }).catch(() => { - }); - }, + this.$modal + .confirm('是否确认删除日志编号为"' + operIds + '"的数据项?') + .then(function () { + return delOperlog(operIds); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("删除成功"); + }) + .catch(() => {}); + }, */ /** 清空按钮操作 */ - handleClean() { - this.$modal.confirm('是否确认清空所有操作日志数据项?').then(function () { - return cleanOperlog(); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("清空成功"); - }).catch(() => { - }); - }, + /* handleClean() { + this.$modal + .confirm("是否确认清空所有操作日志数据项?") + .then(function () { + return cleanOperlog(); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("清空成功"); + }) + .catch(() => {}); + }, */ /** 导出按钮操作 */ - handleExport() { - this.download('monitor/operlog/export', { - ...this.queryParams - }, `operlog_${new Date().getTime()}.xlsx`) - } - } + /* handleExport() { + this.download( + "monitor/operlog/export", + { + ...this.queryParams, + }, + `operlog_${new Date().getTime()}.xlsx` + ); + }, */ + }, }; </script> - From 6cbccd7ba46402aeef8854d2c43d4dbffde8d689 Mon Sep 17 00:00:00 2001 From: 1178634255 <1178634255@qq.com> Date: Thu, 11 May 2023 15:20:30 +0800 Subject: [PATCH 07/11] =?UTF-8?q?=E8=87=AA=E5=8A=A9=E7=AE=A1=E7=90=86?= =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E7=99=BB=E5=BD=95=E6=97=A5=E5=BF=97=E7=95=8C?= =?UTF-8?q?=E9=9D=A2=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/monitor/logininfor/index.vue | 341 +++++++++++++++---------- 1 file changed, 204 insertions(+), 137 deletions(-) diff --git a/src/views/monitor/logininfor/index.vue b/src/views/monitor/logininfor/index.vue index 26d793c1..aed72da4 100644 --- a/src/views/monitor/logininfor/index.vue +++ b/src/views/monitor/logininfor/index.vue @@ -1,6 +1,13 @@ <template> <div class="app-container"> - <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" v-show="showSearch" label-width="68px"> + <el-form + :model="queryParams" + ref="queryForm" + size="mini" + :inline="true" + v-show="showSearch" + label-width="68px" + > <!-- <el-form-item label="登录地址:" prop="ipaddr" label-width="80px">--> <!-- <el-input--> <!-- v-model="queryParams.ipaddr"--> @@ -18,105 +25,153 @@ @keyup.enter.native="handleQuery" /> </el-form-item> - <el-form-item label="状态:" prop="status"> - <el-select - v-model="queryParams.status" - placeholder="登录状态" - clearable - > - <el-option - v-for="dict in dict.type.sys_common_status" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> - </el-select> - </el-form-item> + <!--<el-form-item label="状态:" prop="status">--> + <!-- <el-select--> + <!-- v-model="queryParams.status"--> + <!-- placeholder="登录状态"--> + <!-- clearable--> + <!-- >--> + <!-- <el-option--> + <!-- v-for="dict in dict.type.sys_common_status"--> + <!-- :key="dict.value"--> + <!-- :label="dict.label"--> + <!-- :value="dict.value"--> + <!-- />--> + <!-- </el-select>--> + <!--</el-form-item>--> <el-form-item> <el-button-group> - <el-button type="primary" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> - <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">查询</el-button> <el-button type="primary" - icon="el-icon-delete" + icon="el-icon-refresh" size="mini" - :disabled="multiple" - @click="handleDelete" - v-hasPermi="['monitor:logininfor:remove']" - >删除 - </el-button> - + @click="resetQuery" + >重置 + </el-button + > + <el-button + type="primary" + icon="el-icon-search" + size="mini" + @click="handleQuery" + >搜索 + </el-button + > </el-button-group> </el-form-item> </el-form> - <!-- <el-row :gutter="10" class="mb8">--> - <!-- <el-col :span="1.5">--> - <!-- <el-button--> - <!-- type="danger"--> - <!-- plain--> - <!-- icon="el-icon-delete"--> - <!-- size="mini"--> - <!-- :disabled="multiple"--> - <!-- @click="handleDelete"--> - <!-- v-hasPermi="['monitor:logininfor:remove']"--> - <!-- >删除--> - <!-- </el-button>--> - <!-- </el-col>--> - <!-- <el-col :span="1.5">--> - <!-- <el-button--> - <!-- type="danger"--> - <!-- plain--> - <!-- icon="el-icon-delete"--> - <!-- size="mini"--> - <!-- @click="handleClean"--> - <!-- v-hasPermi="['monitor:logininfor:remove']"--> - <!-- >清空--> - <!-- </el-button>--> - <!-- </el-col>--> - <!-- <el-col :span="1.5">--> - <!-- <el-button--> - <!-- type="primary"--> - <!-- plain--> - <!-- icon="el-icon-unlock"--> - <!-- size="mini"--> - <!-- :disabled="single"--> - <!-- @click="handleUnlock"--> - <!-- v-hasPermi="['monitor:logininfor:unlock']"--> - <!-- >解锁--> - <!-- </el-button>--> - <!-- </el-col>--> - <!-- <el-col :span="1.5">--> - <!-- <el-button--> - <!-- type="warning"--> - <!-- plain--> - <!-- icon="el-icon-download"--> - <!-- size="mini"--> - <!-- @click="handleExport"--> - <!-- v-hasPermi="['monitor:logininfor:export']"--> - <!-- >导出--> - <!-- </el-button>--> - <!-- </el-col>--> - <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>--> - <!-- </el-row>--> + <!-- <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['monitor:logininfor:remove']" + >删除 + </el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="mini" + @click="handleClean" + v-hasPermi="['monitor:logininfor:remove']" + >清空 + </el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-unlock" + size="mini" + :disabled="single" + @click="handleUnlock" + v-hasPermi="['monitor:logininfor:unlock']" + >解锁 + </el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="mini" + @click="handleExport" + v-hasPermi="['monitor:logininfor:export']" + >导出 + </el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + </el-row> --> - <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" border - :default-sort="defaultSort" @sort-change="handleSortChange"> - <el-table-column type="selection" width="55" align="center"/> + <!-- <el-table + ref="tables" + v-loading="loading" + :data="list" + @selection-change="handleSelectionChange" + border + :default-sort="defaultSort" + @sort-change="handleSortChange" + > --> + <el-table + ref="tables" + v-loading="loading" + :data="list" + border + :default-sort="defaultSort" + > + <!-- <el-table-column type="selection" width="55" align="center" /> --> <el-table-column label="序号" type="index"></el-table-column> - <el-table-column label="用户名称" align="center" prop="userName" :show-overflow-tooltip="true" sortable="custom" - :sort-orders="['descending', 'ascending']"/> - <el-table-column label="登录地址" align="center" prop="ipaddr" width="130" :show-overflow-tooltip="true"/> - <el-table-column label="登录地点" align="center" prop="loginLocation" :show-overflow-tooltip="true"/> - <el-table-column label="浏览器" align="center" prop="browser" :show-overflow-tooltip="true"/> - <el-table-column label="操作系统" align="center" prop="os" show-overflow-tooltip/> - <el-table-column label="登录状态" align="center" prop="status"> - <template slot-scope="scope"> - <dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/> - </template> - </el-table-column> + <el-table-column + label="用户名称" + align="center" + prop="userName" + :show-overflow-tooltip="true" + /> + <el-table-column + label="登录地址" + align="center" + prop="ipaddr" + width="130" + :show-overflow-tooltip="true" + /> + <el-table-column + label="登录地点" + align="center" + prop="loginLocation" + :show-overflow-tooltip="true" + /> + <el-table-column + label="浏览器" + align="center" + prop="browser" + :show-overflow-tooltip="true" + /> + <el-table-column + label="操作系统" + align="center" + prop="os" + show-overflow-tooltip + /> + <!--<el-table-column label="登录状态" align="center" prop="status">--> + <!-- <template slot-scope="scope">--> + <!-- <dict-tag :options="dict.type.sys_common_status" :value="scope.row.status"/>--> + <!-- </template>--> + <!--</el-table-column>--> <el-table-column label="操作信息" align="center" prop="msg"/> - <el-table-column label="登录日期" align="center" prop="loginTime" width="180"> + <el-table-column + label="登录日期" + align="center" + prop="loginTime" + width="180" + > <template slot-scope="scope"> <span>{{ parseTime(scope.row.loginTime) }}</span> </template> @@ -127,7 +182,7 @@ </el-table> <pagination - v-show="total>0" + v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.limit" @@ -137,11 +192,11 @@ </template> <script> -import {list, delLogininfor, cleanLogininfor, unlockLogininfor} from "@/api/monitor/logininfor"; +import {list} from "@/api/monitor/logininfor"; export default { name: "Logininfor", - dicts: ['sys_common_status'], + dicts: ["sys_common_status"], data() { return { // 遮罩层 @@ -163,15 +218,14 @@ export default { // 日期范围 dateRange: [], // 默认排序 - defaultSort: {prop: 'loginTime', order: 'descending'}, // 查询参数 queryParams: { page: 1, limit: 10, ipaddr: undefined, userName: undefined, - status: undefined - } + status: undefined, + }, }; }, created() { @@ -181,7 +235,8 @@ export default { /** 查询登录日志列表 */ getList() { this.loading = true; - list(this.addDateRange(this.queryParams, this.dateRange)).then(response => { + list(this.addDateRange(this.queryParams, this.dateRange)).then( + (response) => { this.list = response.data.list; this.total = response.data.total; this.loading = false; @@ -197,60 +252,72 @@ export default { resetQuery() { this.dateRange = []; this.resetForm("queryForm"); - this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order) + this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order); this.handleQuery(); }, /** 多选框选中数据 */ - handleSelectionChange(selection) { - this.ids = selection.map(item => item.infoId) - this.single = selection.length != 1 - this.multiple = !selection.length - this.selectName = selection.map(item => item.userName); - }, + /* handleSelectionChange(selection) { + this.ids = selection.map((item) => item.infoId); + this.single = selection.length != 1; + this.multiple = !selection.length; + this.selectName = selection.map((item) => item.userName); + }, */ /** 排序触发事件 */ - handleSortChange(column, prop, order) { + /* handleSortChange(column, prop, order) { this.queryParams.orderByColumn = column.prop; this.queryParams.isAsc = column.order; this.getList(); - }, + }, */ /** 删除按钮操作 */ - handleDelete(row) { + /* handleDelete(row) { const infoIds = row.infoId || this.ids; - this.$modal.confirm('是否确认删除访问编号为"' + infoIds + '"的数据项?').then(function () { - return delLogininfor(infoIds); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("删除成功"); - }).catch(() => { - }); - }, + this.$modal + .confirm('是否确认删除访问编号为"' + infoIds + '"的数据项?') + .then(function () { + return delLogininfor(infoIds); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("删除成功"); + }) + .catch(() => {}); + }, */ /** 清空按钮操作 */ - handleClean() { - this.$modal.confirm('是否确认清空所有登录日志数据项?').then(function () { - return cleanLogininfor(); - }).then(() => { - this.getList(); - this.$modal.msgSuccess("清空成功"); - }).catch(() => { - }); - }, + /* handleClean() { + this.$modal + .confirm("是否确认清空所有登录日志数据项?") + .then(function () { + return cleanLogininfor(); + }) + .then(() => { + this.getList(); + this.$modal.msgSuccess("清空成功"); + }) + .catch(() => {}); + }, */ /** 解锁按钮操作 */ - handleUnlock() { + /* handleUnlock() { const username = this.selectName; - this.$modal.confirm('是否确认解锁用户"' + username + '"数据项?').then(function () { - return unlockLogininfor(username); - }).then(() => { - this.$modal.msgSuccess("用户" + username + "解锁成功"); - }).catch(() => { - }); - }, + this.$modal + .confirm('是否确认解锁用户"' + username + '"数据项?') + .then(function () { + return unlockLogininfor(username); + }) + .then(() => { + this.$modal.msgSuccess("用户" + username + "解锁成功"); + }) + .catch(() => {}); + }, */ /** 导出按钮操作 */ - handleExport() { - this.download('monitor/logininfor/export', { - ...this.queryParams - }, `logininfor_${new Date().getTime()}.xlsx`) - } - } + /* handleExport() { + this.download( + "monitor/logininfor/export", + { + ...this.queryParams, + }, + `logininfor_${new Date().getTime()}.xlsx` + ); + }, */ + }, }; </script> - From ff78c078c58a14d6781fb1d668017ff208133dc5 Mon Sep 17 00:00:00 2001 From: anthonywj <yewenjie20@vip.qq.com> Date: Thu, 11 May 2023 15:59:18 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E5=BA=93=E5=AD=98=E6=8C=89=E8=B4=A7?= =?UTF-8?q?=E4=BD=8D=E6=9F=A5=E7=9C=8B=E7=BB=93=E4=BD=99=E6=95=B0=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/inout/IoCheckAuditOrder.vue | 2 +- src/views/inventory/InvPreProducts.vue | 6 +++++- src/views/inventory/InvProducts.vue | 12 +++++++++--- src/views/inventory/InvSupPreInProducts.vue | 18 ++++++++++++------ 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/views/inout/IoCheckAuditOrder.vue b/src/views/inout/IoCheckAuditOrder.vue index e142471b..03546756 100644 --- a/src/views/inout/IoCheckAuditOrder.vue +++ b/src/views/inout/IoCheckAuditOrder.vue @@ -698,7 +698,7 @@ export default { this.showSearch = !this.showSearch; }, showImgViewer(row) { - this.certFileUrl = this.IMAGE_URL + "/mapi" + "/udiwms/image/register/file/getImage?type=image2&name="; + this.certFileUrl = this.BASE_URL + "/udiwms/image/register/file/getImage?type=image2&name="; this.imgList = []; previewImage({imageUrl: row.filePath, certFileUrl: this.certFileUrl}).then(response => { if (response.code === 20000) { diff --git a/src/views/inventory/InvPreProducts.vue b/src/views/inventory/InvPreProducts.vue index 2524990e..b59b5a2d 100644 --- a/src/views/inventory/InvPreProducts.vue +++ b/src/views/inventory/InvPreProducts.vue @@ -160,7 +160,11 @@ <el-table-column label="批次号" prop="batchNo" width="120"></el-table-column> <el-table-column label="入库数量" prop="inCount" width="120"></el-table-column> <el-table-column label="出库数量" prop="outCount" width="120"></el-table-column> - <el-table-column label="结余数量" prop="reCount" width="120"></el-table-column> + <el-table-column label="结余数量" prop="reCount" width="120"> + <template slot-scope="scope"> + <span>{{ scope.row.inCount - scope.row.outCount }}</span> + </template> + </el-table-column> <el-table-column label="部门" prop="deptName" v-if="showSup" show-overflow-tooltip width="120"></el-table-column> <el-table-column label="仓库" prop="invName" v-if="showSup" diff --git a/src/views/inventory/InvProducts.vue b/src/views/inventory/InvProducts.vue index 6e6a1906..deaae103 100644 --- a/src/views/inventory/InvProducts.vue +++ b/src/views/inventory/InvProducts.vue @@ -153,14 +153,20 @@ <el-table-column label="序号" type="index"></el-table-column> <el-table-column label="供应商" prop="supName" v-if="showSup" show-overflow-tooltip width="120"></el-table-column> - <el-table-column label="货架" prop="spaceName" v-if="filterQuery.invSpaceCode!='' && filterQuery.invSpaceCode!=null" show-overflow-tooltip width="120"></el-table-column> + <el-table-column label="货架" prop="spaceName" + v-if="filterQuery.invSpaceCode!='' && filterQuery.invSpaceCode!=null" show-overflow-tooltip + width="120"></el-table-column> <el-table-column label="DI/物资编码" prop="nameCode" width="150"></el-table-column> <el-table-column label="物资名称" prop="cpmctymc" width="180" show-overflow-tooltip></el-table-column> <el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip width="180"></el-table-column> <el-table-column label="批次号" prop="batchNo" width="120"></el-table-column> <el-table-column label="入库数量" prop="inCount" width="120"></el-table-column> <el-table-column label="出库数量" prop="outCount" width="120"></el-table-column> - <el-table-column label="结余数量" prop="reCount" width="120"></el-table-column> + <el-table-column label="结余数量" prop="reCount" width="120"> + <template slot-scope="scope"> + <span>{{ scope.row.inCount - scope.row.outCount }}</span> + </template> + </el-table-column> <el-table-column label="部门" prop="deptName" v-if="showSup" show-overflow-tooltip width="120"></el-table-column> <el-table-column label="仓库" prop="invName" v-if="showSup" @@ -472,7 +478,7 @@ export default { }; }, created() { - this.filterQuery.invCode=this.$store.getters.locInvCode + this.filterQuery.invCode = this.$store.getters.locInvCode let supId = this.$store.getters.customerId; if (supId == "110") { this.showSup = true; diff --git a/src/views/inventory/InvSupPreInProducts.vue b/src/views/inventory/InvSupPreInProducts.vue index 3b7e0b83..d13ba678 100644 --- a/src/views/inventory/InvSupPreInProducts.vue +++ b/src/views/inventory/InvSupPreInProducts.vue @@ -152,14 +152,20 @@ border> <el-table-column label="序号" type="index"></el-table-column> <el-table-column label="供应商" prop="supName" v-if="showSup" show-overflow-tooltip width="120"></el-table-column> - <el-table-column label="货架" prop="spaceName" v-if="filterQuery.invSpaceCode!='' && filterQuery.invSpaceCode!=null" show-overflow-tooltip width="120"></el-table-column> + <el-table-column label="货架" prop="spaceName" + v-if="filterQuery.invSpaceCode!='' && filterQuery.invSpaceCode!=null" show-overflow-tooltip + width="120"></el-table-column> <el-table-column label="DI/物资编码" prop="nameCode" width="150"></el-table-column> <el-table-column label="物资名称" prop="cpmctymc" width="180" show-overflow-tooltip></el-table-column> <el-table-column label="规格型号" prop="ggxh" show-overflow-tooltip width="180"></el-table-column> <el-table-column label="批次号" prop="batchNo" width="120"></el-table-column> <el-table-column label="入库数量" prop="inCount" width="120"></el-table-column> <el-table-column label="出库数量" prop="outCount" width="120"></el-table-column> - <el-table-column label="结余数量" prop="reCount" width="120"></el-table-column> + <el-table-column label="结余数量" prop="reCount" width="120"> + <template slot-scope="scope"> + <span>{{ scope.row.inCount - scope.row.outCount }}</span> + </template> + </el-table-column> <el-table-column label="部门" prop="deptName" v-if="showSup" show-overflow-tooltip width="120"></el-table-column> <el-table-column label="仓库" prop="invName" v-if="showSup" @@ -331,9 +337,9 @@ export default { findAllInvByUser(query) .then((response) => { this.invList = response.data || []; - for(var i=0;i< this.invList.length;i++){ - if(this.invList[i].advanceType == 2){ - this.filterQuery.invCode=this.invList[i].code; + for (var i = 0; i < this.invList.length; i++) { + if (this.invList[i].advanceType == 2) { + this.filterQuery.invCode = this.invList[i].code; } } this.getList(); @@ -449,7 +455,7 @@ export default { } this.findMethod(); this.getInvList(); - // this.getList(); + // this.getList(); }, }; </script> From 8fd03b35c3fc48390bcf9cdf4807a9e3f01d7f47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Thu, 11 May 2023 16:24:17 +0800 Subject: [PATCH 09/11] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=AE=A1=E9=87=8F=E5=8D=95=E4=BD=8D=E6=98=BE=E7=A4=BA=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/inout/IoAuditedOrder.vue | 4 ++++ src/views/inout/IoCheckAuditOrder.vue | 8 ++++++++ src/views/inout/IoCheckSuccessOrder.vue | 4 ++++ src/views/inout/IoEditOrder.vue | 8 ++++++++ 4 files changed, 24 insertions(+) diff --git a/src/views/inout/IoAuditedOrder.vue b/src/views/inout/IoAuditedOrder.vue index de77d3f9..c4364223 100644 --- a/src/views/inout/IoAuditedOrder.vue +++ b/src/views/inout/IoAuditedOrder.vue @@ -238,6 +238,10 @@ label="失效日期" prop="expireDate" width="120" ></el-table-column> + <el-table-column + label="计量单位" width="100" + prop="measname" + ></el-table-column> <el-table-column label="单据数量" width="100" prop="count" diff --git a/src/views/inout/IoCheckAuditOrder.vue b/src/views/inout/IoCheckAuditOrder.vue index 03546756..4aeb1126 100644 --- a/src/views/inout/IoCheckAuditOrder.vue +++ b/src/views/inout/IoCheckAuditOrder.vue @@ -230,6 +230,10 @@ label="失效日期" prop="expireDate" width="120" ></el-table-column> + <el-table-column + label="计量单位" width="100" + prop="measname" + ></el-table-column> <el-table-column label="单据数量" width="100" prop="count" @@ -340,6 +344,10 @@ label="失效日期" width="120" prop="expireDate" ></el-table-column> + <el-table-column + label="计量单位" width="100" + prop="measname" + ></el-table-column> <el-table-column label="单据数量" width="100" prop="orderCount" diff --git a/src/views/inout/IoCheckSuccessOrder.vue b/src/views/inout/IoCheckSuccessOrder.vue index a3e164a8..ca20e2cb 100644 --- a/src/views/inout/IoCheckSuccessOrder.vue +++ b/src/views/inout/IoCheckSuccessOrder.vue @@ -228,6 +228,10 @@ label="价格" width="100" prop="price" ></el-table-column> + <el-table-column + label="计量单位" width="100" + prop="measname" + ></el-table-column> <el-table-column label="生产企业" width="180" prop="manufacturer" diff --git a/src/views/inout/IoEditOrder.vue b/src/views/inout/IoEditOrder.vue index 1fda2e28..5c353062 100644 --- a/src/views/inout/IoEditOrder.vue +++ b/src/views/inout/IoEditOrder.vue @@ -127,6 +127,10 @@ label="失效日期" prop="expireDate" width="120" ></el-table-column> + <el-table-column + label="计量单位" width="100" + prop="measname" + ></el-table-column> <el-table-column label="单据数量" width="100" prop="count" @@ -214,6 +218,10 @@ label="失效日期" prop="expireDate" ></el-table-column> + <el-table-column + label="计量单位" width="100" + prop="measname" + ></el-table-column> <el-table-column label="单据数量" prop="count" From a186a4eb1c25b0e920e5ac85c25ec0337bc9099c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=83=91=E6=98=8E=E6=A2=81?= <2429105222@qq.com> Date: Thu, 11 May 2023 16:41:28 +0800 Subject: [PATCH 10/11] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E5=B1=9E=E6=80=A7=E9=A1=BA=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/inout/IoAuditedOrder.vue | 24 ++++++++-------- src/views/inout/IoCheckAuditOrder.vue | 32 ++++++++++----------- src/views/inout/IoCheckErrorOrder.vue | 30 ++++++++++++-------- src/views/inout/IoEditOrder.vue | 40 +++++++++++++-------------- 4 files changed, 67 insertions(+), 59 deletions(-) diff --git a/src/views/inout/IoAuditedOrder.vue b/src/views/inout/IoAuditedOrder.vue index c4364223..dbb38b1e 100644 --- a/src/views/inout/IoAuditedOrder.vue +++ b/src/views/inout/IoAuditedOrder.vue @@ -238,10 +238,6 @@ label="失效日期" prop="expireDate" width="120" ></el-table-column> - <el-table-column - label="计量单位" width="100" - prop="measname" - ></el-table-column> <el-table-column label="单据数量" width="100" prop="count" @@ -255,15 +251,19 @@ prop="price" ></el-table-column> <el-table-column - label="生产企业" width="180" - prop="manufacturer" - show-overflow-tooltip + label="计量单位" width="100" + prop="measname" ></el-table-column> <el-table-column label="注册/备案号" prop="certCode" width="180" show-overflow-tooltip ></el-table-column> + <el-table-column + label="生产企业" width="180" + prop="manufacturer" + show-overflow-tooltip + ></el-table-column> </el-table> <pagination v-show="bizTotal>0" @@ -331,11 +331,6 @@ label="序列号" prop="serialNo" ></el-table-column> - <el-table-column - label="供应商" - prop="supName" - show-overflow-tooltip - ></el-table-column> <el-table-column label="扫码数量" prop="reCount" @@ -344,6 +339,11 @@ label="实际数量" prop="reCount" ></el-table-column> + <el-table-column + label="供应商" + prop="supName" + show-overflow-tooltip + ></el-table-column> </el-table> <pagination v-show="resultTotal>0" diff --git a/src/views/inout/IoCheckAuditOrder.vue b/src/views/inout/IoCheckAuditOrder.vue index 4aeb1126..7d080905 100644 --- a/src/views/inout/IoCheckAuditOrder.vue +++ b/src/views/inout/IoCheckAuditOrder.vue @@ -230,10 +230,6 @@ label="失效日期" prop="expireDate" width="120" ></el-table-column> - <el-table-column - label="计量单位" width="100" - prop="measname" - ></el-table-column> <el-table-column label="单据数量" width="100" prop="count" @@ -246,6 +242,10 @@ label="价格" width="100" prop="price" ></el-table-column> + <el-table-column + label="计量单位" width="100" + prop="measname" + ></el-table-column> <el-table-column label="生产企业" width="180" prop="manufacturer" @@ -344,10 +344,6 @@ label="失效日期" width="120" prop="expireDate" ></el-table-column> - <el-table-column - label="计量单位" width="100" - prop="measname" - ></el-table-column> <el-table-column label="单据数量" width="100" prop="orderCount" @@ -357,8 +353,12 @@ prop="reCount" width="100" ></el-table-column> <el-table-column - label="供应商" - prop="supName" width="180" + label="计量单位" width="100" + prop="measname" + ></el-table-column> + <el-table-column + label="注册/备案号" width="180" + prop="certCode" show-overflow-tooltip ></el-table-column> <el-table-column @@ -367,8 +367,8 @@ show-overflow-tooltip ></el-table-column> <el-table-column - label="注册/备案号" width="180" - prop="certCode" + label="供应商" + prop="supName" width="180" show-overflow-tooltip ></el-table-column> </el-table> @@ -437,10 +437,6 @@ label="序列号" prop="serialNo" width="120" ></el-table-column> - <el-table-column - label="供应商" - prop="supName" width="180" - ></el-table-column> <el-table-column label="扫码数量" prop="count" width="100" @@ -449,6 +445,10 @@ label="实际数量" prop="reCount" width="100" ></el-table-column> + <el-table-column + label="供应商" + prop="supName" width="180" + ></el-table-column> </el-table> <pagination diff --git a/src/views/inout/IoCheckErrorOrder.vue b/src/views/inout/IoCheckErrorOrder.vue index 0a53cdf4..23c4a795 100644 --- a/src/views/inout/IoCheckErrorOrder.vue +++ b/src/views/inout/IoCheckErrorOrder.vue @@ -233,15 +233,19 @@ prop="price" ></el-table-column> <el-table-column - label="生产企业" width="180" - prop="manufacturer" - show-overflow-tooltip + label="计量单位" width="100" + prop="measname" ></el-table-column> <el-table-column label="注册/备案号" prop="certCode" width="180" show-overflow-tooltip ></el-table-column> + <el-table-column + label="生产企业" width="180" + prop="manufacturer" + show-overflow-tooltip + ></el-table-column> </el-table> <pagination v-show="bizTotal>0" @@ -315,8 +319,12 @@ prop="reCount" width="100" ></el-table-column> <el-table-column - label="供应商" - prop="supName" width="180" + label="计量单位" width="100" + prop="measname" + ></el-table-column> + <el-table-column + label="注册/备案号" width="180" + prop="certCode" show-overflow-tooltip ></el-table-column> <el-table-column @@ -325,8 +333,8 @@ show-overflow-tooltip ></el-table-column> <el-table-column - label="注册/备案号" width="180" - prop="certCode" + label="供应商" + prop="supName" width="180" show-overflow-tooltip ></el-table-column> </el-table> @@ -394,10 +402,6 @@ label="序列号" prop="serialNo" ></el-table-column> - <el-table-column - label="供应商" - prop="supName" - ></el-table-column> <el-table-column label="扫码数量" prop="count" @@ -406,6 +410,10 @@ label="实际数量" prop="reCount" ></el-table-column> + <el-table-column + label="供应商" + prop="supName" + ></el-table-column> </el-table> <pagination diff --git a/src/views/inout/IoEditOrder.vue b/src/views/inout/IoEditOrder.vue index 5c353062..2cebdbc0 100644 --- a/src/views/inout/IoEditOrder.vue +++ b/src/views/inout/IoEditOrder.vue @@ -127,10 +127,6 @@ label="失效日期" prop="expireDate" width="120" ></el-table-column> - <el-table-column - label="计量单位" width="100" - prop="measname" - ></el-table-column> <el-table-column label="单据数量" width="100" prop="count" @@ -144,15 +140,19 @@ prop="price" ></el-table-column> <el-table-column - label="生产企业" width="180" - prop="manufacturer" - show-overflow-tooltip + label="计量单位" width="100" + prop="measname" ></el-table-column> <el-table-column label="注册/备案号" prop="certCode" width="180" show-overflow-tooltip ></el-table-column> + <el-table-column + label="生产企业" width="180" + prop="manufacturer" + show-overflow-tooltip + ></el-table-column> </el-table> <pagination v-show="bizTotal>0" @@ -218,10 +218,6 @@ label="失效日期" prop="expireDate" ></el-table-column> - <el-table-column - label="计量单位" width="100" - prop="measname" - ></el-table-column> <el-table-column label="单据数量" prop="count" @@ -231,8 +227,12 @@ prop="reCount" ></el-table-column> <el-table-column - label="供应商" - prop="supName" + label="计量单位" width="100" + prop="measname" + ></el-table-column> + <el-table-column + label="注册/备案凭证号" + prop="certCode" show-overflow-tooltip ></el-table-column> <el-table-column @@ -241,8 +241,8 @@ show-overflow-tooltip ></el-table-column> <el-table-column - label="注册/备案凭证号" - prop="certCode" + label="供应商" + prop="supName" show-overflow-tooltip ></el-table-column> </el-table> @@ -312,11 +312,6 @@ label="序列号" prop="serialNo" ></el-table-column> - <el-table-column - label="供应商" - prop="supName" - show-overflow-tooltip - ></el-table-column> <el-table-column label="扫码数量" prop="reCount" @@ -325,6 +320,11 @@ label="实际数量" prop="reCount" ></el-table-column> + <el-table-column + label="供应商" + prop="supName" + show-overflow-tooltip + ></el-table-column> </el-table> <pagination v-show="resultTotal>0" From 53f7b25f203f9f39de3e7acfce0f954820d99f96 Mon Sep 17 00:00:00 2001 From: anthonywj <yewenjie20@vip.qq.com> Date: Fri, 12 May 2023 09:18:59 +0800 Subject: [PATCH 11/11] =?UTF-8?q?=E7=9B=B8=E5=85=B3=E7=95=8C=E9=9D=A2?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/busType/busTypeAdvancedSettings.vue | 4 +- src/views/basic/busType/bussinessType.vue | 4 +- .../basic/busType/bussinessTypeModify.vue | 52 +++++++++---------- src/views/inventory/InvProductPlaceModify.vue | 47 +++++++++++++---- src/views/remind/invRemindSet.vue | 2 +- 5 files changed, 68 insertions(+), 41 deletions(-) diff --git a/src/views/basic/busType/busTypeAdvancedSettings.vue b/src/views/basic/busType/busTypeAdvancedSettings.vue index 1fcee1f5..26493892 100644 --- a/src/views/basic/busType/busTypeAdvancedSettings.vue +++ b/src/views/basic/busType/busTypeAdvancedSettings.vue @@ -240,7 +240,7 @@ <el-row> <el-col span="5"> - <span class="sptext">是否只允许有库存产品出库</span> + <span class="sptext">允许单据库存0库存出库</span> </el-col> <el-divider direction="vertical"></el-divider> <el-col span="5"> @@ -252,7 +252,7 @@ </el-col> <el-divider direction="vertical"></el-divider> <el-col span="13"> - <span class="sptext">设置是否只允许有库存产品出库</span> + <span class="sptext">允许单据库存0库存出库</span> </el-col> </el-row> <el-divider></el-divider> diff --git a/src/views/basic/busType/bussinessType.vue b/src/views/basic/busType/bussinessType.vue index 79aef221..1aa303a1 100644 --- a/src/views/basic/busType/bussinessType.vue +++ b/src/views/basic/busType/bussinessType.vue @@ -224,7 +224,7 @@ export default { storageCode: null, supplementOrderType: null, defaultUnit: null, - useDyCount: false, + useDyCount: 0, expireTip: true, prefix: null, outToSpms: null, @@ -506,7 +506,7 @@ export default { storageCode: null, supplementOrderType: null, defaultUnit: null, - useDyCount: false, + useDyCount: 0, expireTip: true, prefix: null, outToSpms: null, diff --git a/src/views/basic/busType/bussinessTypeModify.vue b/src/views/basic/busType/bussinessTypeModify.vue index 06914290..fc37f2c0 100644 --- a/src/views/basic/busType/bussinessTypeModify.vue +++ b/src/views/basic/busType/bussinessTypeModify.vue @@ -188,7 +188,7 @@ </el-form-item> </el-col> </el-row> - + <el-row type="flex"> <el-col :span="11"> <el-form-item label="禁用单据类型" prop="prefix"> @@ -326,7 +326,26 @@ </el-row> <el-divider direction="horizontal"></el-divider> </div> - + <el-row> + <el-col span="5"> + <span class="sptext">物资使用出库模式</span> + </el-col> + <el-divider direction="vertical"></el-divider> + <el-col span="5"> + <el-select v-model="inputQuery.useDyCount" style="width: 65%" + :disabled=" inputQuery.mainAction!= 'WareHouseOut' || inputQuery.corpType != 1" + placeholder="是否启用" + > + <el-option label="正常" :value="0"></el-option> + <el-option label="物资多次使用出库" :value="1"></el-option> + </el-select> + </el-col> + <el-divider direction="vertical"></el-divider> + <el-col span="13"> + <span class="sptext">设置物资使用出库模式</span> + </el-col> + </el-row> + <el-divider></el-divider> <el-row> <el-col span="5"> <span class="sptext">预验收使用禁止无库存出库</span> @@ -369,7 +388,7 @@ <el-row> <el-col span="5"> - <span class="sptext">是否只允许有库存产品出库</span> + <span class="sptext">允许单据库存0库存出库</span> </el-col> <el-divider direction="vertical"></el-divider> <el-col span="5"> @@ -383,31 +402,12 @@ </el-col> <el-divider direction="vertical"></el-divider> <el-col span="13"> - <span class="sptext">设置是否只允许有库存产品出库</span> + <span class="sptext">允许单据库存0库存出库</span> </el-col> </el-row> <el-divider></el-divider> - <el-row> - <el-col span="5"> - <span class="sptext">允许科室多次使用出库</span> - </el-col> - <el-divider direction="vertical"></el-divider> - <el-col span="5"> - <el-select v-model="inputQuery.useDyCount" style="width: 65%" - :disabled=" inputQuery.mainAction!= 'WareHouseOut' || inputQuery.corpType != 1" - placeholder="是否启用" - > - <el-option label="是" :value="true"></el-option> - <el-option label="否" :value="false"></el-option> - </el-select> - </el-col> - <el-divider direction="vertical"></el-divider> - <el-col span="13"> - <span class="sptext">允许科室多次使用出库</span> - </el-col> - </el-row> - <el-divider></el-divider> + <el-row> <el-col span="5"> <span class="sptext">按货位出库</span> @@ -418,8 +418,8 @@ :disabled=" inputQuery.mainAction!= 'WareHouseOut'" > <el-option label="无" :value="0"></el-option> - <el-option label="按指定货位出库" :value="1"></el-option> - <el-option label="默认货位出库" :value="2"></el-option> + <el-option label="整单按指定货位出库" :value="1"></el-option> + <el-option label="按物资摆放货位出库" :value="2"></el-option> </el-select> </el-col> diff --git a/src/views/inventory/InvProductPlaceModify.vue b/src/views/inventory/InvProductPlaceModify.vue index 4fccde0d..941dc701 100644 --- a/src/views/inventory/InvProductPlaceModify.vue +++ b/src/views/inventory/InvProductPlaceModify.vue @@ -4,10 +4,12 @@ style="display: flex; margin: 0px 0 10px 80%; height: 35px" > <el-button size="mini" type="primary" @click.native="saveData()" - >提交</el-button + >提交 + </el-button > <el-button size="mini" type="primary" @click.native="closePlaceDialog(1)" - >关闭</el-button + >关闭 + </el-button > </el-button-group> <el-row> @@ -69,7 +71,7 @@ size="mini" @click.native.stop="addCode()" style="margin-left: 15px" - >添加 + >添加 </el-button> </el-col> </el-row> @@ -142,14 +144,15 @@ </template> <script> -import { getInvListByUser } from "@/api/system/invWarehouse"; -import { getInvSpaceList } from "@/api/inventory/invSpace"; -import { isBlank } from "@/utils/strUtil"; +import {getInvListByUser} from "@/api/system/invWarehouse"; +import {getInvSpaceList} from "@/api/inventory/invSpace"; +import {isBlank} from "@/utils/strUtil"; import { bindInvSpace, getInvPlaceOrderDetailList, getInvProductInfo, } from "@/api/inventory/invPlace"; +import A from "@/plugins/KeyScaner"; export default { props: { @@ -174,6 +177,7 @@ export default { spaceList: [], loading: false, spaceSearchResult: [], + sitcomScan: false, }; }, methods: { @@ -218,7 +222,8 @@ export default { this.$message.error(error.message); }); }) - .catch(() => {}); + .catch(() => { + }); }, clearFormData() { //清空表单数据 @@ -262,7 +267,7 @@ export default { }, createStateFilter(queryString) { return (state) => { - const { value, code } = state; + const {value, code} = state; return ( value === queryString.toLowerCase() || code === queryString.toLowerCase() @@ -285,7 +290,8 @@ export default { this.getList(); this.$refs.spaceInputRef.focus(); }) - .catch(() => {}); + .catch(() => { + }); }, getSpaceList() { let params = { @@ -327,7 +333,7 @@ export default { getInvProductInfo(params).then((res) => { if (res.code == 20000) { this.orderId = res.data; - getInvPlaceOrderDetailList({ orderId: this.orderId }).then((res) => { + getInvPlaceOrderDetailList({orderId: this.orderId}).then((res) => { this.list = res.data.list; }); } else { @@ -361,6 +367,27 @@ export default { mounted() { //默认获取上架货物光标 this.$refs.spaceInputRef.focus(); + document.body.ondrop = function (event) { + event.preventDefault(); + event.stopPropagation(); + }; + var that = this; + var inputer = document.getElementById("inputer"); + window.sc = new A.KeyScaner(inputer);//传入要监听的DOM节点 + sc.onInput = function (text) { + //onInput事件在检测到回车键按下或在连续输入后超过500ms没有继续输入时触发 + if (text.includes("delete")) { + that.formData.code = ""; + return; + } + if (that.sitcomScan) { + that.formData.code = that.formData.code; + } else { + that.formData.code = text; + } + }; + inputer.focus();//别忘了给要监听的节点放置焦点,如果是div一类默认不具备焦点的节点需要给它加上“tabindex”属性。不建议传入document、Body等全局节点,可能会影响其它输入控件的流畅性。 + }, }; </script> diff --git a/src/views/remind/invRemindSet.vue b/src/views/remind/invRemindSet.vue index fee38d57..b65ccaae 100644 --- a/src/views/remind/invRemindSet.vue +++ b/src/views/remind/invRemindSet.vue @@ -141,7 +141,7 @@ :close-on-click-modal="false" :close-on-press-escape="false" :before-close="closeAddDialog" - width="60%" + width="80%" > <addInvRemindSetDialog :closeDialog="closeAddDialog"